]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* po/POTFILES.in: Regenerate.
[grub2.git] / ChangeLog
1 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * po/POTFILES.in: Regenerate.
4
5 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
8 with grub_printf to avoid unnecessary fatal failure.
9
10 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13 (INT_MAX): Likewise.
14 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
15 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
16 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
17 (strcpy): Likewise.
18 (strstr): Likewise.
19 (strchr): Likewise.
20 (strncpy): Likewise.
21 (strcat): Likewise.
22 (strncat): Likewise.
23 (strcoll): Likewise.
24 * include/grub/types.h (GRUB_SHRT_MAX): New define.
25 (GRUB_INT_MAX): Likewise.
26
27 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
30 unexpected error.
31 (optimize_utf8): Likewise.
32 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
33
34 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/boot/i386/pc/lnxboot.S: Use
37 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
38 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
39 location.
40 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
41 definition.
42 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
43
44 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
47 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
48 now to avoid double free.
49 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
50 hostdisk.
51 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
52 * util/grub-probe.c (escape_of_path): Always return a new copy.
53 (print_full_name): Escape path.
54 (probe): Don't call grub_util_devname_to_ofpath on NULL.
55 Fix hints on abstractions.
56
57 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
60 Don't add "root" line if no compatibility hont is available.
61 Suggested by: Seth Goldberg.
62
63 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
66 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
67 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
68 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
69
70 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
73
74 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * util/grub-pe2elf.c (ehdr): Make static.
77 (shdr): Likewise.
78 (num_sections): Likewise.
79 (offset): Likewise.
80
81 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
82
83 Eliminate ofpath limits and possible overflows.
84
85 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
86 (OF_PATH_MAX): Removed.
87 (MAX_DISK_CAT): New const.
88 (find_obppath): Use allocated rather than preallocated buffer.
89 Return result. Argument of_path removed. All users updated.
90 Add missing fdstat.
91 (xrealpath): New function.
92 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
93 Allocate rather than use preallocated buffer. All users updated.
94 (__of_path_common): Use allocated rather than preallocatecd buffer.
95 Return result. Argument of_path removed. All users updated.
96 (vendor_is_ATA): Read only needed part form the file.
97 (check_sas): Allocate depending on contents rather than fixed.
98 (main) [STANDALONE]: Handle NULL result.
99
100 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/normal/completion.c (iterate_dev): Close the disk.
103
104 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
105
106 Cryptodisk write support.
107
108 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
109 (grub_cryptodisk_decrypt): Moved logic to ...
110 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
111 (grub_cryptodisk_write): Implement.
112 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
113 (grub_util_fd_write): ... this. Make global.
114 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
115
116 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * include/grub/list.h (grub_list_remove): Don't crash if element is
119 removed twice.
120
121 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
122
123 Rename ofconsole to console.
124
125 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
126 as sysnonym to console.
127 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
128 * grub-core/term/ieee1275/console.c: ... this. All users updated.
129 Rename grub_ofconsole_ to grub_console_. All users updated
130 (grub_console_term_output): Rename "ofconsole" to "console".
131 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
132 as "console".
133
134 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
137 handling.
138 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
139 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
140 GRUB_DISK_DEVICE_FILE_ID.
141
142 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
145 and improve performance.
146
147 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
150 missing ieee1275/ prefix on whole disk.
151
152 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
155 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
156
157 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
160
161 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Merge common RAID and LVM logic to an abstract diskfilter.
164 Add LDM support using the same framework.
165
166 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
167 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
168 (libgrubmods): Remove grub-core/disk/raid.c and
169 grub-core/partmap/gpt.c.
170 * grub-core/Makefile.core.def (ldm): New module.
171 (raid): Renamed to diskfilter. All users updated.
172 * grub-core/disk/raid.c: Moved to ...
173 * grub-core/disk/diskfilter.c: ... here.
174 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
175 (lv_num): New var.
176 (find_array): Renamed to ...
177 (find_lv): ... this. Support multi-LV. Skip nameless LVs
178 (grub_is_array_readable): Renamed to ...
179 (grub_is_lv_readable): ... this. Support multinode hierarchy.
180 (insert_array): New argument id.
181 (is_node_readable): New function.
182 (scan_device): Rename to ...
183 (scan_disk): .. this. Restrict to one disk.
184 (scan_devices): New function.
185 (grub_diskfilter_iterate): Support multi-LV.
186 Skip invisible and nameless LVs.
187 (grub_diskfilter_memberlist): Support multi-LV.
188 (grub_diskfilter_read_node): New function.
189 (grub_raid_read): Most of logic moved to ...
190 (read_segment): ... here
191 (read_lv): New function.
192 (grub_diskfilter_get_vg_by_uuid): New function.
193 (grub_diskfilter_make_raid): Likewise.
194 * grub-core/disk/ldm.c: New file.
195 * grub-core/disk/lvm.c (vg_list): Removed.
196 (lv_count): Likewise.
197 (scan_depth): Likewise.
198 (is_lv_readable): Likewise.
199 (grub_lvm_getvalue): Advance pointer past the number.
200 (find_lv): Removed.
201 (do_lvm_scan): Refactored into ...
202 (grub_lvm_detect): ... this. Support raid.
203 (grub_lvm_iterate): Removed.
204 (grub_lvm_memberlist): Likewise.
205 (grub_lvm_open): Likewise.
206 (grub_lvm_close): Likewise.
207 (read_lv): Likewise.
208 (read_node): Likewise.
209 (is_node_readable): Likewise.
210 (is_lv_readable): Likewise.
211 (grub_lvm_read): Likewise.
212 (grub_lvm_write): Likewise.
213 (grub_lvm_dev): Use diskfilter
214 (GRUB_MOD_INIT): Likewise.
215 (GRUB_MOD_FINI): Likewise.
216 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
217 new interface.
218 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
219 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
220 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
221 grub_diskfilter_read_node.
222 Fix a bug with xor.
223 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
224 grub_diskfilter_read_node.
225 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
226 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
227 (grub_disk_dev_iterate): Move from here...
228 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
229 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
230 Make global.
231 (grub_hostdisk_find_partition_start): Likewise.
232 (grub_hostdisk_os_dev_to_grub_drive): New function.
233 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
234 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
235 * util/getroot.c (make_device_name): ... here.
236 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
237 Move to ...
238 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
239 * grub-core/kern/emu/hostdisk.c
240 (convert_system_partition_to_system_disk): Move to ...
241 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
242 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
243 * util/getroot.c (device_is_wholedisk): ... here.
244 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
245 * util/getroot.c (find_system_device): ... here.
246 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
247 Move to ...
248 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
249 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
250 Move to ...
251 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
252 Handle LDM.
253 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
254 Move to ...
255 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
256 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
257 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
258 DISKFILTER.
259 * include/grub/raid.h: Renamed to ...
260 * include/grub/diskfilter.h: ... this.
261 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
262 (GRUB_RAID_LAYOUT_*): Make into array.
263 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
264 (grub_diskfilter_vg): New struct.
265 (grub_diskfilter_pv_id): Likewise.
266 (grub_raid_member): Removed.
267 (grub_raid_array): Likewise.
268 (grub_diskfilter_pv): New struct.
269 (grub_diskfilter_lv): Likewise.
270 (grub_diskfilter_segment): Likewise.
271 (grub_diskfilter_node): Likewise.
272 (grub_diskfilter_get_vg_by_uuid): New proto.
273 (grub_raid_register): Inline.
274 (grub_diskfilter_unregister): Likewise.
275 (grub_diskfilter_make_raid): New proto.
276 (grub_diskfilter_vg_register): Likewise.
277 (grub_diskfilter_read_node): Likewise.
278 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
279 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
280 (grub_util_is_ldm): Likewise.
281 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
282 (grub_hostdisk_find_partition_start): Likewise.
283 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
284 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
285 New definition.
286 (grub_gpt_partition_map_iterate): New proto.
287 * include/grub/lvm.h (grub_lvm_vg): Removed.
288 (grub_lvm_pv): Likewise.
289 (grub_lvm_lv): Likewise.
290 (grub_lvm_segment): Likewise.
291 (grub_lvm_node): Likewise.
292 * util/getroot.c [...]
293 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
294 (probe_abstraction): Likewise.
295 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
296 (main): Remove dead logic.
297
298 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
299
300 Simplify root device discover and don't fail when trying to open
301 incorrect devices.
302
303 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
304 function.
305 (get_diskname_from_path): Likewise.
306 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
307 of iterating.
308
309 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
312
313 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
316 pastthe end.
317
318 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/grub-install.in: Add missing \.
321 Reported by: gentoofan
322
323 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
326 (direct_read): Use correct compressed size.
327 (grub_squash_read_data): Likewise.
328
329 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * docs/grub.texi (Platform limitations): New section.
332 (Platform-specific operations): Likewise.
333 * docs/grub-dev.texi (Porting): Likewise.
334
335 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
336
337 IEEE1275 disk write support.
338
339 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
340 const void *.
341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
342 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
343 and seek loginc to ...
344 (grub_ofdisk_prepare): ... here.
345 (grub_ofdisk_write): Implement.
346
347 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
348
349 ARC disk write support.
350
351 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
352 (reopen): New argument writable. All users updated.
353 Handle required access mode.
354 (grub_arcdisk_write): Implement.
355 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
356 (grub_arc_firmware_vector): Make buffer to write a const buffer.
357
358 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
361 (read_sblock): Don't attempt to read superblocks outside the disk size.
362
363 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
366 first superblock to find the second one when possible.
367
368 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * util/grub-install.in: Fix an ARC bug.
371 Print a warning if no platform-specific setup is available.
372
373 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
374
375 Use static allocation rather than scratch pointer in reed_solomon.
376 It decreases its size significantly and avoids a variable in .text.
377
378 * grub-core/lib/reed_solomon.c (scratch): Removed.
379 (chosenstat): New const or static array.
380 (sigma): Likewise.
381 (errpot): Likewise.
382 (errpos): Likewise.
383 (sy): Likewise.
384 (mstat): Likewise.
385 (errvals): Likewise.
386 (eqstat): Likewise.
387 (pol_evaluate): Replace x with log_x argument. All users updated.
388 (syndroms): Removed.
389 (gauss_solve): Use statically allocated arrays.
390 (rs_recover): Likewise.
391 Calculate syndroms directly.
392 (decode_block): Use statically allocated arrays.
393 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
394 (main) [TEST]: Allow -DTEST -DSTANDALONE.
395
396 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
397
398 Eliminate fixed limit on reed solomon decoder length.
399
400 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
401 rather than hardcoding the address.
402 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
403 no_reed_solomon_length.
404 Move gate_a20 to no-reed-solomon part.
405 Don't force a particular size of no reed-solomon part.
406 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
407 Removed.
408 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
409 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
410
411 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/commands/wildcard.c (match_files): Handle filenames
414 without explicit device.
415 (wildcard_expand): Don't add explicit device if not already present.
416 * tests/grub_script_echo1.in: Add a new expansion test.
417
418 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
419
420 Replace single-linked with double-linked lists. It results in more
421 compact and more efficient code.
422
423 * grub-core/kern/list.c (grub_list_push): Moved from here ...
424 * include/grub/list.h (grub_list_push): ... to here. Set prev.
425 (grub_list_remove): Moved from here ...
426 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
427 (grub_prio_list_insert): Set prev.
428 * include/grub/list.h (grub_list): Add prev. All users updated.
429
430 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
431
432 Handle newer autotools. Add some missing quotes while on it.
433
434 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
435 (pkglib_DATA): Move grub-mkconfig_lib from here ...
436 (pkgdata_DATA): ... here.
437 * Makefile.util.def (update-grub_lib): Removed.
438 * conf/Makefile.common (pkglib_DATA): Removed.
439 (pkglib_SCRIPTS): Likewise.
440 (pkgdata_DATA): New variable.
441 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
442 needed.
443 Add missing quotes.
444 Remove unused variable while on it.
445 * tests/util/grub-shell.in: Likewise.
446 * util/grub-install.in: Likewise.
447 * util/grub-mkconfig.in: Likewise.
448 * util/grub-mknetdir.in: Likewise.
449 * util/grub-mkrescue.in: Likewise.
450 * util/grub-mkstandalone.in: Likewise.
451 * util/grub.d/00_header.in: Likewise.
452 * util/grub.d/10_hurd.in: Likewise.
453 * util/grub.d/10_illumos.in: Likewise.
454 * util/grub.d/10_kfreebsd.in: Likewise.
455 * util/grub.d/10_linux.in: Likewise.
456 * util/grub.d/10_netbsd.in: Likewise.
457 * util/grub.d/10_windows.in: Likewise.
458 * util/grub.d/20_linux_xen.in: Likewise.
459 * util/grub.d/30_os-prober.in: Likewise.
460 * util/update-grub_lib.in: Removed.
461
462 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
463
464 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
465 a workaround for intel problem.
466
467 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
468 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
469 2012-01-23 pfsmorigo
470
471 * util/grub-install.in: Support dd'in into PreP partition.
472 * util/grub-probe.c (probe): Support discovering partition type.
473 (main): Support -t msdos_parttype.
474
475 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
478 infinite recursion using counter.
479 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
480 init to skip it if the magic check fails.
481 (dec_stream_header): Init s->crc32.
482
483 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
484 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
485 2012-01-22 Richard Laager <rlaager@wiktel.com>
486
487 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
488 All users updated.
489 (find_bestub): Determine correct size.
490 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
491 (scan_disk): Align the size down.
492 Call check pool before find_bestub to have ashift.
493
494 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
497 dprintf in no-malloc zone.
498
499 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
500
501 * configure.ac: Add back in test for limits.h.
502
503 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Support 4K-sector NTFS.
506
507 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
508 (grub_ntfs_data): Remove blocksize.
509 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
510 Remove data argument. All users updated.
511
512 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
515 being in .text to avoid dprel references.
516 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
517 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
518 (grub_arch_highmemsize): Likewise.
519 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
520 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
521 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
522
523 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
524
525 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
526
527 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
528 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
529
530 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
533 GRUB_UTIL.
534 (grub_set_datetime_cmos): Likewise.
535
536 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
537
538 Make XZ compression parameters dependent on target and not host CPU.
539
540 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
541 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
542
543 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
546 set but not used variable.
547
548 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
551 created when no uuid support is compiled into mkfs.reiser.
552
553 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
556 (utf8_to_macroman): Do the opposite.
557 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
558
559 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * configure.ac: Refise build qemu_mips w/o unifont.
562
563 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
564
565 Eliminate grub_min/grub_max prone to overflow usage.
566
567 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
568 (poll_nonroot_hub): Likewise.
569 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
570 (grub_affs_label): Likewise.
571 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
572 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
573 (grub_hfs_label): Likewise.
574 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
575 * grub-core/fs/zfs/zfs.c (MIN): Remove.
576 (zap_leaf_array_equal): Use grub_size. Remove MIN.
577 (zap_leaf_array_get): Likewise.
578 (dnode_get_path): Likewise.
579 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
580 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
581 * grub-core/script/execute.c (grub_script_break): Likewise.
582 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
583 grub_max.
584 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
585 * include/grub/misc.h (grub_min): Removed.
586 (grub_max): Likewise.
587
588 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
589
590 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
591 direct.inode = 0.
592
593 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
596
597 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
600
601 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
604 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
605
606 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
609 rather than a hack for grub_strncasemap.
610
611 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
612
613 Support multiple initrds
614 Note: part of this was accidently committed in r3739.
615
616 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
617 initrd.
618 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
619 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
620 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
621 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
622 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
623
624 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
627 disks with unknown size.
628 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
629
630 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
631
632 Remove defines pertaining to arbitrary limits not affecting GRUB
633 anymore.
634
635 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
636 (EXT2_MAX_SYMLINKCNT): Likewise.
637 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
638 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
639 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
640 (GRUB_PXE_MAX_BLKSIZE): Likewise.
641 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
642 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
643 (DN_MAX_OBJECT_SHIFT): Likewise.
644 (DN_MAX_OFFSET_SHIFT): Likewise.
645 (DN_MAX_OBJECT): Likewise.
646 (DNODES_PER_LEVEL_SHIFT): Likewise.
647 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
648 (SPA_MAXBLOCKSIZE): Likewise.
649 (SPA_BLOCKSIZES): Likewise.
650 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
651 (MZAP_MAX_BLKSZ): Likewise.
652
653 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
656 handle NULL appropriately.
657 Remove MIN.
658
659 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
660
661 Fix efiemu.
662
663 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
664 cpu/types.h.
665 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
666 * configure.ac: Fix efiemu check.
667
668 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
671 grub_probe.
672 Reported by: adamwill
673
674 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
675
676 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
677
678 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Fix handling of wide characters in gfxterm.
681
682 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
683 (clear_char): Likewise.
684 (paint_char): Skip code == NULL chars.
685 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
686
687 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/normal/charset.c: Move comment to right place.
690
691 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
694 (GRUB_AFFS_FLAG_FFS): Put back where it was.
695 (grub_affs_mount): Revert the correct version checking.
696
697 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * docs/grub.texi (Unicode): Mention several other unsupported features.
700
701 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
704 case statements as compile-time one.
705 (direct_read): Prevent spurious warnings.
706 (grub_squash_read_data): Likewise.
707
708 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
709
710 Various squash4 fixes and LZO and XZ support.
711
712 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
713 Add xzembed source files.
714 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
715 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
716 (grub_squash_inode): New subtype long_dir.
717 (SQUASH_TYPE_LONG_DIR): New inode type.
718 (COMPRESSION): New enum.
719 (XZBUFSIZ): New const.
720 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
721 (read_chunk): Use data->decompress.
722 (zlib_decompress): New function.
723 (lzo_decompress): Likewise.
724 (xz_decompress): Likewise.
725 (squash_mount): Set new data fields.
726 (grub_squash_iterate_dir): Handle long dir.
727 (squash_unmount): Free xzdec and xzbuf.
728 (grub_squash_open): Check ino type.
729 (direct_read): Stylistic fixes. Use data->decompress.
730 (grub_squash_read_data): Likewise.
731 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
732 (get_byte): Likewise.
733 (grub_zlib_disk_read): Removed.
734 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
735 (GRUB_POSIX_BOOL_DEFINED): New define.
736 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
737 * grub-core/lib/xzembed/xz.h: Addmissing includes.
738 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
739 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
740
741 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
742
743 Don't override more informative errors.
744
745 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
746 * grub-core/font/font.c (open_section): Likewise.
747 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
748 filename. Don't override errors.
749 (grub_cmd_openbsd_ramdisk): Don't override errors.
750 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
751 (grub_cmd_initrd): Likewise.
752 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
753 (grub_cmd_initrd): Likewise.
754 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
755 (grub_cmd_linux): Likewise.
756 (grub_cmd_initrd): Likewise.
757 (grub_cmd_payload): Likewise.
758 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
759 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
760 (grub_cmd_module): Likewise.
761 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
762 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
763 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
764 (grub_cmd_xnu_mkext): Likewise.
765 (grub_cmd_xnu_ramdisk): Likewise.
766 (grub_xnu_check_os_bundle_required): Likewise.
767 (grub_xnu_load_kext_from_dir): Likewise.
768 (grub_cmd_xnu_kextdir): Likewise.
769 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
770
771 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
774 as 1024 in block size field. Found on one of my test images.
775 Small optimisation while on it.
776
777 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
780 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
781 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
782 performance fixes while on it.
783 (grub_sfs_close): Fix memory leak while on it.
784 (grub_sfs_label): Convert Latin1 to UTF-8.
785
786 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
789 space to avoid overflows.
790 (grub_hfs_label): Convert from macroman to UTF-8.
791
792 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
795
796 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
799
800 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * unicode: Import Unicode 6.0 data.
803
804 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
807 outside of range.
808
809 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
810
811 Avoid cutting in the middle of UTF-8 character.
812
813 * include/grub/charset.h (grub_getend): New function.
814 * grub-core/script/function.c (grub_script_function_find): Use
815 grub_getend.
816 * grub-core/normal/completion.c (add_completion): Likewise.
817
818 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
821 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
822 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
823 (GRUB_UNICODE_TAG_END): Likewise.
824 (GRUB_UNICODE_LAST_VALID): Likewise.
825
826 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
829 len and make it smaller. All users updated.
830 * util/import_unicode.py: Put length and not end character.
831 Check length.
832
833 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Make better Unicode-compliant and unify some UTF-8 code pathes.
836
837 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
838 valid character.
839 (grub_is_valid_utf8): Use grub_utf8_process.
840 Check resulting code range.
841 (grub_utf8_to_ucs4): Use grub_utf8_process.
842 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
843 valid character.
844
845 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
848
849 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * docs/grub.texi (Filesystems): Mention AFS.
852
853 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * docs/grub.texi (Filesystems): Clarify restrictions.
856 (Regexp): Mention non-Unicode regexp behaviour.
857 (Other): Mention non-Unicode matching behaviour.
858
859 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
860
861 Make HFS implementation use MacRoman.
862
863 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
864 (macroman): New const array.
865 (macroman_to_utf8): New function.
866 (utf8_to_macroman): Likewise.
867 (grub_hfs_find_dir): Use utf8_to_macroman.
868 (grub_hfs_dir): Use macroman_to_utf8.
869 Set case_insensitive.
870
871 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
874
875 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
876
877 Integrate hints into autogeneration scripts.
878
879 * docs/grub.texi (Filesystems): Add a hostdisk example.
880 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
881 (grub-probe): Add ofpath.
882 * gentpl.py: Remove group nosparc64.
883 * grub-core/commands/search.c (cache_entry): New struct.
884 (cache): New var.
885 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
886 * grub-core/commands/search_wrap.c (options): Add platform-specific
887 hint options.
888 (grub_cmd_search): Handle platform-specific hints.
889 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
890 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
891 (grub_util_biosdisk_data): Likewise.
892 (grub_util_biosdisk_open): Set device_map.
893 (read_device_map): Handle "" as indication of no map.
894 Set device_map.
895 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
896 (grub_util_biosdisk_get_compatibility_hint): New function.
897 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
898 * include/grub/emu/hostdisk.h
899 (grub_util_biosdisk_get_compatibility_hint): New proto.
900 * util/grub-install.in: Don't call grub-mkdevicemap.
901 Add platform-specific hint to load.cfg.
902 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
903 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
904 hints. Set root preliminary to compatibility hint, not to OS name.
905 * util/grub-probe.c (PRINT_*): Add hints.
906 (print): Make static.
907 (escape_of_path): New function.
908 (guess_bios_drive): Likewise.
909 (guess_efi_drive): Likewise.
910 (guess_baremetal_drive): Likewise.
911 (print_full_name): Likewise.
912 (probe): Handle hints.
913 (main): Likewise.
914 * util/ieee1275/devicemap.c: Removed.
915 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
916 updated.
917 (grub_util_devname_to_ofpath): Return NULL on failure.
918
919 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
920 resource leak.
921 * util/getroot.c (grub_util_pull_device): Fix memory leak.
922
923 * po/POTFILES.in: Regenerated.
924
925 Allow purely long options
926
927 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
928 (SHORT_ARG_USAGE): Likewise.
929 (grub_arg_show_help): Compare opt with help_options.
930 (parse_option): Receive opt as argument. If makes big simplificatons.
931 All users updated
932
933 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
936 Restructure to avoid warning.
937
938 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * util/grub-install.in: Account for possible escaped comma in device
941 name.
942
943 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
946 channel.
947
948 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
951 allocation and zero-setting.
952 (grub_ieee1275_get_devname): Check that alias is complete.
953
954 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
957 unaligned segments.
958
959 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
962 prefix.
963 (grub_ofdisk_open): Check and discard ieee1275 prefix.
964 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
965 Add ieee1275 prefix.
966
967 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * docs/grub.texi (Filesystems): Update.
970
971 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
972
973 Support odc, newc and bigendian cpio formats.
974
975 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
976 * grub-core/Makefile.core.def (newc): New module.
977 (odc): Likewise.
978 (cpio_be): Likewise.
979 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
980 (MAGIC): Likewise.
981 (MAGIC2): Likewise.
982 (head) [MODE_ODC]: Adapt for the format.
983 (head) [MODE_NEWC]: Likewise.
984 (head) [!MODE_*]: Write fields of interest as arrays.
985 (MAGIC_USTAR): Removed.
986 (read_number) [MODE_NEWC]: Change to hex.
987 (read_number) [!MODE_*]: Parse binary arrays.
988 (grub_cpio_find_file): Factor out the code for better structure and
989 always use read_number.
990 (grub_cpio_mount): Use MAGIC and MAGIC2.
991 (grub_cpio_dir): Exit on first hook non-0 return.
992 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
993 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
994 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
995 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
996 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
997 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
998 * grub-core/fs/newc.c: New file.
999 * grub-core/fs/odc.c: Likewise.
1000 * grub-core/fs/cpio_be.c: Likewise.
1001
1002 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 Fix handling of tar numbers occupying the whole field.
1005
1006 * grub-core/fs/cpio.c (read_number): New function.
1007 (grub_cpio_find_file): Use read_number instead of strtoull.
1008
1009 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
1012 occupying the whole field size.
1013
1014 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
1015
1016 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
1017
1018 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
1021
1022 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
1023
1024 * grub-core/Makefile.core.def (lzma_decompress): Add missing
1025 TARGET_IMG_LDFLAGS.
1026
1027 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * util/getroot.c (ESCAPED_PATH_MAX): New define.
1030 (mountinfo_entry): Increase the field size to take escaping into
1031 account.
1032 (find_root_device_from_libzfs): Add one byte to size of strings for
1033 security.
1034
1035 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
1038 an assert.
1039 * util/grub-setup.c (setup): Likewise.
1040
1041 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
1044 _LzmaDecodeA.
1045
1046 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * docs/grub.texi (Internationalisation): New section.
1049
1050 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * docs/grub.texi (Loopback booting): New section.
1053
1054 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
1055
1056 * util/grub-mkstandalone.in: Fix minor typo errors.
1057
1058 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
1061
1062 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
1063 net/icmp.c and net/icmp6.c.
1064 (http): New module.
1065 (priority_queue): Likewise.
1066 * grub-core/io/bufio.c: Rewritten.
1067 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
1068 TYPE_WITH_CONFIGFILE_OPTION.
1069 (legacy_commands): Add bootp and dhcp.
1070 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
1071 (grub_legacy_parse): Likewise.
1072 * grub-core/lib/priority_queue.c: New file.
1073 * grub-core/net/arp.c: Add missing license header.
1074 (arp_find_entry): Removed.
1075 (arp_find_entry): Likewise.
1076 (grub_net_arp_resolve): Rename to ...
1077 (grub_net_arp_send_request): ...this.
1078 (grub_net_arp_receive): New card argument.
1079 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
1080 Set router and DNS server.
1081 (grub_net_configure_by_dhcp_ack): Handle routing information.
1082 (grub_cmd_bootp): Set checksum.
1083 (grub_bootp_init): Remove net_dhcp.
1084 * grub-core/net/dns.c: New file.
1085 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
1086 completion.
1087 (get_card_packet): Handle allocation.
1088 (grub_efinet_findcards): Set mtu.
1089 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
1090 (get_card_packet): Handle allocation.
1091 (emucard): Set mtu.
1092 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
1093 (GRUB_MOD_INIT): Set mtu.
1094 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
1095 mtu.
1096 (get_card_packet): Handle allocation.
1097 (grub_ofnet_findcards): Set mtu.
1098 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
1099 assert.
1100 (grub_net_recv_ethernet_packet): Handle IPv6.
1101 * grub-core/net/http.c: New file.
1102 * grub-core/net/icmp.c: Likewise.
1103 * grub-core/net/icmp6.c: Likewise.
1104 * grub-core/net/ip.c (ip6addr): New type.
1105 (ip6hdr): Likewise.
1106 (reassemble): Likewise.
1107 (cmp): New function.
1108 (reassembles): New variable.
1109 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
1110 (id): New variable.
1111 (send_fragmented): New function.
1112 (grub_net_send_ip_packet): Rename to ...
1113 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
1114 Handle non-UDP.
1115 (grub_net_recv_ip_packets): Rename to ...
1116 (handle_dgram): ... this. Check checksum. Handle non-UDP.
1117 (free_rsm): New function.
1118 (free_old_fragments): Likewise.
1119 (grub_net_recv_ip4_packets): New function.
1120 (grub_net_send_ip6_packet): Likewise.
1121 (grub_net_send_ip_packet): Likewise.
1122 (grub_net_recv_ip6_packets): Likewise.
1123 (grub_net_recv_ip_packets): Likewise.
1124 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
1125 (LINK_LAYER_CACHE_SIZE): New const.
1126 (link_layer_find_entry): New function.
1127 (grub_net_link_layer_add_address): Likewise.
1128 (grub_net_link_layer_resolve_check): Likewise.
1129 (grub_net_link_layer_resolve): Likewise.
1130 (grub_net_ipv6_get_slaac): Likewise.
1131 (grub_net_ipv6_get_link_local): Likewise.
1132 (grub_cmd_ipv6_autoconf): Likewise.
1133 (parse_ip): Handle one number representation.
1134 (parse_ip6): New functoion.
1135 (match_net): Handle IPv6.
1136 (grub_net_resolve_address): Handle IPv6 and DNS.
1137 (grub_net_resolve_net_address): Handle IPv6.
1138 (route_cmp): New function.
1139 (grub_net_route_address): Find best route.
1140 (grub_net_addr_to_str): Handle IPv6.
1141 (grub_net_addr_cmp): New function.
1142 (grub_net_add_addr): Register local route.
1143 (print_net_address): Handle net address.
1144 (grub_net_poll_cards): Retransmit TCP.
1145 (grub_net_poll_cards_idle_real): Likewise.
1146 (have_ahead): New function.
1147 (grub_net_seek_real): Use underlying seek.
1148 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
1149 * grub-core/net/tcp.c: New file.
1150 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
1151 (cmp): New function.
1152 (ack): Likewise.
1153 (tftp_receive): Handle unordered input.
1154 (destroy_pq): New function.
1155 (tftp_close): Close pq.
1156 * grub-core/net/udp.c: Put missing license header.
1157 (grub_net_udp_socket): New function.
1158 (udp_socket_register): Likewise.
1159 (grub_net_udp_close): Likewise.
1160 (grub_net_recv_udp_packet): Check checksum.
1161 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
1162 * include/grub/misc.h (grub_memchr): New function.
1163 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
1164 (grub_net_card_driver): Return buf in recv.
1165 (grub_net_slaac_mac_list): New struct.
1166 (grub_network_level_protocol_id): Add ipv6.
1167 (grub_net_network_level_addr): Likewise.
1168 (grub_net_network_level_net_addr): Likewise.
1169 (grub_net_app_protocol): Add seek.
1170 (grub_net_socket): Removed.
1171 (grub_net_sockets): Likewise.
1172 (grub_net_socket_register): Likewise.
1173 (grub_net_socket_unregister): Likewise.
1174 (FOR_NET_SOCKETS): Likewise.
1175 (grub_net_add_addr): Add const.
1176 (GRUB_NET_BOOTP_*): New enum.
1177 (grub_net_addr_cmp): New proto.
1178 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
1179 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
1180 (grub_net_hwaddr_to_str): NEw proto.
1181 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
1182 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
1183 (grub_dns_init): New proto.
1184 (grub_dns_fini): Likewise.
1185 (grub_net_tcp_retransmit): Likewise.
1186 (grub_net_link_layer_add_address): Likewise.
1187 (grub_net_link_layer_resolve_check): Likewise.
1188 (grub_net_link_layer_resolve): Likewise.
1189 (grub_net_dns_lookup): Likewise.
1190 (grub_net_add_dns_server): Likewise.
1191 (grub_net_remove_dns_server): Likewise.
1192 (GRUB_NET_TRIES): New const.
1193 (GRUB_NET_INTERVAL): Likewise.
1194 * include/grub/net/arp.h: Mostly rewritten.
1195 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
1196 * include/grub/net/ip.h: Mostly rewritten.
1197 * include/grub/net/netbuff.h: Indent.
1198 * include/grub/net/tcp.h: New file.
1199 * include/grub/net/udp.h: Mostly rewritten.
1200 * include/grub/priority_queue.h: New file.
1201 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
1202 (grub_swap_bytes64_compile_time): Likewise.
1203 (grub_cpu_to_be16_compile_time): Likewise.
1204 (grub_cpu_to_be32_compile_time): Likewise.
1205 (grub_cpu_to_be64_compile_time): Likewise.
1206 (grub_be_to_cpu64_compile_time): Likewise.
1207
1208 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
1211 UINT_TO_PTR with cast.
1212
1213 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
1216 don't use them.
1217
1218 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
1221 already there.
1222
1223 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
1226 confusing ipxe.
1227
1228 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
1231 Add missing const attribute.
1232 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
1233 Likewise.
1234 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
1235 Likewise.
1236
1237 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
1240 misaligned access.
1241 (serpent_setkey): Likewise.
1242 (serpent_encrypt_internal): Likewise.
1243 (serpent_decrypt_internal): Likewise.
1244 (serpent_encrypt): Don't put an alignment-increasing cast.
1245 (serpent_decrypt): Likewise.
1246 (serpent_test): Likewise.
1247
1248 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
1251
1252 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
1255
1256 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
1257 grub_addr_t casts.
1258 (PTR_TO_UINT64): Likewise.
1259 (PTR_TO_UINT32): Likewise.
1260
1261 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * util/grub-mkimage.c (generate_image): Decrease the higher limit
1264 because of stack.
1265 * util/grub-setup.c (setup): Don't add redundancy past the higher load
1266 limit.
1267
1268 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
1271 text_width > available width a bit more gracefully.
1272
1273 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
1276 current address calculation.
1277
1278 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
1281 stack.
1282 (encode_block): Likewise.
1283
1284 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
1287 certainety.
1288
1289 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
1292 non-RS part to avoid RS messing with GDT.
1293 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1294 Increase to suit in realmode routines.
1295
1296 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/kern/i386/realmode.S: Increase alignment.
1299 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1300
1301 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1304 be deterministic.
1305 (syndroms): Compute 0 syndrom.
1306 (rs_recover): Use 0 syndrom.
1307
1308 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1311
1312 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1315 brackets.
1316
1317 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1320 account.
1321 (get_top_pad): Likewise.
1322 (get_right_pad): Likewise.
1323 (get_bottom_pad): Likewise.
1324
1325 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
1328
1329 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1332 attribute as the structure isn't guaranteed to be properly aligned.
1333 (grub_efi_pci_device_path): Likewise.
1334 (grub_efi_pccard_device_path): Likewise.
1335 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1336 specify the size of `memory_type'.
1337 (grub_efi_vendor_device_path): Likewise.
1338 (grub_efi_controller_device_path): Likewise.
1339 (grub_efi_acpi_device_path): Likewise.
1340 (grub_efi_expanded_acpi_device_path): Likewise.
1341 (grub_efi_atapi_device_path): Likewise.
1342 (grub_efi_scsi_device_path): Likewise.
1343 (grub_efi_fibre_channel_device_path): Likewise.
1344 (grub_efi_1394_device_path): Likewise.
1345 (grub_efi_usb_device_path): Likewise.
1346 (grub_efi_usb_class_device_path): Likewise.
1347 (grub_efi_i2o_device_path): Likewise.
1348 (grub_efi_mac_address_device_path): Likewise.
1349 (grub_efi_ipv4_device_path): Likewise.
1350 (grub_efi_ipv6_device_path): Likewise.
1351 (grub_efi_infiniband_device_path): Likewise.
1352 (grub_efi_uart_device_path): Likewise.
1353 (grub_efi_vendor_messaging_device_path): Likewise.
1354 (grub_efi_hard_drive_device_path): Likewise.
1355 (grub_efi_cdrom_device_path): Likewise.
1356 (grub_efi_vendor_media_device_path): Likewise.
1357 (grub_efi_file_path_device_path): Likewise.
1358 (grub_efi_protocol_device_path): Likewise.
1359 (grub_efi_piwg_device_path): Likewise.
1360 (grub_efi_bios_device_path): Likewise.
1361
1362 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1365 (grub_ucs4_to_utf8_alloc): Likewise.
1366 (grub_ucs4_to_utf8): Likewise.
1367 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1368 (grub_ucs4_to_utf8_alloc): Likewise.
1369
1370 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 AFFS never uses unicode.
1373
1374 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1375 (grub_latin1_to_utf8): New inline function.
1376 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1377
1378 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1381 overflow.
1382
1383 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1386 (grub_squash_dirent_header): Likewise.
1387 (read_chunk): Don't double swap.
1388 (grub_squash_iterate_dir): Fix swap sizes.
1389
1390 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1393
1394 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1397 (grub_hfs_iterate_dir): Likewise.
1398
1399 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 Fix video on platforms where unaligned access is forbidden.
1402 Make several optimisations while on it.
1403
1404 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1405 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1406 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1407 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1408 Disable.
1409 (grub_video_fbblit_replace_16bit_1bit):
1410 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1411 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1412 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1413 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1414 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1415 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1416 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1417 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1418 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1419 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1420 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1421 (grub_video_fbblit_replace_index_RGB888): Likewise.
1422 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1423 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1424 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1425 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1426 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1427 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1428 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1429 Disable.
1430 (grub_video_fbblit_blend_XXX565_1bit):
1431 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1432 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1433 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1434 void *.
1435 * grub-core/video/fb/video_fb.c (common_blitter)
1436 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1437 (grub_video_fb_create_render_target_from_pointer)
1438 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1439 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1440 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1441 definition.
1442 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1443
1444 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1447 HH22 and HM10 relocations.
1448
1449 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1452
1453 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1456 allocation succeeded.
1457
1458 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1461 argument a u8 pointer. All users updated.
1462 Handle unaligned buffers.
1463
1464 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1467 add_part to workaround compiler bug.
1468
1469 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1472
1473 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1476 Reserve alignment invariants.
1477 (grub_multiboot_load): Likewise.
1478 (retrieve_video_parameters): Likewise.
1479 (grub_multiboot_make_mbi): Likewise.
1480
1481 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1484 incorrect pointer.
1485
1486 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1489 (grub_pata_pio_write): Likewise.
1490
1491 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 Add noreturn attributes and remove unreachable code.
1494
1495 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1496 code.
1497 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1498 code. Mark as noreturn.
1499 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1500 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1501 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1502 unreachable code.
1503 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1504 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1505 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1506 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1507 * include/grub/kernel.h (grub_main): Mark as noreturn.
1508 * include/grub/reader.h (grub_rescue_run): Likewise.
1509
1510 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1513 redundant declaration.
1514
1515 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1518 redundant declaration.
1519 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1520
1521 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1524 to ensure alignment.
1525 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1526 alignment. Ensure tmp alignment.
1527 (grub_cmd_hdparm): Ensure buf alignment.
1528 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1529 to ensure alignment.
1530 (grub_ata_dumpinfo): Ensure text alignment.
1531 (grub_atapi_identify): Preserve alignment invariant.
1532 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1533
1534 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1537 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1538 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1539 * include/grub/misc.h (grub_reboot)
1540 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1541 (grub_halt) [__mips__]: Likewise.
1542
1543 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1546 Remove redundant declaration.
1547 (grub_mmap_get_post64): Likewise.
1548 (grub_mmap_get_upper): Likewise.
1549 (grub_mmap_get_lower): Likewise.
1550
1551 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1554 uint32_t * to ensure alignment.
1555 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1556
1557 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1560 uint16_t * to ensure alignment.
1561 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1562 alignment.
1563
1564 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
1567 to ensure alignment.
1568 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1569
1570 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1573 Handle unaligned pointers.
1574 (u32at): Likewise.
1575 (u64at): Likewise.
1576 (fixup): Use byte access instead of v16at.
1577 (find_attr): Fix imporper usage of v32at.
1578 (read_data): Likewise.
1579 (list_file): Handle byte-swapping and unaligned strings.
1580 (grub_ntfs_label): Likewise.
1581
1582 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1585 as it's not necessarily aligned.
1586
1587 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1590 redundant declaration.
1591 (grub_serial_init): Likewise.
1592 (grub_terminfo_init): Likewise.
1593
1594 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1597 function.
1598 (ZAP_HASH_IDX): Likewise.
1599 (ZAP_LEAF_HASH_SHIFT): Likewise.
1600 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1601 (LEAF_HASH): Likewise.
1602 (ZAP_LEAF_NUMCHUNKS): Likewise.
1603 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1604 alignment invariants. Return pointer. All users updated.
1605 (ZAP_LEAF_ENTRY): Make into inline function.
1606 (NBBY): Removed.
1607 (xor): LIkewise.
1608 (xor_out): Use grub_crypto_xor.
1609 (dnode_get_path): Use grub_get_unaligned.
1610 (nvlist_find_value): Likewise.
1611 (grub_zfs_nvlist_lookup_uint64): Likewise.
1612 (grub_zfs_nvlist_lookup_string): Likewise.
1613 (get_nvlist_size): Likewise.
1614 (grub_zfs_open): Likewise.
1615 (fill_fs_info): Likewise.
1616 (grub_zfs_dir): Likewise.
1617 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1618 alignment invariants.
1619 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1620 necessarily aligned.
1621
1622 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1625
1626 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1629 arithmetic to conserve alignment invariants.
1630
1631 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1634 redundant declaration.
1635 (grub_efiemu_mm_obtain_request): Likewise.
1636 (grub_efiemu_prepare): Likewise.
1637
1638 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1641 to match types.
1642
1643 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1646 case of aunaligned recptr.
1647 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1648 alignment.
1649 (grub_hfsplus_btree_search): Handle unaligned index.
1650
1651 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1654 to get freetag and skip.
1655
1656 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1659 array.
1660 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1661 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1662
1663 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1666 name for checksum and fix allocation algorithm.
1667
1668 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * include/grub/types.h (grub_properly_aligned_t): New type.
1671 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1672 (grub_get_unaligned16): Add explicit casts.
1673 (grub_get_unaligned32): Likewise.
1674 (grub_get_unaligned64): Likewise.
1675 (grub_set_unaligned16): New function.
1676 (grub_set_unaligned32): Likewise.
1677
1678 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1681
1682 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1685 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1686 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1687
1688 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1691 conditionals.
1692
1693 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1696 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1697
1698 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 Unify and improve RAID and crypto xor.
1701
1702 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1703 changed to grub_crypto_xor
1704 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1705 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1706 Use bigger types when possible.
1707
1708 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/disk/raid.c (scan_devices): Fix condition.
1711
1712 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1715 Make name a const ptr.
1716
1717 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1720 first argument a const pointer.
1721 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1722 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1723 proto.
1724 (grub_children_iterate): Likewise.
1725 (grub_machine_mmap_iterate): Remove redundant declaration.
1726
1727 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1730 (grub_cmd_acpi) [!x86]: Disable EBDA.
1731
1732 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 Enable UTF8 in gnulib regexp.
1735
1736 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1737 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1738 (isupper): Use grub_isupper.
1739 (isascii): New inline function.
1740 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1741 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1742 * grub-core/normal/charset.c (grub_utf8_process): New function.
1743 (grub_utf8_to_utf16): Use grub_utf8_process.
1744 (grub_encode_utf8_character): New function.
1745 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1746 * include/grub/charset.h (grub_utf8_process): New declaration.
1747 (grub_encode_utf8_character): Likewise.
1748 * include/grub/misc.h (grub_islower): New inline function.
1749 (grub_isupper): Likewise.
1750 (grub_strchrsub): Moved down to fix the definitions.
1751
1752 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1755 specification.
1756
1757 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * include/grub/loader.h (grub_loader_register_preboot_hook):
1760 Use struct preboot * and not void * for handle. All users updated.
1761 (grub_loader_unregister_preboot_hook): Likewise.
1762
1763 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1766 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1767 UTF-16-BE. All users updated.
1768 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1769 (grub_hfsplus_iterate_dir): Likewise.
1770 (grub_hfsplus_label): Likewise.
1771
1772 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1775
1776 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 Add missing const qualifiers.
1779
1780 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1781 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1782 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1783 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1784 (grub_lvm_check_flag): Likewise.
1785 * grub-core/efiemu/i386/coredetect.c
1786 (grub_efiemu_get_default_core_name): Likewise
1787 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1788 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1789 * grub-core/fs/ntfs.c (fixup): Likewise.
1790 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1791 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1792 (fzap_lookup): Likewise.
1793 (zap_lookup): Likewise.
1794 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1795 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1796 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1797 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1798 (grub_freebsd_add_meta_module): Likewise.
1799 (grub_cmd_freebsd_module): Likewise.
1800 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1801 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1802 (grub_xnu_writetree_get_size): Likewise.
1803 (grub_xnu_writetree_toheap_real): Likewise.
1804 (grub_xnu_find_key): Likewise.
1805 (grub_xnu_create_key): Likewise.
1806 (grub_xnu_create_value): Likewise.
1807 (grub_xnu_register_memory): Likewise.
1808 (grub_xnu_check_os_bundle_required): Likewise.
1809 (grub_xnu_scan_dir_for_kexts): Likewise.
1810 (grub_xnu_load_kext_from_dir): Likewise.
1811 * grub-core/normal/color.c (color_list): Likewise.
1812 * grub-core/normal/completion.c (current_word): Likewise.
1813 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1814 * grub-core/term/serial.c (grub_serial_find): Likewise.
1815 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1816 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1817 Likewise.
1818 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1819 (grub_freebsd_add_meta_module): Likewise.
1820 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1821 * include/grub/net.h (grub_net_card_driver): Likewise.
1822 (grub_net_card): Likewise.
1823 (grub_net_app_protocol): Likewise.
1824 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1825 * include/grub/serial.h (grub_serial_find): Likewise.
1826 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1827 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1828 (grub_xnu_create_value): Likewise.
1829 (grub_xnu_find_key): Likewise.
1830 (grub_xnu_scan_dir_for_kexts): Likewise.
1831 (grub_xnu_load_kext_from_dir): Likewise.
1832
1833 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1834 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1835 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1836 Moved from here ...
1837 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1838
1839 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1840
1841 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1842
1843 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1846 (read_device): Fix size calculation.
1847
1848 2011-11-25 Robert Millan <rmh@gnu.org>
1849
1850 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1851 (find_root_device_from_libzfs): Add zpool output parser to be used
1852 as fallback when libzfs isn't available.
1853
1854 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1855
1856 * po/Makefile.in.in: Add missing escape-continuation.
1857
1858 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1861
1862 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1865
1866 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1869
1870 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1873
1874 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * grub-core/lib/adler32.c: Add missing license specification.
1877 * grub-core/lib/crc64.c: Likewise.
1878 * grub-core/loader/i386/pc/plan9.c: Likewise.
1879 * grub-core/partmap/plan.c: Likewise.
1880
1881 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1882
1883 Add facility to debug GRUB with gdb under qemu.
1884
1885 * grub-core/gdb_grub.in: New file.
1886 * grub-core/gmodule.pl.in: Likewise.
1887 * grub-core/Makefile.core.def (gmodule.pl): New script.
1888 (gdb_grub): Likewise.
1889
1890 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * util/grub-mount.c (argp_parser): Accept relative pathes.
1893 * util/grub-fstest.c (argp_parser): Likewise.
1894
1895 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 Plan9 support.
1898
1899 * Makefile.util.def (libgrubmods): Add
1900 grub-core/partmap/plan.c.
1901 * docs/grub.texi: Notice Plan9 support.
1902 * grub-core/Makefile.core.def (plan9): New module.
1903 (part_plan): Likewise.
1904 * grub-core/loader/i386/pc/plan9.c: New file.
1905 * grub-core/partmap/plan.c: Likewise.
1906 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1907 define.
1908 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1909 * include/grub/mm.h (grub_extend_alloc): New inline function.
1910
1911 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 Make Reed-Solomon faster by using power of generator representation of
1914 GF(256)*.
1915
1916 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1917 (gf_double_t): Likewise.
1918 (gf_invert): Removed.
1919 (gf_powx): New array.
1920 (gf_powx_inv): Likewise.
1921 (scratch): Move higher.
1922 (gf_reduce): Removed.
1923 (gf_mul): Use powx.
1924 (gf_invert): Likewise.
1925 (init_inverts): Replaced with ...
1926 (init_powx): ...this. All users updated.
1927 (pol_evaluate): Replace multiplications with additions.
1928 (rs_encode): Likewise.
1929 (gauss_eliminate): Call gf_invert.
1930 (grub_reed_solomon_add_redundancy): Call init_powx.
1931 (grub_reed_solomon_recover): Call init_powx unconditionally.
1932
1933 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1936
1937 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1940 disk->partiton for safety.
1941
1942 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1945 Fix a memory leak.
1946 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1947
1948 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1951
1952 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1955
1956 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 Fix spaces handling in proc/self/mountinfo.
1959
1960 * util/getroot.c (unescape): New function.
1961 (grub_find_root_device_from_mountinfo): Use unescape.
1962
1963 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Support ZFS embedding.
1966
1967 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1968 (grub_zfs_fs): Register grub_zfs_embed.
1969
1970 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 Fix MIPS compilation.
1973
1974 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1975 * include/grub/offsets.h: Rename decompressor fields from
1976 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1977 * util/grub-mkimage.c (image_targets): Use new names.
1978
1979 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 Defer multiboot device parsing until we're in compressed part.
1982
1983 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1984 bsd_part. setdevice has fallen into disuse.
1985 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1986 (bsd_part): Likewise.
1987 (boot_dev): New variable.
1988 (multiboot_trampoline): Don't parse multiboot device.
1989 Pass multiboot device in %edx.
1990 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1991 grub_boot_device.
1992 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1993 Likewise.
1994 * grub-core/kern/i386/pc/startup.S: Save edx.
1995 (grub_boot_drive): Removed.
1996 (grub_install_dos_part): Likewise.
1997 (grub_install_bsd_part): Likewise.
1998 (grub_boot_device): New variable.
1999 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
2000 (grub_install_bsd_part): Likewise.
2001 (grub_boot_drive): Likewise.
2002 (grub_boot_device): New variable.
2003 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
2004 Removed.
2005 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2006 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
2007 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
2008 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
2009 * util/grub-install.in: Remove redundant condition.
2010
2011 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 Fix bug introduced by previous commit.
2014
2015 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
2016
2017 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 Use decompressors framework on i386-pc. It increases core size
2020 by 46 bytes but improves compatibility and maintainability.
2021
2022 * grub-core/Makefile.core.def (lzma_decompress): New image.
2023 (kernel): Add i386_pc_ldflags.
2024 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
2025 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
2026 to real_to_prot, prot_to_real and device info.
2027 * include/grub/offsets.h: Renamed decompressor offsets.
2028 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
2029 (image_target_desc): Remove raw_size and rename decompressor fields.
2030 (compress_kernel): Handle lzma.
2031 (generate_image): Handle decompressors on i386-pc.
2032
2033 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * configure.ac: Add -fno-asynchronous-unwind-tables.
2036
2037 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 Move assembly code to C by using intwrap. It increases core size
2040 by 88 bytes but improves compatibility and maintainability.
2041
2042 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
2043 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
2044 ... here. Translated to C.
2045 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
2046 * grub-core/term/i386/pc/console.c (grub_console_getkey):
2047 ... here. Translated to C.
2048 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
2049 * grub-core/term/i386/pc/console.c (grub_console_getxy):
2050 ... here. Translated to C.
2051 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
2052 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
2053 ... here. Translated to C.
2054 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
2055 * grub-core/term/i386/pc/console.c (grub_console_cls):
2056 ... here. Translated to C.
2057 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
2058 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
2059 ... here. Translated to C.
2060 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
2061 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
2062 Translated to C.
2063 * grub-core/term/i386/pc/console.c (int10_9): New function.
2064 (grub_console_putchar): Likewise.
2065 * include/grub/i386/pc/console.h: Removed the not anymore shared
2066 functions.
2067
2068 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 Move grub_chainloader_real_boot out of the kernel.
2071
2072 * grub-core/Makefile.am: Remove machine/loader.h.
2073 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2074 Removed.
2075 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
2076 variable.
2077 (grub_relocator16_keep_a20_enabled): Likewise.
2078 (grub_relocator16_boot): Fill new variables.
2079 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
2080 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
2081 relocator.
2082 (grub_chainloader_unload): Likewise.
2083 (grub_chainloader_cmd): Likewise.
2084 * include/grub/i386/pc/loader.h: Removed.
2085 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
2086 and esi. All initialisers updated.
2087
2088 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2089 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
2090
2091 * Makefile.util.def (grub-mount): New util.
2092 * .bzrignore: Add grub-mount.
2093 * configure.ac: Check for fuse and enable grub-mount if available.
2094 * docs/man/grub-mount.h2m: New file.
2095 * util/grub-mount.c: Likewise.
2096
2097 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * grub-core/commands/efi/fixvideo.c: Gettextize.
2100 * grub-core/commands/hashsum.c: Likewise.
2101 * grub-core/commands/i386/cmostest.c: Likewise.
2102 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2103 * grub-core/commands/i386/pc/lsapm.c: Likewise.
2104 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2105 * grub-core/commands/lsmmap.c: Likewise.
2106 * grub-core/commands/menuentry.c: Likewise.
2107 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2108 * grub-core/commands/setpci.c: Likewise.
2109 * grub-core/loader/i386/bsd.c: Likewise.
2110 * grub-core/loader/i386/linux.c: Likewise.
2111 * util/getroot.c: Likewise.
2112 * util/grub-editenv.c: Likewise.
2113 * util/grub-fstest.c: Likewise.
2114 * util/grub-mkfont.c: Likewise.
2115 * util/grub-mkimage.c: Likewise.
2116 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2117 * util/grub-pe2elf.c: Likewise.
2118 * util/grub-probe.c: Likewise.
2119 * util/grub-setup.c: Likewise.
2120 * util/ieee1275/ofpath.c: Likewise.
2121 * util/misc.c: Likewise.
2122 * util/raid.c: Likewise.
2123
2124 2011-11-11 Robert Millan <rmh@gnu.org>
2125
2126 * util/getroot.c (grub_util_get_geom_abstraction): Remove
2127 __attribute__((unused)) from `os_dev', which *is* being used.
2128
2129 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
2132 forgotten define.
2133 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
2134 GRUB_IA64_DL_GOT_ALIGN.
2135 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
2136 GRUB_IA64_DL_TRAMP_ALIGN.
2137
2138 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 Replace grub_fatal with normal errors in i386 linux loader.
2141
2142 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
2143 (allocate_pages): Check find_efi_mmap_size return value.
2144 (grub_e820_add_region): Return error.
2145 (grub_linux_boot): Check mmap return value.
2146
2147 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/commands/acpihalt.c: Gettextized.
2150 * grub-core/commands/cacheinfo.c: Likewise.
2151 * grub-core/commands/cmp.c: Likewise.
2152 * grub-core/commands/efi/loadbios.c: Likewise.
2153 * grub-core/commands/gptsync.c: Likewise.
2154 * grub-core/commands/ieee1275/suspend.c: Likewise.
2155 * grub-core/commands/legacycfg.c: Likewise.
2156 * grub-core/commands/memrw.c: Likewise.
2157 * grub-core/commands/minicmd.c: Likewise.
2158 * grub-core/commands/parttool.c: Likewise.
2159 * grub-core/commands/time.c: Likewise.
2160 * grub-core/commands/videoinfo.c: Likewise.
2161 * grub-core/disk/geli.c: Likewise.
2162 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
2163 * grub-core/disk/luks.c: Likewise.
2164 * grub-core/disk/lvm.c: Likewise.
2165 * grub-core/font/font_cmd.c: Likewise.
2166 * grub-core/fs/zfs/zfscrypt.c: Likewise.
2167 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2168 * grub-core/gfxmenu/view.c: Likewise.
2169 * grub-core/kern/emu/hostdisk.c: Likewise.
2170 * grub-core/kern/emu/main.c: Likewise.
2171 * grub-core/kern/emu/misc.c: Likewise.
2172 * grub-core/kern/emu/mm.c: Likewise.
2173 * grub-core/kern/mips/arc/init.c: Likewise.
2174 * grub-core/kern/mips/loongson/init.c: Likewise.
2175 * grub-core/kern/partition.c: Likewise.
2176 * grub-core/lib/i386/halt.c: Likewise.
2177 * grub-core/lib/mips/arc/reboot.c: Likewise.
2178 * grub-core/lib/mips/loongson/reboot.c: Likewise.
2179 * grub-core/loader/i386/pc/chainloader.c: Likewise.
2180 * grub-core/loader/i386/xnu.c: Likewise.
2181 * grub-core/loader/multiboot.c: Likewise.
2182 * grub-core/net/bootp.c: Likewise.
2183 * grub-core/net/net.c: Likewise.
2184 * grub-core/normal/term.c: Likewise.
2185 * grub-core/partmap/bsdlabel.c: Likewise.
2186 * grub-core/parttool/msdospart.c: Likewise.
2187 * grub-core/term/gfxterm.c: Likewise.
2188 * grub-core/term/terminfo.c: Likewise.
2189 * grub-core/video/i386/pc/vbe.c: Likewise.
2190 * util/grub-menulst2cfg.c: Likewise.
2191 * util/grub-mkdevicemap.c: Likewise.
2192 * util/grub-mklayout.c: Likewise.
2193 * util/grub-mkrelpath.c: Likewise.
2194 * util/grub-script-check.c: Likewise.
2195 * util/ieee1275/grub-ofpathname.c: Likewise.
2196 * util/resolve.c: Likewise.
2197
2198 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 Support %1$d syntax.
2201
2202 * tests/printf_unit_test.c: New file.
2203 * Makefile.util.def (printf_test): New test.
2204 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
2205
2206 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
2209 fix.
2210
2211 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
2214 dprintf.
2215 * grub-core/font/font.c (grub_font_load): Likewise.
2216
2217 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * util/grub-macho2img.c: Add comment concerning gettext.
2220 * grub-core/lib/legacy_parse.c: Likewise.
2221
2222 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
2225 (grub_xvasprintf): Likewise.
2226
2227 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Add const keyword to grub_env_get and gettextize week days.
2230
2231 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
2232 (grub_read_hook_datetime): Return const char *.
2233 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
2234 updated.
2235 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2236 Mark for gettext.
2237 (grub_get_weekday_name): Return const char *. Call gettext.
2238 * grub-core/script/argv.c (grub_script_argv_append): Receive const
2239 char * and len as the argument. All users updated.
2240 (grub_script_argv_split_append): Receive const char *.
2241 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
2242 * include/grub/env.h (grub_env_get): Likewise.
2243 (grub_env_read_hook_t): Return const char *.
2244 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
2245 (grub_script_argv_split_append): Likewise.
2246
2247 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2250
2251 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
2254 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2255
2256 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
2259 Fix prototype.
2260
2261 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Fix mips compilation.
2264
2265 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
2266 normal decoder.
2267 (hashes): Use in embed decoder as well (for sizes).
2268 (dec_stream_header): Fix embed decompressor logic.
2269 (dec_stream_footer): Likewise.
2270
2271 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
2274 an error and not a fatal on unrecognised relocation types.
2275
2276 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2279 Issue error rather than printf on unknown arguments.
2280
2281 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
2284 Make buf a const.
2285
2286 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
2289 Fix module name.
2290
2291 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
2294 leftover debug printf.
2295
2296 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2299
2300 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2303 A stylistic fix.
2304
2305 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2308
2309 2011-11-10 Shea Levy <slevy@tieronedesign.com>
2310
2311 Allow all modules to perform serial IO
2312
2313 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2314 * include/grub/serial.h (grub_serial_port_configure): New inline
2315 function.
2316 (grub_serial_port_fetch): Likewise.
2317 (grub_serial_port_put): Likewise.
2318 (grub_serial_port_fini): Likewise.
2319 (grub_serial_find): New proto.
2320
2321 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 Put symlink at the end of the node and fix a potential
2324 memory corruption.
2325
2326 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2327 Make symlink into an array.
2328 (set_rockridge): Set have_symlink and alloc_dirents.
2329 (grub_iso9660_read_symlink): Use new layout.
2330 (grub_iso9660_iterate_dir): Fix memory corruption.
2331 Use new layout.
2332 (grub_iso9660_dir): Set have_symlink.
2333 (grub_iso9660_open): Likewise.
2334
2335 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 Remove local keyword.
2338
2339 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2340 (version_test_gt): Likewise.
2341 (version_find_latest): Likewise.
2342 (gettext_printf): Likewise.
2343 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2344
2345 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2348
2349 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 Fix ZFS memory and resource leaks.
2352
2353 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2354 All users updated.
2355 Free type on exit.
2356 (fill_vdev_info): New parameter inserted. All users updated.
2357 (check_pool_label): Likewise.
2358 (scan_disk): Likewise.
2359 (scan_devices): Close non-inserted disks.
2360 (fzap_iterate): Free l.
2361 (unmount_device): Free children descripto memory.
2362
2363 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2366 argument (access out of bounds).
2367
2368 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2371 >= 6 drives.
2372
2373 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2376 Fix declaration.
2377
2378 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Fix several memory leaks.
2381
2382 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2383 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2384 (grub_cpio_dir): Likewise.
2385 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2386 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2387 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2388 (grub_romfs_label): Likewise.
2389 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2390 (squash_unmount): New function.
2391 (grub_squash_dir): Fix memory leak.
2392 (grub_squash_open): Likewise.
2393 (grub_squash_read): Likewise.
2394 (grub_squash_mtime): Likewise.
2395 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2396 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2397 * util/grub-fstest.c (fstest): Likewise.
2398
2399 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2402 avoid accessing beyond the array.
2403
2404 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2407
2408 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 Several AFFS fixes.
2411
2412 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2413 (GRUB_AFFS_FLAG_FFS): Removed.
2414 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2415 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2416 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2417 (grub_fshelp_node): Make block 32-bit.
2418 Add block_cache and last_block_cache.
2419 (grub_affs_read_block): Fill and use block cache.
2420 (grub_affs_read_file): Removed.
2421 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2422 boot block.
2423 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2424 safety.
2425 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2426 space.
2427 (grub_affs_close): Free block cache.
2428 (grub_affs_read): Use grub_fshelp_read_file directly.
2429
2430 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2433 with no error set.
2434
2435 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2438 used variable.
2439 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2440 Likewise.
2441
2442 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2445
2446 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2447 byteswap when needed.
2448
2449 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Fix FreeBSD compilation.
2452
2453 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2454 to avoid circular dependency.
2455 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2456 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2457 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2458
2459 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 Fix ZFS crypto error types.
2462
2463 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2464 (grub_gcm_decrypt): Likewise.
2465 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2466 from PBKDF2.
2467
2468 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 Illumos support.
2471
2472 * Makefile.util.def (10_illumos): New script.
2473 * configure.ac: Set COND_HOST_ILLUMOS.
2474 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2475 Support Illumos calls.
2476 (find_partition_start) [__sun__]: Likewise.
2477 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2478 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2479 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2480 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2481 device.
2482 * util/grub-probe.c (probe) [__sun__]: Do character check.
2483 * util/grub.d/10_illumos.in: New file.
2484
2485 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Support escaped commas in hostdisk.
2488
2489 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2490 (find_grub_drive): Use unescape_cmp.
2491 (make_device_name): Escape commas.
2492
2493 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2496
2497 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2500 variable.
2501
2502 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 Support trampoline jumps on powerpc.
2505
2506 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2507 __ia64__ path.
2508 (grub_dl_load_segments): Set mod->sz.
2509 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2510 segments.
2511 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2512 (jump): Likewise.
2513 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2514 function.
2515 (trampoline): New struct.
2516 (trampoline_template): New const.
2517 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2518 * include/grub/dl.h (grub_dl): Add sz element.
2519 [__powerpc__]: Follow __ia64__.
2520 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2521 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2522 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2523 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2524
2525 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 ZFS crypto support.
2528
2529 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2530 * grub-core/Makefile.core.def (zfscrypt): New module.
2531 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2532 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2533 it. All users updated.
2534 (grub_zfs_decrypt): New var.
2535 (grub_zfs_load_key): Likewise.
2536 (zio_checksum_functions): Add SHA256+MAC.
2537 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2538 (zio_read): Handle encrypted blocks.
2539 (zap_verify): Remove incorrect check.
2540 (fzap_iterate): Handle non-standard fzap.
2541 (zap_iterate): Likewise.
2542 (zap_iterate_u64): New function.
2543 (dnode_get_fullpath): Load keys.
2544 * grub-core/fs/zfs/zfscrypt.c: New file.
2545 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2546 (grub_crypto_ecb_encrypt): Make input const.
2547 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2548 (grub_crypto_ecb_encrypt): Make input const.
2549 (GRUB_CIPHER_AES): New macro.
2550 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2551 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2552 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2553 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2554 prefix. All users updated.
2555 (grub_zfs_add_key): New proto.
2556 (grub_zfs_decrypt): Likewise.
2557 (grub_zfs_load_key): Likewise.
2558 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2559 * util/grub-fstest.c (options): Add -K option.
2560 (argp_parser): Likewise.
2561
2562 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 Support zle compression on ZFS.
2565
2566 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2567 (decomp_table): Add zle.
2568 * include/grub/zfs/zio.h (zio_compress): Add zle.
2569
2570 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 Support BtrFS embedding.
2573
2574 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2575 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2576 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2577 * util/grub-setup.c (setup): Use fs embedding if available.
2578 Add additional sanity check.
2579
2580 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * util/grub-install.in: Fix condition for config_opt.
2583
2584 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 Support third redundancy strip on raidz3.
2587
2588 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2589 Return error on singularity. All users updated.
2590 (read_device): Don't stop on 3rd failure on raidz3.
2591
2592 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 Support case-insensitive ZFS subvolumes.
2595
2596 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2597 All users updated.
2598 (zap_hash): Likewise.
2599 (name_cmp): New function.
2600 (zap_leaf_array_equal): New parameter case_insensitive.
2601 All users updated.
2602 (zap_leaf_lookup): Likewise.
2603 (fzap_lookup): Likewise.
2604 (zap_lookup): Likewise.
2605 (dnode_get_path): New parameter case_insensitive. Retrieve case
2606 sensitiviness of a volume. All users updated.
2607 (dnode_get_fullpath): New parameter case_insensitive.
2608 All users updated.
2609 (grub_zfs_dir): Set info.case_insensitiveness.
2610
2611 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 Support second redundancy strip on raidz(2,3).
2614
2615 * grub-core/fs/zfs/zfs.c (powx): New array.
2616 (powx_inv): Likewise.
2617 (poly): New const.
2618 (xor_out): New function.
2619 (gf_mul): Likewise.
2620 (recovery): Likewise.
2621 (read_device): Use second redundancy strip.
2622
2623 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 Use a power of generator representation of GF(256) multiplication group
2626 to save space time and complexity.
2627
2628 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2629 (raid6_table2): Likewise.
2630 (powx): New array.
2631 (powx_inv): Likewise.
2632 (poly): New const.
2633 (grub_raid_block_mul): Replace with ...
2634 (grub_raid_block_mulx): ...this.
2635 (grub_raid6_init_table): Rewritten.
2636 (grub_raid6_recover): Use power of generator representation.
2637
2638 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2641 for the right device.
2642
2643 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2646 expected by grub-mkimage and it's more clear since there is no implicit
2647 padding.
2648
2649 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2652 disk.
2653 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2654
2655 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2656
2657 * util/grub-mkrescue.in: Fix handling xorriso option.
2658
2659 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2662 NULL.
2663
2664 2011-11-03 crocket <crockabiscuit@gmail.com>
2665
2666 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2667
2668 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 XZ CRC64 and SHA256 support.
2671
2672 * Makefile.util.def (libgrubmods): Add crc64.c.
2673 * grub-core/Makefile.core.def (crc64): New module.
2674 * grub-core/lib/crc64.c: New file.
2675 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2676 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2677 Fix the type.
2678 (MAX_HASH_SIZE): New define.
2679 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2680 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2681 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2682 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2683 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2684 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2685 Handle non-crc32 hashes.
2686 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2687 (dec_stream_header): Handle non-crc32 hashes.
2688 (dec_stream_footer): Likewise.
2689 (dec_block_header): Likewise.
2690 (dec_main): Likewise.
2691 (xz_dec_init): Likewise.
2692 (xz_dec_reset): Likewise.
2693 (xz_dec_end): Likewise.
2694 * util/import_gcry.py: Add CRC64 line.
2695
2696 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2699 as well.
2700
2701 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 Make reiserfs label retrieval similar to other *_label functions.
2704
2705 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2706 (REISERFS_MAX_LABEL_LENGTH): Removed.
2707 (REISERFS_LABEL_OFFSET): Likewise.
2708 (grub_reiserfs_label): Rewritten.
2709
2710 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2713 field.
2714
2715 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2718
2719 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2722 drive failure on both raidz and raidz2.
2723
2724 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 Fix RAIDZ(2) for >= 5 devices.
2727
2728 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2729 asize argument. All users updated.
2730
2731 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 Fix RAIDZ(2).
2734
2735 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2736 (fill_vdev_info_real): Set ashift.
2737 (read_device): Rewrite RAIDZ part based on reverse engineering.
2738
2739 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2742 don't report potentially unavialiable fields in debug output.
2743 (find_path): Fix double-free and memory leak.
2744
2745 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 Read label on UFS1.
2748
2749 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2750 (grub_ufs_fs): Always set .label.
2751
2752 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 Use shifts in UFS.
2755
2756 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2757 (grub_ufs_data): New field log2_blksz.
2758 (grub_ufs_read_file): Use shifts.
2759 (grub_ufs_mount): Check block size and logarithm it.
2760
2761 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2764 long symlinks.
2765
2766 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 Handle symlinks and long names on tar and cpio.
2769
2770 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2771 (ATTR_FILE): Likewise.
2772 (ATTR_DIR): Likewise.
2773 (ATTR_LNK): Likewise.
2774 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2775 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2776 L and K entries.
2777 (grub_cpio_mount): Zero-fill data.
2778 (handle_symlink): New function.
2779 (grub_cpio_dir): Handle symlinks.
2780 (grub_cpio_open): Likewise.
2781 (grub_cpio_close) [MODE_USTAR]: Free linkname.
2782
2783 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 Fix iso9660 filename limitations and fix memory leaks.
2786
2787 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2788 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2789
2790 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 Fix JFS file name length limitations.
2793
2794 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2795 (grub_jfs_diropen): Fix maximum filename length.
2796 (grub_jfs_getent): Fix filename length.
2797 (grub_jfs_lookup_symlink): Fix size checks.
2798
2799 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2802 string.
2803
2804 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Leverage BFS implementation to read AFS.
2807
2808 * Makefile.util.def (libgrubmods): Add afs.c.
2809 * grub-core/Makefile.core.def (afs): New module
2810 * grub-core/fs/afs.c: New file.
2811 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2812
2813 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2816
2817 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/fs/bfs.c: Run indent.
2820
2821 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 BFS implementation based on the specification.
2824
2825 * grub-core/fs/bfs.c: New file.
2826 * Makefile.util.def (libgrubmods): Add bfs.c.
2827 * grub-core/Makefile.core.def (bfs): New module.
2828
2829 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * util/grub-fstest.c (cmd_cp): Clarify error message.
2832 (cmd_cmp): Likewise.
2833
2834 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2835
2836 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2837 and befs_be.
2838
2839 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 Remove afs and befs because of copyright problem.
2842
2843 * grub-core/fs/afs.c: Removed.
2844 * grub-core/fs/afs_be.c: Removed.
2845 * grub-core/fs/befs.c: Removed.
2846 * grub-core/fs/befs_be.c: Removed.
2847 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2848 * grub-core/Makefile.core.def (afs): Removed.
2849 (afs_be): Likewise.
2850 (befs): Likewise.
2851 (befs_be): Likewise.
2852
2853 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Prefer rockridge over Joliet.
2856
2857 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2858 to ...
2859 (set_rockridge): ... here.
2860 (grub_iso9660_mount): Check rockridge on the primary label when
2861 discovering. Ignore Joliet if Rockridge is present.
2862
2863 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 Use shifts in nilfs2.
2866
2867 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2868 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2869 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2870 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2871 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2872 (grub_nilfs2_entries_per_block): Replaced with ...
2873 (grub_nilfs2_log_entries_per_block_log): ... this.
2874 (grub_nilfs2_blocks_per_group): Replaced with ...
2875 (grub_nilfs2_blocks_per_group_log): ... this.
2876 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2877 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2878 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2879 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2880 (grub_nilfs2_palloc_entry_offset): Replaced ...
2881 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2882 (grub_nilfs2_dat_translate): Use shifts.
2883 (grub_nilfs2_read_inode): Likewise.
2884 (GRUB_MOD_INIT): Ensure that logs are correct.
2885
2886 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 Use shifts in minix filesystem.
2889
2890 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2891 (GRUB_MINIX_ZONE2SECT): Likewise.
2892 (grub_minix_data): Replace block_size with log_block_size.
2893 (grub_minix_read_file): Use shifts.
2894 (grub_minix_mount): Check block size and take a logarithm.
2895
2896 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 Use shifts in squash4.
2899
2900 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2901 (squash_mount): Check block size and take logarithm.
2902 (direct_read): Use shifts.
2903
2904 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 Correct befs block counting logic.
2907
2908 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2909 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2910 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2911 (grub_afs_read_inode): Use block_shift.
2912 (RANGE_SHIFT): New definition.
2913 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2914 unexpected conditions, use shifts and appropriate types.
2915 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2916
2917 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/disk/raid.c (scan_devices): Check partition.
2920 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2921
2922 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 Support BFS (befs) UUID.
2925
2926 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2927 (grub_afs_small_data_element_header): New struct.
2928 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2929 (grub_afs_read_attribute) [MODE_BFS]: New function.
2930 (grub_afs_iterate_dir): Allocate for complete inode.
2931 (grub_afs_mount): Likewise.
2932 (grub_afs_uuid) [MODE_BFS]: New function.
2933 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2934
2935 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2938 (zfs_unmount): Fix memory leak.
2939
2940 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 Support NTFS reparse points.
2943
2944 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2945 (symlink_descriptor): New struct.
2946 (grub_ntfs_read_symlink): New function.
2947 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2948 (grub_ntfs_open): Likewise.
2949
2950 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2953
2954 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 fstest xnu_uuid subcommand.
2957
2958 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2959 grub-core/commands/xnu_uuid.c.
2960 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2961 (fstest): Handle xnu_uuid.
2962 (options): Document xnu_uuid.
2963 (argp_parser): Parse xnu_uuid.
2964
2965 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2968 -l argument. Add newline at the end if printing.
2969 (GRUB_MOD_INIT): Document -l.
2970
2971 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2974
2975 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 ZFS multi-device and version 33 support.
2978
2979 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2980 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2981 (grub_zfs_data): Add multidev-ice-related fields.
2982 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2983 (dva_get_offset): Make dva const.
2984 (zfs_fetch_nvlist): New function.
2985 (fill_vdev_info_real): Likewise.
2986 (fill_vdev_info): Likewise.
2987 (check_pool_label): Likewise.
2988 (scan_disk): Likewise.
2989 (scan_devices): Likewise.
2990 (read_device): Likewise.
2991 (read_dva): Likewise.
2992 (zio_read_gang): Use read_dva.
2993 (zio_read_data): Likewise.
2994 (zap_leaf_lookup): Add missing endian conversion.
2995 (zap_verify): Add missing endian conversion. All users updated.
2996 (fzap_lookup): Likewise.
2997 (fzap_iterate): Likewise.
2998 (dnode_get_path): Handle SA bonus.
2999 (nvlist_find_value): Make input const. All users updated.
3000 (unmount_device): New function.
3001 (zfs_unmount): Use unmount_device.
3002 (zfs_mount): Use scan_disk.
3003 (zfs_mtime): New function.
3004 (grub_zfs_open): Handle system attributes.
3005 (fill_fs_info): Likewise.
3006 (grub_zfs_dir): Likewise.
3007 (grub_zfs_fs): Add mtime.
3008 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
3009 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
3010 (SA_MTIME_OFFSET): Likewise.
3011 (SA_SYMLINK_OFFSET): Likewise.
3012 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
3013 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
3014 (fstest): Support zfsinfo.
3015 (argp_parser): Likewise.
3016
3017 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
3020 error.
3021
3022 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 ZFS fixes.
3025
3026 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
3027 sharing the same block. Iterate over correct number of indices.
3028 (dnode_get_path): Handle symlinks correctly.
3029
3030 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
3033
3034 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 Read label on HFS+.
3037
3038 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
3039 (grub_hfsplus_btree_search): Fix types.
3040 (grub_hfsplus_label): Implement.
3041
3042 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
3045
3046 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
3049
3050 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 Fix symlink handling on iso9660.
3053
3054 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
3055 All users updated.
3056 (grub_iso9660_susp_iterate): Accept zero-size iterate.
3057 (grub_iso9660_read_symlink): Moved most of code ...
3058 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
3059
3060 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3063 Use union to avoid breaking strict-aliasing rules.
3064
3065 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 Support multi-extent iso files.
3068
3069 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
3070 Add node.
3071 (grub_fshelp_node): Revamp. All users updated.
3072 (FLAG_*): New enum.
3073 (read_node): New function.
3074 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
3075 All users updated.
3076 (grub_iso9660_mount): Don't attempt to read sua when there is none.
3077 (get_node_size): New function.
3078 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
3079 entries.
3080 Fix memory leak on . and ..
3081 (grub_iso9660_read): Use read_node.
3082 (grub_iso9660_close): Free node.
3083
3084 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 Fix tar 4G limit and handle paths containing dot.
3087
3088 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
3089 (canonicalize): New function.
3090 (grub_cpio_find_file): Use canonicalize. Store offs in
3091 grub_disk_addr_t.
3092 (grub_cpio_dir): Use grub_disk_addr_t.
3093 (grub_cpio_open): Likewise.
3094
3095 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 Fix handling of uncompressed blocks on squashfs and break 4G limit.
3098
3099 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
3100 unused flags.
3101 (grub_squash_inode): Add long_file and block_size.
3102 (grub_squash_cache_inode): New struct.
3103 (grub_squash_dirent): Make types into enum.
3104 (SQUASH_TYPE_LONG_REGULAR): New type.
3105 (grub_squash_frag_desc): Add field size.
3106 (SQUASH_BLOCK_FLAGS): New enum.
3107 (grub_squash_data): Use grub_squash_cache_inode.
3108 (grub_fshelp_node): Make ino_chunk 64-bit.
3109 (read_chunk): Minor argument change. All users updated.
3110 (squash_mount): Use correct le_to_cpu.
3111 (grub_squash_open): Handle LONG_REGULAR.
3112 (direct_read): New function.
3113 (grub_squash_read_data): Handle blocks correctly.
3114
3115 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
3118
3119 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
3122
3123 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 Fix 2G limit on ZFS.
3126
3127 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
3128 types.
3129 (uberblock_verify): Likewise.
3130 (dmu_read): Likewise.
3131 (grub_zfs_read): Likewise. Remove invalid cast.
3132
3133 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
3136 (grub_jfs_blkno): Fix incorrect shift.
3137 (grub_jfs_read_file): Use more appropriate types.
3138
3139 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 Support triple indirect on minix2 and minix3.
3142
3143 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
3144 Declare triple_indir_zone.
3145 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
3146 indirect.
3147
3148 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Minix FS fixes.
3151
3152 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
3153 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
3154 Rename ctime to mtime. All users updated.
3155 (grub_minix_get_file_block): Fix types and double indirect computations.
3156
3157 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
3160 if no label is found.
3161 (grub_fat_iterate_dir): Fix file size type.
3162 (grub_fat_iterate_dir): Likewise.
3163
3164 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
3167 save some space.
3168 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3169 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3170
3171 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
3174
3175 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * util/import_gcry.py: Accept space between # and include.
3178
3179 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
3182
3183 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 Fine grainely disable warnings on lexer. Remove Wno-error on it.
3186
3187 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
3188 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
3189 yylex_strncpy.
3190 * grub-core/script/yylex.l: Add fine-grained #pragma.
3191
3192 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
3195 New inline function.
3196 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
3197 Likewise.
3198 (memset) [GRUB_UTIL]: Likewise.
3199 (memcmp) [GRUB_UTIL]: Likewise.
3200
3201 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
3204 inline function rather than a define.
3205
3206 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * util/grub-setup.c: Add missing include.
3209
3210 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * util/ieee1275/grub-ofpathname.c: Add missing include.
3213
3214 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
3217 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
3218 Likewise.
3219
3220 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
3223 grub_memcmp usage.
3224
3225 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * util/grub-install.in: Add datarootdir as per automake manual
3228 suggestion.
3229 * util/grub-mknetdir.in: Likewise.
3230
3231 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
3234 suggestion.
3235 * util/grub.d/10_kfreebsd.in: Likewise.
3236 * util/grub.d/10_linux.in: Likewise.
3237 * util/grub.d/10_netbsd.in: Likewise.
3238 * util/grub.d/10_windows.in: Likewise.
3239 * util/grub.d/20_linux_xen.in: Likewise.
3240
3241 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 Remove redundant grub_kernel_image_size.
3244
3245 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
3246 _edata and _start.
3247 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
3248 the small code. It moves it only by few bytes but simplifies the code.
3249 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
3250 _start.
3251 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
3252 (grub_kernel_image_size): Removed.
3253 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
3254 (grub_kernel_image_size): Removed.
3255 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
3256 compiled with Apple toolchain.
3257 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
3258 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
3259 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
3260 (grub_total_module_size): Likewise.
3261 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
3262 Removed.
3263 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
3264 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
3265 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3266 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
3267 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
3268 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
3269 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
3270 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
3271 Removed.
3272 (grub_total_module_size): Removed.
3273 * util/grub-mkimage.c (image_target_desc): Remove image_size.
3274 (image_targets): Likewise.
3275 Set .compressed_size to no field on sparc.
3276 (generate_image): Remove kernel_image_size handling.
3277
3278 2011-10-19 Szymon Janc <szymon@janc.net.pl>
3279
3280 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
3281 NULL pointer dereference.
3282
3283 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
3286 done with a dedicated section.
3287
3288 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
3289 Ensure the correct position of boot_path.
3290 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
3291 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
3292 other fields.
3293 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
3294 * include/grub/boot.h: Removed. All references removed.
3295 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3296 Removed.
3297 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3298
3299 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3302 name.
3303
3304 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3307
3308 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3311 Don't add the bogus brackets.
3312
3313 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 ExFAT support.
3316
3317 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3318 * grub-core/Makefile.core.def (exfat): New module.
3319 * grub-core/fs/exfat.c: New file.
3320 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3321 (GRUB_FAT_ATTR_*): Make into an enum.
3322 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3323 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3324 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3325 (GRUB_FAT_MAXFILE): Removed.
3326 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3327 (grub_current_fat_bpb_t): New type.
3328 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3329 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3330 (grub_fat_dir_node_t): New type.
3331 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3332 (fat_log2) [MODE_EXFAT]: Removed.
3333 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3334 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3335 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3336 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3337 (grub_fat_label) [MODE_EXFAT]: New function.
3338 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3339 reserved_first_sector to 0.
3340
3341 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 Move grub_reboot out of the kernel.
3344
3345 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3346 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3347 * grub-core/lib/efi/reboot.c: ... here.
3348 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3349 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3350 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3351 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3352 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3353 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3354 * grub-core/lib/ieee1275/reboot.c: ... here.
3355 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3356 * grub-core/lib/mips/arc/reboot.c: ... here.
3357 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3358 * grub-core/lib/mips/loongson/reboot.c: ...here.
3359 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3360 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3361 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3362 * include/grub/i386/reboot.h: New file.
3363 * include/grub/mips/loongson/ec.h: Fix includes.
3364 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3365 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3366 * grub-core/lib/i386/reboot.c: New file.
3367
3368 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 Make grub_prefix into module to fix the arbitrary limit and save
3371 some space.
3372
3373 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3374 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3375 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3376 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3377 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3378 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3379 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3380 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3381 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3382 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3383 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3384 * include/grub/ia64/efi/kernel.h: Removed.
3385 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3386 (grub_prefix): Removed.
3387 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3388 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3389 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3390 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3391 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3392 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3393 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3394 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3395 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3396 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3397 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3398 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3399 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3400 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3401 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3402 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3403 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3404 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3405 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3406 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3407 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3408 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3409 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3410 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3411 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3412 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3413 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3414 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3415 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3416 from module.
3417 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3418 prefix_end.
3419 (image_targets): Likewise.
3420 (generate_image): Put prefix as a module.
3421
3422 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 Replace grub_module_iterate with FOR_MODULES.
3425
3426 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3427 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3428 (grub_efi_modules_addr): ...this.
3429 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3430 (grub_efi_init): Set grub_modbase.
3431 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3432 (grub_modbase): New variable.
3433 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3434 (grub_modbase): New variable.
3435 (grub_machine_init): Set grub_modbase.
3436 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3437 (grub_modbase): New variable.
3438 (grub_machine_init): Set grub_modbase.
3439 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3440 (grub_modbase): New variable.
3441 (grub_machine_init): Set grub_modbase.
3442 * grub-core/kern/main.c (grub_module_iterate): Remove.
3443 (grub_modules_get_end): Use grub_modbase.
3444 (grub_load_modules): Use FOR_MODULES.
3445 (grub_load_config): Likewise.
3446 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3447 (grub_modbase): New variable.
3448 (grub_machine_init): Set grub_modbase.
3449 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3450 (grub_modbase): New variable.
3451 (grub_machine_init): Set grub_modbase.
3452 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3453 Removed.
3454 (grub_modbase): New variable.
3455 (grub_machine_init): Set grub_modbase.
3456 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3457 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3458 (grub_module_iterate): Likewise.
3459 (grub_modbase): New variable declaration.
3460 (FOR_MODULES): New macro.
3461
3462 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3465 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3466
3467 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Fix few obvious type discrepancies.
3470
3471 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3472 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3473 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3474 variable.
3475 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3476 and connected types.
3477 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3478 offset.
3479 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3480 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3481 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3482 and connected types.
3483
3484 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 Fix python 3.x incompatibilities.
3487
3488 * gentpl.py: Put brackets around print strings.
3489 * util/import_gcry.py: Open explicitly as utf-8.
3490 Use in instead of has_key.
3491
3492 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3495 (GRUB_XFS_INO_AGBITS): Make into inline function.
3496 (GRUB_XFS_INO_INOINAG): Likewise.
3497 (GRUB_XFS_INO_AG): Likewise.
3498 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3499 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3500 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3501 (GRUB_XFS_EXTENT_SIZE): Likewise.
3502 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3503 (GRUB_XFS_NEXT_DIRENT): Likewise.
3504 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3505 (grub_xfs_read_file): Fix offset type.
3506
3507 2011-10-15 Robert Millan <rmh@gnu.org>
3508
3509 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3510
3511 2011-10-15 Robert Millan <rmh@gnu.org>
3512
3513 Fix build problem on FreeBSD and GNU/kFreeBSD.
3514
3515 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3516
3517 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3520
3521 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3522 types.
3523 (grub_hfsplus_btree_recoffset): Likewise.
3524 (grub_hfsplus_btree_recptr): Likewise.
3525 (grub_hfsplus_find_block): Likewise.
3526 (grub_hfsplus_btree_search): Likewise.
3527 (grub_hfsplus_read_block): Likewise.
3528 (grub_hfsplus_read_file): Likewise.
3529 (grub_hfsplus_mount): Likewise.
3530 (grub_hfsplus_btree_iterate_node): Likewise.
3531 (grub_hfsplus_btree_search): Likewise.
3532 (grub_hfsplus_iterate_dir): Likewise.
3533 (grub_hfsplus_read): A small code simplification.
3534
3535 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * grub-core/kern/emu/hostdisk.c
3538 (convert_system_partition_to_system_disk): Don't assume that children
3539 of mapper nodes are mapper nodes.
3540
3541 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3544 * include/grub/misc.h (grub_isxdigit): New function.
3545 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3546 switched to grub_isxdigit.
3547 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3548 number starting with a letter.
3549
3550 2011-10-09 Robert Millan <rmh@gnu.org>
3551
3552 LVM support for FreeBSD and GNU/kFreeBSD.
3553
3554 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3555 GNU/kFreeBSD.
3556 (LVM_DEV_MAPPER_STRING): Move from here ...
3557 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3558 * util/getroot.c: Include `<grub/util/lvm.h>'.
3559 (grub_util_get_dev_abstraction): Enable
3560 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3561 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3562 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3563 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3564 support it.
3565 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3566 GNU/kFreeBSD.
3567 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3568 when LVM abstraction is required for ${GRUB_DEVICE}.
3569
3570 2011-10-06 Szymon Janc <szymon@janc.net.pl>
3571
3572 Add support for LZO compression in GRUB:
3573 - import of minilzo library,
3574 - LZO decompression for btrfs,
3575 - lzop files decompression.
3576
3577 * grub-core/io/lzopio.c: New file.
3578 * grub-core/lib/adler32.c: Likewise.
3579 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3580 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3581 * grub-core/lib/minilzo/minilzo.c: Likewise.
3582 * grub-core/lib/minilzo/minilzo.h: Likewise.
3583 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3584 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3585 grub-core/lib/minilzo/minilzo.c to common.
3586 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3587 cflags in cppflags.
3588 * grub-core/Makefile.core.def (btrfs): Likewise.
3589 * grub-core/Makefile.core.def (lzopio): New module.
3590 (adler32): Likewise.
3591 * grub-core/fs/btrfs.c: Include minilzo.h.
3592 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3593 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3594 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3595 (grub_btrfs_lzo_decompress): New function.
3596 (grub_btrfs_extent_read): Add support for LZO compression type.
3597 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3598 (GRUB_USHRT_MAX): Likewise.
3599 (GRUB_UINT_MAX): Likewise.
3600 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3601 (UINT_MAX): Likewise.
3602 (CHAR_BIT): Likewise.
3603 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3604 grub-core/lib/posix_wrap/limits.h
3605 (UCHAR_MAX): Likewise.
3606 * include/grub/file.h (grub_file_filter_id): New compression filter
3607 GRUB_FILE_FILTER_LZOPIO.
3608 * include/grub/file.h (grub_file_filter_id): Set
3609 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3610 * include/grub/types.h (grub_get_unaligned16): New function.
3611 (grub_get_unaligned32): Likewise.
3612 (grub_get_unaligned64): Likewise.
3613 * util/import_gcry.py (cryptolist): Add adler32.
3614
3615 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3618 in perspective decreases the complexity of build system and fixes
3619 compilation right now.
3620
3621 2011-10-01 Ales Nesrsta <starous@volny.cz>
3622
3623 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3624 (fixed problem related to using UHCI with coreboot).
3625
3626 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3627
3628 * gentpl.py: Use Autogen macros so that the output template file
3629 (Makefile.tpl) size is reduced.
3630
3631 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
3632
3633 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3634 extra_dist.
3635
3636 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3637
3638 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3639 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3640
3641 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3642
3643 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3644 _fullpath.
3645
3646 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3647
3648 Remove extra declaration of sleep for mingw32.
3649
3650 * util/misc.c (sleep) [__MINGW32__]: Removed.
3651 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3652
3653 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3654
3655 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3656 type and packname.
3657 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3658 Resurrected.
3659 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3660 (grub_netbsd_btinfo_bootwedge): New struct.
3661 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3662 New function.
3663 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3664
3665 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3666
3667 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3668 loader.
3669
3670 2011-09-28 Andreas Born <futur.andy@googlemail.com>
3671
3672 Fix incorrect identifiers in bash-completion.
3673
3674 * util/bash-completion.d/grub-completion.bash.in
3675 (_grub_mkpasswd-pbkdf2): Rename to ...
3676 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3677 (_grub_script-check): Rename to ...
3678 (_grub_script_check): ... this. All users updated.
3679
3680 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3683 Return 0 if disk isn't biosdisk.
3684
3685 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3686
3687 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3688 on NetBSD.
3689 * Makefile.util.def (grub-fstest): Likewise.
3690
3691 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3692
3693 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3694 Get sector size from disk label.
3695
3696 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
3697
3698 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3699 */README* as well as README*.
3700 Reported by: Axel Beckert.
3701
3702 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3705 case of less than 256 MiB of RAM.
3706
3707 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/commands/wildcard.c (make_regex): Handle @.
3710
3711 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3714
3715 2011-08-21 Szymon Janc <szymon@janc.net.pl>
3716
3717 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3718 AC_LANG_CONFTEST macros.
3719
3720 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3721
3722 Add grub-fstest option to uncompress data for commands.
3723
3724 * util/grub-fstest.c (uncompress): New var.
3725 (options): New option -u.
3726
3727 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3728
3729 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3730 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3731
3732 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3733
3734 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3735 file type was not recognized correctly (not gzip or corrupted).
3736
3737 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3740 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3741
3742 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3745 loongson.
3746 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3747 video_radeon_fuloong2e.
3748 * grub-core/video/radeon_fuloong2e.c: New file.
3749 * include/grub/video.h (grub_video_id_t): Add new ID
3750 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3751
3752 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3755 define.
3756 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3757 that PRID matches the detected subplatform and reset the subplatform
3758 if it doesn't.
3759
3760 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3763
3764 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 Fix PCI iterating on functions >= 4.
3767
3768 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3769 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3770 Removed.
3771 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3772 (grub_pci_read): Fix bitmask.
3773 (grub_pci_read_word): Likewise.
3774 (grub_pci_read_byte): Likewise.
3775 (grub_pci_write): Likewise.
3776 (grub_pci_write_word): Likewise.
3777 (grub_pci_write_byte): Likewise.
3778
3779 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3782 can still be specified in TARGET_CFLAGS)
3783
3784 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3787
3788 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3789 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3790 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3791 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3792 (FULOONG): Rename to ...
3793 (FULOONG2F): ... this. All users updated.
3794 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3795 (machtype_fuloong2f_str): ... this.
3796 (machtype_fuloong2e_str): New string.
3797 Check for machtype_fuloong2e_str.
3798 * grub-core/loader/mips/linux.c (loongson_machtypes)
3799 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3800 * grub-core/term/serial.c (loongson_defserial)
3801 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3802 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3803 loongson_defserial.
3804 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3805 Rename to ...
3806 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3807 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3808 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3809 to IMAGE_FULOONG2F_FLASH. All users updated.
3810 (image_targets): Rename images.
3811 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3812
3813 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3814
3815 Make enable of disk cache statistics code configurable.
3816
3817 * configure.ac: --enable-cache-stats added.
3818 * config.h.in (DISK_CACHE_STATS): New define.
3819 * grub-core/Makefile.core.def (cacheinfo): New command.
3820 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3821 * grub-core/commands/cacheinfo.c: New file.
3822 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3823 moved to cacheinfo.c.
3824 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3825 debug code.
3826 * include/grub/disk.h: Likewise.
3827
3828 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3829
3830 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3831 * grub-core/Makefile.am: Likewise.
3832
3833 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3836 non-zero pull.
3837
3838 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3841 All users updated.
3842 (grub_jfs_lookup_symlink): Use correct starting inode.
3843
3844 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * util/grub-setup.c (main): Add missing gcry initialisation.
3847
3848 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Don't accept text modes on EFI when booting Linux.
3851
3852 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3853 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3854
3855 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3856 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3857
3858 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3859 use of "/path/.." as in grub-install for EFI as well as handling
3860 symlinks correctly.
3861 Fixes Debian bug #637768.
3862
3863 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3864
3865 * util/grub-probe.c: Remove duplicate #include.
3866
3867 2011-08-10 Robert Millan <rmh@gnu.org>
3868
3869 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3870
3871 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3872 function.
3873 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3874 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3875
3876 2011-08-03 Robert Millan <rmh@gnu.org>
3877
3878 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3879 la_array as packed.
3880 Reported by: Zachary Bedell
3881
3882 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3883
3884 * configure.ac: The Loongson port requires grub-mkfont due to its
3885 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3886 be built.
3887
3888 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3889
3890 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3891 processing arguments (otherwise help2man fails when GRUB has not yet
3892 been installed).
3893
3894 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 New script grub-mkstandalone.
3897
3898 * Makefile.util.def (grub-mkstandalone): New script.
3899 * docs/man/grub-mkstandalone.h2m: New file.
3900 * util/grub-mkstandalone.in: Likewise.
3901
3902 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 Support ATA disks with 4K sectors.
3905
3906 * include/grub/ata.h (grub_ata): New member log_sector_size.
3907 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3908 (grub_ata_identify): Read sector size.
3909 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3910
3911 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * util/grub-install.in: Don't use uhci outside of x86.
3914
3915 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * util/grub-mkrescue.in: Add missing quotes.
3918
3919 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3922 dereference.
3923
3924 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3927
3928 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * include/grub/video.h: add missing EXPORT_FUND on
3931 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3932
3933 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * include/grub/mips/kernel.h: Fix define conflict.
3936
3937 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3940 all four ways.
3941
3942 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3943
3944 Preferred resolution detection for VBE.
3945
3946 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3947 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3948 the Flat Panel extension, in line with the X.org VESA driver.
3949 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3950 New function.
3951 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3952 (grub_vbe_bios_read_edid): Likewise.
3953 (grub_vbe_get_preferred_mode): Likewise.
3954 (grub_video_vbe_setup): When the mode is "auto", try to get the
3955 preferred mode from VBE, and use the largest mode that is no larger
3956 than the preferred mode (some BIOSes expose a preferred mode that is
3957 not in their mode list!). If this fails, fall back to 640x480 as a
3958 safe conservative choice.
3959 (grub_video_vbe_get_edid): New function.
3960 (grub_video_vbe_adapter): Add get_edid.
3961 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3962 (struct grub_video_adapter): Add get_edid.
3963 (grub_video_edid_checksum): Add prototype.
3964 (grub_video_edid_preferred_mode): Likewise.
3965 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3966 structure.
3967
3968 * grub-core/commands/videoinfo.c (print_edid): New function.
3969 (grub_cmd_videoinfo): Print EDID if available.
3970
3971 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3972 is more appropriate on a wider range of platforms than 640x480.
3973 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3974 documentation.
3975
3976 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3979
3980 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * po/POTFILES.in: Regenerate.
3983
3984 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3987 incorrect memory usage.
3988
3989 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * util/grub-install.in: Source grub-mkconfig_lib.
3992
3993 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Remove getroot.c from core on emu platform.
3996
3997 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3998 kern/emu/raid.c.
3999 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
4000 useless.
4001 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
4002 * util/getroot.c (get_win32_path): ... here.
4003 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
4004 * util/getroot.c (fini_libzfs): ... here.
4005 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
4006 * util/getroot.c (grub_get_libzfs_handle): ... here.
4007 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
4008 Moved from here...
4009 * util/getroot.c (grub_find_zpool_from_dir): ... here.
4010 * grub-core/kern/emu/misc.c
4011 (grub_make_system_path_relative_to_its_root): Moved from here...
4012 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
4013 * grub-core/kern/emu/getroot.c: Moved from here ...
4014 * util/getroot.c: ... here. All users updated.
4015 * grub-core/kern/emu/raid.c: Moved from here ...
4016 * util/raid.c: ... here. All users updated.
4017
4018 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * po/POTFILES.in: Regenerate.
4021
4022 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 Fix compilation on GNU/Linux.
4025
4026 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
4027 Disable geli.
4028 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
4029 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
4030 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
4031
4032 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4033 2011-07-07 Michael Gorven <michael@gorven.za.net>
4034 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
4035
4036 LUKS and GELI support.
4037
4038 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
4039 grub-core/disk/luks.c, grub-core/disk/geli.c,
4040 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
4041 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
4042 grub-core/lib/arg.c.
4043 (libgrubmods.a): Remove gcrypts cflags and cppflags.
4044 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
4045 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
4046 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
4047 (grub-bin2h): Add libgcry.a.
4048 (grub-mkimage): Likewise.
4049 (grub-mkrelpath): Likewise.
4050 (grub-script-check): Likewise.
4051 (grub-editenv): Likewise.
4052 (grub-mkpasswd-pbkdf2): Likewise.
4053 (grub-pe2elf): Likewise.
4054 (grub-fstest): Likewise.
4055 (grub-mkfont): Likewise.
4056 (grub-mkdevicemap): Likewise.
4057 (grub-probe): Likewise.
4058 (grub-ofpath): Likewise.
4059 (grub-mklayout): Likewise.
4060 (example_unit_test): Likewise.
4061 (grub-menulst2cfg): Likewise.
4062 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
4063 * grub-core/Makefile.core.def (cryptodisk): New module.
4064 (luks): Likewise.
4065 (geli): Likewise.
4066 * grub-core/disk/AFSplitter.c: New file.
4067 * grub-core/disk/cryptodisk.c: Likewise.
4068 * grub-core/disk/geli.c: Likewise.
4069 * grub-core/disk/luks.c: Likewise.
4070 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
4071 grub_util_is_lvm.
4072 (grub_util_get_dm_abstraction): New function.
4073 (grub_util_follow_gpart_up): Likewise.
4074 (grub_util_get_geom_abstraction): Likewise.
4075 (grub_util_get_dev_abstraction): Use new functions.
4076 (grub_util_pull_device): Pull GELI and LUKS.
4077 (grub_util_get_grub_dev): Handle LUKS and GELI.
4078 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
4079 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
4080 (follow_geom_up): Removed.
4081 (grub_util_fd_seek): New function.
4082 (open_device): Use grub_util_fd_seek.
4083 (nread): Rename to ..
4084 (grub_util_fd_read): ... this. All users updated.
4085 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
4086 (grub_crypto_cbc_decrypt): Likewise.
4087 (grub_crypto_hmac_write): Likewise.
4088 (grub_crypto_hmac_buffer): Likewise.
4089 (grub_password_get): Extend to util.
4090 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
4091 New member modname.
4092 (gcry_md_spec) [GRUB_UTIL]: Likewise.
4093 * include/grub/cryptodisk.h: New file.
4094 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
4095 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
4096 LUKS and GELI.
4097 (grub_util_follow_gpart_up): New proto.
4098 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
4099 (grub_util_fd_read): Likewise.
4100 (grub_cryptodisk_cheat_mount): Likewise.
4101 (grub_util_cryptodisk_print_uuid): Likewise.
4102 (grub_util_get_fd_sectors): Likewise.
4103 * util/grub-fstest.c (mount_crypt): New var.
4104 (fstest): Mount crypto if requested.
4105 (options): New option -C.
4106 (argp_parser): Parse -C.
4107 (main): Init and fini gcry.
4108 * util/grub-install.in: Support cryptodisk install.
4109 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
4110 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
4111 cryptodisk.
4112 (prepare_grub_to_access_device): Likewise.
4113 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
4114 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
4115 (probe_cryptodisk_uuid): New function.
4116 (probe_abstraction): Likewise.
4117 (probe): Use new functions.
4118 * util/import_gcry.py: Create Makefile.utilgcry.def.
4119 Add modname member.
4120
4121 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 Lazy device scanning.
4124
4125 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
4126 (grub-setup): Remove util/raid.c.
4127 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
4128 * grub-core/disk/lvm.c (scan_depth): New variable.
4129 (grub_lvm_iterate): Rescan if necessary.
4130 (find_lv): New function based on grub_lvm_open.
4131 (grub_lvm_open): Use find_lv. Rescan on error.
4132 (is_node_readable): New function.
4133 (is_lv_readable): Likewise.
4134 (grub_lvm_scan_device): Skip already found disks.
4135 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
4136 Stop if searched device is found and readable.
4137 * grub-core/disk/raid.c (inscnt): New variable.
4138 (scan_depth): Likewise.
4139 (scan_devices): New function based on grub_raid_register. Abort if
4140 looked for device is found.
4141 (grub_raid_iterate): Rescan if needed.
4142 (find_array): NEw function based on -grub_raid_open.
4143 (grub_raid_open): Use find_array and rescan.
4144 (insert_array): Set became_readable_at.
4145 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
4146 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
4147 New function.
4148 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
4149 (grub_util_pull_device): New function.
4150 (grub_util_get_grub_dev): Call grub_util_pull_device.
4151 * util/raid.c: Moved to ..
4152 * grub-core/kern/emu/raid.c: ... here.
4153 (grub_util_raid_getmembers): New parameter "bootable".
4154 All users updated. Support 1.x.
4155 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
4156 All users updated.
4157 * include/grub/disk.h (grub_disk_pull_t): New enum.
4158 (grub_disk_dev): Change iterate prototype.
4159 All users updated.
4160 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
4161 New proto.
4162 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
4163 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
4164 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
4165 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
4166 All users updated.
4167 * include/grub/util/raid.h: Removed.
4168
4169 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * po/POTFILES.in: Regenerate.
4172
4173 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 Unify sparc init with other ieee1275.
4176
4177 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
4178 instead of kern/sparc64/ieee1275/init.c.
4179 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
4180 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
4181 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
4182 grub/machine/kernel.h.
4183 (grub_ieee1275_original_stack) [__sparc__]: New variable.
4184 (grub_claim_heap) [__sparc__]: Use sparc version.
4185 (grub_machine_init): Moved args parsing to
4186 (grub_parse_cmdline): ...this.
4187 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
4188 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
4189 New definition.
4190 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
4191
4192 Move BOOTP to separate file.
4193
4194 * grub-core/Makefile.core.def (net): Add net/bootp.c.
4195 * grub-core/net/net.c: Move all BOOTP functions to
4196 * grub-core/net/bootp.c: ... here.
4197
4198 Use frame interface on PXE.
4199
4200 * grub-core/Makefile.core.def (pxecmd): Removed.
4201 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
4202 * grub-core/commands/i386/pc/pxecmd.c: Removed.
4203 * grub-core/i386/pc/pxe.c: Moved from here ...
4204 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
4205 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
4206 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
4207
4208 EFI network support.
4209
4210 * grub-core/Makefile.core.def (efinet): New module.
4211 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
4212 here...
4213 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
4214 All users updated.
4215 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
4216 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
4217 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
4218 * grub-core/net/drivers/efi/efinet.c: New file.
4219 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
4220 (grub_efi_net_config): New extern var.
4221
4222 Various cleanups and bugfixes.
4223
4224 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
4225 error.
4226 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
4227 disk declared as partition.
4228 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
4229 leak on failure.
4230 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
4231 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
4232 (grub_debug_zalloc): Likewise.
4233 (grub_debug_realloc): Likewise.
4234 (grub_debug_memalign): Likewise.
4235 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
4236 Check that target is IPv4.
4237 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
4238 local-mac-address as fallback.
4239 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
4240 memory leak.
4241 * grub-core/net/ip.c (ipchksum): Rename to ...
4242 (grub_net_ip_chksum): ... this. All users updated.
4243 (grub_net_recv_ip_packets): Special handling for DHCP.
4244 * util/grub-mkimage.c (generate_image): Zero-out aout header.
4245
4246 Unify prefix handling
4247
4248 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
4249 (grub_machine_get_bootlocation): ... this.
4250 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
4251 (grub_machine_get_bootlocation): ... this.
4252 (grub_prefix): New variable.
4253 (prefix): Removed.
4254 (root_dev): New variable.
4255 (dir): Likewise.
4256 (main): Use new variables.
4257 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
4258 Revamped into ...
4259 (grub_machine_get_bootlocation): ... this.
4260 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
4261 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
4262 (grub_machine_get_bootlocation): ... this.
4263 (grub_machine_set_prefix): Removed.
4264 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
4265 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
4266 Revamped into ...
4267 (grub_machine_get_bootlocation): ... this.
4268 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
4269 (grub_set_prefix_and_root): ... this. All users updated.
4270 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
4271 Revamped into ...
4272 (grub_machine_get_bootlocation): ... this.
4273 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
4274 (grub_machine_get_bootlocation): New proto.
4275 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
4276
4277 Less intrusive and more reliable seek on network implementation.
4278
4279 * grub-core/kern/file.c (grub_file_net_seek): Removed.
4280 (grub_file_seek): Don't call grub_file_net_seek.
4281 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
4282 (grub_net_fs_read_real): .. this.
4283 (grub_net_seek_real): Use net->offset.
4284 (grub_net_fs_read): Seek if necessary.
4285
4286 Unify IEEE1275 netwotk config with the other platforms.
4287
4288 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
4289 New variable.
4290 (grub_machine_get_bootlocation): Support network.
4291 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4292 Support type and device parsing.
4293 (grub_ieee1275_get_device_type): New function.
4294 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
4295 into ...
4296 (grub_ieee1275_net_config_real): ... this.
4297 (grub_ofnet_probecards): Removed.
4298 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4299 * include/grub/ieee1275/ofnet.h: Removed.
4300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4301 extern var.
4302 (grub_ieee1275_get_device_type): New function.
4303
4304 Unify network device closing across platforms and make more robust.
4305
4306 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4307 grub_grubnet_fini.
4308 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4309 already.
4310 * grub-core/net/net.c (grub_net_network_level_interface_register):
4311 Update num_ifaces.
4312 (grub_net_card_unregister): Close all interfaces.
4313 (receive_packets): Don't poll if no iterfaces are registered.
4314 Open if necessary.
4315 (grub_net_fini_hw): New function.
4316 (grub_net_restore_hw): Likewise.
4317 (fini_hnd): New variable.
4318 (GRUB_MOD_INIT): Register preboot hook.
4319 (GRUB_MOD_FINI): Run and unregister preboot hook.
4320
4321 Poll network cards when idle.
4322
4323 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4324 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4325 * grub-core/net/net.c (receive_packets): Save last poll time.
4326 (grub_net_poll_cards_idle_real): New function.
4327 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4328 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4329 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4330
4331 Rename ofnet interfaces.
4332
4333 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4334 (grub_ofnet_findcards): Use ofnet_%s names.
4335
4336 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4337
4338 Cleanup socket opening.
4339
4340 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4341 (grub_net_fs_close): Likewise.
4342 (grub_net_fs_read_real): Use eof member.
4343 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4344 (+grub_net_udp_close): New inline function.
4345
4346 * include/grub/net/tftp.h: Moved to the top of ...
4347 * grub-core/net/tftp.c: ... here.
4348 * include/grub/net/ip.h: Moved mostly to the top of ...
4349 * grub-core/net/ip.c: ... here.
4350 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4351 * grub-core/net/ethernet.c: ... here.
4352
4353 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4354
4355 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4356 FS name.
4357
4358 * include/grub/net/ip.h (ipv4_ini): Removed.
4359 (ipv4_fini): Likewise.
4360
4361 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4362 (grub_net_send_ip_packets): Likewise.
4363
4364 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4367 grub_read_cmos prototype.
4368
4369 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 VGA text support in qemu-mips
4372
4373 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4374 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4375 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4376 text.
4377 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4378 * grub-core/kern/vga_init.c: ... this.
4379 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4380 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4381 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4382 Adjust.
4383 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4384 GRUB_MACHINE_PCI_IO_BASE.
4385
4386 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 MIPS qemu flash support.
4389
4390 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4391 magic.
4392 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4393 (grub_machine_init): Probe memory if its size isn't known.
4394 * util/grub-mkimage.c (image_targets): Add flash targets.
4395 (generate_image): Handle flash targets.
4396
4397 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 MIPS qemu at_keyboard support.
4400
4401 * gentpl.py (videoinkernel): Add qemu-mips.
4402 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4403 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4404 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4405 modules.
4406 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4407 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4408 * grub-core/term/serial.c (grub_serial_register)
4409 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4410
4411 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 CMOS support on sparc.
4414
4415 * gentpl.py (cmos): Add powerpc and sparc.
4416 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4417 powerpc and sparc.
4418 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4419 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4420 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4421 grub_set_datetime_cmos.
4422 * grub-core/lib/ieee1275/cmos.c: New file.
4423 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4424 (find_rtc): Set no_ieee1275_rtc on error.
4425 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4426 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4427 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4428 fail. Move value to argument. All users updated
4429 (grub_cmos_write): Likewise.
4430 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4431 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4432 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4433 grub_get_datetime_cmos and grub_set_datetime_cmos.
4434
4435 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4436
4437 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4438 sourcing grub-mkconfig_lib.
4439 * util/update-grub_lib.in: Likewise.
4440 * util/grub.d/00_header.in: Likewise.
4441 * util/grub.d/10_hurd.in: Likewise.
4442 * util/grub.d/10_kfreebsd.in: Likewise.
4443 * util/grub.d/10_linux.in: Likewise.
4444 * util/grub.d/10_netbsd.in: Likewise.
4445 * util/grub.d/10_windows.in: Likewise.
4446 * util/grub.d/20_linux_xen.in: Likewise.
4447 * util/grub.d/30_os-prober.in: Likewise.
4448
4449 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
4450
4451 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4452 default_bg_color rather than black.
4453 (grub_gfxterm_fullscreen): Likewise.
4454 (grub_gfxterm_background_color_cmd): Save new background color in
4455 default_bg_color.
4456
4457 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4460
4461 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4464 mismerge.
4465
4466 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 Chainloading on coreboot support.
4469
4470 * grub-core/Makefile.core.def (chain): Add coreboot.
4471 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4472
4473 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4476 if it happens.
4477
4478 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 Implement time command.
4481
4482 * grub-core/Makefile.core.def (time): New module.
4483 * grub-core/commands/time.c: New file.
4484 * grub-core/script/parser.y: Remove "time" keyword.
4485 * grub-core/script/yylex.l: Likewise.
4486
4487 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4490
4491 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4494 when handling leftovers.
4495
4496 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4499 so that help2man doesn't fail.
4500
4501 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4504 type in pointers on sparc64.
4505 (get_card_packet): Likewise.
4506
4507 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
4508
4509 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4510 with `*'.
4511 (grub_cmd_videoinfo): Fetch current video mode.
4512
4513 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4516 because of underlying system restrictions.
4517
4518 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4521 necessary.
4522
4523 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 Coreboot video support.
4526
4527 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4528 (vbe): Likewise.
4529 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4530 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4531 here ...
4532 * grub-core/kern/i386/int.S: ... here.
4533 * grub-core/video/i386/pc/vbe.c: Updated includes.
4534 * grub-core/video/i386/pc/vga.c: Likewise.
4535 * include/grub/i386/coreboot/memory.h
4536 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4537 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4538 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4539 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4540 Disable interrupts.
4541 * include/grub/i386/pc/vga.h: Removed. All users updated.
4542
4543 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4546 definitions for dprintf.
4547 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4548
4549 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4552 prototype.
4553 (get_card_packet): Likewise.
4554
4555 2011-06-26 Yves Blusseau <blusseau@zetam.org>
4556
4557 Display the path of the file when file is not found
4558
4559 * grub-core/fs/fat.c: Display the filename when file is not found.
4560 * grub-core/fs/fshelp.c: Likewise.
4561 * grub-core/fs/hfs.c: Likewise.
4562 * grub-core/fs/jfs.c: Likewise.
4563 * grub-core/fs/minix.c: Likewise.
4564 * grub-core/fs/ufs.c: Likewise.
4565 * grub-core/fs/btrfs.c: Likewise.
4566 * grub-core/commands/i386/pc/play.c: Likewise.
4567
4568 2011-06-26 Szymon Janc <szymon@janc.net.pl>
4569
4570 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4571 pointer checks before calling grub_free().
4572 * grub-core/commands/wildcard.c (match_devices): Likewise.
4573 * grub-core/commands/wildcard.c (match_files): Likewise.
4574 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4575 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4576 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4577 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4578 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4579 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4580 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4581 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4582 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4583
4584 2011-06-25 Patrick <p55@mailinator.com>
4585
4586 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4587
4588 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4591 (grub_pxe_send): Likewise.
4592 (GRUB_MOD_INIT): Fix types.
4593
4594 2011-06-24 Szymon Janc <szymon@janc.net.pl>
4595
4596 * grub-core/io/xzio.c: Fix code style issues
4597
4598 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4599 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
4600
4601 Network infrastructure.
4602 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4603
4604 * include/grub/net/arp.h: New file.
4605 * include/grub/net/device.h: Likewise.
4606 * include/grub/net/ethernet.h: Likewise.
4607 * include/grub/net/ip.h: Likewise.
4608 * include/grub/net/netbuff.h: Likewise.
4609 * include/grub/net/tftp.h: Likewise.
4610 * include/grub/net/udp.h: Likewise.
4611 * include/grub/ieee1275/ofnet.h: Likewise.
4612 * include/grub/emu/export.h: Likewise.
4613 * include/grub/net.h: Likewise.
4614 * grub-core/net/arp.c: Likewise.
4615 * grub-core/net/ethernet.c: Likewise.
4616 * grub-core/net/ip.c: Likewise.
4617 * grub-core/net/udp.c: Likewise.
4618 * grub-core/net/tftp.c: Likewise.
4619 * grub-core/net/netbuff.c: Likewise.
4620 * grub-core/net/net.c: Likewise.
4621 * grub-core/net/drivers/emu/emunet.c: Likewise.
4622 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4623 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4624 export.h.
4625 * grub-core/Makefile.core.def (net): New module.
4626 (tftp): Likewise.
4627 (ofnet): Likewise.
4628 (emunet): Likewise.
4629 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4630 network protocols.
4631 * grub-core/kern/device.c (grub_net_open) : New variable.
4632 (grub_device_open): Handle network device.
4633 (grub_device_close): Likewise.
4634 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4635 (grub_grubnet_fini): Likewise.
4636 (grub_file_seek): Seek in network device.
4637 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4638 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4639 network root.
4640 (grub_machine_fini): Call grub_grubnet_fini.
4641 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4642 network.
4643 (grub_ieee1275_get_aliasdevname): New function.
4644 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4645 Add unofficial Solaris network info.
4646 (grub_multiboot_make_mbi): Likewise.
4647 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4648 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4649 * include/grub/device.h (grub_fs): Removed.
4650 * include/grub/err.h (grub_err_t): Add network-related values.
4651 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4652 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4653 (grub_ieee1275_get_aliasdevname): New proto.
4654 * include/grub/net.h: Rewritten.
4655
4656 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4659 names.
4660
4661 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4664 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4665 it truncates the output.
4666 Reported by: Ximin Luo.
4667
4668 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4671
4672 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4675 partmap before abstraction.
4676
4677 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4678
4679 * util/grub-mkconfig_lib.in: Add missing quotes.
4680
4681 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4684 old method if mountinfo would return /dev/root and /dev/root doesn't
4685 exist.
4686
4687 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 ZFS zlib support
4690
4691 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4692 (decomp_table): Add zlib entries.
4693 (zio_read): USe 8 bits for compression function rather than 3.
4694 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4695
4696 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/disk/ahci.c: Add missing license statements.
4699 * grub-core/fs/romfs.c: Likewise.
4700 * grub-core/lib/ia64/setjmp.S: Likewise.
4701 * grub-core/loader/i386/pc/freedos.c: Likewise.
4702 * grub-core/loader/ia64/efi/linux.c: Likewise.
4703 * grub-core/video/colors.c: Likewise.
4704 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4705
4706 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 AHCI support.
4709
4710 * grub-core/Makefile.core.def (ata_pthru): Removed.
4711 (ahci): New module.
4712 (pata): Likewise.
4713 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4714 on unload.
4715 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4716 readwrite.
4717 (grub_hdparm_do_check_powermode_cmd): Likewise.
4718 (grub_hdparm_do_smart_cmd): Likewise.
4719 (grub_hdparm_set_val_cmd): Likewise.
4720 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4721 * grub-core/disk/ahci.c: New file.
4722 * grub-core/disk/ata.c: Factor out the low-level part into ...
4723 * grub-core/disk/pata.c: ... here.
4724 * grub-core/disk/ata_pthru.c: Contents moved to ...
4725 * grub-core/disk/pata.c: ... here.
4726 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4727 (grub_scsi_iterate): Use grub_scsi_names.
4728 (grub_scsi_open): Likewise.
4729 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4730 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4731 (grub_ata_regs_t): New struct.
4732 (grub_disk_ata_pass_through_parms): Likewise.
4733 (grub_ata_device): Renamed to ...
4734 (grub_ata): ... this.
4735 (grub_ata_dev): New struct.
4736 Removed all low-level inline functions.
4737 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4738 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4739 iterate hooks and open. All users updated.
4740 * util/grub-install.in: Handle AHCI disk module.
4741
4742 2011-06-23 Szymon Janc <szymon@janc.net.pl>
4743
4744 Add support for DRI and RSTn markers in JPEG files.
4745
4746 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4747 (JPEG_MARKER_RST0): Likewise.
4748 (JPEG_MARKER_RST1): Likewise.
4749 (JPEG_MARKER_RST2): Likewise.
4750 (JPEG_MARKER_RST3): Likewise.
4751 (JPEG_MARKER_RST4): Likewise.
4752 (JPEG_MARKER_RST5): Likewise.
4753 (JPEG_MARKER_RST6): Likewise.
4754 (JPEG_MARKER_RST7): Likewise.
4755 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4756 (grub_jpeg_decode_dri): New function.
4757 (grub_jpeg_decode_sos): Move image data related part into
4758 grub_jpeg_decode_data function.
4759 (grub_jpeg_decode_data): New function.
4760 (grub_jpeg_reset): New function.
4761 (grub_jpeg_decode_jpeg): Handle new markers.
4762
4763 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * util/ieee1275/ofpath.c (check_sas): Close fd.
4766 (main): Free of_path.
4767 Reported by: David Volgyes <dvolgyes>.
4768
4769 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4772 Reported by: David Volgyes <dvolgyes>.
4773
4774 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4777 file after stat.
4778 Reported by: David Volgyes <dvolgyes>.
4779
4780 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4783
4784 Reported by: David Volgyes <dvolgyes>.
4785
4786 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4789 Prevent memory leak.
4790
4791 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4794 (main): Close file.
4795 Reported by: David Volgyes <dvolgyes>.
4796
4797 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4800 to continue if allocation is failed.
4801
4802 Reported by: David Volgyes <dvolgyes>.
4803
4804 2011-06-23 David Volgyes <dvolgyes>
4805
4806 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4807 dereference.
4808
4809 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 Fix spurious warning.
4812
4813 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4814 (acorn_partition_map_find): Use .bin member.
4815
4816 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4819 /dev/root as a valid device.
4820
4821 2011-06-23 Jim Meyering <meyering@redhat.com>
4822
4823 Avoid NULL deref in grub_device_open.
4824
4825 * grub-core/kern/device.c (grub_device_open): Don't dereference
4826 a NULL pointer upon failed grub_env_get.
4827
4828 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 Support non-512B sectors and agglomerate reads.
4831
4832 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4833 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4834 (disk_io_guid): Removed.
4835 (make_devices): Locate solely by BlockIO.
4836 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4837 (grub_efidisk_read): Use read_blocks.
4838 (grub_efidisk_write): Use write_blocks.
4839 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4840 log_sector_size.
4841 (get_safe_sectors): Handle non-512B sectors.
4842 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4843 sectors.
4844 (grub_biosdisk_write): Handle non-512B sectors.
4845 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4846 (grub_scsi_read): Remove special non-512B block handling (now handled
4847 one level up).
4848 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4849 and do sanity checks.
4850 (grub_disk_adjust_range): Handle non-512B sectors.
4851 (transform_sector): New function.
4852 (grub_disk_read_small): Likewise.
4853 (grub_disk_read): Rewritten.
4854 (grub_disk_write): Handle non-512B sectors.
4855 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4856 log_sector_size.
4857 (open_device): Use log_sector_size.
4858 (grub_util_biosdisk_read): Likewise.
4859 (grub_util_biosdisk_write): Likewise.
4860 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4861 non-512B sectors.
4862 (pc_partition_map_embed): Likewise.
4863 * include/grub/disk.h (grub_disk): New field log_sector_size.
4864 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4865 (GRUB_DISK_CACHE_BITS): Increased to 6.
4866 * util/grub-fstest.c (fstest): New command testload.
4867 (argp_parser): Likewise.
4868
4869 2011-06-16 Robert Millan <rmh@gnu.org>
4870
4871 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4872 `ata' driver on kernel of FreeBSD 9.
4873
4874 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4875 (get_ataraid_disk_name): New functions.
4876 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4877 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4878 get_ataraid_disk_name() and get_ada_disk_name().
4879
4880 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4881
4882 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4883 input format.
4884
4885 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4886
4887 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4888 `ftp.gnu.org' for `alpha.gnu.org'.
4889
4890 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4891
4892 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4893 partitions under /dev/disk/by-id/.
4894
4895 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4896
4897 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4898 after ten consecutive open failures. Scanning all the way up to
4899 10000 is excessive and can cause serious performance problems in
4900 some configurations.
4901 Fixes Ubuntu bug #787461.
4902
4903 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4906 opening new one.
4907
4908 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4909 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Don't stat devices unless we have to.
4912
4913 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4914 dir == /dev/mapper.
4915 (grub_guess_root_device): Use already known os_dev if possible.
4916 * grub-core/kern/emu/hostdisk.c
4917 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4918 if device is known to be a dm one.
4919
4920 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4921
4922 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4923 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4924 Reported by: Pawel Tecza.
4925
4926 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4929 (lsefisystab): Likewise.
4930 (lssal): Likewise.
4931 (lsefimmap): Likewise.
4932 (hdparm): Enable on qemu-mips.
4933 (setjmp): Add ia64 nodist.
4934 (serial): Simplify tags.
4935
4936 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4937
4938 * Makefile.util.def (grub-ofpathname): Install manual page.
4939
4940 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4941
4942 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4943
4944 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4945
4946 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4947
4948 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4951 into dprintf.
4952
4953 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Use full 64-bit division.
4956
4957 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4958 (grub_divmod64): ... this.
4959 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4960 version.
4961
4962 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4963
4964 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4965 `source'.
4966
4967 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4968
4969 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4970 to avoid accidents when debugging with 'sh -x'.
4971 * grub-core/gensyminfo.sh.in: Likewise.
4972 * tests/example_scripted_test.in: Likewise.
4973 * tests/grub_cmd_regexp.in: Likewise.
4974 * tests/grub_script_blanklines.in: Likewise.
4975 * tests/grub_script_dollar.in: Likewise.
4976 * tests/grub_script_expansion.in: Likewise.
4977 * tests/grub_script_final_semicolon.in: Likewise.
4978 * tests/partmap_test.in: Likewise.
4979 * tests/util/grub-shell-tester.in: Likewise.
4980 * tests/util/grub-shell.in: Likewise.
4981
4982 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4983
4984 Move gfxmenu color handling to video, so that gfxterm can use it
4985 too.
4986
4987 * grub-core/gfxmenu/named_colors.c: Move to ...
4988 * grub-core/video/colors.c: ... here. Rename
4989 grub_gui_get_named_color to grub_video_get_named_color.
4990 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4991 * grub-core/video/colors.c (my_isxdigit): ... here.
4992 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4993 Move to ...
4994 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4995 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4996 to ...
4997 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4998
4999 * include/grub/gui.h (grub_gui_color_t): Move to ...
5000 * include/grub/video.h (grub_video_rgba_color_t): ... here.
5001 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
5002 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
5003 * include/grub/gui.h (grub_gui_map_color): Move to ...
5004 * include/grub/video.h (grub_video_map_rgba_color): ... here.
5005 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
5006 to ...
5007 * include/grub/video.h (grub_video_get_named_color): ... here.
5008 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
5009 * include/grub/video.h (grub_video_parse_color): ... here.
5010
5011 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
5012 video/colors.c.
5013 (gfxmenu): Remove gfxmenu/named_colors.c.
5014 (video) [videomodules]: Add video/colors.c.
5015
5016 Add a background_color command.
5017
5018 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
5019 function.
5020 (GRUB_MOD_INIT): Register background_color command.
5021 (GRUB_MOD_FINI): Unregister background_color command.
5022 (redraw_screen_rect): Allow blend/replace of text layer to be
5023 controlled independently from whether there is a background bitmap.
5024 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
5025 changing bitmap.
5026
5027 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 Patch BPB in ntldr and chainloader --bpb.
5030
5031 * grub-core/fs/fat.c: Include grub/fat.h.
5032 (grub_fat_bpb): Moved to ...
5033 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
5034 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
5035 grub/ntfs.h.
5036 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
5037 Moved from here...
5038 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
5039 here.
5040 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
5041 New function.
5042 (grub_chainloader_cmd): Patch BPB if --bpb is given.
5043 (GRUB_MOD_INIT): Show --bpb.
5044 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
5045 * grub-core/normal/main.c (features): New variable.
5046 (GRUB_MOD_INIT): Set feature_* variables.
5047 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
5048 proto.
5049 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
5050
5051 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
5054 for cleanness.
5055
5056 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 FreeDOS direct loading support.
5059
5060 * docs/grub.texi (Supported OS): Add FreeDOS.
5061 * grub-core/Makefile.core.def (freedos): New module.
5062 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
5063 variable.
5064 (grub_relocator16_boot): Handle %ebx.
5065 * grub-core/lib/i386/relocator16.S: Likewise.
5066 * grub-core/loader/i386/pc/freedos.c: New file.
5067
5068 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 Long Linux command line support.
5071
5072 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5073 (maximal_cmdline_size): New variable.
5074 (allocate_pages): Use maximal_cmdline_size.
5075 (grub_cmd_linux): Set and use maximal_cmdline_size.
5076 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5077 (allocate_pages): Use maximal_cmdline_size.
5078 (grub_cmd_linux): Set and use maximal_cmdline_size.
5079 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
5080 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
5081 and cmdline_size.
5082
5083 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5084 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
5085
5086 Improve devmapper support
5087
5088 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
5089 (grub_util_is_lvm): New function.
5090 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
5091 than lvm if not dmraid.
5092 Handle mapped md nodes.
5093 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
5094 (grub_util_device_is_mapped): ... this. Make always available. All users
5095 updated.
5096 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
5097 (convert_system_partition_to_system_disk): Handle lvm, mpath and
5098 dmraid nodes.
5099 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
5100
5101 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
5104
5105 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
5106 * grub-core/modinfo.sh.in: New file.
5107 * grub-core/Makefile.core.def (modinfo.sh): New script.
5108 * util/grub-mknetdir.in: Use modinfo.sh.
5109 * util/grub-mkrescue.in: Likewise.
5110
5111 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5114 Fix potential usage of Elf32 instead of Elf64 when compiling on
5115 32-bit architecture. Add endianness macros while on it.
5116
5117 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 Use mipsel- rather than mips- in directories involving mipsel ports to
5120 allow both endiannesses coexist.
5121
5122 * configure.ac: proparate target_cpu=mipsel rather than resetting to
5123 mips. All conditions adjusted.
5124 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
5125 variable.
5126 * util/grub-install.in: Adjust conditions to take renaming into account.
5127 * util/grub-mkimage.c (image_targets): Likewise. New target
5128 mips-qemu_mips-elf for bigendian mips.
5129
5130 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 Avoid unnecessary copying on MIPS.
5133
5134 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
5135 early if src == dest.
5136 * util/grub-mkimage.c (generate_image): Arange for src == dest if
5137 compression is none.
5138
5139 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 Reduce memory footprint on SGI by putting modules before the kernel
5142 as opposed to after.
5143
5144 * grub-core/Makefile.core.def (kernel): Increase linking address.
5145 (none_decompress): Likewise.
5146 (xz_decompress): Likewise.
5147 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
5148 address.
5149 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
5150 layout change.
5151 (grub_arch_modules_addr): New function.
5152 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
5153 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
5154 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
5155 here.
5156 * grub-core/kern/mips/startup.S (total_size): Rename to ...
5157 (grub_total_modules_size): ... this. Make global.
5158 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
5159 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
5160 New definition.
5161 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
5162 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
5163 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
5164 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
5165 * util/grub-mkimage.c (image_target_desc): New flag
5166 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
5167 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
5168 (generate_image): Handle images with modules before kernel.
5169
5170 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 Prevent potential loss of memory map by overwrite on qemu-mips.
5173
5174 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5175 Save ram size in $s4.
5176 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
5177 All users changed to grub_arch_memsize.
5178 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
5179 Loongson.
5180 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
5181 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
5182 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
5183 external variable.
5184
5185 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5186
5187 * .bzrignore: Remove grub-dumpbios.
5188
5189 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5190
5191 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
5192 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
5193 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
5194 existing options which append).
5195 * docs/grub.texi (Simple configuration): Document new options.
5196 Reported by: Ian Jackson. Fixes Debian bug #617538.
5197
5198 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5199
5200 * util/grub-fstest.c (cmd_cat): New function.
5201 (fstest): Handle CMD_CAT.
5202 (options): Add cat.
5203 (argp_parser): Handle cat.
5204
5205 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5206
5207 * Makefile.util.def (grub-bin2h): Don't install.
5208 * docs/man/grub-bin2h.h2m: Remove.
5209
5210 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
5213 place.
5214
5215 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 Reenable qemu-mips port.
5218
5219 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
5220 Fix small arc bug while on it.
5221 * gentpl.py: Handle qemu_mips.
5222 * grub-core/Makefile.am: Likewise.
5223 * grub-core/Makefile.core.def: Likewise.
5224 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
5225 inappropriate includes.
5226 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
5227 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
5228 * grub-core/kern/main.c (grub_modules_get_end)
5229 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
5230 * grub-core/kern/mips/qemu-mips: Moved to ..
5231 * grub-core/kern/mips/qemu_mips: ... this.
5232 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
5233 (grub_machine_init): Call terminfo_init and serial_init.
5234 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
5235 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5236 New variable.
5237 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
5238 parameter passing.
5239 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
5240 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
5241 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5242 * include/grub/mips/qemu_mips/cmos.h: New file.
5243 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
5244 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
5245 Removed.
5246 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
5247 Use correct mips-style address.
5248 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
5249 (GRUB_TICKS_PER_SECOND): Removed.
5250 (grub_get_rtc): Likewise.
5251 (grub_cpu_idle): Likewise.
5252 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
5253 New definition.
5254 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
5255 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
5256 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
5257 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
5258 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5259 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5260 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
5261 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
5262
5263 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 SGI ARCS port.
5266
5267 * Makefile.util.def (libgrubmods.a): Add dvh.c.
5268 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
5269 platforms.
5270 * configure.ac: New target mips-arc.
5271 * gentpl.py: Likewise.
5272 * grub-core/Makefile.am: Likewise.
5273 * grub-core/Makefile.core.def: Likewise.
5274 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
5275 (none_decompress): Likewise.
5276 (lsdev): New module.
5277 (datetime): Use lib/arc/datetime.c on ARC.
5278 (part_dvh): New module.
5279 * grub-core/commands/arc/lsdev.c: New file.
5280 * grub-core/disk/arc/arcdisk.c: Likewise.
5281 * grub-core/kern/mips/arc/init.c: Likewise.
5282 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
5283 aligned addresses.
5284 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
5285 support.
5286 (grub_arch_dl_relocate_symbols): Likewise.
5287 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
5288 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
5289 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
5290 platforms.
5291 * grub-core/lib/arc/datetime.c: New file.
5292 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
5293 pci.h on non-loongson.
5294 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
5295 (grub_linux_boot): Set unused registers to 0.
5296 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5297 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5298 * grub-core/mmap/mips/uppermem.c: ...here.
5299 * grub-core/partmap/dvh.c: New file.
5300 * grub-core/term/arc/console.c: Likewise.
5301 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5302 (grub_terminfo_set_current): Add terminal "arc".
5303 (grub_terminfo_readkey): Support ARC sequences.
5304 * include/grub/arc/arc.h: New file.
5305 * include/grub/arc/console.h: Likewise.
5306 * include/grub/disk.h (grub_disk_dev_id): Add
5307 GRUB_DISK_DEVICE_ARCDISK_ID.
5308 * include/grub/mips/arc/kernel.h: New file.
5309 * include/grub/mips/arc/memory.h: Likewise.
5310 * include/grub/mips/arc/time.h: Likewise.
5311 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5312 * include/grub/mips/kernel.h (grub_halt): ... here.
5313 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5314 here...
5315 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5316 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5317 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5318 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5319 proto.
5320 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5321 from here ...
5322 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5323 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5324 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5325 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5326 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5327 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5328 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5329 (grub_phys_addr_t): Moved from here ...
5330 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5331 (grub_vtop): Moved from here ...
5332 * include/grub/mips/memory.h (grub_vtop): ... here.
5333 (grub_map_memory): Moved from here ...
5334 * include/grub/mips/memory.h (grub_map_memory): ... here.
5335 (grub_unmap_memory): Moved from here ...
5336 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5337 (grub_machine_mmap_iterate): Moved from here ...
5338 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5339 (grub_mmap_get_lower): Moved from here ...
5340 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5341 (grub_mmap_get_upper): Moved from here ...
5342 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5343 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5344 here ...
5345 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5346 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5347 here ...
5348 * include/grub/mips/time.h (grub_get_rtc): ... here.
5349 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5350 here ...
5351 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5352 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5353 here ...
5354 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5355 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5356 definition.
5357 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5358 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5359 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5360 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5361 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5362 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5363 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5364 (GRUB_MACHINE_LINK_ADDR): Likewise.
5365 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5366 to 6.
5367 * util/grub-install.in: Run dvhtool on ARC.
5368 * util/grub-mkimage.c (image_targets): Add mips-arc.
5369 (generate_image): Handle ECOFF output for mips-arc.
5370
5371 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5374 blocks.
5375
5376 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5379 after enabling port.
5380
5381 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 Skip incorrect USB devices.
5384
5385 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5386 configcnt == 0.
5387 * include/grub/usb.h (grub_usb_err_t): New enum value
5388 GRUB_USB_ERR_BADDEVICE.
5389
5390 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Fuloong video init support.
5393
5394 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5395 well.
5396 (grub_vga_read_arx): New function.
5397 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5398 definition.
5399 (framebuffer): New members io, mmioptr and mmiobase.
5400 (read_sis_cmd): New function.
5401 (write_sis_cmd): Likewise.
5402 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5403 rather than 640x400.
5404 * grub-core/video/sis315_init.c: New file.
5405
5406 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5409 non-loongson.
5410 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5411 to grub_dl_register_symbol.
5412
5413 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 Fix compilation errors.
5416
5417 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5418 potentially unused.
5419 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5420 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5421 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5422 to loongson machines.
5423
5424 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 Several FS mtime support.
5427
5428 * grub-core/fs/affs.c (grub_affs_time): New struct.
5429 (grub_affs_file): New field mtime.
5430 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5431 type. Removed 'size'. New field 'di'. All users updated.
5432 (grub_affs_mount): Simplify checsum checking.
5433 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5434 (grub_affs_dir): Handle mtime.
5435 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5436 (grub_cpio_dir): Likewise.
5437 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5438 (grub_hfs_filerec): New field mtime.
5439 (grub_hfs_dir): Handle mtime.
5440 (grub_hfs_mtime): New function.
5441 (grub_hfs_fs): Register grub_hfs_mtime.
5442 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5443 (grub_iso9660_dir): New field mtime.
5444 (grub_fshelp_node): New field dirent.
5445 (iso9660_to_unixtime): New function.
5446 (iso9660_to_unixtime2): Likewise.
5447 (grub_iso9660_read_symlink): Use node->dirent.
5448 (grub_iso9660_iterate_dir): Likewise.
5449 (grub_iso9660_dir): Set mtime.
5450 (grub_iso9660_mtime): New function.
5451 (grub_iso9660_fs): Register grub_iso9660_mtime.
5452 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5453 (grub_jfs_inode): New fields atime, ctime and mtime.
5454 (grub_jfs_dir): Set mtime.
5455 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5456 * grub-core/fs/ntfs.c (list_file): Set mtime.
5457 (grub_ntfs_dir): Likewise.
5458 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5459 (grub_reiserfs_iterate_dir): Set mtime.
5460 (grub_reiserfs_dir): Likewise.
5461 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5462 (grub_fshelp_node): Likewise.
5463 (grub_sfs_iterate_dir): Set mtime.
5464 (grub_sfs_dir): Likewise.
5465 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5466 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5467 (grub_xfs_inode): New fields atime, mtime, ctime.
5468 (grub_xfs_dir): Set mtime.
5469 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5470 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5471 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5472
5473 Support UDF symlinks.
5474
5475 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5476 (grub_ufs_read_symlink): New function. All users updated.
5477
5478 Check amiga partmap checksum.
5479
5480 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5481 (grub_amiga_partition): Likewise.
5482 (amiga_partition_map_checksum): New function.
5483 (amiga_partition_map_iterate): Check checksum.
5484
5485 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 ROMFS support.
5488
5489 * Makefile.util.def (libgrubmods.a): Add romfs.
5490 * grub-core/Makefile.core.def (romfs): New module.
5491 * grub-core/fs/romfs.c: New file.
5492
5493 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 Squashfs v4 support.
5496
5497 * Makefile.util.def (libgrubmods.a): Add squash4.
5498 * grub-core/Makefile.core.def (squash4): New module.
5499 * grub-core/fs/squash4.c: New file.
5500 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5501 disk_input_start, disk_input.
5502 (get_byte): Handle disk_input.
5503 (grub_zlib_disk_read): New function.
5504 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5505
5506 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5507 2011-05-15 Feiran Zheng <famcool@gmail.com>
5508
5509 * Makefile.util.def (libgrubmods.a): Add minix3.
5510 * grub-core/Makefile.core.def (minix3): New module.
5511 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5512 (GRUB_MINIX_BSIZE): Removed.
5513 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5514 (grub_minix_ino_t): New type.
5515 (grub_minix_le_to_cpu_ino): New macro.
5516 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5517 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5518 (grub_minix_data): New field block_size.
5519 (grub_minix_read_file): Handle 64-bit correctly.
5520 * grub-core/fs/minix3.c: New file.
5521
5522 2011-05-15 Tristan Gingold <gingold@free.fr>
5523 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
5524 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 IA64 support.
5527
5528 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5529 * configure.ac: Add ia64-efi target.
5530 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5531 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5532 * gentpl.py: Add ia64_efi platform.
5533 Rename x86_efi to efi and Add ia64-efi. All users updated.
5534 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5535 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5536 Remove kern/generic/rtc_get_time_ms.c on EFI.
5537 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5538 kern/ia64/dl_helper.c on ia64-efi.
5539 Add kern/emu/cache.c on emu.
5540 (linux): Use on loader/ia64/efi/linux.c on ia64.
5541 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5542 whether symbol is a function.
5543 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5544 (grub_symbol): New field 'isfunc'.
5545 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5546 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5547 (grub_dl_load_segments): Place all sections into the same region.
5548 [__ia64__]: Create trampolines and got.
5549 [GRUB_MACHINE_EMU]: Call mprotect.
5550 (grub_dl_resolve_symbols): Resolve symbol type as well.
5551 [__ia64__]: Create function descriptors.
5552 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5553 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5554 (grub_get_rtc): New function.
5555 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5556 * grub-core/kern/emu/cache.S: Renamed to ...
5557 * grub-core/kern/emu/cache_s.S: ... this.
5558 [__ia64__]: Add a nop.
5559 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5560 [__ia64__]: New function.
5561 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5562 * grub-core/kern/ia64/dl.c: New file.
5563 * grub-core/kern/ia64/dl_helper.c: Likewise.
5564 * grub-core/kern/ia64/efi/init.c: New file.
5565 * grub-core/kern/ia64/efi/startup.S: Likewise.
5566 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5567 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5568 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5569 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5570 * grub-core/loader/ia64/efi/linux.c: New file.
5571 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5572 (GRUB_MOD_DEP): Likewise.
5573 (grub_dl) [__ia64__]: New fields got and tramp.
5574 (grub_dl): New field 'base'.
5575 (grub_dl_register_symbol): New argument isfunc. All users updated.
5576 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5577 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5578 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5579 (grub_ia64_dl_get_tramp_got_size): New proto.
5580 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5581 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5582 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5583 * include/grub/efi/api.h: Skip call wrappers on ia64.
5584 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5585 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5586 * include/grub/elf.h (ELF_ST_INFO): New definition.
5587 * include/grub/ia64/efi/kernel.h: New file.
5588 * include/grub/ia64/efi/memory.h: Likewise.
5589 * include/grub/ia64/efi/time.h: Likewise.
5590 * include/grub/ia64/kernel.h: Likewise.
5591 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5592 * include/grub/ia64/time.h: New file.
5593 * include/grub/ia64/types.h: Likewise.
5594 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5595 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5596 New protos.
5597 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5598 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5599 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5600 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5601 All users updated.
5602 (EFI64_HEADER_SIZE): New definition. All users updated.
5603 (image_targets): Add ia64-efi.
5604 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5605 jumpers_addr. All users updated.
5606 Create function descriptors.
5607 (count_funcs): New function.
5608 (unaligned_uint32): New struct.
5609 (MASK20): New definition.
5610 (MASK19): Likewise.
5611 (MASKF21): Likewise.
5612 (add_value_to_slot_20b): New function.
5613 (add_value_to_slot_21_real): Likewise.
5614 (add_value_to_slot_21): Likewise.
5615 (ia64_kernel_trampoline): New struct.
5616 (nopm): New variable.
5617 (jump): Likewise.
5618 (make_trampoline): New function.
5619 (relocate_addresses): Handle ia64.
5620 (make_reloc_section): Likewise.
5621 (load_image): Likewise.
5622
5623 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5626 warning. Move variables before code while on it.
5627
5628 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 Fuloong support.
5631
5632 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5633 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5634 * grub-core/boot/mips/loongson/fuloong.S: New file.
5635 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5636 Explicitly init CS5536.
5637 [FULOONG]: Don't use serial until CS5536 is available.
5638 Set GPIO based on dumps.
5639 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5640 [FULOONG]: Handle GPIO and memory controller differences.
5641 Parse machine type in $a2.
5642 * grub-core/boot/mips/startup_raw.S: Determine and save the
5643 architecture.
5644 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5645 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5646 init on architecture type.
5647 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5648 SIS315E. Don't init at_keyboard on fuloong.
5649 (grub_halt): Support Fuloong.
5650 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5651 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5652 (loongson_machtypes): New array.
5653 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5654 type.
5655 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5656 config. All users updated. Handle CS5536 serial.
5657 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5658 default port on machine type. Register serial as inactive.
5659 * grub-core/video/sis315pro.c: New file.
5660 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5661 definition.
5662 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5663 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5664 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5665 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5666 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5667 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5668 to ...
5669 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5670 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5671 definition.
5672 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5673 (grub_arch_machine): New extern var.
5674 * include/grub/mips/loongson/serial.h
5675 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5676 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5677 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5678 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5679 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5680 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5681 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5682 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5683 * include/grub/term.h (grub_term_register_input_inactive): New inline
5684 function.
5685 (grub_term_register_output_inactive): Likewise.
5686 * include/grub/video.h (grub_video_driver_id): New value
5687 GRUB_VIDEO_DRIVER_SIS315PRO.
5688 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5689 New field "names". All users updated.
5690 New field value IMAGE_FULOONG_FLASH.
5691 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5692
5693 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5694
5695 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5696 and add some clarification.
5697
5698 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5701 platforms if kernel is compressed.
5702
5703 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5706 unused modules since currently referrence counter isn't reliable and
5707 there isn't much memory to recover there anyway.
5708
5709 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5712 rather than resetting it to allow modules to reference themselves
5713 in init.
5714
5715 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5718 counter on dependencies since grub_dl_unref already handles this.
5719
5720 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5723 on error if not already done.
5724
5725 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 Fix few potential memory misusage.
5728
5729 * grub-core/font/font.c (load_font_index): Don't free char_index to
5730 avoid double free.
5731 (grub_font_load): Zero-fill font at alloc for safety.
5732 Close file on error.
5733 (free_font): Free bmp_idx.
5734
5735 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * docs/grub.texi (Installation): Fix several outdated claims.
5738
5739 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 Handle module_license on windows.
5742
5743 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5744 sections shifted.
5745 (insert_string): Make argument const char * instead of char *.
5746 (write_section_data): Handle long section names.
5747 Handle module_license.
5748
5749 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5752 handle class-free menuentries.
5753 (grub_normal_add_menu_entry): Add a check to be sure.
5754
5755 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5758 PgUp and PgDown.
5759
5760 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * configure.ac: Bump version to 1.99.
5763
5764 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 Give ATA device a bit more time on first try in order to allow disks
5767 to spin up.
5768
5769 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5770 if dev->present is 1. Reset dev->present on failure.
5771 (grub_ata_device_initialize): Set dev->present to 1.
5772 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5773 (grub_ata_device): New member 'present'.
5774
5775 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * util/grub-mkimage.c (generate_image): Update hash.
5778
5779 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 Flush caches on DMA memory.
5782
5783 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5784 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5785 (grub_dma_free): Likewise.
5786 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5787
5788 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5791 to avoid asm treating ld and sd as macros.
5792
5793 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5796 decompressor.
5797
5798 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5801 grub_decompress_core since later would fail if grub_decompress_core
5802 is too far.
5803
5804 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5807 R_MIPS_JALR since it's used by newer compiler.
5808
5809 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5812
5813 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5816 file_path to 0 for surety.
5817 (grub_chainloader_boot): Set exit_data to NULL.
5818 Unset the loader once done.
5819 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5820
5821 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5824 unknown key into a dprintf.
5825
5826 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5829 on first non-existant partition.
5830
5831 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5834 openning fails.
5835 Reported by: Mark Korenberg.
5836
5837 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5840 overflow.
5841
5842 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5845 before closing to ensure that it will be readable by grub-setup.
5846
5847 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5850 (devpath_1): Use MAKE_PIWG_PATH.
5851 (devpath_2): Likewise.
5852 (devpath_3): Likewise.
5853 (devpath_4): Likewise.
5854 (devpath_5): Likewise.
5855 (devpath_6): Likewise.
5856
5857 The appleldr.mod was checked that to be binary identical to previous
5858 version.
5859
5860 2011-05-05 Zach <mikezackles>
5861
5862 Support 2010 Macbooks.
5863
5864 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5865 (devs): Add devpath_6.
5866
5867 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5870 /dev/random. /dev/urandom is good enough for our purposes (salting).
5871
5872 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5875
5876 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5879 hexadecimal.
5880
5881 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5884 and not 0 on failure.
5885
5886 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5887
5888 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5889 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5890 disk; otherwise grub_fs_probe will not fall back to the next
5891 filesystem.
5892 (grub_pxefs_open): Likewise, for consistency.
5893 Reported and tested by: Ezekiel Grave.
5894
5895 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5896
5897 * tests/partmap_test.in: Don't hardcode path to parted.
5898 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5899
5900 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5901
5902 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5903 of `ls' to find out which devices are available.
5904
5905 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5908 than source address for efi mmap buffer.
5909
5910 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5913 wrong action on non-detecting the magic.
5914
5915 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5918 already supplied by another part of the module (fixes compilation on
5919 FreeBSD).
5920
5921 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5924 match the one used by mdadm.
5925
5926 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5927
5928 * po/README: Add instructions for creating po/LINGUAS.
5929
5930 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5931
5932 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5933 #551428.
5934
5935 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5936 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5937 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5938 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5939 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5940 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5941 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5942 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5943 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5944 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5945 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5946 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5947 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5948 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5949 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5950 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5951 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5952 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5953 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5954 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5955 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5956 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5957
5958 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5959
5960 * grub-core/kern/emu/getroot.c
5961 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5962 test that was incorrectly reintroduced in r3214.
5963 Reported by: Ian Dall. Fixes Savannah bug #33133.
5964
5965 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5966
5967 Fix stack pointer handling in 16-bit relocator.
5968
5969 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5970 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5971 Fixes Ubuntu bug #683904.
5972
5973 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * configure.ac: Bump version to 1.99~rc2.
5976
5977 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5980 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5981 * grub-core/lib/x86_64/setjmp.S: Likewise.
5982 * grub-core/lib/mips/setjmp.S: Likewise.
5983 * grub-core/lib/powerpc/setjmp.S: Likewise.
5984 * grub-core/lib/sparc64/setjmp.S: Likewise.
5985
5986 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5989 * grub-core/lib/efi/datetime.c: Likewise.
5990
5991 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5994 New function.
5995 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5996 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5997 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5998
5999 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
6002 bitmap.
6003 (grub_gfxterm_term_init): Likewise.
6004
6005 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Take into account the decorations the computing menu entry width.
6008
6009 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
6010 (grub_gfxmenu_create_box): Register get_border_width.
6011 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
6012 if available.
6013 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
6014 get_border_width.
6015
6016 2011-04-18 Endres Puschner <code@e7p.de>
6017
6018 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
6019 Don't skip first class.
6020
6021 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
6024 chunks.
6025 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
6026
6027 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 Complete 64-bit division support.
6030
6031 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
6032 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
6033 * include/grub/misc.h (grub_divmod64): Rename to ...
6034 (grub_divmod64_full): ... this.
6035 (grub_divmod64): New inline function.
6036
6037 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * util/grub-mkimage.c (generate_image): Add forgotten comma.
6040
6041 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
6044 performing the necessary test.
6045
6046 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
6049 (kfreebsd.elf): Likewise.
6050 (pc-chainloader.elf): Likewise.
6051 (ntldr.elf): Likewise.
6052
6053 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 Identify RAID by its UUID rather than (guessed) name.
6056
6057 * grub-core/disk/raid.c (ascii2hex): New function.
6058 (grub_raid_open): Accept mduuid/%s specification.
6059 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
6060 (get_mdadm_uuid): ... this.
6061 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
6062
6063 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
6066 to negative size.
6067
6068 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
6069
6070 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
6071 btrfs subvolume.
6072 * util/grub.d/20_linux_xen.in: Likewise.
6073
6074 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
6075
6076 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
6077 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
6078
6079 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6080 Build a list of relevant visible mounts using the mnt_id and
6081 parent_mnt_id fields, and then scan that list at the end.
6082
6083 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
6084
6085 * docs/grub.texi (normal): New section.
6086 (normal_exit): New section.
6087 (Embedded configuration): Add reference to normal.
6088 (GRUB only offers a rescue shell): Likewise.
6089 * docs/grub-dev.texi (Error Handling): Fix typo.
6090
6091 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
6092
6093 * NEWS: Drop obsolete entry about probe-only btrfs support.
6094
6095 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
6096
6097 * util/import_gcry.py: Fix typo.
6098
6099 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * NEWS: Add btrfs support.
6102
6103 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6104 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
6105
6106 BtrFS support. Written by me (Vladimir) with important bugfixes and
6107 even more important testing by Colin.
6108
6109 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
6110 * grub-core/Makefile.core.def (btrfs): Add crc.c.
6111 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
6112 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
6113 mem_input_off and mem_input. All users updated to accept in-RAM input.
6114 (gzio_seek): New function.
6115 (test_zlib_header): Likewise.
6116 (grub_gzio_read): Likewise.
6117 (grub_zlib_decompress): Likewise.
6118 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
6119 Accept partial and non-virtual mounts.
6120 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
6121 avoid receiving /dev/dm-X as device.
6122 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
6123 Handle bind and partial mounts.
6124 * grub-core/lib/crc.c: New file.
6125 * include/grub/deflate.h: Likewise.
6126 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
6127 proto.
6128 * include/grub/lib/crc.h: New file.
6129
6130 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 Implement automatic module license checking according to new GNU
6133 guidelines.
6134
6135 * grub-core/kern/dl.c (grub_dl_check_license): New function.
6136 (grub_dl_load_core): Use grub_dl_check_license.
6137 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
6138 (GRUB_MOD_LICENSE): Likewise.
6139 (GRUB_MOD_DUAL_LICENSE): Likewise.
6140 All modules updated.
6141
6142 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
6143
6144 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
6145 reserved_first_sector to 1. btrfs reserves plenty of space for boot
6146 loaders.
6147 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
6148
6149 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
6152
6153 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * util/grub-fstest.c (read_file): Report GRUB error if file opening
6156 failed.
6157
6158 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/kern/file.c (grub_file_open): Don't take into account the
6161 parenthesis in the middle of the filename.
6162
6163 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
6166 rather than trying to put initrd way too high.
6167 Reported by: Ryan Lortie <desrt@desrt.ca>
6168
6169 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
6172 improperly removed string.
6173
6174 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
6177 is_disk.
6178 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
6179 (open_device) Likewise.
6180 (grub_util_biosdisk_close): Likewise.
6181 Reported by: Mark Korenberg.
6182
6183 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
6184
6185 * util/grub-mkconfig_lib.in: Add missing quotes.
6186
6187 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
6188
6189 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
6190 is NULL.
6191
6192 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 Dynamically count the number of lines for the lower banner.
6195
6196 * grub-core/normal/menu_entry.c (per_term_screen): New member
6197 num_entries.
6198 (print_down): Use num_entries.
6199 (update_screen): Likewise.
6200 (grub_menu_entry_run): Set num_entries.
6201 * grub-core/normal/menu_text.c (menu_viewer_data): New member
6202 num_entries.
6203 (grub_print_message_indented): Move real part to ...
6204 (grub_print_message_indented_real): ... here. Additional argument
6205 dry_run.
6206 (draw_border): Additional argument num_entries.
6207 (print_message): Additional argument dry_run.
6208 (print_entries): Receive menu viewer data.
6209 (grub_menu_init_page): New argment num_entries.
6210 (menu_text_set_chosen_entry): Use num_entries.
6211 (grub_menu_try_text): Likewise.
6212 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
6213 All users updated.
6214 (grub_ucs4_count_lines): New function.
6215 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
6216 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
6217 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
6218 (grub_term_border_height): Likewise.
6219 (grub_term_num_entries): Likewise.
6220
6221 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
6224 Remove now unused string.
6225
6226 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
6227
6228 * docs/grub-dev.texi (Finding your way around): Update for 1.99
6229 build system.
6230 (Getting started): GRUB is developed in Bazaar now, not Subversion.
6231
6232 (Comment): Fix typo.
6233 (Getting started): General copy-editing.
6234 (Typical Development Experience): Likewise.
6235 (Error Handling): Likewise.
6236 (Video API): Likewise.
6237
6238 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
6239
6240 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
6241 throughout.
6242
6243 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * util/grub-mkimage.c (main): Handle special naming of yeeloong
6246 directory.
6247
6248 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
6249
6250 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
6251 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
6252 "development".
6253
6254 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
6257 grub_strcpy since the lines aren't necessarily 0-terminated.
6258
6259 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
6262 root on legacy.
6263
6264 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/commands/probe.c (options): Argument to set isn't optional.
6267 (GRUB_MOD_INIT): DEVICE isn't optional.
6268
6269 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
6272 word on new line if it's too long anyway. Fixes a hang.
6273
6274 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
6277 const.
6278 * util/grub-setup.c (main): Reuse md device name if available.
6279 * util/raid.c (grub_util_raid_getmembers): Receive device name and
6280 not GRUB name as argument.
6281 Based on patch by: Florian Wagner <fwagner>.
6282
6283 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6286 Place mbi on low memory for better compatibility.
6287
6288 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
6291
6292 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6293 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
6294
6295 * autogen.sh: Ensure that collate and ctype locale is C.
6296 * conf/Makefile.common: Likewise.
6297
6298 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * grub-core/normal/menu.c: Add missing include.
6301
6302 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
6305
6306 2011-04-08 Martin Zuther <mzuther@mzuther.de>
6307
6308 * util/grub-mkconfig.in: Ignore emacsen backup.
6309
6310 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6313 on open.
6314 (grub_util_biosdisk_close): Likewise.
6315
6316 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6319 const attribute and use grub_isdigit.
6320
6321 2011-04-06 Andrey <dev_null@ukr.net>
6322
6323 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6324 gcc warning.
6325
6326 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6329 useful grub_dprintf's.
6330
6331 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6334
6335 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6338
6339 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 Output errors if theme loading failed.
6342
6343 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6344 grub_gfxterm_fullscreen on error paths to ...
6345 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6346 theme loading error.
6347
6348 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6351 space for older compilers.
6352 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6353
6354 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6357 and report them as not RAID members since they are useless for GRUB.
6358 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6359
6360 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 Increase LVM implementation robustness in order not to crash on
6363 configurations like pvmove. Previously code assumed that in some places
6364 only lvs or only pvs are used whereas it seems that they are used
6365 interchangeably.
6366
6367 * grub-core/disk/lvm.c (read_node): New function.
6368 (read_lv): Use read_node.
6369 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6370 Match volumes only at the end when all lvs are found. Take both
6371 pvs (first) and lvs (second) into account.
6372 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6373 mirror_* into node_*. All users updated.
6374 (grub_lvm_stripe): Merge this ...
6375 (grub_lvm_mirror): ... and this ...
6376 (grub_lvm_node): ... into this. All users updated.
6377
6378 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6381 of function to allow further scanning for LVMs.
6382
6383 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6386 on failed seek as it breaks open fd reusage.
6387
6388 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * util/grub-install.in: Add a recommendation to use --recheck before
6391 reporting bugs.
6392
6393 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6396 are obtained.
6397
6398 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 GRUB developper manual based on existing Internals section and
6401 contributions by the various authors with active copyright assignment.
6402
6403 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6404 * docs/font_char_metrics.png: New file.
6405 * docs/font_char_metrics.txt: Likewise.
6406 * docs/grub-dev.texi: Likewise.
6407 * docs/grub.texi (Internals): Move from here ...
6408 * docs/grub-dev.texi: ... here.
6409
6410 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6411
6412 Store the loopback device as data on loopback grub_disk structures,
6413 rather than the file it points to. This fixes use of freed memory
6414 if an existing loopback device is replaced.
6415
6416 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6417 disk->data, not dev->file.
6418 (grub_loopback_read): Adjust file assignment to match.
6419 Fixes Ubuntu bug #742967.
6420
6421 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6422
6423 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6424 when replacing an existing device.
6425
6426 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6429 memory corruptions.
6430
6431 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6432 unsigned.
6433 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6434 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6435 (grub_jfs_read_inode): Likewise.
6436 (grub_jfs_opendir): Likewise. Remove now useless casts.
6437 (grub_jfs_getent): Likewise.
6438 Make ino a grub_uint32_t rather than int.
6439 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6440 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6441 division and module with bit operations.
6442 (grub_jfs_find_file): Make ino a grub_uint32_t.
6443 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6444
6445 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6446
6447 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6448 warning. (This was in fact always initialised before use, but GCC
6449 wasn't smart enough to prove that.)
6450 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6451
6452 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6455 stack alignment.
6456 (efi_wrap_1): Likewise.
6457 (efi_wrap_2): Likewise.
6458 (efi_wrap_3): Likewise.
6459 (efi_wrap_4): Likewise.
6460 (efi_wrap_5): Likewise.
6461 (efi_wrap_6): Likewise.
6462 (efi_wrap_10): Likewise.
6463 Based on information by: Red Hat/Peter Jones.
6464
6465 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6466
6467 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6468 set-but-not-used variable.
6469
6470 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6471
6472 * docs/grub.texi (Simple configuration): Be more explicit about
6473 GRUB_DEFAULT, and add an example.
6474 Reported by: Leslie Rhorer.
6475
6476 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6477
6478 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6479 shell".
6480
6481 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6482
6483 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6484 * util/grub.d/20_linux_xen.in: Likewise.
6485
6486 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * util/grub.d/10_linux.in: Try alternative config filenames where
6489 we parse config file.
6490 * util/grub.d/20_linux_xen.in: Likewise.
6491
6492 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6493
6494 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6495 * util/grub.d/20_linux_xen.in: Likewise.
6496
6497 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * grub-core/disk/raid.c (insert_array): Add few potentially
6500 useful grub_util_info.
6501 (grub_raid_register): Likewise.
6502
6503 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6506 Preserve partition number in mdadm code path.
6507
6508 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6511 few potentially useful grub_util_info.
6512
6513 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6516
6517 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6518
6519 * docs/grub.texi (default): Use @example rather than nested
6520 itemized lists to avoid breaking gendocs.
6521
6522 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6523
6524 * docs/grub.texi (Future): Update.
6525
6526 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6527
6528 * docs/grub.texi (Environment): New chapter.
6529 (Changes from GRUB Legacy): Link to "Environment block" section for
6530 details of limitations.
6531 (Simple configuration): Likewise. Link to documentation of gfxmode
6532 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6533 respectively.
6534 (Shell-like scripting): Note that normal variables are stored in the
6535 environment.
6536 (gettext): Link to documentation of lang and locale_dir.
6537 (list_env): New section.
6538 (load_env): New section.
6539 (save_env): New section.
6540
6541 (Reporting bugs): Fix typo.
6542
6543 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6546 the example.
6547
6548 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * grub-core/term/at_keyboard.c (set_scancodes)
6551 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6552
6553 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6554
6555 * docs/grub.texi (Menu-specific commands): Remove some semantics
6556 that were true in GRUB Legacy but not in GRUB 2.
6557 (submenu): New section.
6558 (false): New section.
6559 (read): New section.
6560 (true): New section.
6561
6562 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6563
6564 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6565
6566 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6567
6568 * docs/grub.texi (Simple configuration): Explain some of the
6569 current limitations of grub-mkconfig.
6570 Reported by: Leslie Rhorer.
6571
6572 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 Old macs search for boot.efi rather than for bootia32.efi.
6575
6576 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6577 * util/grub-mkrescue.in: Likewise.
6578 Suggested by: Peter Jones.
6579
6580 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6583
6584 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6587 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6588 (grub_lvm_mirror): New struct.
6589 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6590 (grub_lvm_iterate): Iterate only visible volumes.
6591 (grub_lvm_read): Factor out to ..
6592 (read_lv): ... this. Support mirrors.
6593 (grub_lvm_read): New wrapper function.
6594 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6595 stripped or mirrored.
6596
6597 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6600
6601 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6602
6603 * docs/grub.texi (loopback): New section.
6604
6605 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6606
6607 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6608 removed -p option.
6609
6610 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6611
6612 * docs/grub.texi (BIOS installation): New section, partly based on
6613 previous text in other sections.
6614 (Installing GRUB using grub-install): Replace BIOS discussion with a
6615 cross-reference.
6616 (Images): Likewise.
6617
6618 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6621 [HAVE_DIOCGDINFO]: Add safety checks.
6622
6623 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6626 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6627
6628 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6629
6630 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6631 real_sb->size is zero (e.g. RAID-0), get the disk size from
6632 real_sb->data_size instead.
6633 Fixes Ubuntu bug #743136.
6634
6635 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6638 printf clauses for printing size and start.
6639
6640 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6643 Reported and tested by: Timothy Nikkel.
6644
6645 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6648 (dirty_region_add_real): ... this.
6649 (dirty_region_add): Don't discard margin refresh when performing
6650 scheduled repaint.
6651
6652 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * grub-core/lib/relocator.c (allocate_regstart)
6655 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6656 terminals are capabple of malloc-free operation.
6657 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6658 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6659
6660 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6661
6662 * util/grub-setup.c: Copy the partition table zone if floppy support
6663 is disabled, even if no partition table is found.
6664
6665 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6666 during POST if an invalid partition table is contained in the PBR
6667 of the active partition when GRUB is installed to a partition.
6668
6669 2011-03-28 Colin Watson <cjwatson@debian.org>
6670
6671 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6672 comment.
6673
6674 2011-03-28 Colin Watson <cjwatson@debian.org>
6675
6676 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6677 to be specific about what kind of RAID device we're scanning for.
6678
6679 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6680
6681 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6682 return freed string.
6683
6684 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6687
6688 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 Use libgeom on FreeBSD to detect partitions.
6691
6692 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6693 (grub-mkrelpath): Likewise.
6694 (grub-script-check): Likewise.
6695 (grub-editenv): Likewise.
6696 (grub-mkpasswd-pbkdf2): Likewise.
6697 (grub-fstest): Likewise.
6698 (grub-mkfont): Likewise.
6699 (grub-mkdevicemap): Likewise.
6700 (grub-probe): Likewise.
6701 (grub-setup): Likewise.
6702 (grub-ofpathname): Likewise.
6703 (grub-mklayout): Likewise.
6704 (example_unit_test): Likewise.
6705 (grub-menulst2cfg): Likewise.
6706 * grub-core/Makefile.core.def (grub-emu): Likewise.
6707 (grub-emu-lite): Likewise.
6708 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6709 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6710 define HAVE_DIOCGDINFO.
6711 (follow_geom_up) [FreeBSD]: New function.
6712 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6713 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6714 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6715 unconditionally of HAVE_DIOCGDINFO.
6716
6717 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 Fix FreeBSD compilation problem.
6720
6721 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6722 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6723
6724 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
6725
6726 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6727 Switch back to page zero before loading a kernel, since some kernel
6728 drivers expect that.
6729 Thanks to: Felix Kuehling.
6730
6731 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6734 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6735 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6736
6737 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6740 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6741
6742 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6745 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6746 malloc is disabled.
6747
6748 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6751 for modules headers when counting the needed allocation size.
6752
6753 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6756 if no ASCII character is found to prevent crash.
6757
6758 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6759
6760 * grub-core/video/bitmap.c (match_extension): Ignore case.
6761
6762 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6765
6766 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * grub-core/script/parser.y: Declare "time" as valid argument.
6769
6770 2011-03-23 Peter Jones <pjones@redhat.com>
6771
6772 Fix incorrect assert failure reporting.
6773
6774 * grub-core/tests/example_functional_test.c (example_test): Add
6775 a failure comment.
6776 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6777 (failure_start): ...this. Check that malloc succeeded.
6778 Don't call xvasprintf. Return failure struct.
6779 (failure_append_vtext): New function.
6780 (failure_append_text): Likewise.
6781 (add_failure): Likewise.
6782 (grub_test_assert_helper): Likewise.
6783 * include/grub/test.h (grub_test_assert_helper): New declaration.
6784 (grub_test_assert): Macro rewritten.
6785
6786 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6789
6790 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6793
6794 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6797 into GRUB-style one.
6798
6799 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6802 error and not grub_errno.
6803 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6804
6805 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6808 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6809
6810 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/efiemu/i386/pc/cfgtables.c
6813 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6814 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6815 (grub_xnu_unlock): Likewise.
6816 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6817
6818 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6821 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6822 * grub-core/commands/hashsum.c (aliases): Likewise.
6823 * grub-core/commands/setpci.c (pci_registers): Likewise.
6824 * grub-core/disk/usbms.c (attach_hook): Likewise.
6825 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6826 (zio_checksum_table): Likewise.
6827 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6828 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6829 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6830 * grub-core/lib/relocator.c (leftovers): Likewise.
6831 (extra_blocks): Likewise.
6832 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6833 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6834 (modules_last): Likewise.
6835 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6836 (devices): Likewise.
6837 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6838 (modules_last): Likewise.
6839 * grub-core/normal/auth.c (users): Likewise.
6840 * grub-core/normal/context.c (initial_menu): Likewise.
6841 (current_menu): Likewise.
6842 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6843 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6844 (grub_serial_terminfo_input_template): Likewise.
6845 (grub_serial_terminfo_output_template): Likewise.
6846 (grub_serial_terminfo_input): Likewise.
6847 (grub_serial_terminfo_output): Likewise.
6848 (registered): Likewise.
6849 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6850
6851 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6854 grub_video_mode_type_t.
6855 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6856 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6857 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6858
6859 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * util/grub-install.in: Correct the x86-64 name as x86_64.
6862
6863 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6864
6865 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6866 initial chunk read from the kernel always includes GRUB's multiboot
6867 header, which is now outside the first sector.
6868
6869 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6870
6871 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6872 cached mmap_size, so that this works correctly when called multiple
6873 times.
6874 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6875
6876 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6877
6878 * docs/grub.texi (Simple configuration): Tidy up formatting.
6879
6880 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6881
6882 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6883 Set-but-not-used variable removed.
6884
6885 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 Workaround yet another IEEE1275 bug.
6888
6889 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6890 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6891 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6892 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6893 is set.
6894 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6895 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6896
6897 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6900 error.
6901
6902 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6903
6904 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6905 empty, since in that case we can only generate either nothing or a
6906 syntactically invalid configuration file.
6907 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6908
6909 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6910
6911 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6912 (Making a GRUB bootable CD-ROM): Likewise.
6913 (Invoking grub-mkrescue): New section.
6914 Reported by: Yann Dirson. Fixes Debian bug #612585.
6915
6916 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6917
6918 * util/grub-install.in: Remove unnecessary brackets from tr
6919 arguments.
6920 * util/grub.d/10_hurd.in: Likewise.
6921 * util/grub.d/10_kfreebsd.in: Likewise.
6922 * util/grub.d/10_linux.in: Likewise.
6923 * util/grub.d/20_linux_xen.in: Likewise.
6924 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6925
6926 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6927
6928 * include/grub/file.h (not_easly_seekable): Rename to ...
6929 (not_easily_seekable): ... this. Update all users.
6930
6931 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6932
6933 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6934 grub-mkrescue.
6935
6936 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * util/grub-mkimage.c (generate_image): Refuse to create the images
6939 bigger than the actual flash (512K) in Loongson machines. 512K is also
6940 the biggest chip supported by them.
6941
6942 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6945
6946 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6947
6948 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6949 super_offset field.
6950
6951 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * util/grub-install.in: Ignore install device on platforms
6954 where it doesn't make sense. Always use UUIDs except on pc, efi and
6955 sparc64.
6956 Reported by: Daniel Kahn Gillmor.
6957
6958 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6961
6962 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6965 (iterate_real): Don't rely on partition being non-NULL.
6966
6967 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6970 supported platforms. Put a compile time assert for this rather than
6971 generate a warning with 32-bit shift.
6972
6973 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6976 logical expression more readable.
6977
6978 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6981 even if some elements have a name.
6982 Reported by: Alexander GQ Gerasiov.
6983
6984 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6985
6986 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6987 path unreadable if `grub-probe -t abstraction' fails, for example if
6988 memberlist fails on an LVM volume group.
6989 Reported by: Darius Jahandarie.
6990
6991 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6992
6993 * docs/grub.texi (Simple configuration): Document
6994 GRUB_PRELOAD_MODULES.
6995
6996 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6997
6998 * .bzrignore: Remove nonexistent grub-pbkdf2.
6999
7000 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * configure.ac: Bump version to 1.99~rc1.
7003
7004 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
7007 for safety.
7008
7009 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
7012 module.
7013
7014 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
7017
7018 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
7021 diskdevid.
7022
7023 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 Fix compilation on cygwin.
7026
7027 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
7028 -R .drectve on cygwin.
7029 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
7030 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
7031 (COND_CYGWIN): New condition.
7032 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
7033 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
7034 not @TARGET_OBJ2ELF@.
7035 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
7036 type to determine whether aux is to be used.
7037
7038 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
7041 realpath'ed device string.
7042 Handle floppy (somewhat).
7043 Issue error in unknown case rather than garbage.
7044 Reported by: Axel Beckert.
7045
7046 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * util/grub.d/00_header.in (load_video): Handle the case when no video
7049 drivers available.
7050 Thanks to: Axel Beckert.
7051
7052 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
7055 variable. Fixes problem on big endian platforms.
7056
7057 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
7060 It doesn't work well there.
7061
7062 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
7065 warning.
7066 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
7067 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
7068 counter.
7069
7070 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 Use alias->path rather than buggy "canon".
7073
7074 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
7075 (ofdisk_hash_add): New argument curcan. All users updated.
7076
7077 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
7078
7079 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
7080
7081 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
7084 loadmask before doing any calculations. Use correct type for offset.
7085 (grub_linux_load64): Likewise.
7086
7087 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
7088
7089 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
7090 with NULL.
7091 (console_grub_equivalences_unshift): Likewise.
7092 Reported by: Daniel Dehennin.
7093
7094 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
7097 (set_env_limn_ro): Likewise.
7098 (GRUB_MOD_INIT): Likewise.
7099 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
7100 ARRAY_SIZE while on it.
7101 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
7102 * grub-core/normal/context.c (grub_env_export): Move from here ...
7103 * grub-core/kern/env.c (grub_env_export): ... here.
7104 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
7105 prefix.
7106 * grub-core/kern/main.c (grub_main): Export root and prefix.
7107 * include/grub/env.h (grub_env_export): Export.
7108 Reported by: Seth Goldberg.
7109
7110 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7113 Take into account space used by ELF sections and multiboot palette.
7114 Reported by: Grégoire Sutre.
7115
7116 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * BUGS: New file.
7119
7120 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 Pass more appropriate video id to Linux.
7123
7124 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
7125 grub_video_get_driver_id and variable gfxpayloadforcelfb to
7126 fill have_vga.
7127 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
7128 shift params->lfb_size.
7129 * include/grub/i386/linux.h: Make an enume out of have_vga values.
7130
7131 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * util/grub-menulst2cfg.c: Add missing include of misc.h.
7134
7135 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
7138 separator and pass bootpath/devid even if only one of them is available.
7139 Reported by: Seth Goldberg.
7140
7141 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
7144 implementations bug on them.
7145
7146 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
7147 memory.
7148 (filter_memory_map): Likewise.
7149
7150 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
7153 Reported by: nebuchadnezzar.
7154
7155 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
7158 Reported by: nebuchadnezzar.
7159
7160 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 Submenu default support.
7163
7164 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
7165 auto_boot. All users updated.
7166 Declared static.
7167 Handle chosen and default with submenus.
7168 (grub_menu_execute_with_fallback): Declared static.
7169 Don't notify failure if autobooted. Upper level does it.
7170 (menuentry_eq): New function.
7171 (get_entry_number): Use menuentry_eq.
7172 (show_menu): New parameter "autobooted". All users updated.
7173 (grub_show_menu): Likewise.
7174 * include/grub/normal.h (grub_show_menu): Likewise.
7175 * include/grub/menu.h (grub_menu_execute_entry): Removed.
7176 (grub_menu_execute_with_fallback): Likewise.
7177
7178 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * util/grub-mklayout.c (usage): Update help text.
7181
7182 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
7185
7186 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * util/grub-menulst2cfg.c (main): Trim the line.
7189
7190 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
7193 (grub_machine_init): Don't check amount of low memory as reportedly
7194 INT 12h can be broken and if low memory is too low we wouldn't have
7195 gotten into grub_machine_init anyway.
7196
7197 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
7200 (grub_machine_mmap_iterate): Take low memory into account
7201
7202 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
7205 badfs.
7206 Reported by: TiCPU.
7207
7208 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
7211 members errors.
7212
7213 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7214
7215 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
7216 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
7217
7218 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7219
7220 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
7221 openbsd and netbsd types being in part_bsd module.
7222
7223 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
7226 (_FILE_OFFSET_BITS): Likewise.
7227 Reported by: Seth Goldberg.
7228
7229 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7230
7231 * configure.ac: Check for libdevmapper header.
7232
7233 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
7236 avoid aliasing.
7237 (fzap_lookup): Likewise.
7238 (dnode_get): Likewise.
7239 (make_mdn): Likewise.
7240 (zfs_mount): Likewise.
7241 (fzap_iterate): Use temporary pointer to avoid aliasing.
7242 (grub_zfs_read): Likewise.
7243 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
7244 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
7245 pointers to avoid aliasing.
7246 (grub_cmd_xnu_kernel64): Likewise.
7247 (grub_xnu_load_driver): Likewise.
7248
7249 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
7252 aliasing warning.
7253 (grub_cmd_terminal_output): Likewise.
7254 Reported and tested by: Grégoire Sutre.
7255
7256 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
7259 warning.
7260 Reported and tested by: Grégoire Sutre.
7261
7262 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * configure.ac: Do CPU substitution even if it's specified explicitly.
7265 Reported and tested by: Alain Greppin.
7266
7267 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
7270 Reported and tested by: Alain Greppin.
7271
7272 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 Satisfy some bison versions need for inttypes.h.
7275
7276 * grub-core/lib/posix_wrap/inttypes.h: New file.
7277 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
7278 (int16_t): Likewise.
7279 (int32_t): Likewise.
7280 (int64_t): Likewise.
7281 Reported and tested by: Alain Greppin.
7282
7283 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
7286 Silence spurious warning.
7287 Reported and tested by: Alain Greppin.
7288
7289 2011-01-07 Szymon Janc <szymon@janc.net.pl>
7290
7291 * docs/grub.texi (Support automatic decompression): Update with xz
7292 decompression support.
7293
7294 2011-01-07 Szymon Janc <szymon@janc.net.pl>
7295
7296 Improve loaders' kernel command line handling.
7297
7298 * grub-core/lib/cmdline.c: New file.
7299 * include/grub/lib/cmdline.h: Likewise.
7300 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7301 grub_create_loader_cmdline to create kernel command line.
7302 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7303 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7304 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7305 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7306 (linux): Add lib/cmdline.c on common.
7307
7308 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7311 inopos might be unaligned.
7312
7313 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7316 endian transformations.
7317 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7318 Based on report by: Doug Nazar.
7319
7320 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
7321
7322 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7323 array->members[i].start_sector.
7324 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7325
7326 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7329 Reported and tested by: Grégoire Sutre.
7330
7331 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
7332
7333 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7334 avoid causing test failures by clearing the screen.
7335
7336 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
7337
7338 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7339 Fix prefix check to handle the case where dir ends with a slash
7340 (most significantly, "/" itself).
7341 Reported by: Michael Vogt.
7342
7343 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 Run terminfo_cls on initing terminfo output to clear the screen and
7346 move the cursor to (0,0).
7347
7348 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7349 Call grub_terminfo_output_init.
7350 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7351 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7352 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7353
7354 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7357 only when needed.
7358
7359 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7362 CTRL.
7363
7364 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 The E820 type 5 is BADRAM, not EXEC_CODE.
7367
7368 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7369 (GRUB_E820_BADRAM): New define.
7370 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7371 into reserved. Propagate BADRAM.
7372 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7373 (GRUB_E820_BADRAM): New define.
7374
7375 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7378 Ignore the memory post-4G.
7379 (grub_relocator_firmware_alloc_region): Additional debug statement.
7380
7381 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7384 names.
7385 Reported by: David Pravec.
7386
7387 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7390 BIOSes.
7391
7392 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7395 Prevent overflow.
7396 (grub_reed_solomon_recover): Likewise.
7397
7398 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7401
7402 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7405 variable.
7406
7407 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
7408
7409 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7410 descriptions of extract_legacy_entries_source and
7411 extract_legacy_entries_configfile.
7412 Reported by: Seung Soo, Ha.
7413
7414 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
7415
7416 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7417 on devices that do not implement function 0.
7418
7419 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7420
7421 * grub-core/fs/hfsplus.c: Make parent unsigned.
7422 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7423 overflows.
7424 (grub_hfsplus_cmp_extkey): Likewise
7425
7426 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * util/grub-install.in: Correctly use bootloader_id and not
7429 GRUB_DISTRIBUTOR on efibootmgr line.
7430
7431 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7434
7435 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
7436
7437 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7438 Xen and reorder menu item wording to make it clearer that this entry
7439 will launch Xen. Print separate messages when loading Xen and
7440 Linux.
7441
7442 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7445 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7446 loop in case of incorrect amiga partmap.
7447
7448 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7451 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7452 Reported by:EHeM.
7453
7454 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7457 spurious warning.
7458 Reported by: crocket
7459
7460 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7463 Preload EFIemu.
7464 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7465
7466 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7469 is loaded
7470 (grub_cmd_xnu_kextdir): Likewise.
7471 (grub_cmd_xnu_splash): Likewise.
7472
7473 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 Avoid using Reed-Solomon with 0 redundancy.
7476
7477 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7478 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7479 or 0 redundancy.
7480 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7481 (grub_reed_solomon_recover): Likewise.
7482
7483 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 Don't use disk subsystem in freebsd_boot.
7486
7487 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7488 (freebsd_biosdev): Likewise.
7489 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7490 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7491
7492 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 Handling of files of unknown size is currently limited. They can't be
7495 used e.g. for initrd or modules. Moreover gzip handling of not
7496 easily seekable files is buggy. Disable unknown file size for now. May
7497 be inefficient but works.
7498
7499 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7500 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7501
7502 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7503
7504 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7505 floppy probe.
7506
7507 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7508
7509 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7510
7511 2010-12-25 Shea Levy <shlevy>
7512
7513 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7514
7515 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7518 Windows Server 2008.
7519 Reported by: Devin Giddings.
7520
7521 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7524 writing an error message because of async power management.
7525 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7526 (grub_reboot): Likewise.
7527
7528 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7529
7530 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7531 keep unit tests from failing when they shouldn't.
7532
7533 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7534
7535 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7536 previous patch increased the size of the RS code by 20 bytes (at
7537 least with gcc-4.4), so increase this by 20 bytes to match.
7538 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7539
7540 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7541
7542 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7543 scratch area. Make sure to initialise chosen in standalone mode as
7544 well as non-standalone.
7545 Reported by: Robert Hooker and Andy Whitcroft.
7546 Tested by: Andy Whitcroft.
7547
7548 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7549
7550 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7551 constructing a new unescaped string and passing it to grub_xputs in
7552 one go, rather than passing characters to grub_printf one at a time.
7553
7554 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7555
7556 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7557 initialising utf16.
7558
7559 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7560
7561 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7562 comment. Add an extra layer of quotation, requiring the output of
7563 this function to be used in a printf format string.
7564 (gettext_printf): New function.
7565 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7566 Extract translatable strings from here-documents and use a temporary
7567 variable instead, so that xgettext can find them.
7568 * util/grub.d/10_kfreebsd.in: Likewise.
7569 * util/grub.d/10_linux.in: Likewise.
7570 * util/grub.d/20_linux_xen.in: Likewise.
7571
7572 * po/grub.d.sed: New file.
7573 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7574 arguments. Set c-format flags on all strings extracted from
7575 util/grub.d/ (xgettext refuses to include these itself for strings
7576 it extracted from a shell file, but these really are c-format).
7577
7578 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7581 Avoid next pointing to nowhere.
7582
7583 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7586 rather than assuming than rootblock is exactly in the middle.
7587 (grub_affs_label): Likewise.
7588
7589 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7592 reserved_first_sector to 0.
7593 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7594 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7595 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7596
7597 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 Fix handling of UTF-16 UDF labels.
7600
7601 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7602 (read_string): .. here.
7603 (grub_udf_label): Use read_string.
7604
7605 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7606
7607 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7608 editor under argument scope.
7609 Reported by: Jordan Uggla
7610
7611 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7614
7615 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
7616
7617 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7618 line, and other keys scroll an entire page (previous handling was
7619 for \r and \n to scroll a page and other keys to scroll two lines).
7620
7621 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7624 Set ptrdest to correct get_physical_target_address rather than
7625 incorrect get_virtual_current_address.
7626
7627 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7628
7629 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7630 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7631
7632 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7633
7634 * .bzrignore: Ignore grub-core/rs_decoder.S.
7635
7636 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7637
7638 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7639 .mo/.mo.gz opening sequence to ...
7640 (grub_mofile_open_lang): ... here.
7641 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7642 * util/grub.d/00_header.in (grub_lang): Include country part of
7643 locale.
7644 Reported by: Mario Limonciello.
7645
7646 2010-12-09 Robert Millan <rmh@gnu.org>
7647
7648 * NEWS: Document addition of ZFS support.
7649
7650 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
7651
7652 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7653 rather than `/ 2', as the latter requires -Wa,--divide which would
7654 require bumping our minimum binutils version.
7655
7656 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7657
7658 * util/grub-script-check.c (main): Print script line number on
7659 error.
7660
7661 2010-12-01 Robert Millan <rmh@gnu.org>
7662
7663 * grub-core/fs/zfs/zfs.c: New file.
7664 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7665 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7666 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7667 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7668
7669 * include/grub/zfs/dmu.h: Likewise.
7670 * include/grub/zfs/dmu_objset.h: Likewise.
7671 * include/grub/zfs/dnode.h: Likewise.
7672 * include/grub/zfs/dsl_dataset.h: Likewise.
7673 * include/grub/zfs/dsl_dir.h: Likewise.
7674 * include/grub/zfs/sa_impl.h: Likewise.
7675 * include/grub/zfs/spa.h: Likewise.
7676 * include/grub/zfs/uberblock_impl.h: Likewise.
7677 * include/grub/zfs/vdev_impl.h: Likewise.
7678 * include/grub/zfs/zap_impl.h: Likewise.
7679 * include/grub/zfs/zap_leaf.h: Likewise.
7680 * include/grub/zfs/zfs.h: Likewise.
7681 * include/grub/zfs/zfs_acl.h: Likewise.
7682 * include/grub/zfs/zfs_znode.h: Likewise.
7683 * include/grub/zfs/zil.h: Likewise.
7684 * include/grub/zfs/zio.h: Likewise.
7685 * include/grub/zfs/zio_checksum.h: Likewise.
7686
7687 * Makefile.util.def: Build ZFS into libgrubmods.
7688 * grub-core/Makefile.core.def: Build zfs.mod.
7689
7690 2010-11-30 Szymon Janc <szymon@janc.net.pl>
7691
7692 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7693 variable.
7694 * grub-core/commands/wildcard.c (match_files): Likewise.
7695
7696 2010-11-30 Robert Millan <rmh@gnu.org>
7697
7698 * grub-core/loader/i386/bsd.c
7699 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7700 whether kernel is loaded using grub_loader_is_loaded(), rather
7701 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7702 certain error conditions.
7703
7704 2010-11-30 Robert Millan <rmh@gnu.org>
7705
7706 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7707 (grub_cmd_echo): Call grub_refresh() after printing a message.
7708
7709 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 Avoid using tricks for initialising endian variables.
7712
7713 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7714 Make const.
7715 (GRUB_MOD_INIT): Don't byte-swap.
7716 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7717 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7718 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7719 (grub_swap_bytes32_compile_time): Likewise.
7720 (grub_cpu_to_le32_compile_time): Likewise.
7721 (grub_cpu_to_le16_compile_time): Likewise.
7722
7723 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * util/grub-setup.c (setup): Stop recommending --force. People who
7726 understand the dangers of blocklists are able to find this option
7727 anyway and the ones who don't shouldn't use it anyway.
7728
7729 2010-11-26 Robert Millan <rmh@gnu.org>
7730
7731 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7732 Update all users.
7733
7734 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
7735
7736 Fix LVM-on-RAID probing.
7737
7738 * util/grub-probe.c (probe): Remember which disk was detected as
7739 RAID (perhaps an LVM physical volume). Use that disk's raidname
7740 rather than that of the top-level disk.
7741
7742 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7743
7744 Fix cmdline argument quotes for setparams command of menuentry
7745 definitions.
7746
7747 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7748 quotes for arguments.
7749 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7750 grub_strchrsub function instead.
7751
7752 * include/grub/misc.h (grub_strchrsub): New function.
7753
7754 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7755
7756 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7757 effort by skipping "." and ".." entries up-front.
7758 Suggested by: Michael Lazarev.
7759
7760 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7761
7762 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7763 ldflags to ldadd, to fix link line ordering.
7764 (none_decompress): Likewise.
7765
7766 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7767
7768 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7769 platforms.
7770 (grub-emu-lite): Remove kern/emu/cache.S.
7771
7772 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7773
7774 * util/deviceiter.c (compare_devices): If the by-id link for a
7775 device couldn't be resolved, fall back to sorting by the by-id link
7776 rather than segfaulting.
7777 Reported and tested by: Daniel Mierswa.
7778
7779 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7780
7781 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7782 ldflags, to fix link line ordering.
7783
7784 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7785
7786 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7787 linkers are picky about this.
7788
7789 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7790
7791 * grub-core/Makefile.am (command.lst): Adjust sed expression
7792 ordering so that extended and priority commands aren't treated as
7793 ordinary commands.
7794
7795 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7796
7797 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7798 Remove byte-swapping function calls, which are not valid in
7799 structure initialisers.
7800 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7801 non-const.
7802 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7803 grub_gpt_partition_type_bios_boot.
7804
7805 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7806
7807 Fix test program build on GNU/kFreeBSD.
7808
7809 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7810 $(LIBNVPAIR)' library dependencies.
7811
7812 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7813
7814 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7815
7816 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7817
7818 * util/grub-install.in: Remove excessive quoting that broke
7819 installations to RAID devices.
7820
7821 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7824 bootloader version instead of 0.
7825
7826 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7829 warning.
7830
7831 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7834 retrieve the metadat sector if size isn't known.
7835 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7836
7837 2010-11-18 Robert Millan <rmh@gnu.org>
7838
7839 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7840 with grub_memcmp().
7841
7842 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7845 arrow.
7846 Reported by: Jordan Uggla.
7847
7848 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Make better UTF compliant.
7851
7852 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7853 sequences as incorrect.
7854 (grub_is_valid_utf8): Likewise.
7855 (grub_utf8_to_ucs4): Likewise.
7856 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7857 (grub_ucs4_to_utf8_alloc): Likewise.
7858 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7859
7860 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 Make legacy_source behave like source.
7863
7864 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7865 grub_show_menu.
7866 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7867
7868 2010-11-16 Colin Watson <cjwatson@debian.org>
7869
7870 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7871 (-Wunused implies -Wunused-parameter, but not vice versa).
7872
7873 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7874
7875 * configure.ac: Make error messages less confusing by testing for
7876 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7877 accepted, but produces a diagnostic if something else is wrong).
7878
7879 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7882 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7883 (now unused).
7884 (grub_keyboard_controller_init)
7885 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7886 read the initial state since controller isn't inited yet.
7887
7888 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7891 allocate_regbeg may need to create new chunk header.
7892
7893 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 Fix quoting in legacy parser.
7896
7897 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7898 single quotes.
7899 (grub_legacy_parse): Likewise.
7900 Reported by: Jordan Uggla.
7901 Tested by: Jordan Uggla.
7902
7903 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 Don't add -lgcc on i386 and x86_64.
7906
7907 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7908 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7909 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7910
7911 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * configure.ac: Add -Wno-trampolines when supported.
7914
7915 2010-11-14 Modestas Vainius <modax@debian.org>
7916
7917 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7918 fakeraid.
7919
7920 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7921
7922 Add generic logical block size support for UDF.
7923
7924 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7925 (GRUB_UDF_BLKSZ): Removed.
7926 (struct grub_udf_data): New field "lbshift" to hold the logical block
7927 size of the file system in log2 format. All users updated.
7928 (sblocklist): Change type to unsigned.
7929 (grub_udf_mount): Change type of "sblklist" to unsigned.
7930 Move AVDP search before VRS recognition, because the latter requires
7931 knowledge of the logical block size, which is detected during the
7932 former.
7933 Detect and validate logical block size during AVDP search, adding
7934 support for block sizes 512, 1024 and 4096.
7935 Make VRS recognition independent of block size.
7936
7937 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7938
7939 Properly handle deleted files on UDF.
7940
7941 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7942 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7943 set.
7944
7945 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7946
7947 Support reading files larger than 2 GiB.
7948
7949 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7950 "offset" to grub_off_t.
7951 (grub_udf_read_file): Likewise for parameter "pos".
7952
7953 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7956 unavailable.
7957 (Simple configuration): Refer to Changes from GRUB Legacy about
7958 save_env availability.
7959
7960 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * util/grub-install.in: Ignore empty partition table detection
7963 instead of trying to include part_ module.
7964
7965 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7968 LVM on RAID support.
7969
7970 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 Properly define WORDS_BIGENDIAN in wrapped environments.
7973
7974 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7975 definition.
7976 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7977
7978 Reported by: Manoel Rebelo Abranches.
7979 Tested by: Manoel Rebelo Abranches.
7980
7981 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * util/grub-mkconfig.in: Fix quoting.
7984
7985 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 Support big ext2 files.
7988
7989 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7990 (grub_ext2_read_block): Support triple indirect blocks.
7991 (grub_ext2_read_file): Use 64-bit types and read size_high.
7992 (grub_ext2_open): Read size_high.
7993 Reported by: Ximin Luo.
7994 Tested by: Manoel Rebelo Abranches.
7995
7996 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * util/grub-install.in: Handle filenames containing spaces.
7999 Reported by: Jordan Uggla.
8000 Tested by: Jordan Uggla.
8001
8002 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * util/grub-mkconfig.in (grub_script_check): New variable.
8005 Use grub_script_check instead of grub-script-check.
8006 Reported by: Barry Jackson.
8007
8008 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * docs/grub.texi (menu): Correct the order.
8011 Reported by: D. Hugh Redelmeier.
8012
8013 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
8016 jump.
8017
8018 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8019
8020 * include/grub/elfload.h (grub_elf32_size): New parameter.
8021 All users updated.
8022 Return maximum segments alignment.
8023 (grub_elf64_size): Likewise.
8024 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
8025 Return maximum segments alignment.
8026 (grub_elf64_size): Likewise.
8027 * grub-core/loader/powerpc/ieee1275/linux.c:
8028 (grub_linux_claimmap_iterate): New function. Uses the
8029 "available" property in the "memory" node for memory allocation
8030 for kernel in the PowerPC loader.
8031 (grub_linux_load32): Correctly find linux entry point offset.
8032 (grub_linux_load64): Likewise.
8033
8034 2010-11-07 Robert Millan <rmh@gnu.org>
8035
8036 On mips-yeeloong, build with -march=loongson2f when this flag is
8037 available (GCC >= 4.4).
8038 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
8039 `-march=mips3'.
8040 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
8041 or otherwise add -march=mips3.
8042
8043 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
8044
8045 Suppress shell expansion on echo '*' and echo "*" like cases.
8046 Reported by: Jordan Uggla.
8047
8048 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8049 string arguments before shell expansion.
8050 * tests/grub_cmd_echo.in: New testcases.
8051
8052 2010-11-07 Robert Millan <rmh@gnu.org>
8053
8054 * conf/mips-qemu-mips.rmk: Remove stale file from previous
8055 transition.
8056
8057 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * grub-core/kern/emu/hostdisk.c
8060 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
8061
8062 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8063
8064 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
8065 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
8066 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
8067
8068 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
8071
8072 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * util/grub-install.in: Replace useless recomendation to pass
8075 --modules with a recomendation to report a bug.
8076
8077 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 Properly register serial terminfo.
8080 Reported by: Jordan Uggla
8081
8082 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
8083 const.
8084 (grub_serial_terminfo_output_template): Likewise.
8085 (grub_cmd_serial): Register "serial" with terminfo.
8086 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
8087 grub_serial_terminfo_output.
8088
8089 2010-11-05 Robert Millan <rmh@gnu.org>
8090
8091 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
8092 needed).
8093
8094 2010-11-05 Robert Millan <rmh@gnu.org>
8095
8096 On Yeeloong, pass machine type information to Linux.
8097
8098 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
8099 (LOONGSON_MACHTYPE): New macro, set to
8100 "machtype=lemote-yeeloong-2f-8.9inches".
8101 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
8102 additional argument to Linux.
8103
8104 2010-11-04 Robert Millan <rmh@gnu.org>
8105
8106 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
8107 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
8108 (its SATA disks are detected as slaveless IDE master drives on
8109 kFreeBSD).
8110 Reported by Carsten Aulbert.
8111
8112 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
8113
8114 * util/bin2h.c (main): Fix spelling error in generated output.
8115
8116 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
8117
8118 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
8119
8120 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
8123 vga= option is supplied.
8124
8125 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
8128 * util/grub.d/10_kfreebsd.in: Likewise.
8129 * util/grub.d/10_linux.in: Likewise.
8130 * util/grub.d/20_linux_xen.in: Likewise.
8131
8132 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
8135 argument as an argument to no-argument option.
8136
8137 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * util/grub.d/10_linux.in: Add missing load_video with explicit
8140 GRUB_GFXPAYLOAD_LINUX.
8141
8142 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
8145
8146 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
8149 elements with invlid index.
8150 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8151 * grub-core/disk/raid.c (insert_array): Automatically reallocate
8152 members.
8153 * include/grub/raid.h (grub_raid_member): New struct.
8154 (grub_raid_array): Transform devices and start_sector into usage of
8155 grub_raid_member. All users updated
8156 (allocated_devs): New member.
8157
8158 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
8161 is modified
8162
8163 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
8164
8165 NetBSD build fix for getline function conflict from gnulib.
8166
8167 * Makefile.util.def (libgrubkern.a): New library for grub kernel
8168 components that depend on gnulib headers.
8169 (libgrubmods.a): Renamed from earlier libgrub.a.
8170 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
8171
8172 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
8175 install rather than creating a broken install.
8176
8177 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * util/grub-setup.c (argp): Remove misleading example of installing to
8180 a partition.
8181
8182 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * util/grub-setup.c (setup): Clarify the error message.
8185
8186 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
8189
8190 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * grub-core/kern/emu/misc.c
8193 (grub_make_system_path_relative_to_its_root)
8194 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
8195
8196 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * grub-core/kern/emu/misc.c
8199 (grub_make_system_path_relative_to_its_root): Revert r2882.
8200
8201 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
8204 useless field head. All users updated.
8205 (free_subchunk): Correct handling of IN_REGION subchunk.
8206
8207 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
8208
8209 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
8210 (Supported kernels): Likewise.
8211
8212 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8213
8214 Make mktemp invocations portable.
8215
8216 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
8217 exit if mktemp fails.
8218 * tests/grub_script_blockarg.in: Likewise.
8219 * tests/partmap_test.in: Likewise.
8220 * tests/util/grub-shell-tester.in: Likewise.
8221 * tests/util/grub-shell.in: Likewise.
8222 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8223 * Makefile.am: Likewise, and chain shell commands with `&&'
8224 instead of ';'.
8225 * util/grub-mkrescue.in: Use the same explicit template as above, and
8226 exit if mktemp fails.
8227
8228 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
8229
8230 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
8231 Linux kernel, reported by Dennis Schridde.
8232
8233 2010-10-17 Szymon Janc <szymon@janc.net.pl>
8234
8235 * grub-core/normal/auth.c (grub_auth_check_authentication):
8236 Set-but-not-used variable removed.
8237
8238 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * docs/grub.texi (GNU/Linux): Document APM unavailability with
8241 32-bit linux protocol.
8242
8243 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
8246 cursor shape for sanity.
8247
8248 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * docs/grub.texi (Installation): Document buggy BIOS install.
8251
8252 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * docs/grub.texi (Installation): Indent.
8255
8256 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * util/grub-setup.c (setup): New parameter allow_floppy.
8259 (arguments): New member allow_floppy.
8260 (argp_parser): Handle --allow-floppy.
8261 (main): Pass allow_floppy.
8262 * util/grub-install.in: New option --allow-floppy passed though to
8263 grub-setup.
8264
8265 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * util/grub-install.in: Handle partitionless disks.
8268
8269 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * util/grub-setup.c (setup): Don't clean blocklists before readability
8272 verfification.
8273
8274 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * docs/grub.texi (Installation): Document embedding zone. Remove
8277 obsolete grub-install example.
8278
8279 2010-10-16 Szymon Janc <szymon@janc.net.pl>
8280
8281 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8282 Set-but-not-used variable ifdef'ed.
8283 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
8284 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
8285 variable removed.
8286 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
8287 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
8288 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8289 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
8290 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
8291 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8292 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
8293 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
8294 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
8295 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
8296 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8297 Likewise.
8298
8299 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8302 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8303 enum value.
8304
8305 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8308 synonym to _S5_. Needed for some DSDTs.
8309
8310 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 Userspace ACPI parser debugging.
8313
8314 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8315 headers and add relevant defines. Don't include standard headers.
8316 (main) [GRUB_DSDT_TEST]: New function.
8317 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8318 Don't declare functions.
8319
8320 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 Remove dead grub_efi_mm_fini.
8323
8324 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8325 (ALLOCATED_PAGES_SIZE): Likewise.
8326 (MAX_ALLOCATED_PAGES): Likewise.
8327 (allocated_pages): Likewise.
8328 (grub_efi_allocate_pages): Don't record allocated pages.
8329 (grub_efi_free_pages): Likewise.
8330 (grub_efi_mm_init): Likewise.
8331 (grub_efi_mm_fini): Removed.
8332
8333 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8336 (grub_efi_mm_init): Take into account the memory map size increase.
8337
8338 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8341 (serial_hw_put): Wait based on real time rather than port reads. Don't
8342 roken ports.
8343 * include/grub/serial.h (grub_serial_port): New field broken.
8344
8345 2010-10-16 Robert Millan <rmh@gnu.org>
8346
8347 * grub-core/kern/emu/misc.c
8348 (grub_make_system_path_relative_to_its_root): Fix premature return
8349 when processing non-root ZFS filesystems.
8350 Reported by Sergio Talens-Oliag.
8351
8352 2010-10-15 Robert Millan <rmh@gnu.org>
8353
8354 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8355 guarantee compressed ones are processed first.
8356
8357 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8360 grub_efiemu_autocore.
8361
8362 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8365 rather than 0x1b.
8366 (grub_console_getkey): Use correct jae opcode rather than ja.
8367
8368 2010-10-12 Robert Millan <rmh@gnu.org>
8369
8370 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8371 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8372 variable. All references updated.
8373
8374 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8375
8376 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 Correctly distinguish mdraid flavours.
8379
8380 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8381 (insert_array): New argument raid.
8382 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8383 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8384 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8385
8386 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8389 handling of special keys.
8390
8391 2010-10-02 Aleš Nesrsta <starous@volny.cz>
8392
8393 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8394 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
8395
8396 2010-10-02 Aleš Nesrsta <starous@volny.cz>
8397
8398 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8399 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8400 users updated.
8401 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
8402 Use right endpoint when querying descriptor.
8403
8404 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 Clear out 0x80 color bit on EFI.
8407 Tested by: decoder
8408 Reported by: decoder and meta tech.
8409
8410 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8411 (grub_console_setcolorstate): Clear out 0x80 bit.
8412 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8413 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8414 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8415
8416 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8419 Set to "auto".
8420
8421 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8424 mo_file after freeing.
8425
8426 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8429
8430 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8433 flags.
8434
8435 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8438 usage.
8439
8440 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8443
8444 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8445 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8446 and terminfo.h when needed.
8447 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8448 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8449 (terminfo): Enable only on terminfokernel.
8450 (extcmd): Likewise.
8451 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8452 * include/grub/lib/arg.h: Likewise.
8453 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8454 incorrect usage of ->.
8455
8456 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8459 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8460
8461 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 Fix coreboot compilation.
8464
8465 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8466 Take VBE info into account even if only text is supported.
8467 (fill_vbe_info): Take into account the case when only VGA text
8468 is supported.
8469 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8470 on coreboot, multiboot and qemu.
8471
8472 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8475 debug messages.
8476 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8477
8478 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8481 parameters.
8482
8483 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8486 if they were BSD-style.
8487
8488 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 * grub-core/boot/i386/pc/lnxboot.S: Replace
8491 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8492 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8493
8494 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 Write embedding zone using Reed-Solomon.
8497
8498 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8499 * grub-core/Makefile.am (rs_decoder.S): New target.
8500 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8501 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8502 (multiboot): Move to RS part.
8503 (post_reed_solomon): New label.
8504 (grub_boot_drive): Move to non-RS part since it's modified in memory
8505 on boot.
8506 Include rs_decoder.S.
8507 * grub-core/lib/reed_solomon.c: New file.
8508 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8509 New definition.
8510 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8511 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8512 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8513 * include/grub/partition.h (grub_partition_map): Change prototype of
8514 embed to allow returning additional sectors.
8515 * include/grub/reed_solomon.h: New file.
8516 * util/grub-setup.c (setup): Handle Reed-Solomon.
8517
8518 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
8519
8520 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8521 i386 and x86-64 definedness tests.
8522
8523 2010-09-27 Yves Blusseau <blusseau@zetam.org>
8524
8525 Fix generation of kernel_syms.lst
8526
8527 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8528 ASM_PREFIX
8529
8530 2010-09-26 Robert Millan <rmh@gnu.org>
8531
8532 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8533
8534 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8535 the pool is an array of devices, iterate through it and return the
8536 first device that passes a stat() test (instead of blindly returning
8537 the first one).
8538
8539 2010-09-26 Robert Millan <rmh@gnu.org>
8540
8541 Build fixes for GNU/kFreeBSD.
8542
8543 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8544 to programs that require ZFS conversion.
8545 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8546 kernels that don't have FLOPPY_MAJOR.
8547
8548 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8549
8550 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8551
8552 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8553
8554 Fix grub-emu build.
8555
8556 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8557 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8558 mdraid09 and mdraid1x.
8559
8560 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
8561
8562 Re-enable grub-extras.
8563
8564 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8565 avoid confusing Automake. Run autogen only twice, once for the top
8566 level and once for grub-core. Add Makefile.util.def and
8567 Makefile.core.def from extra modules to the appropriate autogen
8568 invocations. If Makefile.common exists in an extra module, include
8569 it in both Makefile.util.am and grub-core/Makefile.core.am;
8570 similarly, include any Makefile.util.common file in Makefile.util.am
8571 and any Makefile.core.common file in grub-core/Makefile.core.am.
8572 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8573 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8574 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8575 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8576
8577 * gentpl.py (gvar_add): Turn GVARS into a set.
8578 (global_variable_initializers): Sort global variables on output.
8579 (vars_init): New function.
8580 (first_time): Likewise.
8581 (library): Ensure that non-global variable initialisations are
8582 emitted before the first time we emit code for a library block.
8583 Append to variables rather than setting them. Only emit
8584 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8585 each conditional path.
8586 (program): installdir() emits an Autogen macro, so must be passed to
8587 var_add rather than gvar_add.
8588 (data): Likewise.
8589 (script): Likewise.
8590 (rules): New function, centralising handling for different target
8591 types. Set up Guile association lists for first_time and vars_init,
8592 and send most output to a diversion so that variable initialisations
8593 can be emitted first.
8594 (module_rules): Use new rules function.
8595 (kernel_rules): Likewise.
8596 (image_rules): Likewise.
8597 (library_rules): Likewise.
8598 (program_rules): Likewise.
8599 (script_rules): Likewise.
8600 (data_rules): Likewise.
8601
8602 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8603
8604 * .bzrignore: Add contrib and grub-core/contrib. Remove
8605 grub-core/Makefile.gcry.am.
8606
8607 2010-09-24 Yves Blusseau <blusseau@zetam.org>
8608
8609 * grub-core/lib/LzFind.c: Add missing include.
8610 * grub-core/lib/LzmaEnc.c: Likewise.
8611 * grub-core/script/lexer.c: Likewise.
8612 * grub-core/script/yylex.l: Likewise.
8613 * util/grub-macho2img.c: Likewise.
8614 * util/grub-menulst2cfg.c: Likewise.
8615 * util/grub-mklayout.c: Likewise.
8616 * util/grub-mkpasswd-pbkdf2.c
8617 * util/grub-mkrelpath.c: Likewise.
8618 * util/resolve.c: Likewise.
8619
8620 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8621
8622 * Makefile.util.def (example_unit_test): Add
8623 grub-core/gnulib/libgnu.a.
8624
8625 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8626
8627 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8628
8629 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 Support xz compression on yeeloong.
8632
8633 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8634 * configure.ac: Check for LZMA.
8635 * grub-core/Makefile.core.def (xz_decompress): New target.
8636 (none_decompress): Likewise.
8637 * grub-core/boot/decompressor/minilib.c: New file.
8638 * grub-core/boot/decompressor/none.c: Likewise.
8639 * grub-core/boot/decompressor/xz.c: Likewise.
8640 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8641 * grub-core/kern/mips/cache_flush.S: Likewise.
8642 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8643 * grub-core/kern/mips/startup.S: Move first stage to ...
8644 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8645 nomacro.
8646 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8647 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8648 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8649 Allocate statically.
8650 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8651 Allocate statically or use scratch. Don't check CRC32.
8652 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8653 Allocate statically. Don't check CRC32.
8654 * include/grub/decompressor.h: New file.
8655 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8656 Removed.
8657 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8658 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8659 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8660 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8661 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8662 * util/grub-mkimage.c (grub_compression_t): New type.
8663 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8664 (image_target_desc): New field default_compression.
8665 (image_targets): Adjust yeeloong targets.
8666 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8667 (compress_kernel): New parameter comp.
8668 (generate_image): Likewise. Handle new compression case.
8669 (options): New option --compression
8670 (help): Likewise.
8671 (main): Handle new option.
8672
8673 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8674
8675 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8676
8677 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
8678
8679 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8680 typo in __i386__ conditional.
8681
8682 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8685 include.
8686
8687 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 Implement EFI and ACPI multiboot2 extensions.
8690
8691 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8692 new tags as supported.
8693 (acpiv2_size): New function.
8694 (grub_multiboot_get_mbi_size): Take new tags into account.
8695 (grub_multiboot_make_mbi): Add new tags.
8696 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
8697
8698 2010-09-21 Aleš Nesrsta <starous@volny.cz>
8699
8700 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8701 Added missing configuration of USB device.
8702
8703 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8704
8705 * grub-core/normal/menu_entry.c (run): Make sure we always return
8706 a value.
8707
8708 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8709
8710 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8711 NumberOfPages is UINT64 according to the UEFI specification, not
8712 UINTN. Fix printf format.
8713
8714 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8715
8716 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8717 `err' to grub_usb_err_t.
8718 Reported and tested by: KESHAV P.R.
8719
8720 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8721
8722 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8723 tpart non-const, so that we can assign to it. (Since this is a
8724 typedef, the constness refers to the pointer rather than what it
8725 points to.)
8726
8727 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8728
8729 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8730 $(top_srcdir)/grub-core/gnulib as well as
8731 $(top_builddir)/grub-core/gnulib.
8732 Reported by: KESHAV P.R.
8733
8734 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8735
8736 * util/grub-install.in: Fix the bootloader ID option to be
8737 consistently --bootloader-id, not --bootloader_id.
8738 Reported by: KESHAV P.R.
8739
8740 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8741
8742 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8743 check hash checksum." consistently translatable.
8744
8745 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8746
8747 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8748 $(top_builddir).
8749
8750 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8751
8752 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8753 (GRUB_MOD_INIT): Register sha1sum command.
8754 (GRUB_MOD_FINI): Unregister sha1sum command.
8755
8756 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8757
8758 Keep boot and grub directory names in sync with utils scripts
8759
8760 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8761 * config.h.in: Add previous macros.
8762 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8763 * util/grub-install.in: Use $bootdir and $grubdir variables.
8764
8765 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8766
8767 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8768 convert partition names to disk names if the new `convert' parameter
8769 is set.
8770 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8771 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8772 disk in its own right. This can happen with Xen disk images.
8773
8774 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8775
8776 * util/grub-editenv.c: Update strings to avoid warnings when generating
8777 grub.pot file.
8778 * util/grub-setup.c: Likewise.
8779
8780 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * configure.ac: Change version to 1.99~beta0.
8783
8784 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8787 Add BADRAM.
8788 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8789 Likewise.
8790 * include/multiboot.h: Resynced with specification.
8791 * include/multiboot2.h: Likewise.
8792
8793 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8794
8795 Fix po directory handling.
8796
8797 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8798 * grub-core/gnulib/Makefile.am: Import gettext module.
8799 * m4/gnulib-cache.m4: Likewise.
8800 * m4/gnulib-comp.m4: Likewise.
8801 * m4/gettext.m4: New file, from gnulib.
8802 * m4/glibc2.m4: Likewise.
8803 * m4/iconv.m4: Likewise.
8804 * m4/intdiv0.m4: Likewise.
8805 * m4/intl.m4: Likewise.
8806 * m4/intldir.m4: Likewise.
8807 * m4/intlmacosx.m4: Likewise.
8808 * m4/intmax.m4: Likewise.
8809 * m4/inttypes-pri.m4: Likewise.
8810 * m4/lcmessage.m4: Likewise.
8811 * m4/lib-ld.m4: Likewise.
8812 * m4/lib-link.m4: Likewise.
8813 * m4/lib-prefix.m4: Likewise.
8814 * m4/lock.m4: Likewise.
8815 * m4/nls.m4: Likewise.
8816 * m4/po.m4: Likewise.
8817 * m4/printf-posix.m4: Likewise.
8818 * m4/progtest.m4: Likewise.
8819 * m4/threadlib.m4: Likewise.
8820 * m4/uintmax_t.m4: Likewise.
8821 * m4/visibility.m4: Likewise.
8822 * po/Makefile.am: Remove.
8823 * po/Makefile.in.in: New file, from gettext.
8824 ($(DOMAIN).pot-update): Support POTFILES-shell.
8825 * po/Makevars: New file.
8826 * po/POTFILES-shell: Rename to ...
8827 * po/POTFILES-shell.in: ... this. Update.
8828 * po/POTFILES: Rename to ...
8829 * po/POTFILES.in: ... this. Update.
8830 * po/Rules-quot: New file, from gettext.
8831 * po/boldquot.sed: Likewise.
8832 * po/en@boldquot.header: Likewise.
8833 * po/en@quot.header: Likewise.
8834 * po/insert-header.sin: Likewise.
8835 * po/quot.sed: Likewise.
8836 * po/remove-potcdate.sin: Likewise.
8837
8838 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8841
8842 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * util/grub.d/20_linux_xen.in: Use submenus.
8845
8846 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 Support submenus.
8849
8850 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8851 parameter submenu. All users updated.
8852 * grub-core/normal/main.c (free_menu): Rename to ...
8853 (grub_normal_free_menu): ... this. Made global.
8854 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8855 if requested.
8856 * grub-core/normal/menu_entry.c (screen): New field submenu.
8857 (make_screen): Set submenu.
8858 (run): Open new context if requested.
8859 * include/grub/menu.h (grub_menu_entry): New field submenu.
8860 * include/grub/normal.h (grub_normal_free_menu): New proto.
8861
8862 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 Menu entries extractor.
8865
8866 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8867 variants.
8868 (GRUB_MOD_INIT): Register new variants.
8869 (GRUB_MOD_FINI): Unregister new variants.
8870 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8871 into grub_cmd_legacy_source.
8872 (grub_cmd_legacy_source): Implement extractor variants.
8873 (GRUB_MOD_INIT): Register new variants.
8874 (GRUB_MOD_FINI): Unregister new variants.
8875 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8876 as an extractor.
8877 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8878 search as an extractor.
8879 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8880 test as an extractor.
8881 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8882 as an extractor.
8883 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8884 (grub_env_new_context): New function.
8885 (grub_env_context_open): Likewise.
8886 (grub_env_extractor_open): Likewise.
8887 (grub_env_extractor_close): Likewise.
8888 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8889 grub_extractor_level.
8890 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8891 * include/grub/env.h (grub_env_extractor_open): New proto.
8892 (grub_env_extractor_close): Likewise.
8893 * include/grub/normal.h (grub_extractor_level): New external variable.
8894
8895 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 Make cutmem accept a region specification.
8898 Suggested by: Samuel Thibault
8899
8900 * grub-core/mmap/mmap.c (parsemem): New function.
8901 (grub_cmd_cutmem): Handle new arguments.
8902
8903 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 New command cutmem.
8906
8907 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8908 (GRUB_MOD_INIT): Register new command.
8909 (GRUB_MOD_FINI): Unregister new command.
8910
8911 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 Support some annoying BSD and Minix subpartitions.
8914
8915 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8916 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8917 Properly handle concatenation.
8918 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8919 * grub-core/normal/completion.c (iterate_partition): Likewise.
8920 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8921 contain partition. All users updated.
8922 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8923 struct.
8924 (grub_openbsdlabel_partition_map): Likewise.
8925 (bsdlabel_partition_map_iterate): Rename to ..
8926 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8927 (bsdlabel_partition_map_iterate): New function.
8928 (netopenbsdlabel_partition_map_iterate): Likewise.
8929 (netbsdlabel_partition_map_iterate): Likewise.
8930 (openbsdlabel_partition_map_iterate): Likewise.
8931 (GRUB_MOD_INIT): Register new partmaps.
8932 (GRUB_MOD_FINI): Unregister new partmaps.
8933 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8934 (grub_partition_msdos_iterate): ... this. All users updated.
8935 Don't support embedding other than in a minix partition.
8936 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8937 proto.
8938 * include/grub/partition.h (grub_partition): New field msdostype.
8939 * util/grub-install.in: Handle openbsd and netbsd types being in
8940 part_bsd module.
8941
8942 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8945
8946 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8947 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8948 (mdraid09): ... this.
8949 (mdraid1x): New module.
8950 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8951 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8952
8953 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8956 vsprintf.
8957
8958 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8959
8960 * grub-core/commands/efi/lsefimmap.c: Correct header.
8961 * NEWS: Update.
8962
8963 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8964
8965 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8966 as printf format strings; the translations might contain '%' which
8967 could cause a crash.
8968 (main): Likewise.
8969 * util/grub-fstest.c (argp_parser): Likewise.
8970 * util/grub-setup.c (argp_parser): Likewise.
8971 (main): Likewise.
8972
8973 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 Use argp in grub-fstest.
8976
8977 * util/grub-fstest.c: Don't include getopt.h.
8978 Include argp.h.
8979 (root): New variable.
8980 (args_count): Likewise.
8981 (nparm): Likewise.
8982 (num_disks): Likewise.
8983 (images): Likewise.
8984 (cmd): Likewise.
8985 (debug_str): Likewise.
8986 (args): Likewise.
8987 (options): Transformed to argp.
8988 (usage): Removed.
8989 (main): Split argument parsing into ...
8990 (argp_parser): ... this. Changed to argp format.
8991 (argp): New variable.
8992 (main): Use argp_parse.
8993
8994 2010-09-20 Tristan Gingold <gingold@free.fr>
8995 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8996 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * grub-core/commands/efi/lsefimmap.c: New file.
8999 * grub-core/Makefile.core.def (lsefimmap): New module.
9000 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
9001
9002 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 Pause the execution (10s max) if any errors are displayed so the user
9005 has a chance to see them.
9006
9007 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
9008 (grub_print_error): Increment grub_err_printed_errors.
9009 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
9010 execution if any errors were displayed.
9011 (show_menu): Remove old code for pause.
9012 * grub-core/normal/menu_entry.c (run): Likewise.
9013 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
9014 users updated.
9015 (grub_normal_get_char_counter): Likewise.
9016 * include/grub/err.h (grub_err_printed_errors): New external variable.
9017 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
9018
9019 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 Support multiboot VBE info.
9022
9023 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9024 Take VBE info into account.
9025 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
9026 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9027 Call fill_vbe_info when appropriate.
9028 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
9029 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
9030 as supported.
9031 (grub_multiboot_get_mbi_size): Take new tags into account.
9032 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
9033 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9034 Call fill_vbe_tag when appropriate.
9035 (grub_multiboot_make_mbi): Properly align tags.
9036 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
9037 function.
9038 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
9039 proto.
9040 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
9041
9042 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 Suport manual terminal geometry specification.
9045
9046 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
9047 Save state in grub_ofconsole_terminfo_output.
9048 (grub_ofconsole_term): Use grub_terminfo_getwh.
9049 (grub_ofconsole_getwh): Removed.
9050 * grub-core/term/serial.c (grub_serial_getwh): Removed.
9051 (grub_serial_term): Use grub_terminfo_getwh.
9052 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
9053 (options): New struct.
9054 (OPTION_*): New enum.
9055 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
9056 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
9057 width and height.
9058 (grub_terminfo_getwh): New proto.
9059 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
9060
9061 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 Handle legacy "terminal" command.
9064
9065 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
9066 and FLAG_TERMINAL.
9067 (legacy_commands): Add terminal and title.
9068 (grub_legacy_parse): Handle terminal. Simplify title handling.
9069
9070 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
9073 parameters overflow.
9074
9075 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9076
9077 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
9078 widthspec.h.
9079
9080 * docs/grub.texi (Shell-like scripting): Document `!'.
9081 (Network): Simplify using new i386-pc-pxe format. Mention
9082 grub-mknetdir.
9083
9084 * NEWS: Update.
9085
9086 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9087
9088 * Makefile.am (SUBDIRS): Restore "."; it's important to force
9089 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
9090 when needed.
9091
9092 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9093
9094 * grub-core/commands/efi/lsefisystab.c: Correct header.
9095 * grub-core/commands/efi/lssal.c: Likewise.
9096 * grub-core/commands/testload.c: Likewise.
9097
9098 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9099
9100 * util/grub-mkrescue.in: Add explicit root argument to --set to
9101 prevent the UUID being interpreted as an argument to --set (matches
9102 previous change to prepare_grub_to_access_device).
9103
9104 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9105
9106 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
9107 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
9108 the verbosity of later #ifs.
9109 (find_partition_start): Define this function on FreeBSD too.
9110 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
9111 function.
9112 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
9113 on FreeBSD.
9114
9115 2010-09-20 Yves Blusseau <blusseau@zetam.org>
9116
9117 * util/grub-editenv.c: Use argp instead of getopt.
9118
9119 2010-09-20 Yves Blusseau <blusseau@zetam.org>
9120
9121 * util/grub-setup.c: Use argp instead of getopt.
9122
9123 2010-09-20 Yves Blusseau <blusseau@zetam.org>
9124
9125 Use gnulib-tool to create gnulib source files.
9126
9127 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
9128 grub-core/gnulib directories
9129 * .bzignore: Add **/.deps and autogenerated gnulib files
9130 * configure.ac: Assign auxiliary directory to build-aux, add invocation
9131 of gnulib macros, add grub-core/gnulib/Makefile
9132 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
9133 include m4 directory to aclocal.
9134 * Makefile.util.def: Remove direct compilation of gnulib source files
9135 and use the new grub-core/gnulib/libgnu.a.
9136 * build-aux/config.rpath: move config.rpath from top directory to
9137 build-aux
9138 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
9139 in gnulib headers
9140 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
9141 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
9142 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
9143 header.
9144 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
9145 string.
9146
9147 2010-09-20 Yves Blusseau <blusseau@zetam.org>
9148
9149 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
9150 grub-core/genmod.sh and grub-core/gensyminfo.sh
9151
9152 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
9153
9154 Add a test for echo command options.
9155
9156 * tests/grub_cmd_echo.in: New test.
9157 * Makefile.util.def: Rules for new test.
9158
9159 2010-09-20 Szymon Janc <szymon@janc.net.pl>
9160
9161 Remove crc.mod and move crc command to hashsum.mod.
9162 Remove lib/crc.c - users updated to use gcrypt implementation.
9163
9164 * grub-core/commands/crc.c: Removed.
9165 * grub-core/Makefile.core.def (crc): Module removed.
9166 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
9167 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
9168 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
9169 * grub-core/lib/crc.c: Removed.
9170 * include/grub/lib/crc.h: Removed.
9171 * Makefile.util.def (crc): Remove lib/crc.c
9172 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
9173 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
9174 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
9175 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
9176 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
9177 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
9178
9179 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
9182
9183 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 Split config.h for util and core.
9186
9187 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
9188 (ADDR32): Likewise.
9189 (DATA32): Likewise.
9190 (BSS_START_SYMBOL): Likewise.
9191 (END_SYMBOL): Likewise.
9192 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
9193 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
9194 * config.h.in: New file.
9195 * configure.ac: Use config-util.h as config define file.
9196 Rename MACHINE into GRUB_MACHINE. All users updated.
9197 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
9198 updated.
9199 (NESTED_FUNC_ATTR): Likewise.
9200 Substitue new variables.
9201 (COND_HAVE_ASM_USCORE): New conditional.
9202 * grub-core/Makefile.am (ASM_PREFIX): New variable.
9203 (kernel_syms.lst): Use ASM_PREFIX.
9204 * grub-core/kern/emu/console.c: Include config-util.h.
9205 * grub-core/kern/emu/misc.c: Likewise.
9206 * grub-core/kern/emu/mm.c: Likewise.
9207 * include/grub/emu/misc.h: Likewise.
9208 * include/grub/libgcc.h: Likewise.
9209
9210 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
9213 constants usage.
9214 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
9215 Fix GRUB_TERM_KEY_* constants usage.
9216 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
9217
9218 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
9221 print pointer.
9222 * grub-core/bus/usb/uhci.c: Remove empty define.
9223 (grub_uhci_check_transfer): Add missing cast.
9224 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
9225 print pointer.
9226 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
9227 PRIuGRUB_SIZE.
9228 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
9229
9230 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/Makefile.core.def (legacycfg): Add
9233 lib/i386/pc/vesa_modes_table.c on emu.
9234
9235 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9236
9237 Reduce number of temporary files generated by build system.
9238
9239 * grub-core/gencmdlist.sh: Removed.
9240 * grub-core/genfslist.sh: Removed.
9241 * grub-core/genhandlerlist.sh: Removed.
9242 * grub-core/genmodsrc.sh: Removed.
9243 * grub-core/genpartmaplist.sh: Removed.
9244 * grub-core/genparttoollist.sh: Removed.
9245 * grub-core/gentermiinallist.sh: Removed.
9246 * grub-core/genvideolist.sh: Removed.
9247
9248 * grub-core/genmod.sh.in: New file.
9249 * grub-core/gensyminfo.sh.in: New file.
9250
9251 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
9252 * conf/Makefile.extra-dist: Update with new files.
9253 * gentpl.py: Remove rules related to unnecessary temporary files.
9254 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
9255 and und-* files.
9256 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
9257 genmod.sh scripts.
9258 * grub-core/bus/usb/uhci.c: Remove empty #define.
9259 * grub-core/genmoddep.awk: Updated with new syminfo format.
9260 * util/bash-completion.d/Makefile.am: Add config.log to
9261 CLEANFILES.
9262
9263 2010-09-19 Yves Blusseau <blusseau@zetam.org>
9264
9265 * Makefile.util.def: Add forgotten $(LIBINTL) library.
9266
9267 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9268
9269 * util/grub-mkconfig.in: Check the config script for syntax errors
9270 before saving.
9271
9272 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
9273 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * Makefile.util.def (grub-install): Use util/grub-install.in on all
9276 platforms.
9277 * util/grub-install.in: Add EFI and IEEE1275 support.
9278 * util/i386/efi/grub-install.in: Removed.
9279 * util/ieee1275/grub-install.in: Likewise.
9280
9281 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
9284 (grub_cmd_cmosclean): Likewise.
9285 (GRUB_MOD_INIT): Register command cmosclean.
9286 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
9287 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
9288
9289 2010-09-18 Carles Pina i Estany <carles@pina.cat>
9290 2010-09-18 Aleš Nesrsta <starous@volny.cz>
9291 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 Add keyboard layouts support.
9294
9295 * Makefile.util.def (grub-mklayout): New file.
9296 (grub-kbdcomp): New script.
9297 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9298 Add keyboard_layouts.h.
9299 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9300 commands/boot.c on yeeloong.
9301 (keylayouts): New module.
9302 * grub-core/bus/usb/ohci.c
9303 * grub-core/bus/usb/uhci.c
9304 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9305 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9306 (attach_root_port): Likewise.
9307 (poll_nonroot_hub): Likewise.
9308 (grub_usb_poll_devices): Likewise.
9309 (detach_device): Close transfer.
9310 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9311 function.
9312 (grub_usb_bulk_setup_readwrite): Likewise.
9313 (grub_usb_bulk_finish_readwrite): Likewise.
9314 * grub-core/commands/keylayouts.c: New file.
9315 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9316 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9317 aliases.
9318 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9319 support scancode 2.
9320 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9321 * include/grub/keyboard_layouts.h: New file.
9322 * util/grub-mklayout.c: New file.
9323 * util/grub-kbdcomp.in: Likewise.
9324
9325 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 Unify memory types.
9328
9329 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9330 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9331 types.
9332 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9333 (grub_upper_mem): Likewise.
9334 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9335 * include/grub/memory.h (grub_memory_type_t): New enum.
9336 All users updated.
9337
9338 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/Makefile.core.def (lsapm): New module.
9341 * grub-core/commands/i386/pc/lsapm.c: New file.
9342 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9343 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9344 Likewise.
9345 * include/grub/i386/pc/apm.h: New file.
9346 * include/multiboot.h (multiboot_apm_info): New struct.
9347
9348 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 GRUB-legacy configuration file support.
9351
9352 * Makefile.util.def (grub-menulst2cfg): New util.
9353 * docs/man/grub-menulst2cfg.h2m: New file.
9354 * grub-core/Makefile.core.def (legacycfg): New module.
9355 * grub-core/commands/legacycfg.c: New file.
9356 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9357 (grub_normal_add_menu_entry): ... this.
9358 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9359 (grub_normal_set_password): ...this.
9360 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9361 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9362 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9363 * grub-core/lib/legacy_parse.c: New file.
9364 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9365 * include/grub/i386/pc/vesa_modes_table.h: New file.
9366 * include/grub/legacy_parse.h: Likewise.
9367 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9368 * util/grub-menulst2cfg.c: New file.
9369
9370 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9371
9372 * grub-core/kern/emu/hostdisk.c
9373 (convert_system_partition_to_system_disk): Initialise node.
9374
9375 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9376
9377 * grub-core/kern/emu/hostdisk.c
9378 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9379 leak.
9380 Reported and based on patch by: Modestas Vainius.
9381
9382 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9383
9384 Fix DM-RAID probing with recent versions of device-mapper udev
9385 rules.
9386
9387 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9388 canonicalise device paths under /dev/mapper/.
9389 (convert_system_partition_to_system_disk): Compare the
9390 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9391 path, since device nodes under /dev/mapper/ are often symlinks.
9392
9393 2010-09-17 Yves Blusseau <blusseau@zetam.org>
9394
9395 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9396
9397 2010-09-16 Yves Blusseau <blusseau@zetam.org>
9398
9399 * configure.ac: Avoid some annoying error messages if freetype-config
9400 program is not found.
9401
9402 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9403
9404 Support RAID on virtio devices, and others.
9405
9406 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9407 Rename to ...
9408 [__MINGW32__] (grub_find_device): ... this.
9409 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9410 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9411 reasonable default if dir is NULL.
9412 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9413 ...
9414 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9415 (grub_guess_root_device): Update callers.
9416 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9417
9418 * util/raid.c (grub_util_getdiskname): Remove.
9419 (grub_util_raid_getmembers): Use grub_find_device rather than
9420 grub_util_getdiskname.
9421
9422 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9423
9424 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9425 needing to be compiled with serial support.
9426 (ls): Indicate that multiple files are accepted.
9427 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9428 indicate that multiple files are accepted.
9429
9430 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9431
9432 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9433 libgrub_a_init.c, and util/bash-completion.d/grub.
9434
9435 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * util/grub-setup.c (setup): Fix incorrect container semantics.
9438
9439 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9442 misusage.
9443 Reported by: J. Nick Terry
9444
9445 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 Move embedding routines to partmap sources files.
9448
9449 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9450 [GRUB_UTIL]: New variable.
9451 (gpt_partition_map_iterate): Set part.parent.
9452 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9453 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9454 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9455 New function.
9456 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9457 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9458 (grub_partition_map) [GRUB_UTIL]: New field embed.
9459 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9460 (setup): Use ->embed.
9461
9462 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9465 function.
9466 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9467 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9468
9469 2010-09-15 Yves Blusseau <blusseau@zetam.org>
9470
9471 Add function to get completions from usage.
9472
9473 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9474 completions from usage. Use LC_ALL=C to get options properly.
9475
9476 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * grub-core/gnulib/basename-lgpl.c: Imported.
9479 * grub-core/gnulib/basename.c: Likewise.
9480 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9481 * grub-core/gnulib/dirname.c: Likewise.
9482 * grub-core/gnulib/dirname.h: Likewise.
9483 * grub-core/gnulib/stripslash.c: Likewise.
9484
9485 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * grub-core/gnulib/error.c: Resynced.
9488 * grub-core/gnulib/getopt.c: Likewise.
9489 * grub-core/gnulib/getopt_int.h: Likewise.
9490 * grub-core/gnulib/regex.h: Likewise.
9491 * grub-core/gnulib/regex_internal.c: Likewise.
9492 * grub-core/gnulib/regex_internal.h: Likewise.
9493
9494 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9495
9496 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9497 CRC calculations and validity checks.
9498 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9499 calculations.
9500
9501 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9502
9503 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9504
9505 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 Fix incorrect echo options handling.
9508 Reported by: Yves Blusseau.
9509
9510 * include/grub/command.h (grub_command_flags_t): New flags
9511 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9512 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9513 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9514
9515 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9518 users updated.
9519 (GRUB_COMMAND_FLAG_MENU): Likewise.
9520 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9521 (GRUB_COMMAND_FLAG_TITLE): Removed.
9522 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9523 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9524 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9525 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9526 (grub_command_flags_t): New enum. All users updated.
9527
9528 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9529
9530 Fix solaris compilation.
9531
9532 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9533 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9534 (grub-emu-list): Likewise.
9535
9536 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 Remove deprecated root command.
9539
9540 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9541 updated.
9542
9543 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * util/i386/pc/grub-setup.c: Merge this ...
9546 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9547 * util/grub-setup.c: ... into this.
9548 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9549 New struct.
9550
9551 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9554 possible.
9555
9556 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9559 allocate p.
9560
9561 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9564 explicit root argument to set to prevent UUID to be interpreted as
9565 argument to set.
9566
9567 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9570
9571 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 Don't export grub_gate_a20.
9574
9575 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9576 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9577 to ...
9578 (grub_gate_a20): ... this. All users updated.
9579 * include/grub/i386/pc/init.h: Removed. All users updated.
9580
9581 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 Create euro.pf2 which supports most European languages.
9584
9585 * Makefile.am (grubdata_DATA): Add euro.pf2.
9586 (euro.pf2): New target.
9587 (CLEANFILES): Add euro.pf2.
9588
9589 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * configure.ac: Disable emu-usb by default to prevent inadvertent
9592 device takeover.
9593
9594 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 Disable usbserial on grub-emu since our libusb code isn't good enough
9597 yet.
9598
9599 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9600 (usbserial_pl2303): Likewise.
9601 (usbserial_ftdi): Likewise.
9602
9603 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * include/grub/disk.h (grub_disk): Remove has_partitions.
9606 All users updated.
9607 * disk/loopback.c (grub_loopback): Remove has_partitions.
9608 All users updated.
9609 (options): Remove partitions. All users updated.
9610 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9611 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9612 actual partition table is found.
9613
9614 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 Remove readability checks (too many false negatives).
9617
9618 * util/grub-install.in: Remove readability checks.
9619 * util/grub-mkconfig.in: Likewise.
9620 * util/grub.d/10_hurd.in: Likewise.
9621 * util/grub.d/10_kfreebsd.in: Likewise.
9622 * util/grub.d/10_linux.in: Likewise.
9623 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9624 way.
9625
9626 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 Enable acpi shutdown on all ACPI platforms.
9629
9630 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9631 on coreboo, multiboot and EFI.
9632 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9633 (grub_acpi_halt): Likewise.
9634 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9635 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9636 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9637 * grub-core/lib/i386/halt.c (grub_halt)
9638 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9639
9640 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9643 context.
9644
9645 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9648 * grub-core/video/efi_uga.c: Likewise.
9649
9650 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 Filter devaliases and never open same device twice.
9653
9654 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9655 (last_ihandle): Likewise.
9656 (ofdisk_hash_ent): New member shortest.
9657 (ofdisk_hash_add): Add canonical path too.
9658 (scan): New function.
9659 (grub_ofdisk_iterate): Iterate over hashed entries.
9660 (compute_dev_path): Don't add :0.
9661 (grub_ofdisk_open): Don't really open the disk.
9662 (grub_ofdisk_close): Avoid closing unrelated disk.
9663 (grub_ofdisk_read): Implement reopen logic.
9664 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9665 New function.
9666 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9667 New proto.
9668
9669 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 Fix sparc64.
9672
9673 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9674 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9675 right address. Add sparc64_ieee1275_ldflags.
9676 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9677 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9678 to grub_host_to_target_addr
9679 (load_image): Likewise.
9680
9681 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/normal/completion.c (complete_file): Handle device
9684 containing slash.
9685 Fix based on patch by Doug Nazar.
9686
9687 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 grub-mknetdir script.
9690
9691 * Makefile.util.def (grub-mknetdir): New module.
9692 * tests/util/grub-shell.in: Support boot=net
9693 * util/grub-mknetdir.in: New file.
9694
9695 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 videoinfo on non-vbe.
9698
9699 * grub-core/Makefile.core.def (vbeinfo): Removed.
9700 (vbetest): Removed.
9701 (videoinfo): New module.
9702 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9703 * grub-core/commands/i386/pc/vbetest.c: Removed.
9704 * grub-core/commands/videoinfo.c: New file.
9705 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9706 specification.
9707 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9708 as vbetest.
9709 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9710 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9711 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9712 mode_number. New parameter mode. All users updated.
9713 (grub_video_gop_iterate): New function.
9714 (grub_video_efi_gop): New member iterate.
9715 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9716 (grub_vbe_set_video_mode): Remove setting useless fields.
9717 (vbe2videoinfo): New function.
9718 (grub_video_vbe_iterate): Likewise.
9719 (grub_video_vbe_setup): Use vbe2videoinfo.
9720 (grub_video_vbe_print_adapter_specific_info): New function.
9721 (grub_video_vbe_adapter): New fields iterate and
9722 print_adapter_specific_info.
9723 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9724 All users updated.
9725 (grub_video_mode_info): New field mode_number.
9726 (grub_video_adapter): New fields iterate and
9727 print_adapter_specific_info.
9728
9729 2010-09-13 Tristan Gingold <gingold@free.fr>
9730 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
9731 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * grub-core/commands/efi/lsefisystab.c: New file.
9734 * grub-core/commands/efi/lssal.c: Likewise.
9735 * grub-core/Makefile.core.def (lsacpi): New module.
9736 (lsefisystab): Likewise.
9737 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9738 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9739 (grub_efi_sal_system_table): New struct.
9740 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9741 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9742 (grub_efi_sal_system_table_platform_features): Likewise.
9743 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9744 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9745 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9746 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9747
9748 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 Support explicit user claim that a device is BIOS-visible.
9751
9752 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9753 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9754 * grub-core/kern/emu/hostdisk.c
9755 (convert_system_partition_to_system_disk): Support mdX.
9756 (find_system_device): New parameter add. All users updated.
9757 (grub_util_biosdisk_is_present): New function.
9758 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9759 proto.
9760
9761 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Search hints support.
9764
9765 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9766 All users updated.
9767
9768 2010-09-13 Yves Blusseau <blusseau@zetam.org>
9769
9770 Bash completion script for util commands
9771
9772 * Makefile.am: Add util/bash-completion.d directory
9773 * configure.ac: Likewise.
9774 * util/bash-completion.d/Makefile.am: New file.
9775 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9776
9777 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9780 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9781 Reported by: Yves Blusseau.
9782
9783 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9786 partition size and offset.
9787
9788 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9791
9792 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9795
9796 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9799 (grub_xvasprintf): Likewise.
9800
9801 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9804
9805 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9808 args ending with NULL.
9809
9810 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9813 pointer.
9814
9815 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9816
9817 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9818
9819 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 Shutdown using ACPI.
9822
9823 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9824 * grub-core/commands/acpihalt.c: New file.
9825 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9826 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9827 (grub_acpi_halt): New proto.
9828 (GRUB_ACPI_SLP_EN): New const.
9829 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9830 (GRUB_ACPI_OPCODE_*): New enum.
9831 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9832
9833 2010-09-11 Tristan Gingold <gingold@free.fr>
9834 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9835 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * commands/lsacpi.c: New file.
9838 * grub-core/Makefile.core.def (lsacpi): New module.
9839 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9840 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9841 (grub_acpi_madt_entry_header): New struct.
9842 (grub_acpi_madt): Likewise.
9843 (grub_acpi_madt_entry_interrupt_override): Likewise.
9844 (grub_acpi_madt_entry_sapic): Likewise.
9845 (grub_acpi_madt_entry_lsapic): Likewise.
9846 (grub_acpi_madt_entry_platform_int_source): Likewise.
9847 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9848 (PRIuGRUB_UINT32_T): Likewise.
9849 (PRIxGRUB_UINT64_T): Likewise.
9850
9851 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 Implement loading palette on ieee1275_fb.
9854
9855 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9856 (have_setcolors): Likewise.
9857 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9858 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9859 (grub_video_ieee1275_set_palette): Implement.
9860
9861 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9862 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9863
9864 * util/grub-install.in (grub_partition): New variable.
9865 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9866 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9867 Fixes a bug reported by Yves Blusseau.
9868
9869 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 Fix emu on mipsel.
9872
9873 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9874 =grub_cpu_flush_cache on all mips and not only yeeloong.
9875 * configure.ac (COND_mips): New conditional.
9876 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9877 platforms.
9878 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9879 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9880 [GRUB_LINKER_HAVE_INIT]: New function.
9881 (grub_emu_post_init): Likewise.
9882 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9883 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9884 * include/grub/cache.h (_mips): Include mips/cache.h.
9885 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9886 LVM and RAID prototypes.
9887 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9888 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9889 function.
9890
9891 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9892
9893 * util/grub-install.in: Don't try to verify core.img until after
9894 running grub-mkimage to create it.
9895
9896 2010-09-10 Robert Millan <rmh@gnu.org>
9897
9898 * util/grub.d/10_hurd.in: Add misc readability checks.
9899 * util/grub.d/10_kfreebsd.in: Likewise.
9900 * util/grub.d/10_linux.in: Likewise.
9901
9902 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9903
9904 * util/grub-install.in: ${imgext} won't be defined here until the
9905 install branch is merged. For the meantime, only verify core.img on
9906 i386-pc and sparc64-ieee1275 platforms.
9907
9908 2010-09-10 Robert Millan <rmh@gnu.org>
9909
9910 Solaris support in grub_find_zpool_from_dir(). Thanks
9911 Seth Goldberg for referring to getextmntent() facility.
9912
9913 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9914 `sys/mkdev.h'.
9915 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9916 `<sys/mnttab.h>'.
9917 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9918 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9919 method for finding zpool name.
9920
9921 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9922
9923 grub-fstest needs the host and hostfs modules while other utilities
9924 actively require those modules to be absent, so grub-fstest needs
9925 its own initialisation and finalisation code.
9926
9927 * Makefile.am (grub_fstest.pp): New target.
9928 (grub_fstest_init.lst): Likewise.
9929 (grub_fstest_init.c): Likewise.
9930 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9931
9932 2010-09-10 Robert Millan <rmh@gnu.org>
9933
9934 * configure.ac: Check for `struct statfs.f_fstypename' and
9935 `struct statfs.f_mntfromname'.
9936
9937 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9938 kFreeBSD-specific code.
9939
9940 2010-09-10 Robert Millan <rmh@gnu.org>
9941
9942 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9943 on ZFS. Now non-main filesystems are supported as / too.
9944
9945 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9946
9947 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9948 and grub-core/disk/host.c to ...
9949 (grub-fstest): ... here. Having the host disk implementation
9950 present confuses grub-probe and other utility programs.
9951
9952 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9953 when writing to a file, not when writing to stdout.
9954
9955 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9956
9957 * tests/partmap_test.in: New test for partitions.
9958 * Makefile.util.def: Rules for new test.
9959
9960 2010-09-09 Robert Millan <rmh@gnu.org>
9961
9962 * util/grub-probe.c (probe): Fix a pair of unhandled error
9963 conditions.
9964
9965 2010-09-09 Robert Millan <rmh@gnu.org>
9966
9967 Basic Btrfs support (detection and UUID).
9968
9969 * grub-core/fs/btrfs.c: New file.
9970 * Makefile.util.def (library): Register btrfs.c.
9971 * grub-core/Makefile.core.def: Likewise.
9972
9973 2010-09-08 Robert Millan <rmh@gnu.org>
9974
9975 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9976 with (optional) parameters to specify device and relative path.
9977 * util/grub-install.in: Use is_path_readable_by_grub() to
9978 verify readability of a few critical files.
9979 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9980 verify readability of grub.cfg.new.
9981
9982 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 Split minix.mod into minix.mod and minix2.mod.
9985
9986 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9987 * grub-core/Makefile.core.def (minix2): New module.
9988 * grub-core/fs/minix.c: Use definitions instead of runtime version
9989 checking.
9990 * grub-core/fs/minix2.c: New file.
9991
9992 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9993
9994 Add new --boot-directory option to replace --root-directory
9995
9996 * util/grub-install.in: Add new --boot-directory option
9997 * util/grub-reboot.in: Likewise.
9998 * util/grub-set-default.in: Likewise.
9999
10000 2010-09-08 Yves Blusseau <blusseau@zetam.org>
10001
10002 * util/grub-mkconfig.in: Use new variable.
10003
10004 2010-09-08 Yves Blusseau <blusseau@zetam.org>
10005
10006 * configure.ac: Define some useful variables.
10007
10008 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10011 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
10012 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
10013 Use terminfo and don't use cursor-on/cursor-off unless it's known
10014 to work.
10015 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
10016 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
10017
10018 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
10019
10020 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
10021 starts with "(,", fill the drive containing the loaded image in
10022 between those two characters, but expect that a full partition
10023 specification including partition map names will follow.
10024
10025 2010-09-08 Robert Millan <rmh@gnu.org>
10026
10027 * configure.ac: Remove `--enable-grub-fstest' option.
10028 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
10029
10030 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
10031 `grub-fstest' instead of `grub-probe' for readability verification.
10032 * util/grub-probe.c (probe): Remove readability verification kludge.
10033
10034 2010-09-08 Robert Millan <rmh@gnu.org>
10035
10036 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
10037 initializing `GRUB_FS'.
10038
10039 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
10040
10041 Not command (!) support to GRUB script.
10042
10043 * tests/grub_script_not.in: New test.
10044 * Makefile.util.def: Rules for new test.
10045
10046 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10047 ! command as a special case.
10048 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
10049
10050 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10051
10052 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
10053 grub_free.
10054
10055 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10056
10057 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
10058
10059 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10060
10061 * docs/grub.texi (Shell-like scripting): Documentation for break,
10062 continue, shift and return commands.
10063
10064 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 Rename CD-ROM to cd on BIOS.
10067
10068 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
10069 "cd".
10070 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
10071
10072 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
10075 * util/grub-probe.c (main): Likewise.
10076 * util/i386/pc/grub-setup.c (main): Likewise.
10077 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
10078 Reported and debugged by: alexxy
10079
10080 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
10083 diagnostic info.
10084
10085 2010-09-05 Jo Shields <directhex@apebox.org>
10086
10087 * util/grub.d/30_os-prober.in: Add missing classes.
10088
10089 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * docs/grub.texi (Theme file format): Document new position format.
10092
10093 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
10096 a table. Use @code instead of @verbatim.
10097
10098 2010-09-05 Colin D Bennett <colin@gibibit.com>
10099
10100 Gfxmenu documentation.
10101
10102 * docs/grub.texi (Theme file format): New chapter.
10103
10104 2010-09-05 Szymon Janc <szymon@janc.net.pl>
10105
10106 * grub-core/Makefile.core.def (xzio): New module.
10107 * grub-core/io/xzio.c: New file.
10108 * grub-core/lib/xzembed/xz.h: New file (from xembed).
10109 * grub-core/lib/xzembed/xz_config.h: Likewise.
10110 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
10111 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
10112 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
10113 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
10114 * grub-core/lib/xzembed/xz_private.h: Likewise.
10115 * grub-core/lib/xzembed/xz_stream.h: Likewise.
10116 * include/grub/file.h (grub_file_filter_id): New compression filter
10117 GRUB_FILE_FILTER_XZIO.
10118
10119 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
10122 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
10123 size.
10124
10125 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
10128 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
10129
10130 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 Uncompressed checksum support.
10133
10134 * grub-core/commands/hashsum.c (options): Add option --uncompress.
10135 (check_list): New parameter uncompress.
10136 (grub_cmd_hashsum): Handle --uncompress.
10137
10138 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 Reintroduce testload.
10141
10142 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
10143 from here ...
10144 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
10145 (GRUB_MOD_INIT): New function.
10146 (GRUB_MOD_FINI): Likewise.
10147 * grub-core/Makefile.core.def (testload): New module.
10148
10149 2010-09-05 Szymon Janc <szymon@janc.net.pl>
10150
10151 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
10152 (uint8_t): New type.
10153 (uint16_t): Likewise.
10154 (uint32_t): Likewise.
10155 (uint64_t): Likewise.
10156
10157 2010-09-05 Szymon Janc <szymon@janc.net.pl>
10158
10159 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
10160
10161 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
10164 Made static.
10165 (grub_gzfile_open): Removed. All users updated.
10166 (GRUB_MOD_INIT): New function.
10167 (GRUB_MOD_FINI): Likewise.
10168 * grub-core/kern/file.c (grub_file_filters_all): New variable.
10169 (grub_file_filters_enabled): Likewise.
10170 (grub_file_open): Handle filters.
10171 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
10172 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
10173 * include/grub/file.h (grub_file_filter_id_t): New type.
10174 (grub_file_filter_t): Likewise.
10175 (grub_file_filters_all): New extern variable.
10176 (grub_file_filters_enabled): Likewise.
10177 (grub_file_filter_register): New inline function.
10178 (grub_file_filter_unregister): Likewise.
10179 (grub_file_filter_disable): Likewise.
10180 (grub_file_filter_disable_compression): Likewise.
10181 * include/grub/gzio.h: Removed.
10182
10183 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10184
10185 Filename expansion support for wildcards in GRUB script.
10186
10187 * tests/grub_script_expansion.in: New test.
10188 * Makefile.util.def: Rule for new test.
10189
10190 * grub-core/commands/wildcard.c: New file, implements filename
10191 expansion support for GRUB script.
10192 * grub-core/Makefile.core.def: Rule update for regexp.mod.
10193 * grub-core/script/argv.c: Cosmetic changes.
10194 * grub-core/script/execute.c (grub_script_arglist_to_argv):
10195 Refactored to perform wildcard expansion on arguments.
10196 * include/grub/script_sh.h (grub_script_wildcard_translator): New
10197 struct.
10198
10199 * tests/util/grub-shell.in: Fix quoting for read input.
10200
10201 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10202
10203 Support for updating environment variables with matched substrings
10204 of regexp.
10205
10206 * tests/grub_cmd_regexp.in: New test.
10207 * Makefile.util.def: Rule for new test.
10208
10209 * grub-core/commands/regexp.c: New option -s to update environment
10210 variables with regexp matches.
10211
10212 2010-09-04 Szymon Janc <szymon@janc.net.pl>
10213
10214 * include/grub/file.h (grub_file): New member not_easly_seekable.
10215 (grub_file_seekable): New inline function.
10216 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
10217 easily seekable.
10218 (grub_gzio_open): Set not_easly_seekable.
10219 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
10220 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
10221
10222 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10223
10224 Support for options to appear multiple times on cmdline.
10225
10226 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
10227 * grub-core/commands/extcmd.c: Support for repeatable option.
10228 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
10229 repeatable option support.
10230
10231 Refactor menuentry into a regular command.
10232
10233 * grub-core/commands/menuentry.c: New file, menuentry command
10234 implementation.
10235 * grub-core/Makefile.core.def: Rule update for normal.mod.
10236 * grub-core/normal/main.c: Moved menuentry creation to
10237 grub-core/commands/menuentry.c.
10238 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
10239 (grub_menu_execute_entry_real): Removed.
10240 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
10241 function.
10242 (grub_script_execute_menuentry): Removed.
10243 * grub-core/script/parser.y (menuentry): Removed.
10244 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
10245 * grub-core/script/yylex.l (menuentry): Removed.
10246 * include/grub/menu.h (grub_menu_init): New prototype.
10247 (grub_menu_fini): New prototype.
10248 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
10249 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
10250 (grub_script_execute_sourcecode): New prototype.
10251
10252 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10253
10254 "return" command for GRUB script functions.
10255
10256 * tests/grub_script_return.in: New test.
10257 * Makefile.util.def: Rules for new test.
10258
10259 * grub-core/script/execute.c (grub_script_return): New function.
10260 * grub-core/script/main.c: Register/unregister return commaond.
10261 * include/grub/script_sh.h (grub_script_return): New prototype.
10262
10263 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10264
10265 "setparams" command to update positional parameters.
10266
10267 * tests/grub_script_setparams.in: New test.
10268 * Makefile.util.def: Rules for new test.
10269
10270 * grub-core/script/argv.c (grub_script_argv_make): New function.
10271 * grub-core/script/execute.c (replace_scope): New function.
10272 (grub_script_setparams): New function.
10273 * grub-core/script/lexer.c: Remove unused variables.
10274 * grub-core/script/main.c: Register/unregister setparams command.
10275 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
10276 (grub_script_setparams): New prototype.
10277
10278 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10279
10280 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
10281 grub_free order.
10282
10283 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10284
10285 Support for passing block of commands as an argument to extcmds.
10286
10287 * Makefile.util.def: Rules for new test.
10288 * tests/grub_script_blockarg.in: New test.
10289 * grub-core/tests/test_blockarg.c: New file, block argument
10290 command used in the test.
10291
10292 * include/grub/extcmd.h (grub_extcmd_context): New struct.
10293 (grub_register_extcmd_prio): New function prototype.
10294 (grub_extcmd_dispatcher): New function prototype.
10295 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
10296 type.
10297 * include/grub/script_sh.h (struct grub_script): New members
10298 `children', `next_siblings' and `refcnt' for block arguments and
10299 reference counting.
10300 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10301 (grub_script_arg): New member `script' for block argument.
10302 (grub_script_argv): New member `script' for block argument.
10303 (grub_parser_param): New member `scripts' for block argument.
10304 (grub_script_mem_free): New extern function prototype.
10305 (grub_script_ref): New function prototype.
10306 (grub_script_unref): New function prototype.
10307
10308 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10309 extcmd form to support block arguments.
10310 * grub-core/script/argv.c: Block arguments support.
10311 * grub-core/script/execute.c: Likewise.
10312 * grub-core/script/lexer.c: Likewise.
10313 * grub-core/script/main.c: Likewise.
10314 * grub-core/script/script.c: Likewise.
10315 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10316 non-terminals.
10317
10318 * grub-core/commands/acpi.c: Update extcmd implementations with
10319 grub_extcmd_context_t.
10320 * grub-core/commands/cat.c: Likewise.
10321 * grub-core/commands/echo.c: Likewise.
10322 * grub-core/commands/extcmd.c: Likewise.
10323 * grub-core/commands/hashsum.c: Likewise.
10324 * grub-core/commands/hdparm.c: Likewise.
10325 * grub-core/commands/help.c: Likewise.
10326 * grub-core/commands/hexdump.c: Likewise.
10327 * grub-core/commands/i386/cpuid.c: Likewise.
10328 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10329 * grub-core/commands/i386/pc/halt.c: Likewise.
10330 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10331 * grub-core/commands/iorw.c: Likewise.
10332 * grub-core/commands/keystatus.c: Likewise.
10333 * grub-core/commands/loadenv.c: Likewise.
10334 * grub-core/commands/ls.c: Likewise.
10335 * grub-core/commands/lspci.c: Likewise.
10336 * grub-core/commands/memrw.c: Likewise.
10337 * grub-core/commands/probe.c: Likewise.
10338 * grub-core/commands/search_wrap.c: Likewise.
10339 * grub-core/commands/setpci.c: Likewise.
10340 * grub-core/commands/sleep.c: Likewise.
10341 * grub-core/disk/loopback.c: Likewise.
10342 * grub-core/hello/hello.c: Likewise.
10343 * grub-core/loader/i386/bsd.c: Likewise.
10344 * grub-core/loader/xnu.c: Likewise.
10345 * grub-core/term/gfxterm.c: Likewise.
10346 * grub-core/term/serial.c: Likewise.
10347 * grub-core/tests/lib/functional_test.c: Likewise.
10348
10349 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10350
10351 Multi-line quoted strings support.
10352
10353 * grub-core/script/lexer.c (append_newline): Removed.
10354 (grub_script_lexer_yywrap): Refactored.
10355 (grub_script_lexer_init): Refactored.
10356 * grub-core/script/yylex.l (yywrap): New function.
10357 (grub_lexer_resplit): New function.
10358 (grub_lexer_unput): New function.
10359 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10360 and resplit.
10361 * tests/grub_script_echo1.in: Added few more testcases.
10362
10363 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/kern/misc.c: Don't add abort alias in utils.
10366 Reported by: echoline.
10367
10368 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10369
10370 Add missing files into "make dist" tarball for other platforms.
10371
10372 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10373 * conf/Makefile.common (dist_noinst_DATA): New variable.
10374 * conf/Makefile.extra-dist: Added missing make dist files.
10375 * grub-core/Makefile.core.def: Likewise.
10376
10377 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 Compress grub_prefix.
10380
10381 * grub-core/boot/i386/pc/lnxboot.S: Use
10382 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10383 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10384 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10385 GRUB_MACHINE_PREFIX_END. All users updated.
10386 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10387 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10388 + 0x40.
10389 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10390 * util/grub-mkimage.c (image_target_desc): Change data_end to
10391 prefix_end. All users updated.
10392
10393 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10396 value.
10397 (grub_openbsd_boot): Likewise.
10398 (grub_netbsd_boot): Likewise.
10399 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10400 (grub_xnu_boot): Likewise.
10401
10402 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * configure.ac: Clean LIBS variable after tests.
10405
10406 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10407
10408 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10409
10410 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10413 echo if libdevmapper will be used.
10414
10415 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10416
10417 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10418 constant for the same file.
10419
10420 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10423
10424 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10425
10426 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10427 grub-core/*.pp.
10428
10429 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10430
10431 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10432 required by the boot protocol.
10433
10434 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10435 ebp and edi members.
10436 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10437 state.ebp and state.edi.
10438 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10439 %ebp and %edi according to grub_relocator32_ebp and
10440 grub_relocator32_edi respectively.
10441 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10442 and state.edi.
10443
10444 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 Add i386-pc-pxe image target.
10447
10448 * util/grub-mkimage.c (image_target_desc): New enum value
10449 IMAGE_I386_PC_PXE.
10450 (image_targets): New target i386-pc-pxe.
10451 (generate_image): Handle i386-pc-pxe image.
10452
10453 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 Fix grub_pxe_scan.
10456
10457 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10458 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10459 All users updated.
10460 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10461 (grub_pxe_pxenv): Correct type.
10462
10463 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10464
10465 * NEWS: Document most of the important changes since 1.98.
10466
10467 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10468
10469 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10470 generated manual page) a little.
10471
10472 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10473
10474 * docs/grub.texi: Add myself as an author.
10475
10476 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 * Makefile.util.def (libgrub.a): Add missing sunpc.
10479 Reported by: Seth Goldberg.
10480
10481 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 Interrupt wrapping and code simplifications.
10484
10485 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10486 x86_noieee1275 which are functionaly equivalent in this case.
10487 (grub-install): Make source on each platform explicit. Enable on
10488 all noemu.
10489 * gentpl.py (x86_efi_pc): Removed group.
10490 (x86_noefi): Likewise.
10491 (i386_noefi): Likewise.
10492 (x86_noieee1275): Likewise.
10493 (i386_noieee1275): Likewise.
10494 (i386_noefi_noieee1275): Likewise.
10495 (i386_pc_qemu_coreboot): Likewise.
10496 (i386_coreboot_multiboot): Likewise.
10497 (i386_pc_coreboot_multiboot_qemu): Likewise.
10498 (x86_noefi_mips): Likewise.
10499 (noieee1275): Likewise.
10500 (ieee1275_mips): Likewise.
10501 (noemu_noieee1275): Likewise.
10502 (cmos): New group.
10503 (usb): Likewise.
10504 (videoinkernel): Likewise.
10505 (videomodules): Likewise.
10506 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
10507 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10508 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10509 include/grub/loader.h, include/grub/msdos_partition.h,
10510 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10511 include/grub/machine/console.h, include/grub/machine/vga.h,
10512 include/grub/machine/vbe.h, include/grub/machine/init.h,
10513 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10514 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
10515 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
10516 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10517 * grub-core/Makefile.core.def (kernel): Explicit the source for
10518 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10519 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10520 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10521 Use videoinkernel tag.
10522 (usb): Enable on all usb.
10523 (usbserial_common): Likewise.
10524 (usbserial_pl2303): Likewise.
10525 (usbserial_ftdi): Likewise.
10526 (uhci): Enable on all x86.
10527 (ohci): Enable on all pci.
10528 (cmostest): Enable on all CMOS.
10529 (acpi): Include commands/acpi.c on all platforms.
10530 (halt): Add relevant lib/*/halt.c.
10531 (hdparm): Enable on all pci.
10532 (lspci): Likewise.
10533 (usbtest): Enable on all usb.
10534 (ata): Enable on all pci.
10535 (ata_pthru): Likewise.
10536 (usbms): Enable on all usb.
10537 (usb_keyboard): Likewise.
10538 (font): Use tag videomodules.
10539 (bufio): Likewise.
10540 (datetime): Use tag cmos. Enable on all noemu.
10541 (mmap): Use tags common and x86.
10542 (gfxterm): Use tag videomodules.
10543 (bitmap): Likewise.
10544 (bitmap_scale): Likewise.
10545 (video_fb): Likewise.
10546 (video): Likewise.
10547 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10548 adjust padding accordingly. All users updated.
10549 (grub_ohci_transaction): Fix bad format specification.
10550 (GRUB_MOD_INIT): Add asserts for struct size.
10551 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10552 (grub_alloc_td): Likewise.
10553 (grub_free_queue): Likewise.
10554 (grub_uhci_transfer): Likewise.
10555 (grub_uhci_transaction): Fix bad format specification.
10556 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10557 (grub_usb_bulk_readwrite): Likewise.
10558 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10559 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10560 Made static.
10561 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10562 Made static.
10563 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10564 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10565 Transformed into C.
10566 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10567 Moved from here ...
10568 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10569 ... here. Transformed into C. Made static.
10570 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10571 Moved from here ...
10572 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10573 ... here. Transformed into C. Made static.
10574 * grub-core/kern/i386/pc/startup.S
10575 (grub_biosdisk_check_int13_extensions): Moved from here ...
10576 * grub-core/disk/i386/pc/biosdisk.c
10577 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10578 Made static.
10579 * grub-core/kern/i386/pc/startup.S
10580 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10581 * grub-core/disk/i386/pc/biosdisk.c
10582 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10583 Transformed into C. Made static.
10584 * grub-core/kern/i386/pc/startup.S
10585 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10586 * grub-core/disk/i386/pc/biosdisk.c
10587 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10588 Transformed into C. Made static.
10589 * grub-core/kern/i386/pc/startup.S
10590 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10591 * grub-core/disk/i386/pc/biosdisk.c
10592 (grub_biosdisk_get_diskinfo_standard): ... here.
10593 Transformed into C. Made static.
10594 * grub-core/kern/i386/pc/startup.S
10595 (grub_biosdisk_get_num_floppies): Moved from here ...
10596 * grub-core/disk/i386/pc/biosdisk.c
10597 (grub_biosdisk_get_num_floppies): ... here.
10598 Transformed into C. Made static.
10599 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10600 New function.
10601 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10602 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10603 Transformed into C. Made static.
10604 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10605 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10606 Transformed into C. Made static.
10607 * grub-core/kern/i386/ieee1275/init.c: Removed.
10608 * grub-core/kern/i386/misc.S: Likewise.
10609 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10610 Splitted from here ...
10611 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10612 Transformed into C. Made static. All users updated.
10613 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10614 Transformed into C. Made static. All users updated.
10615 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10616 Moved from here...
10617 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10618 Transformed into C. Made static. All users updated.
10619 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10620 Moved from here...
10621 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10622 Transformed into C. Made static. All users updated.
10623 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10624 Removed (replaced by C version).
10625 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10626 Moved from here...
10627 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10628 Transformed into C. Made static.
10629 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10630 Moved from here...
10631 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10632 ... here. Transformed into C.
10633 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10634 Moved from here...
10635 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10636 ... here. Transformed into C.
10637 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10638 Moved from here...
10639 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10640 ... here. Transformed into C. Made static.
10641 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10642 Moved from here...
10643 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10644 ... here. Transformed into C.
10645 * grub-core/kern/i386/pc/startup.S
10646 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10647 * grub-core/video/i386/pc/vbe.c
10648 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
10649 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10650 Moved from here...
10651 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10652 ... here. Transformed into C.
10653 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10654 Moved from here...
10655 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10656 ... here. Transformed into C.
10657 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10658 Moved from here...
10659 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10660 ... here. Transformed into C.
10661 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10662 Moved from here...
10663 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10664 ... here. Transformed into C.
10665 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10666 Moved from here...
10667 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10668 ... here. Transformed into C. Made static.
10669 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10670 Moved from here...
10671 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10672 ... here. Transformed into C. Made static.
10673 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10674 Moved from here...
10675 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10676 ... here. Transformed into C. Made static.
10677 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10678 pxe_rm_entry as third argument.
10679 (grub_bios_interrupt): New function.
10680 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10681 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10682 of calling grub_stop.
10683 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10684 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10685 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10686 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10687 * grub-core/lib/i386/halt.c: Moved from here ...
10688 * grub-core/lib/i386/halt.c: ... here.
10689 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10690 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10691 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10692 grub_stop_floppy.
10693 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10694 * include/grub/i386/coreboot/init.h: Removed.
10695 * include/grub/i386/multiboot/init.h: Likewise.
10696 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10697 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10698 * include/grub/i386/pc/int.h: New file.
10699 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10700 (grub_pxe_scan): Removed.
10701 (grub_pxe_call): Update prototype.
10702 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10703 prototypes.
10704 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10705 * include/grub/i386/qemu/init.h: Removed.
10706 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10707 noreturn.
10708 (grub_halt): Likewise.
10709 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10710 (grub_reboot): Likewise.
10711 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10712 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
10713 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10714
10715 2010-08-30 Robert Millan <rmh@gnu.org>
10716
10717 * NEWS: Document addition of ZFS support in `grub-install' and
10718 `grub-mkconfig'.
10719
10720 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10721
10722 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10723 dprintf output.
10724
10725 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 Remove leftover embedding of font objects.
10728
10729 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10730 * util/grub-install.in (font): Removed.
10731 * util/grub-mkimage.c (generate_image): Remove font support. All users
10732 updated.
10733
10734 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 Remove leftover embedding of font objects.
10737
10738 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10739 * util/grub-install.in (font): Removed.
10740 * util/grub-mkimage.c (generate_image): Remove font support. All users
10741 updated.
10742
10743 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * docs/grub.texi (Network): Fix reference to pxe_blksize.
10746 Reported by: Ian Turner
10747
10748 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10751 timeout to avoid indefinite boot stalling.
10752
10753 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10756 (grub_env_write_color_highlight): Likewise.
10757
10758 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/normal/term.c (print_more): Return to normal and not
10761 to standard state after printing "---MORE---".
10762
10763 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10766 Mask out the bit 0x80 since it has other meaning that specifiing color.
10767
10768 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 New relocator. Allows for more kernel support and more straightforward
10771 loader writing.
10772
10773 * Makefile.am (BOOTTARGET): New variable.
10774 (QEMU32): Likewise.
10775 (linux.init.x86_64): New target.
10776 (linux.init.i386): Likewise.
10777 (multiboot.elf): Likewise.
10778 (kfreebsd.elf): Likewise.
10779 (kfreebsd.aout): Likewise.
10780 (pc-chainloader.elf): Likewise.
10781 (pc-chainloader.bin): Likewise.
10782 (ntldr.elf): Likewise.
10783 (ntldr.bin): Likewise.
10784 (multiboot2.elf): Likewise.
10785 (kfreebsd.init.x86_64): Likewise.
10786 (kfreebsd.init.i386): Likewise.
10787 (knetbsd.init.i386): Likewise.
10788 (kopenbsd.init.i386): Likewise.
10789 (knetbsd.init.x86_64): Likewise.
10790 (kopenbsd.init.x86_64): Likewise.
10791 (linux-initramfs.i386): Likewise.
10792 (linux-initramfs.x86_64): Likewise.
10793 (kfreebsd-mfsroot.i386.img): Likewise.
10794 (knetbsd.image.i386): Likewise.
10795 (kopenbsd.image.i386): Likewise.
10796 (kopenbsd.image.x86_64): Likewise.
10797 (knetbsd.miniroot-image.i386.img): Likewise.
10798 (kfreebsd-mfsroot.x86_64.img): Likewise.
10799 (knetbsd.image.x86_64): Likewise.
10800 (knetbsd.miniroot-image.x86_64.img): Likewise.
10801 (kfreebsd-mfsroot.i386.gz): Likewise.
10802 (bootcheck-kfreebsd-i386): Likewise.
10803 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10804 (bootcheck-kfreebsd-x86_64): Likewise.
10805 (knetbsd.miniroot-image.i386.gz): Likewise.
10806 (bootcheck-knetbsd-i386): Likewise.
10807 (bootcheck-kopenbsd-i386): Likewise.
10808 (bootcheck-kopenbsd-x86_64): Likewise.
10809 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10810 (bootcheck-knetbsd-x86_64): Likewise.
10811 (bootcheck-linux-i386): Likewise.
10812 (bootcheck-linux-x86_64): Likewise.
10813 (bootcheck-linux16-i386): Likewise.
10814 (bootcheck-linux16-x86_64): Likewise.
10815 (bootcheck-multiboot): Likewise.
10816 (bootcheck-multiboot2): Likewise.
10817 (bootcheck-kfreebsd-aout): Likewise.
10818 (bootcheck-pc-chainloader): Likewise.
10819 (bootcheck-ntldr): Likewise.
10820 (CLEANFILES): Add new targets.
10821 (BOOTCHECKS): New variable.
10822 (.PHONY): Add bootchecks.
10823 (SUCCESSFUL_BOOT_STRING): New variable.
10824 (BOOTCHECK_TIMEOUT): Likewise.
10825 (bootcheck): New target
10826 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10827 * configure.ac: Correct efiemu excuse.
10828 * docs/grub.texi (Supported kernels): New chapter.
10829 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10830 include/grub/mm_private.h. Simplify inclusion of
10831 include/grub/boot.h, include/grub/loader.h
10832 and include/grub/msdos_partition.h
10833 (KERNEL_HEADER_FILES) [i386_coreboot]:
10834 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10835 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10836 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10837 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10838 include/grub/machine/loader.h.
10839 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10840 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10841 extra_dist.
10842 (pci.mod): Enable on i386-multiboot.
10843 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10844 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10845 i386-qemu.
10846 (relocator.mod): Rewritten.
10847 (aout.mod): Enable on all x86.
10848 (bsd.mod): Likewise.
10849 (ntldr.mod): New module.
10850 (linux.mod): Use loader/i386/linux.c on all x86.
10851 (xnu.mod): Enable on all x86.
10852 (vga_text.mod): disable on EFI and QEMU.
10853 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10854 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10855 * grub-core/efiemu/loadcore.c: Likewise.
10856 * grub-core/efiemu/main.c: Likewise.
10857 (grub_efiemu_exit_boot_services): Removed.
10858 (grub_efiemu_finish_boot_services): Likewise.
10859 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10860 function.
10861 * grub-core/efiemu/i386/nocfgtables.c: New file.
10862 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10863 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10864 (grub_efi_finish_boot_services): Moved from here ...
10865 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10866 Fille finish memory map and related data.
10867 (finish_mmap_buf): New variable.
10868 (grub_efi_uintn_t finish_mmap_size): Likewise.
10869 (grub_efi_uintn_t finish_key): Likewise.
10870 (grub_efi_uintn_t finish_desc_size): Likewise.
10871 (grub_efi_uint32_t finish_desc_version): Likewise.
10872 (grub_efi_is_finished): Likewise.
10873 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10874 finished.
10875 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10876 (grub_elf64_phdr_iterate): Likewise.
10877 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10878 (grub_os_area_size): Likewise.
10879 (grub_machine_init): Don't reserve os area.
10880 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10881 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10882 * grub-core/kern/i386/loader.S: Removed.
10883 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10884 (grub_os_area_size): Likewise.
10885 (grub_machine_init): Don't reserve os area.
10886 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10887 Don't call grub_dl_unload_all.
10888 Don't include loader.S.
10889 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10890 Declare the memory after _end as available.
10891 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10892 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10893 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10894 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10895 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10896 * include/grub/mm_private.h (grub_mm_header): ... here.
10897 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10898 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10899 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10900 (grub_mm_region): ..here. Removed addr. Added pre_size.
10901 All users updated.
10902 * grub-core/kern/mm.c (base): Renamed to ...
10903 (grub_mm_base): ... this. Made global.
10904 (grub_real_malloc): Alloc from end of region.
10905 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10906 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10907 * grub-core/kern/powerpc/cache_flush.S: ... here.
10908 * grub-core/lib/efi/relocator.c: New file.
10909 * grub-core/lib/i386/relocator.c: Rewritten.
10910 * grub-core/lib/i386/relocator16.S: New file.
10911 * grub-core/lib/i386/relocator32.S: Likewise.
10912 * grub-core/lib/i386/relocator64.S: Likewise.
10913 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10914 * grub-core/lib/i386/relocator_common.S: New file.
10915 * grub-core/lib/ieee1275/relocator.c: Likewise.
10916 * grub-core/lib/mips/relocator.c: Rewritten.
10917 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10918 stylistic adjustments.
10919 * grub-core/lib/powerpc/relocator.c: New file.
10920 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10921 * grub-core/lib/relocator.c: Rewritten.
10922 * grub-core/lib/x86_64/relocator_asm.S: New file.
10923 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10924 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10925 (bsd_tag): New struct.
10926 (tags): New variable.
10927 (tags_last): Likewise.
10928 (netbsd_module): New struct.
10929 (netbsd_mods): New variable.
10930 (netbsd_mods_last): Likewise.
10931 (openbsd_opts): New parameter "serial".
10932 (OPENBSD_SERIAL_ARG): New definition.
10933 (netbsd_opts): New parameter "serial".
10934 (NETBSD_SERIAL_ARG): New definition.
10935 (grub_freebsd_add_meta): Reorganised into ...
10936 (grub_bsd_add_meta): ...this. All users updated.
10937 (grub_freebsd_add_mmap): Reorganised into ...
10938 (generate_e820_mmap): ...this...
10939 (grub_bsd_add_mmap): ...and this. All users updated.
10940 (grub_freebsd_list_modules): Use tags.
10941 (grub_netbsd_add_meta_module): New function.
10942 (grub_netbsd_list_modules): Likewise.
10943 (grub_freebsd_boot): Use relocator and finish EFI.
10944 (grub_openbsd_boot): Likewise.
10945 (grub_netbsd_setup_video): New function.
10946 (grub_netbsd_add_modules): Likewise.
10947 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10948 and finish EFI.
10949 (grub_bsd_unload): Unload tags.
10950 (grub_bsd_load_aout): Use relocator.
10951 (grub_bsd_elf32_size_hook): New function.
10952 (grub_bsd_elf32_hook): Use relocator.
10953 (grub_bsd_elf64_size_hook): New function.
10954 (grub_bsd_elf64_hook): Use relocator.
10955 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10956 (grub_bsd_load): Zero-out openbsd_ramdisk.
10957 (grub_bsd_load): Use relocator.
10958 (grub_cmd_openbsd): Support serial.
10959 (grub_cmd_netbsd): Support modules.
10960 (grub_cmd_freebsd_module): Use relocator.
10961 (grub_netbsd_module_load): New function.
10962 (grub_cmd_netbsd_module): Likewise.
10963 (grub_cmd_openbsd_ramdisk): Likewise.
10964 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10965 kopenbsd_ramdisk.
10966 (GRUB_MOD_FINI): Unregister new commands.
10967 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10968 (grub_freebsd_load_elfmodule_obj): Use relocator.
10969 (grub_freebsd_load_elfmodule): Likewise.
10970 (grub_freebsd_load_elf_meta): Likewise.
10971 (grub_netbsd_load_elf_meta): New function.
10972 (grub_openbsd_find_ramdisk): Likewise.
10973 * grub-core/loader/i386/bsd_helper.S: Removed.
10974 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10975 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10976 * grub-core/loader/i386/efi/linux.c: Likewise.
10977 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10978 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10979 (DEFAULT_VIDEO_MODE): Likewise.
10980 (real_mode_target): New variable.
10981 (prot_mode_target): Likewise.
10982 (initrd_mem_target): Likewise.
10983 (relocator): Likewise.
10984 (efi_mmap_buf): Likewise.
10985 (efi_mmap_size): Likewise.
10986 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10987 (free_pages): Use relocator.
10988 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10989 (grub_linux_setup_video): Return error.
10990 (grub_linux_trampoline_start): Removed.
10991 (grub_linux_trampoline_end): Likewise.
10992 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10993 andd video parameters depending on firmware.
10994 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10995 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10996 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10997 (grub_cmd_initrd): Use relocator.
10998 * grub-core/loader/i386/linux_trampoline.S: Removed.
10999 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
11000 (elf_sec_entsize): Likewise.
11001 (elf_sec_shstrndx): Likewise.
11002 (elf_sections): Likewise.
11003 (grub_multiboot_load): Use relocator.
11004 (grub_multiboot_get_mbi_size): Account for sections.
11005 (grub_multiboot_make_mbi): Use relocator and support sections.
11006 (grub_multiboot_add_elfsyms): New function.
11007 (grub_multiboot_free_mbi): Free sections.
11008 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
11009 (grub_linux_real_target): Likewise.
11010 (grub_linux_real_chunk): Likewise.
11011 (grub_linux16_prot_size): Likewise.
11012 (grub_linux16_boot): Use relocator.
11013 (grub_linux_unload): Unload relocator.
11014 (grub_cmd_linux): Use relocator.
11015 (grub_cmd_initrd): Likewise.
11016 * grub-core/loader/i386/pc/ntldr.c: New file.
11017 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
11018 Don't try to guess CPU frequency.
11019 (grub_xnu_set_video): Stretch bitmap.
11020 (grub_xnu_boot): Use relocator.
11021 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
11022 (grub_linux_unload): Free relocator.
11023 (grub_linux_load32): Use relocator.
11024 (grub_linux_load64): Likewise.
11025 (grub_cmd_initrd): Likewise.
11026 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
11027 (grub_multiboot_unload): Unload relocator.
11028 (grub_cmd_multiboot): Use relocator.
11029 (grub_cmd_module): Likewise.
11030 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
11031 Use relocator and support sections.
11032 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
11033 (elf_sec_entsize): Likewise.
11034 (elf_sec_shstrndx): Likewise.
11035 (elf_sections): Likewise.
11036 (grub_multiboot_load): Use relocator.
11037 (grub_multiboot_get_mbi_size): Account for sections.
11038 (grub_multiboot_make_mbi): Use relocator and support sections.
11039 (grub_multiboot_add_elfsyms): New function.
11040 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
11041 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
11042 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
11043 Prototype changed. All users updated.
11044 (grub_xnu_align_heap): Simplified.
11045 (grub_xnu_writetree_toheap): Likewise.
11046 (grub_xnu_unload): Unload relocator.
11047 (grub_cmd_xnu_kernel): Use relocator.
11048 (grub_cmd_xnu_kernel64): Likewise.
11049 (grub_xnu_register_memory): Simplified.
11050 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
11051 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
11052 EFI is finished.
11053 (grub_console_checkkey): Likewise.
11054 (grub_console_getkey): Likewise.
11055 (grub_console_getwh): Likewise.
11056 (grub_console_getxy): Likewise.
11057 (grub_console_gotoxy): Likewise.
11058 (grub_console_cls): Likewise.
11059 (grub_console_setcolorstate): Likewise.
11060 (grub_console_setcursor): Likewise.
11061 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
11062 * grub-core/tests/boot/kbsd.init-i386.S: New file.
11063 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
11064 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
11065 * grub-core/tests/boot/kernel-8086.S: Likewise.
11066 * grub-core/tests/boot/kernel-i386.S: Likewise.
11067 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
11068 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
11069 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
11070 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
11071 * grub-core/tests/boot/knetbsd.cfg: Likewise.
11072 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
11073 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
11074 * grub-core/tests/boot/linux.cfg: Likewise.
11075 * grub-core/tests/boot/linux.init-i386.S: Likewise.
11076 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
11077 * grub-core/tests/boot/linux16.cfg: Likewise.
11078 * grub-core/tests/boot/multiboot.cfg: Likewise.
11079 * grub-core/tests/boot/multiboot2.cfg: Likewise.
11080 * grub-core/tests/boot/ntldr.cfg: Likewise.
11081 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
11082 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
11083 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
11084 New definition.
11085 * include/grub/dl.h (grub_dl_unload_all): Removed.
11086 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
11087 (grub_efi_finish_boot_services): Change prototype.
11088 (grub_efi_is_finished): New variable.
11089 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
11090 Changed prototype.
11091 (grub_efiemu_finish_boot_services): Removed.
11092 (grub_machine_efiemu_init_tables): New prototype.
11093 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
11094 (grub_elf64_phdr_iterate): Likewise.
11095 * include/grub/i386/bsd.h: Include relocator.h.
11096 (freebsd_tag_header): New struct.
11097 (grub_openbsd_bios_mmap): Removed.
11098 (grub_unix_real_boot): Removed.
11099 (grub_freebsd_load_elfmodule32): Changed prototype.
11100 (grub_freebsd_load_elfmodule_obj64): Likewise.
11101 (grub_freebsd_load_elf_meta32): Likewise.
11102 (grub_freebsd_load_elf_meta64): Likewise.
11103 (grub_freebsd_add_meta): Removed.
11104 (grub_netbsd_load_elf_meta32): New prototype.
11105 (grub_netbsd_load_elf_meta64): Likewise.
11106 (grub_bsd_add_meta): Likewise.
11107 (grub_openbsd_ramdisk_descriptor): New struct.
11108 (grub_openbsd_find_ramdisk32): New prototype.
11109 (grub_openbsd_find_ramdisk64): Likewise.
11110 * include/grub/i386/coreboot/loader.h: Removed.
11111 * include/grub/i386/efi/loader.h: Likewise.
11112 * include/grub/i386/ieee1275/loader.h: Likewise.
11113 * include/grub/i386/linux.h (linux_kernel_header): Change void *
11114 to grub_uint32_t.
11115 * include/grub/i386/loader.h: Removed.
11116 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
11117 value.
11118 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
11119 (grub_phys_addr_t): New type.
11120 (grub_vtop): New inline function.
11121 (grub_map_memory): Likewise.
11122 (grub_unmap_memory): Likewise.
11123 * include/grub/i386/multiboot/loader.h: Removed.
11124 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
11125 (NETBSD_BTINFO_CONSOLE): New definition.
11126 (NETBSD_BTINFO_SYMTAB): Likewise.
11127 (NETBSD_BTINFO_MODULES): Likewise.
11128 (NETBSD_BTINFO_FRAMEBUF): Likewise.
11129 (grub_netbsd_bootinfo): New struct.
11130 (grub_netbsd_btinfo_common): Use explicit bitsize.
11131 (grub_netbsd_btinfo_mmap_entry): Removed.
11132 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
11133 (grub_netbsd_btinfo_bootdisk): New struct.
11134 (grub_netbsd_btinfo_symtab): Likewise.
11135 (grub_netbsd_btinfo_serial): Likewise.
11136 (grub_netbsd_btinfo_modules): Likewise.
11137 (grub_netbsd_btinfo_framebuf): Likewise.
11138 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
11139 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
11140 Likewise.
11141 (grub_openbsd_bootargs): Use explicit bitsize.
11142 (grub_openbsd_bootarg_console): New struct.
11143 (GRUB_OPENBSD_COM_MAJOR): New definition.
11144 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
11145 * include/grub/i386/pc/efiemu.h: Removed.
11146 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
11147 * include/grub/i386/qemu/loader.h: Removed.
11148 * include/grub/i386/relocator.h: Rewritten.
11149 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
11150 * include/grub/mips/memory.h: New file.
11151 * include/grub/mips/multiboot.h: Rewritten.
11152 * include/grub/mips/relocator.h: Rewritten.
11153 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
11154 (grub_vtop): New function.
11155 (grub_map_memory): Likewise.
11156 (grub_unmap_memory): Likewise.
11157 * include/grub/misc.h (ALIGN_DOWN): New definition.
11158 * include/grub/mm.h (grub_mm_check_real): New proto.
11159 (GRUB_MM_CHECK): New definition.
11160 * include/grub/mm_private.h: New file.
11161 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
11162 (grub_multiboot_get_mbi_size): Removed.
11163 (grub_multiboot_make_mbi): Change prottype.
11164 (grub_multiboot_set_accepts_video): New proto.
11165 (grub_multiboot_add_elfsyms): Likewise.
11166 (grub_multiboot_payload_eip): New variable.
11167 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
11168 New prototype.
11169 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
11170 New definition.
11171 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
11172 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
11173 * include/grub/powerpc/ieee1275/loader.h: Removed.
11174 * include/grub/powerpc/memory.h: New file.
11175 * include/grub/powerpc/relocator.h: Likewise.
11176 * include/grub/relocator.h: Likewise.
11177 * include/grub/relocator_private.h: Likewise.
11178 * include/grub/sparc64/ieee1275/loader.h: Removed.
11179 * include/grub/x86_64/memory.h: New file.
11180 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
11181 (grub_xnu_heap_malloc): Likewise.
11182 (grub_xnu_heap_real_start): Removed.
11183 (grub_xnu_heap_start): Likewise.
11184 (grub_xnu_relocator): New variable.
11185 (grub_xnu_heap_target_start): Likewise.
11186 * tests/util/grub-shell.in: Support non-pc.
11187 * util/grub-mkimage.c (image_targets): Fix multiboot target.
11188
11189 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
11192 on malloc error.
11193 (grub_bidi_logical_to_visual): Check that malloc succeded.
11194 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
11195 puts.
11196 (grub_xputs_normal): Likewise.
11197
11198 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
11201 extra_dist.
11202
11203 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/efiemu/runtime/efiemu.sh: Removed.
11206
11207 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
11210
11211 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
11214 dprintf.
11215
11216 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
11217
11218 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
11219
11220 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/normal/term.c (print_more): Fix a memory leak.
11223 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
11224 (grub_xputs_normal): Likewise.
11225
11226 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
11229 the begining of the string
11230
11231 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * grub-core/script/script.c (grub_script_parse): Free parsed on
11234 failure.
11235
11236 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
11239 on failure.
11240
11241 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
11244 return.
11245
11246 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
11249 (scroll_up): Fix a memory leak.
11250
11251 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
11254 errors.
11255
11256 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 Handle USB pendrives exposed as floppies.
11259
11260 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
11261 floppy.
11262 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11263 Check for partitions on all devices.
11264
11265 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
11268 (readkey): Likewise.
11269
11270 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11271
11272 Multiple variable names support to "export" command.
11273
11274 * normal/context.c (grub_cmd_export): "export" command supports
11275 multiple variable names.
11276
11277 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
11278
11279 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
11280 --target=drive output to Mach device name.
11281
11282 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11283
11284 New Automake based build system for GRUB.
11285
11286 * ABOUT-NLS: New file.
11287 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
11288 in Makefile.util.def file.
11289 * Makefile.util.def: New file. Autogen build definitions file for
11290 GRUB host utils.
11291 * conf/Makefile.common: New file. Common variables for GRUB host
11292 utils and target modules.
11293 * conf/Makefile.extra-dist: New file. Extra files for make dist.
11294 * docs/Makefile.am: New file. Automake file for docs.
11295 * gentpl.py: New file. Python script to generate Autogen
11296 template.
11297 * grub-core/Makefile.am: New file. GRUB target modules' rules
11298 that doesn't fit in Makefile.core.def file.
11299 * grub-core/Makefile.core.def: New file. Autogen build
11300 definitions file for GRUB target modules.
11301 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11302 specific setjmp.S file.
11303 * po/Makefile.am: New file.
11304
11305 * .bzrignore: New ignores.
11306 * INSTALL: New requirements, without Ruby.
11307 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11308 * autogen.sh: Updated to invoke autogen as necessary.
11309 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11310 and defines for Automake conditionals.
11311 * geninit.sh: Refactoring.
11312
11313 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11314 necessary.
11315 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11316 New prototype.
11317
11318 * include/grub/test.h: Fix functional test modules' naming.
11319 * grub-core/tests/example_functional_test.c: Fix test module name.
11320
11321 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11322 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11323 * util/grub-editenv.c: Likewise.
11324 * util/grub-fstest.c: Likewise.
11325 * util/grub-mkdevicemap.c: Likewise.
11326 * util/grub-mkfont.c: Likewise.
11327 * util/grub-mkimage.c: Likewise.
11328 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11329 * util/grub-probe.c: Likewise.
11330 * util/grub-script-check.c: Likewise.
11331 * util/i386/pc/grub-setup.c: Likewise.
11332 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11333
11334 * tests/util/grub-shell.in: Fix override directory path.
11335 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11336 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11337
11338 * util/lvm.c: Update #includes.
11339 * util/raid.c: Likewise.
11340 * util/resolve.c: Likewise.
11341 * grub-core/bus/emu/pci.c: Likewise.
11342 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11343 * grub-core/lib/posix_wrap/string.h: Likewise.
11344 * grub-core/kern/emu/main.c: Likewise.
11345
11346 * grub-core/gensymlist.sh: New file. Script for generating kernel
11347 symbols file.
11348 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11349
11350 * grub-core/gentrigtables.c: Fix unused variable warnings.
11351
11352 * Makefile.in: Removed.
11353 * conf/any-emu.rmk: Removed.
11354 * conf/common.rmk: Removed.
11355 * conf/i386-coreboot.rmk: Removed.
11356 * conf/i386-efi.rmk: Removed.
11357 * conf/i386-ieee1275.rmk: Removed.
11358 * conf/i386-multiboot.rmk: Removed.
11359 * conf/i386-pc.rmk: Removed.
11360 * conf/i386-qemu.rmk: Removed.
11361 * conf/i386.rmk: Removed.
11362 * conf/mips-yeeloong.rmk: Removed.
11363 * conf/mips.rmk: Removed.
11364 * conf/powerpc-ieee1275.rmk: Removed.
11365 * conf/sparc64-ieee1275.rmk: Removed.
11366 * conf/tests.rmk: Removed.
11367 * conf/x86-efi.rmk: Removed.
11368 * conf/x86_64-efi.rmk: Removed.
11369 * gendistlist.sh: Removed.
11370 * geninitheader.sh: Removed.
11371 * genkernsyms.sh.in: Removed.
11372 * genmk.rb: Removed.
11373 * gensymlist.sh.in: Removed.
11374 * mkinstalldirs: Removed.
11375 * boot: Moved ...
11376 * grub-core/boot: ... to here.
11377 * bus: Moved ...
11378 * grub-core/bus: ... to here.
11379 * commands: Moved ...
11380 * grub-core/commands: ... to here.
11381 * disk: Moved ...
11382 * grub-core/disk: ... to here.
11383 * efiemu: Moved ...
11384 * grub-core/efiemu: ... to here.
11385 * font: Moved ...
11386 * grub-core/font: ... to here.
11387 * fs: Moved ...
11388 * grub-core/fs: ... to here.
11389 * gencmdlist.sh: Moved ...
11390 * grub-core/gencmdlist.sh: ... to here.
11391 * genemuinit.sh: Moved ...
11392 * grub-core/genemuinit.sh: ... to here.
11393 * genemuinitheader.sh: Moved ...
11394 * grub-core/genemuinitheader.sh: ... to here.
11395 * genfslist.sh: Moved ...
11396 * grub-core/genfslist.sh: ... to here.
11397 * genhandlerlist.sh: Moved ...
11398 * grub-core/genhandlerlist.sh: ... to here.
11399 * genmoddep.awk: Moved ...
11400 * grub-core/genmoddep.awk: ... to here.
11401 * genmodsrc.sh: Moved ...
11402 * grub-core/genmodsrc.sh: ... to here.
11403 * genpartmaplist.sh: Moved ...
11404 * grub-core/genpartmaplist.sh: ... to here.
11405 * genparttoollist.sh: Moved ...
11406 * grub-core/genparttoollist.sh: ... to here.
11407 * genterminallist.sh: Moved ...
11408 * grub-core/genterminallist.sh: ... to here.
11409 * gentrigtables.c: Moved ...
11410 * grub-core/gentrigtables.c: ... to here.
11411 * genvideolist.sh: Moved ...
11412 * grub-core/genvideolist.sh: ... to here.
11413 * gettext: Moved ...
11414 * grub-core/gettext: ... to here.
11415 * gfxmenu: Moved ...
11416 * grub-core/gfxmenu: ... to here.
11417 * gnulib: Moved ...
11418 * grub-core/gnulib: ... to here.
11419 * hello: Moved ...
11420 * grub-core/hello: ... to here.
11421 * hook: Moved ...
11422 * grub-core/hook: ... to here.
11423 * io: Moved ...
11424 * grub-core/io: ... to here.
11425 * kern: Moved ...
11426 * grub-core/kern: ... to here.
11427 * lib: Moved ...
11428 * grub-core/lib: ... to here.
11429 * loader: Moved ...
11430 * grub-core/loader: ... to here.
11431 * mmap: Moved ...
11432 * grub-core/mmap: ... to here.
11433 * normal: Moved ...
11434 * grub-core/normal: ... to here.
11435 * partmap: Moved ...
11436 * grub-core/partmap: ... to here.
11437 * parttool: Moved ...
11438 * grub-core/parttool: ... to here.
11439 * script: Moved ...
11440 * grub-core/script: ... to here.
11441 * term: Moved ...
11442 * grub-core/term: ... to here
11443 * tests/example_functional_test.c: Moved ...
11444 * grub-core/tests/example_functional_test.c: ... to here.
11445 * tests/lib/functional_test.c: Moved ...
11446 * grub-core/tests/lib/functional_test.c: ... to here.
11447 * tests/lib/test.c: Moved ...
11448 * grub-core/tests/lib/test.c: ... to here.
11449 * video: Moved ...
11450 * grub-core/video: ... to here.
11451
11452 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11453
11454 Replace --enable-grub-emu-modules with grub-emu-lite.
11455
11456 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11457 cache.S.
11458
11459 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11460 * kern/emu/full.c: New file. For grub-emu specific initialization.
11461 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11462 * kern/emu/main.c: Call initialization function grub_emu_init.
11463
11464 * Makefile.in: Include grub-emu-lite in install.
11465 * commands/parttool.c: Use grub_no_autoload to differentiate
11466 between grub-emu and grub-emu-lite.
11467 * include/grub/misc.h: New variable grub_no_autoload.
11468
11469 * conf/any-emu.rmk: New rules for grub-emu-lite.
11470 * configure.ac: Remove --enable-grub-emu-modules.
11471 * genmk.rb: Cleanup unnecessary rules.
11472 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11473
11474 * normal/main.c: Don't load list files on grub-emu-lite.
11475 * util/misc.c (grub_arch_sync_caches): Removed.
11476
11477 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
11478
11479 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11480 grub-mkimage rather than grub-mkelfimage.
11481 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11482
11483 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11486 a key after CapsLock or NumLock. It's just a qemu bug.
11487
11488 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11491 needed by libusb wrapper.
11492
11493 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11494
11495 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11496
11497 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11500 --nounzip is passed.
11501
11502 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 USB hotunplugging and USB serial support.
11505
11506 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11507 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11508 (grub_uhci_transfer): Respect timeout and set *actual.
11509 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11510 non-standard length.
11511 (grub_usb_device_attach): Autoload modules.
11512 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11513 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11514 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11515 users updated.
11516 (grub_usb_add_hub): Fill nports and children.
11517 (attach_root_port): Receive hub instead of controller.
11518 All users updated. Fill hub->devices.
11519 (grub_usb_root_hub): Allocate hub->devices.
11520 (detach_device): New function.
11521 (poll_nonroot_hub): Fill children and detach devices.
11522 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11523 actual arguments. All users updated.
11524 (grub_usb_bulk_read_extended): New function.
11525 * bus/usb/serial/common.c: New file.
11526 * bus/usb/serial/ftdi.c: Likewise.
11527 * bus/usb/serial/pl2303.c: Likewise.
11528 * commands/terminal.c (handle_command): Support wildcard.
11529 * commands/usbtest.c: Output "Unknown" instead of empty string.
11530 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11531 (usbserial_common_mod_SOURCES): New variable.
11532 (usbserial_common_mod_CFLAGS): Likewise.
11533 (usbserial_common_mod_LDFLAGS): Likewise.
11534 (pkglib_MODULES): Add usbserial_pl2303.mod.
11535 (usbserial_pl2303_mod_SOURCES): New variable.
11536 (usbserial_pl2303_mod_CFLAGS): Likewise.
11537 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11538 (pkglib_MODULES): Add usbserial_ftdi.mod.
11539 (usbserial_ftdi_mod_SOURCES): New variable.
11540 (usbserial_ftdi_mod_CFLAGS): Likewise.
11541 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11542 (pkglib_MODULES): Add serial.mod.
11543 (serial_mod_SOURCES): New variable.
11544 (serial_mod_CFLAGS): Likewise.
11545 (serial_mod_LDFLAGS): Likewise.
11546 * conf/i386-pc.rmk: Likewise.
11547 * conf/mips-yeeloong.rmk: Likewise.
11548 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11549 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11550 * disk/usbms.c (first_available_slot): New variable.
11551 (grub_usbms_attach): Don't reuse free slots due to potential cache
11552 problems.
11553 * include/grub/serial.h: Moved to ..
11554 * include/grub/ns8250.h: ...this.
11555 * include/grub/serial.h: New file.
11556 * include/grub/term.h (grub_term_poll_usb): New variable.
11557 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11558 readkey. All users updated.
11559 (grub_terminfo_output_state): Pass term to put.
11560 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11561 (grub_usb_controller_dev): Add timeout and actual arguments to
11562 transfer. All users updated.
11563 (grub_usb_interface): New field detach_data.
11564 (grub_usb_device): New fields children and nports.
11565 (grub_usb_ep_type_t): New type.
11566 (grub_usb_get_ep_type): New function.
11567 (grub_usb_bulk_read_extended): Likewise.
11568 * include/grub/usbdesc.h (grub_usb_desc): New type.
11569 * include/grub/usbserial.h: New file.
11570 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11571 * kern/term.c (grub_term_poll_usb): New variable.
11572 (grub_getkey): Call grub_term_poll_usb if set.
11573 (grub_checkkey): Likewise.
11574 (grub_getkeystatus): Likewise.
11575 * term/serial.c: Moved controller-specific parts to ...
11576 * term/ns8250.c: ... here.
11577 * term/serial.c: Mostly rewritten.
11578 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11579 according to spec.
11580
11581 2010-08-20 Robert Millan <rmh@gnu.org>
11582
11583 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11584 a separate module and maybe other interesting combinations.
11585
11586 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11587 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11588 (kfreebsd_entry): Add generic filesystem module load routine.
11589 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11590
11591 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11592
11593 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11594 "numcenter" (I misunderstood the purpose of this entry).
11595 * docs/grub.texi (sendkey): Likewise.
11596
11597 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11598
11599 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11600 status flag options; simply omitting the option is equivalent and
11601 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11602 (keysym_table): Rename "num5numlock" to "numlock".
11603 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11604 can uniformly say that only the last of multiple `sendkey'
11605 invocations has any effect.
11606 * docs/grub.texi (sendkey): New section.
11607
11608 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
11609
11610 * commands/i386/pc/sendkey.c (options): Fix three typos.
11611
11612 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 Implement sendkey support.
11615
11616 * commands/i386/pc/sendkey.c: New file.
11617 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11618 (sendkey_mod_SOURCES): New variable.
11619 (sendkey_mod_CFLAGS): Likewise.
11620 (sendkey_mod_LDFLAGS): Likewise.
11621
11622 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11623
11624 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11625 fix warnings from Autoconf.
11626
11627 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11628
11629 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11630 to avoid false positives with some assemblers that output things
11631 like "someprefix_func" as part of their output.
11632
11633 2010-08-15 Robert Millan <rmh@gnu.org>
11634
11635 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11636 errors.
11637 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11638 grub_get_libzfs_handle() errors.
11639
11640 2010-08-14 Robert Millan <rmh@gnu.org>
11641
11642 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11643 filesystem is not ZFS.
11644
11645 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11646
11647 Fix for misspelled color names defaulting to black/black (bug
11648 reported by Doug Nazar)
11649
11650 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11651 status to prototype.
11652 * normal/color.c (grub_parse_color_name_pair): Return failure
11653 status.
11654 (grub_env_write_color_normal): Ignore bad color names.
11655 (grub_env_write_color_highlight): Likewise.
11656 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11657
11658 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11659
11660 "shift" command support to GRUB script.
11661
11662 * include/grub/script_sh.h (grub_script_shift): New prototype.
11663 * script/execute.c (grub_script_shift): New function.
11664 * script/main.c (grub_script_init): Register shift command.
11665 (grub_script_fini): Unregister shift command.
11666 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11667
11668 * tests/grub_script_shift.in: New testcase.
11669 * conf/tests.rmk: Rules for new testcase.
11670
11671 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11672
11673 "continue" command support to GRUB script.
11674
11675 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11676 (grub_script_break): Continue support.
11677 * script/main.c (grub_script_init): Register continue command.
11678 (grub_script_fini): Unregister continue command.
11679
11680 * tests/grub_script_continue.in: New testcase.
11681 * conf/tests.rmk: Rules for new testcase.
11682
11683 2010-08-12 BVK Chaitanya <bvk@dbook>
11684
11685 "break" command support to GRUB script.
11686
11687 * conf/common.rmk: Rule updates to grub-script-check.
11688 * include/grub/misc.h (grub_min): New function.
11689 * include/grub/script_sh.h (grub_script_init): New prototype.
11690 (grub_script_fini): New prototype.
11691 (grub_script_break): New prototype.
11692 * script/main.c (grub_script_init): New function.
11693 (grub_script_fini): New function.
11694 * script/execute.c (grub_script_break): New function.
11695 * normal/main.c: Calls to grub_script_{init,fini}.
11696 * util/grub-script-check.c (grub_script_break): New function.
11697
11698 * tests/grub_script_break.in: New testcase.
11699 * conf/tests.rmk: Rules for new test case.
11700
11701 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11702
11703 Function parameters support to GRUB script.
11704
11705 * script/yylex.l (VARIABLE): Regular expression update.
11706 * script/function.c (grub_script_function_call): Moved ...
11707 * script/execute.c (grub_script_function_call): ... to here.
11708 (grub_script_execute_arglist_to_argv): Removed.
11709 (grub_script_arglist_to_argv): New function.
11710 * script/argv.c: New file.
11711 (grub_script_argv_free): New function.
11712 (grub_script_argv_next): Likewise.
11713 (grub_script_argv_append): Likewise.
11714 (grub_script_argv_split_append): Likewise.
11715 * include/grub/script_sh.h (grub_script_argv): New struct.
11716 (grub_script_argv_free): New function.
11717 (grub_script_argv_next): Likewise.
11718 (grub_script_argv_append): Likewise.
11719 (grub_script_argv_split_append): Likewise.
11720
11721 * conf/common.rmk (normal.mod): New source script/argv.c.
11722
11723 * tests/grub_script_echo1.in: More tests.
11724 * tests/grub_script_vars1.in: Likewise.
11725 * tests/grub_script_functions.in: New test case.
11726 * conf/tests.rmk: Rules for new testcase.
11727
11728 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11729
11730 Remove grub_script_cmdblock struct.
11731
11732 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11733 * script/parser.y: Likewise.
11734 * script/execute.c: Rename cmdblock suffix to cmdlist.
11735 * script/script.c: Likewise.
11736 * util/grub-script-check.c: Likewise.
11737
11738 2010-08-11 Yves Blusseau <blusseau@zetam.org>
11739
11740 * .bzrignore: add grub-macho2img
11741
11742 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11745
11746 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 Remove the dump of sm712 initialisation sequence.
11749
11750 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11751 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11752 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11753 (GRUB_VGA_CR_*): Added many registers.
11754 (GRUB_VGA_SR_*): Likewise.
11755 (GRUB_VGA_GR_*): Likewise.
11756 (grub_vga_write_arx): New function.
11757 (grub_video_hw_config): New struct.
11758 (grub_vga_set_geometry): New function.
11759 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11760 GRUB_PCI_CLASS_SUBCLASS_VGA.
11761 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11762 * video/sm712.c (grub_sm712_write_reg): New function
11763 (grub_sm712_read_reg): Likewise.
11764 (grub_sm712_sr_write): Likewise.
11765 (grub_sm712_gr_write): Likewise.
11766 (grub_sm712_cr_write): Likewise.
11767 (grub_sm712_write_arx): Likewise.
11768 (grub_sm712_cr_shadow_write): Likewise.
11769 (grub_sm712_write_dda_lookup): Likewise.
11770 (grub_video_sm712_setup): Initialise the video rather then
11771 blindly replay the dump.
11772 (main) [TEST]: Add a routine to be able to compile as standalone for
11773 tests.
11774 * video/sm712_init.c (sm712_init): Removed.
11775 (sm712_sr_seq1): New array.
11776 (sm712_sr_seq2): Likewise.
11777
11778 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * include/grub/vga.h: Add missing grub/pci.h include.
11781
11782 2010-08-10 Yves Blusseau <blusseau@zetam.org>
11783
11784 * util/grub-macho2img.c (main): fix typo
11785
11786 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11789 (grub_vga_gr_read): Likewise.
11790 (grub_vga_cr_write): Likewise.
11791 (grub_vga_cr_read): Likewise.
11792 (grub_vga_sr_write): Likewise.
11793 (grub_vga_sr_read): Likewise.
11794 (grub_vga_palette_read): Likewise.
11795 (grub_vga_palette_write): Likewise.
11796 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11797 (grub_sm712_sr_read): New function.
11798 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11799 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11800
11801 2010-08-09 Robert Millan <rmh@gnu.org>
11802
11803 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11804 out unused variables on non-ZFS build.
11805
11806 2010-08-08 Robert Millan <rmh@gnu.org>
11807
11808 Fix path generation for sub-filesystems in ZFS.
11809
11810 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11811 missing slash.
11812
11813 2010-08-08 Robert Millan <rmh@gnu.org>
11814
11815 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11816
11817 2010-08-08 Robert Millan <rmh@gnu.org>
11818
11819 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11820 exist, issue a proper error message (rely on `ls' for translated
11821 strings).
11822
11823 2010-08-08 Robert Millan <rmh@gnu.org>
11824
11825 Fix grub-probe invocation.
11826
11827 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11828
11829 2010-08-04 Robert Millan <rmh@gnu.org>
11830
11831 * configure.ac: Remove checks for getfsstat() and getmntany().
11832 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11833 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11834 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11835 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11836 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11837 function.
11838 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11839 via find_mount_point_from_dir() and getfsstat() / getmntany().
11840
11841 2010-08-04 Robert Millan <rmh@gnu.org>
11842
11843 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11844 (grub_find_zpool_from_mount_point): Merge into ...
11845 (grub_find_zpool_from_dir): ... this.
11846 * kern/emu/misc.c: Likewise.
11847
11848 * kern/emu/misc.c
11849 (grub_make_system_path_relative_to_its_root): Replace
11850 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11851 with grub_find_zpool_from_dir().
11852 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11853
11854 2010-08-04 Robert Millan <rmh@gnu.org>
11855
11856 Support OpenSolaris in ZFS device resolution.
11857
11858 * configure.ac: Check for getmntany().
11859 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11860 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11861 support.
11862
11863 2010-08-03 Robert Millan <rmh@gnu.org>
11864
11865 Fix grub-emu build.
11866
11867 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11868 * include/grub/emu/misc.h: ... here.
11869
11870 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11871 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11872
11873 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11874 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11875 (grub_get_libzfs_handle): Move to ...
11876 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11877 (grub_get_libzfs_handle): ... here.
11878
11879 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11880
11881 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11882 as command name case.
11883
11884 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11885
11886 * disk/raid.c (insert_array): Select unique numbers for named arrays
11887 as well, for use as keys in the disk cache.
11888
11889 2010-08-01 Robert Millan <rmh@gnu.org>
11890
11891 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11892 kFreeBSD device name, except on ZFS where the filesystem label is
11893 used.
11894 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11895 `/boot/zfs/zpool.cache'.
11896 Set mountfrom kernel variable using ${kfreebsd_device}.
11897
11898 2010-08-01 Robert Millan <rmh@gnu.org>
11899
11900 Make it even harder to use uninitialized `libzfs_handle' (and
11901 make the interface a bit simpler).
11902
11903 * include/grub/util/misc.h (grub_util_init_libzfs)
11904 (libzfs_handle): Remove.
11905 (grub_get_libzfs_handle): New prototype.
11906
11907 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11908 attribute.
11909 (grub_util_init_libzfs): Remove.
11910 (grub_get_libzfs_handle): New function.
11911
11912 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11913 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11914 accessing `libzfs_handle' directly.
11915
11916 2010-08-01 Robert Millan <rmh@gnu.org>
11917
11918 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11919 (grub_find_zpool_from_mount_point): New function prototypes.
11920
11921 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11922 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11923
11924 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11925 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11926 `static' attribute.
11927
11928 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11929 finding zpool from mount point into ...
11930 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11931
11932 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11933 requested path is part of a ZFS pool, use
11934 grub_find_zpool_from_mount_point() to detect its filesystem name,
11935 and generate a path with `/fsname@path' syntax.
11936
11937 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11938
11939 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11940 (void) rather than () so that this is a proper prototype.
11941
11942 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11945
11946 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11949 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11950
11951 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11952
11953 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11954
11955 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11956
11957 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11958
11959 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11960
11961 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11962 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11963 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11964 disable gfxpayload.
11965 (Shell-like scripting): Add real content.
11966 (Serial terminal): Suggest `terminal_input serial; terminal_output
11967 serial' rather than putting the two commands on separate lines,
11968 since console input will be inoperative after the first command.
11969 (menuentry): Document --class, --users, and --hotkey options.
11970 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11971 Vladimir Serbinenko).
11972
11973 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11974 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11975
11976 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11977
11978 2010-08-01 Robert Millan <rmh@gnu.org>
11979
11980 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11981 (grub_find_zpool_from_mount_point): New function prototypes.
11982
11983 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11984 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11985
11986 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11987 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11988 `static' attribute.
11989
11990 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11991 finding zpool from mount point into ...
11992 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11993
11994 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11995 requested path is part of a ZFS pool, use
11996 grub_find_zpool_from_mount_point() to detect its filesystem name,
11997 and generate a path with `/fsname@path' syntax.
11998
11999 2010-08-01 Robert Millan <rmh@gnu.org>
12000
12001 Prevent accidental use of uninitialized libzfs_handle.
12002
12003 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
12004 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
12005 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
12006
12007 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
12008
12009 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
12010 util/grub.d/10_linux.in). Fixes Debian bug #591093.
12011
12012 2010-08-01 Robert Millan <rmh@gnu.org>
12013
12014 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
12015
12016 2010-07-31 Robert Millan <rmh@gnu.org>
12017
12018 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
12019
12020 2010-07-31 Robert Millan <rmh@gnu.org>
12021
12022 * kern/emu/misc.c: Add missing license header.
12023
12024 2010-07-31 Robert Millan <rmh@gnu.org>
12025
12026 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
12027
12028 * include/grub/util/libnvpair.h: Include `<config.h>'.
12029 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
12030 declaring libnvpair prototypes ourselves.
12031 * include/grub/util/libzfs.h: Include `<config.h>'.
12032 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
12033 declaring libzfs prototypes ourselves.
12034
12035 (libzfs_handle): Moved to ...
12036 * include/grub/util/misc.h (libzfs_handle): ... here.
12037 Include `<grub/util/libzfs.h>'.
12038
12039 2010-07-30 Robert Millan <rmh@gnu.org>
12040
12041 * include/grub/emu/misc.h: Add missing license header.
12042
12043 2010-07-30 Robert Millan <rmh@gnu.org>
12044
12045 Enable `grub-probe -t device' resolution on ZFS.
12046
12047 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
12048 * include/grub/util/libnvpair.h: New file.
12049 * include/grub/util/libzfs.h: New file.
12050
12051 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
12052 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
12053 `<grub/util/libnvpair.h>'.
12054 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
12055
12056 (find_mount_point_from_dir): New static function.
12057 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
12058 function.
12059 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
12060 find_root_device_from_libzfs() before ressorting to find_root_device().
12061
12062 * include/grub/util/misc.h (grub_util_init_libzfs): New function
12063 prototype.
12064 * util/misc.c: Include `<grub/util/libzfs.h>'.
12065 (grub_util_init_libzfs): New function.
12066 [HAVE_LIBZFS] (libzfs_handle): New global variable.
12067 [HAVE_LIBZFS] (fini_libzfs): New static function.
12068 (grub_util_init_libzfs): New function.
12069 * util/grub-probe.c (main): Call grub_util_init_libzfs().
12070
12071 2010-07-30 Robert Millan <rmh@gnu.org>
12072
12073 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
12074 (xmalloc, xrealloc, xstrdup, xasprintf): Add
12075 `warn_unused_result' attribute.
12076 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
12077 (grub_xasprintf, grub_xvasprintf): Likewise.
12078 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
12079
12080 2010-07-29 Robert Millan <rmh@gnu.org>
12081
12082 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
12083 (probe): Handle `PRINT_FS_LABEL'.
12084 (main): Handle `-t fs_label'.
12085
12086 2010-07-29 Robert Millan <rmh@gnu.org>
12087
12088 * configure.ac: Remove grub-mkisofs checks.
12089
12090 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * util/ieee1275/grub-install.in: Don't use empty grub_device.
12093 Reported by: Lennart Sorensen.
12094
12095 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
12098 prior to terminal_input/terminal_output separation. It's been over 1.5
12099 years and those versions weren't widely deployed.
12100
12101 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
12102
12103 * disk/raid.c (insert_array): Don't count named arrays when looking
12104 for unused array numbers.
12105 Reported and tested by: Michael Guntsche.
12106
12107 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12108
12109 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
12110 implementation of this so that grub-emu links again, with a note
12111 that this should support hotplugging in the future.
12112
12113 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12114
12115 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12116
12117 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12118
12119 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
12120 handle on failure.
12121 (grub_loopback_close): Remove empty function.
12122 (grub_loopback_dev): Remove close method.
12123
12124 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12125
12126 Disable EFI cursor when the EFI console becomes inactive.
12127
12128 * term/efi/console.c (grub_efi_console_init): New function.
12129 (grub_efi_console_fini): New function.
12130 (grub_console_term_output): Register init and fini methods.
12131
12132 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 * tests/util/grub-shell-tester.in: Remove bashism and declare as
12135 sh script.
12136
12137 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * disk/loopback.c (grub_loopback): Replace filename with file.
12140 (delete_loopback): Handle new semantics.
12141 (grub_cmd_loopback): Likewise.
12142 (grub_loopback_iterate): Likewise.
12143 (grub_loopback_close): Likewise.
12144
12145 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
12148 with -p "".
12149 Reported by: Tito Keitel.
12150
12151 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * docs/grub.texi (Naming convention): Document new naming convention.
12154
12155 2010-07-20 Vadim Solomin <vadic052@gmail.com>
12156 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12157
12158 Generate device.map in something closer to the old ordering.
12159
12160 * util/deviceiter.c (struct device): New declaration.
12161 (compare_file_names): Rename to ...
12162 (compare_devices): ... this. Sort by kernel name in preference to
12163 the stable by-id name, but keep the latter as a fallback comparison.
12164 Update header comment.
12165 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
12166 of `struct device' rather than of plain file names.
12167
12168 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
12169
12170 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
12171 on i386.
12172
12173 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 * commands/acpi.c (setup_common_tables): Use sizeof instead of
12176 hardcoding size.
12177 (setv1table): Likewise.
12178
12179 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12180
12181 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
12182 removing the homehost if present.
12183 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
12184 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
12185 removing the homehost if present.
12186 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
12187 if possible.
12188 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
12189
12190 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
12191 parameter. Set its pointer target to 0.
12192 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
12193 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
12194 `data_offset' value from the superblock for 1.x metadata.
12195 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
12196 data on the device.
12197 (insert_array): Record the start sector of data on the device.
12198 (grub_raid_register): Pass start_sector parameters to
12199 grub_raid_list->detect and insert_array.
12200 * include/grub/raid.h (struct grub_raid_array): Add start_sector
12201 member.
12202 (struct grub_raid): Add start_sector parameter to `detect'.
12203
12204 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
12205 __attribute__ ((packed)), leaving a comment.
12206 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
12207 (grub_mdraid_detect_09): ... here and ...
12208 (grub_mdraid_detect_1x): ... here.
12209
12210 2010-07-20 Peter Henn <peter.henn@web.de>
12211
12212 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
12213 chunk size and disk size, which are already given as sector counts
12214 as distinct from the 0.90 units. Fetch the correct device number
12215 from the role table instead of using the table index.
12216
12217 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
12218
12219 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
12220 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
12221 (WriteMostly1): New macro.
12222 Set array->name to NULL for metadata format 0.90. Add support for
12223 metadata 1.x. Fix some comments.
12224 * disk/raid.c (): Add support for name based RAID arrays. Fix a
12225 few comments.
12226 * util/getroot.c (grub_util_get_grub_dev): Add support for
12227 /dev/md/name style devices.
12228
12229 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12230
12231 * .bzrignore: Ignore 20_linux_xen.
12232
12233 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
12234
12235 * util/import_unicode.py: Remove unnecessary imports.
12236
12237 2010-07-17 Aleš Nesrsta <starous@volny.cz>
12238
12239 Hotplugging and USB hub support.
12240
12241 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
12242 (grub_ohci): Likewise.
12243 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12244 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
12245 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
12246 (GRUB_OHCI_CTRL_EDS): Likewise.
12247 (GRUB_OHCI_BULK_EDS): Likewise.
12248 (GRUB_OHCI_TDS): Likewise.
12249 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
12250 (grub_ohci_ed_phys2virt): New function.
12251 (grub_ohci_virt_to_phys): Likewise.
12252 (grub_ohci_td_phys2virt): Likewise.
12253 (grub_ohci_td_virt2phys): Likewise.
12254 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
12255 attachment.
12256 (grub_ohci_find_ed): New function.
12257 (grub_ohci_alloc_td): Likewise.
12258 (grub_ohci_free_td): Likewise.
12259 (grub_ohci_free_tds): Likewise.
12260 (grub_ohci_transfer): Use previously allocated memory.
12261 (grub_ohci_portstatus): Reset status changed bit.
12262 (grub_ohci_detect_dev): Supply status changed.
12263 (grub_ohci_fini_hw): Free memory.
12264 (grub_ohci_restore_hw): Reallocate memory.
12265 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
12266 Reset status change.
12267 (grub_uhci_detect_dev): Supply status_change.
12268 * bus/usb/usb.c (attach_hooks): New var.
12269 (grub_usb_device_attach): New function.
12270 (grub_usb_register_attach_hook_class): Likewise.
12271 (grub_usb_unregister_attach_hook_class): Likewise.
12272 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
12273 (grub_usb_add_hub): Reset connection changed bit.
12274 (attach_root_port): New function.
12275 (grub_usb_root_hub): Likewise.
12276 (poll_nonroot_hub): Likewise.
12277 (grub_usb_poll_devices): Likewise.
12278 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
12279 * disk/usbms.c (grub_usbms_open): Use device hooks.
12280 (grub_usbms_iterate) :Poll devices.
12281 (grub_usbms_finddevs): Split into ...
12282 (grub_usbms_attach): ... this ...
12283 (grub_usbms_attach): ... and this.
12284 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
12285 in detect_dev.
12286 (grub_usb_interface): New fields attached and detach_hook.
12287 (grub_usb_attach_hook_class): New type.
12288 (grub_usb_attach_desc): New struct.
12289 (grub_usb_register_attach_hook_class): New function.
12290 (grub_usb_unregister_attach_hook_class): Likewise.
12291 (grub_usb_poll_devices): Likewise.
12292 (grub_usb_device_attach): Likewise.
12293 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
12294 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
12295
12296 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12299 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12300 delta determination style. Works with most NetBSD partitions too.
12301
12302 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12305 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12306
12307 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12310
12311 2010-07-14 Anton Blanchard <anton@samba.org>
12312
12313 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12314 ET_DYN files.
12315
12316 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12317
12318 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12319
12320 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12321
12322 * kern/partition.c (grub_partition_check_containment): New function to
12323 check that a partition is physically contained in a parent. Since
12324 offsets are relative (and non-negative), this reduces to checking that
12325 the partition ends before its parent.
12326 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12327 (grub_partition_iterate): Likewise.
12328 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12329 comments.
12330 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12331 partitions that start before their parent, and add debug printfs.
12332
12333 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
12334
12335 * Makefile.in (.SUFFIX): Spell correctly, as ...
12336 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12337 bare module name without `.mod', e.g. `test') tried to invoke a
12338 Modula-2 compiler.
12339
12340 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
12341
12342 * README: Point to the Info manual.
12343
12344 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
12345
12346 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12347 2nd superblock position from partition size.
12348
12349 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
12350
12351 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12352 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12353 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12354 outputs.
12355
12356 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 Restructure SCSI .id handling.
12359 Reported and tested by: Aleš Nesrsta.
12360
12361 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12362 (grub_atapi_dev): Changed .name to "ata". New field .id.
12363 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12364 (grub_usbms_dev): New field .id.
12365 * disk/scsi.c (grub_scsi_iterate): Generate name.
12366 (grub_scsi_open): Parse name.
12367 * include/grub/scsi.h (grub_make_scsi_id): New function.
12368 (grub_scsi_dev): Change iterate and open to number instead of naming
12369 busses. All users updated.
12370 (grub_scsi): Remove name. Add .bus.
12371
12372 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * commands/help.c (grub_cmd_help): Fix a typo.
12375
12376 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12379 Reported and tested by: Colin Watson.
12380
12381 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12384 in this context.
12385
12386 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12389
12390 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
12391
12392 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12393 indentation.
12394
12395 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12396
12397 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12398 and disk/raid6_recover.c.
12399 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12400 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12401
12402 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12403
12404 * term/gfxterm.c (repaint_schedulded): Rename to ...
12405 (repaint_scheduled): ... this. Update all callers.
12406 (repaint_was_schedulded): Rename to ...
12407 (repaint_was_scheduled): ... this. Update all callers.
12408
12409 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12410
12411 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12412 which we expect to be handled by upper layers.
12413
12414 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12415
12416 * bus/usb/usbhub.c: #include time.h header.
12417
12418 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12419
12420 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12421 entry_name also for entries without stat blocks (e.g. ".."); fixes
12422 corruption of the first entry in a directory.
12423
12424 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12425
12426 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12427 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12428 doesn't work otherwise.
12429
12430 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12431
12432 * docs/grub.texi (Features): Update list of supported file systems.
12433 (GNU/Linux): Update for GRUB 2.
12434 (Serial terminal): Remove mention of --disable-serial, which was a
12435 GRUB Legacy configure option. Update instructions to use
12436 `terminal_input' and `terminal_output' rather than `terminal'.
12437 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12438 configuration' and `Installing GRUB using grub-install'.
12439 (Menu entry editor): Update for GRUB 2.
12440 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12441 Document new -a, -u, and -v options.
12442 (initrd): New section.
12443 (initrd16): New section.
12444 (linux): New section.
12445 (linux16): New section.
12446 (search): The `var' argument to `--set' is optional.
12447 (GRUB only offers a rescue shell): Go into a little more detail on
12448 drive ordering.
12449
12450 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12451
12452 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12453
12454 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12455
12456 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12457 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12458
12459 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12460
12461 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12462 install_prefix, in line with install_dos_part and install_bsd_part.
12463 Add new prefix variable, which is copied to install_prefix after
12464 comparing core.img in memory with the one read from disk in the
12465 no-embedding case, and use that rather than overwriting
12466 install_prefix immediately when installing to a partition.
12467 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12468 Bicakci.
12469
12470 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12471
12472 * configure.ac: Avoid == in test command, it's not portable.
12473 * util/grub.d/30_os-prober.in: Likewise.
12474
12475 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
12476
12477 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12478
12479 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12480
12481 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12482 multiple (top-level) partmaps.
12483
12484 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12485
12486 * util/i386/efi/grub-install.in: Don't use empty grub_device.
12487 Reported by: Tino Keitel.
12488
12489 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Bidi and diacritics support.
12492
12493 * Makefile.in (widthspec.bin): New target.
12494 (widthspec.h): Likewise.
12495 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12496 * autogen.sh: Generate unidata.c.
12497 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12498 * commands/ls.c (grub_ls_list_devices): Likewise.
12499 (grub_ls_list_files): Likewise.
12500 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12501 (grub_mini_cmd_lsmod): Likewise.
12502 * commands/read.c: Likewise.
12503 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12504 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12505 * lib/arg.c (grub_arg_show_help): Likewise.
12506 * lib/crypto.c (grub_password_get): Likewise.
12507 * normal/auth.c (grub_username_get): Likewise.
12508 * normal/misc.c (grub_normal_print_device_info): Likewise.
12509 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12510 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12511 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12512 (normal/charset.c_DEPENDENCIES): New variable.
12513 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12514 (pkglib_MODULES): Remove charset.mod.
12515 (charset_mod_SOURCES): Removed.
12516 (charset_mod_CFLAGS): Likewise.
12517 (charset_mod_LDFLAGS): Likewise.
12518 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12519 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12520 and term/tparm.c.
12521 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12522 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12523 (kernel_img_HEADERS): Add terminfo.h.
12524 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12525 Fill ->font. Reverse ascii bitmaps.
12526 (grub_font_get_xheight): New function.
12527 * font/font.c (grub_font_get_string_width): Moved from here ...
12528 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12529 * font/font.c (grub_font_draw_string): Moved from here ...
12530 * gfxmenu/font.c (grub_font_draw_string): ... here.
12531 * font/font.c (grub_font_dup_glyph): New function.
12532 (grub_font_blit_glyph): Likewise.
12533 (grub_font_blit_glyph_mirror): Likewise.
12534 (blit_comb): Likewise.
12535 (grub_font_construct_dry_run): Likewise.
12536 (grub_font_get_constructed_device_width): Likewise.
12537 (grub_font_construct_glyph): Likewise.
12538 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12539 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12540 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12541 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12542 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12543 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12544 (grub_font_get_xheight): New proto.
12545 (grub_font_get_constructed_device_width): Likewise.
12546 (grub_font_construct_glyph): Likewise.
12547 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12548 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12549 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12550 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12551 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12552 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12553 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12554 (grub_console_getcharwidth): Likewise.
12555 * include/grub/misc.h (grub_xputs): New proto.
12556 (grub_puts): Inlined.
12557 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12558 (grub_normal_get_line_counter): Removed.
12559 (grub_install_newline_hook): Likewise.
12560 (grub_normal_get_char_counter): New proto.
12561 (grub_normal_reset_more): Likewise.
12562 (grub_xputs_normal): Likewise.
12563 * include/grub/powerpc/ieee1275/console.h: Removed.
12564 * include/grub/sparc64/ieee1275/console.h: Likewise.
12565 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12566 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12567 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12568 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12569 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12570 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12571 (grub_term_input): Pass reference to self. All users updated.
12572 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12573 Pass reference to self. New fields normal_color, highlight_color and
12574 data. All users updated.
12575 (grub_putchar): Removed.
12576 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12577 (grub_unicode_estimate_width): New function.
12578 (grub_term_getcharwidth): Add defaults.
12579 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12580 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12581 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12582 (grub_cls): Remove EXPORT_FUNC.
12583 (grub_setcolorstate): Inline.
12584 (grub_newline_hook): Removed.
12585 * include/grub/terminfo.h: Rewritten. All users updated.
12586 * include/grub/unicode.h: New file.
12587 * include/grub/video.h (grub_video_signed_rect): New type.
12588 * kern/emu/console.c (grub_console_highlight_color): Removed.
12589 (grub_console_normal_color): Likewise.
12590 (grub_console_standard_color): Made static.
12591 (grub_ncurses_putchar): Remove mapping.
12592 (grub_ncurses_getcharwidth): Removed.
12593 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12594 (grub_ncurses_setcolor): Removed.
12595 (grub_ncurses_getcolor): Likewise.
12596 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12597 (grub_console_putchar): ... this.
12598 (grub_console_putchar): Handle argument difference.
12599 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12600 console_init_early and console_init_lately.
12601 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12602 * kern/misc.c (grub_puts): Removed.
12603 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12604 (grub_vsnprintf_real): Remove str = NULL support.
12605 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12606 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12607 * kern/term.c (grub_putcode): Renamed to ...
12608 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12609 (grub_putchar): Removed.
12610 (grub_xputs_dumb): New function.
12611 (grub_xputs): New variable.
12612 * lib/charset.c: Move from here ...
12613 * normal/charset.c: ... to here.
12614 (grub_ucs4_to_utf8): New function.
12615 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12616 (join_types): New variable.
12617 (unpack_join): New function.
12618 (bidi_types): New variable.
12619 (unpack_bidi): New function.
12620 (get_bidi_type): Likewise.
12621 (get_join_type): Likewise.
12622 (is_mirrored): Likewise.
12623 (grub_unicode_get_comb_type): Likewise.
12624 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12625 (is_type_after): Likewise.
12626 (grub_unicode_aglomerate_comb): Likewise.
12627 (bidi_line_wrap): Likewise.
12628 (grub_bidi_line_logical_to_visual): Likewise.
12629 (grub_bidi_logical_to_visual): Likewise.
12630 (grub_unicode_mirror_code): Likewise.
12631 (grub_unicode_shape_code): Likewise.
12632 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12633 Don't use grub_putchar.
12634 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12635 (grub_normal_reader_init): Likewise.
12636 (grub_xputs_saved): New variable.
12637 (GRUB_MOD_INIT): Set grub_xputs.
12638 (GRUB_MOD_FINI): Restore grub_xputs.
12639 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12640 (menu_init): Avoid printing gfxmenu error.
12641 (show_menu): Use grub_normal_get_char_counter.
12642 * normal/menu_entry.c (update_screen): Fix out-of-array.
12643 (complete): Avoid NULL dereferencing.
12644 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12645 * normal/menu_text.c (print_spaces): Removed.
12646 (grub_print_ucs4): Likewise.
12647 (grub_print_message_indented): Use grub_print_ucs4.
12648 (print_message): Use grub_putcode.
12649 (print_entry): Hanlde diacritics.
12650 * normal/term.c (term_state): New type.
12651 (grub_more_lines): Removed.
12652 (term_states): New variable.
12653 (grub_normal_line_counter): Renamed to ..
12654 (grub_normal_char_counter): ...this. All users updated.
12655 (grub_normal_get_line_counter): Renamed to ...
12656 (grub_normal_get_char_counter): ... this.
12657 (grub_normal_reset_more): New function.
12658 (process_newline): Removed.
12659 (print_more): New function.
12660 (grub_install_newline_hook): Removed.
12661 (map_code): New function.
12662 (grub_puts_terminal): Use grub_print_ucs4.
12663 (putglyph): New function.
12664 (putcode_real): Likewise.
12665 (grub_putcode): Use putcode_real.
12666 (get_maxwidth): New function.
12667 (get_startwidth): Likewise.
12668 (print_ucs4_terminal): Likewise.
12669 (find_term_state): Likewise.
12670 (put_glyphs_terminal): Likewise.
12671 (print_backlog): Likewise.
12672 (print_ucs4_real): Likewise.
12673 (grub_print_ucs4): Likewise.
12674 (grub_xputs_normal): Likewise.
12675 * term/efi/console.c (grub_console_putchar): Output diacritics.
12676 (grub_console_getcharwidth): Removed.
12677 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12678 * term/gfxterm.c (clear_char): Free chars.
12679 (scroll_up): Avoid leaking memory.
12680 (grub_gfxterm_putchar): Support diacritics.
12681 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12682 * term/i386/pc/console.c (grub_console_term_output): Declare as
12683 GRUB_TERM_CODE_TYPE_VGA.
12684 * term/i386/pc/vga.c (grub_vga_term): Declare as
12685 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12686 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12687 GRUB_TERM_CODE_TYPE_VGA.
12688 * term/i386/vga_common.c (map_char): Removed.
12689 (grub_console_putchar): Likewise.
12690 (grub_console_getcharwidth): Likewise.
12691 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12692 (colors): Reordered to match terminfo.
12693 (grub_ofconsole_normal_color): Removed.
12694 (grub_ofconsole_writeesc): Likewise.
12695 (grub_ofconsole_highlight_color): Likewise.
12696 (grub_ofconsole_getcharwidth): Likewise.
12697 (grub_ofconsole_setcolorstate): Likewise.
12698 (grub_ofconsole_setcolor): Likewise.
12699 (grub_ofconsole_getcolor): Likewise.
12700 (grub_ofconsole_readkey): Renamed to ...
12701 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12702 key.
12703 (grub_ofconsole_checkkey): Removed.
12704 (grub_ofconsole_getkey): Likewise.
12705 (grub_ofconsole_getxy): Likewise.
12706 (grub_ofconsole_gotoxy): Likewise.
12707 (grub_ofconsole_cls): Likewise.
12708 (grub_ofconsole_refresh): Likewise.
12709 (grub_ofconsole_terminfo_input): New struct.
12710 (grub_ofconsole_terminfo_output): Likewise.
12711 (grub_ofconsole_term_input): Use terminfo.
12712 (grub_ofconsole_term_output): Likewise.
12713 (grub_console_init): Split into ...
12714 (grub_console_init_early): ...this and ...
12715 (grub_console_init_lately): ...this. Use terminfo.
12716 (grub_ofconsole_putchar): Renamed to ...
12717 (put): ... this. Remove mapping.
12718 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12719 * term/serial.c: Simplify using terminfo.
12720 (xpos): Removed.
12721 (ypos): Likewise.
12722 (keep_track): Likewise.
12723 (registered): Likewise.
12724 (input_buf): Likewise.
12725 (npending): Likewise.
12726 (serial_translate_key_sequence): Likewise.
12727 (fill_input_buf): Likewise.
12728 (grub_serial_checkkey): Likewise.
12729 (grub_serial_getkey): Likewise.
12730 (grub_serial_getxy): Likewise.
12731 (grub_serial_gotoxy): Likewise.
12732 (grub_serial_putchar): Likewise.
12733 (grub_serial_cls): Likewise.
12734 (grub_serial_setcolorstate): Likewise.
12735 (grub_serial_setcursor): Likewise.
12736 (serial_hw_init): Use serial_hw_fetch.
12737 (grub_serial_terminfo_input): New variable.
12738 (grub_serial_terminfo_output): Likewise.
12739 (grub_serial_term_input): Use terminfo.
12740 (grub_serial_term_output): Likewise.
12741 * term/terminfo.c (putstr): Use put.
12742 (grub_terminfo_all_free): New function
12743 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12744 (grub_terminfo_output_register): New function.
12745 (grub_terminfo_output_unregister): Likewise.
12746 (grub_terminfo_getxy): Likewise.
12747 (grub_terminfo_readkey): Likewise.
12748 (grub_terminfo_checkkey): Likewise.
12749 (grub_terminfo_getkey): Likewise.
12750 (grub_terminfo_input_init): Likewise.
12751 (print_terminfo): Likewise.
12752 (grub_cmd_terminfo): Handle encoding.
12753 (grub_terminfo_gotoxy): Track position.
12754 (grub_terminfo_cls): Likewise.
12755 (grub_terminfo_putchar): Likewise.
12756 (grub_terminfo_setcolorstate): Handle colors
12757 (grub_terminfo_cursor_on): This ...
12758 (grub_terminfo_cursor_off): ... and this merged into ...
12759 (grub_terminfo_setcursor): ... this.
12760 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12761 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12762 * unicode/BidiMirroring.txt: Likewise.
12763 * unicode/UnicodeData.txt: Likewise.
12764 * unicode/COPYING: Likewise.
12765 * util/grub-editenv.c (grub_putchar): Removed.
12766 (grub_xputs_real): New function.
12767 (grub_xputs): New variable.
12768 * util/grub-fstest.c (grub_putchar): Removed.
12769 (grub_xputs_real): New function.
12770 (grub_xputs): New variable.
12771 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12772 (grub_xputs_real): New function.
12773 (grub_xputs): New variable.
12774 * util/grub-probe.c (grub_putchar): Removed.
12775 (grub_xputs_real): New function.
12776 (grub_xputs): New variable.
12777 * util/grub-script-check.c (grub_putchar): Removed.
12778 (grub_xputs_real): New function.
12779 (grub_xputs): New variable.
12780 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12781 (grub_xputs_real): New function.
12782 (grub_xputs): New variable.
12783 * util/import_unicode.py: New file.
12784 * util/grub-mkfont.c (ft_errmsgs): New array.
12785 (grub_glyph_info): Make bitmap a pointer.
12786 (file_formats): New type WIDTH_SPEC.
12787 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12788 (options): Add width-spec.
12789 (help): Likewise.
12790 (add_char): Renamed to ...
12791 (add_glyph): ... this.
12792 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12793 (glyph_replace): New type.
12794 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12795 (add_char): New function.
12796 (add_subst): Likewise.
12797 (process_cursive): Likewise.
12798 (add_font): Handle GSUB.
12799 (write_font_width_spec): New function.
12800 (main): Sort glyphs.
12801 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12802 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12803 * kern/term.c (grub_cls): Moved from here...
12804 * normal/term.c (grub_cls): ... here.
12805
12806 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12807
12808 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12809 suitable for using within the format argument of printf when
12810 converting grub_size_t.
12811 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12812 "x" to convert grub_size_t arguments.
12813
12814 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12817 too long captions.
12818 (list_get_minimal_size): Take selection box into account.
12819
12820 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12821
12822 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12823 NULL font.
12824
12825 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12826
12827 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12828 devices when iterating over /dev/disk/by-id; they will be handled
12829 later if appropriate, which they aren't always (e.g. LVM).
12830
12831 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12832
12833 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12834 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12835 fails.
12836 (grub_halt): Likewise.
12837 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12838 reset-all fails.
12839 (grub_halt): Don't return, even if all of shut-down, power-off, and
12840 poweroff fail.
12841
12842 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12843
12844 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12845 arguments, not three.
12846
12847 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12848
12849 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12850 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12851 LVM-on-RAID is handled correctly.
12852
12853 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12854
12855 * docs/grub.texi (Changes from GRUB Legacy): New section.
12856 (Future): Fix typo.
12857
12858 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12859
12860 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12861 grub.d/README accidentally ends up executable for one reason or
12862 another. Ignore it.
12863
12864 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12867 (gpt_partition_map_iterate): Support non-512B sectors.
12868
12869 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12872 Tested by: Seth Goldberg.
12873
12874 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12877 Properly align mbi.
12878 Reported by: Seth Goldberg.
12879
12880 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * util/grub-mkrescue.in: Avoid module duplication.
12883
12884 2010-07-01 Sean Finney <seanius@seanius.net>
12885
12886 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12887
12888 2010-07-01 Sean Finney <seanius@seanius.net>
12889
12890 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12891
12892 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * disk/lvm.c (grub_lvm_checkvalue): New function.
12895 (grub_lvm_check_flag): Likewise.
12896
12897 2010-07-01 Robert Millan <rmh@gnu.org>
12898
12899 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12900 Support 'p' as partition separator on kernel of FreeBSD (used
12901 with GPT labels).
12902 (grub_util_biosdisk_get_grub_dev): Likewise.
12903
12904 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 Yeeloong firmware port.
12907
12908 * boot/mips/yeeloong/fwstart.S: New file.
12909 * bus/cs5536.c (gpiodump): New const.
12910 (set_io_space): New function.
12911 (set_iod): Likewise.
12912 (set_p2d): Likewise.
12913 (grub_cs5536_init_geode): Likewise.
12914 * commands/mips/yeeloong/lsspd.c: New file.
12915 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12916 (serial_mod_SOURCES): New variable.
12917 (serial_mod_CFLAGS): Likewise.
12918 (serial_mod_LDFLAGS): Likewise.
12919 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12920 term/terminfo.c and term/tparm.c.
12921 (pkglib_IMAGES): Add fwstart.img.
12922 (fwstart_img_SOURCES): New variable.
12923 (fwstart_img_CFLAGS): Likewise.
12924 (fwstart_img_ASFLAGS): Likewise.
12925 (fwstart_img_LDFLAGS): Likewise.
12926 (fwstart_img_FORMAT): Likewise.
12927 (pkglib_MODULES): Add lsspd.mod.
12928 (lsspd_mod_SOURCES): New variable.
12929 (lsspd_mod_CFLAGS): Likewise.
12930 (lsspd_mod_LDFLAGS): Likewise.
12931 (pkglib_MODULES): Add halt.mod.
12932 (halt_mod_SOURCES): New variable.
12933 (halt_mod_CFLAGS): Likewise.
12934 (halt_mod_LDFLAGS): Likewise.
12935 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12936 (serial_mod_SOURCES): Removed.
12937 (serial_mod_CFLAGS): Likewise.
12938 (serial_mod_LDFLAGS): Likewise.
12939 * disk/ata.c (check_device): New function.
12940 (grub_ata_device_initialize): Use check_device.
12941 (grub_ata_iterate): Recheck devices.
12942 (grub_ata_open): Likewise.
12943 (grub_atapi_iterate): Likewise.
12944 (grub_atapi_open): Likewise.
12945 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12946 (GRUB_ATA_CH1_PORT1): Likewise.
12947 (GRUB_ATA_CH0_PORT2): Likewise.
12948 (GRUB_ATA_CH1_PORT2): Likewise.
12949 * include/grub/mips/loongson.h: New file.
12950 * include/grub/mips/yeeloong/ec.h: Likewise.
12951 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12952 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12953 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12954 * include/grub/misc.h (grub_halt): Declare as noreturn.
12955 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12956 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12957 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12958 (UART_ENABLE_DTRRTS): Likewise.
12959 (UART_ENABLE_MODEM): Removed.
12960 (UART_ENABLE_OUT2): New const.
12961 * include/grub/term.h (grub_term_register_input_active): New function.
12962 (grub_term_register_output_active): Likewise.
12963 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12964 argument.
12965 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12966 (init_pci): New function.
12967 (grub_machine_init): Execute platform init when firmware. Init serial.
12968 (grub_halt): Implement.
12969 (grub_exit): Likewise.
12970 (grub_reboot): Likewise.
12971 * term/serial.c (serial_hw_init): Update macros.
12972 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12973 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12974 (image_targets): New target mipsel-yeeloong-flash.
12975 (generate_image): Support IMAGE_YEELOONG_FLASH.
12976 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12977 (grub_video_sm712_setup): Init card.
12978 (grub_video_sm712_set_palette): Removed.
12979 * video/sm712_init.c: New file.
12980
12981 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12982
12983 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12984 PATH when running help2man and then run it on the unadorned
12985 executable names, rather than passing $(builddir)/* paths to
12986 help2man. This avoids the build directory ending up in generated
12987 manual pages.
12988
12989 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12990
12991 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12992 to avoid accidents when debugging with 'sh -x'.
12993 * util/grub-mkrescue.in: Likewise.
12994 * util/grub.d/00_header.in: Likewise.
12995 * util/grub.d/10_hurd.in: Likewise.
12996 * util/grub.d/10_kfreebsd.in: Likewise.
12997 * util/grub.d/10_linux.in: Likewise.
12998 * util/grub.d/10_netbsd.in: Likewise.
12999 * util/grub.d/10_windows.in: Likewise.
13000 * util/grub.d/20_linux_xen.in: Likewise.
13001 * util/grub.d/30_os-prober.in: Likewise.
13002 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13003
13004 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
13005
13006 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
13007 last character in the buffer.
13008 Reported by: Vladimir Serbinenko.
13009
13010 2010-06-29 Robert Millan <rmh@gnu.org>
13011
13012 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
13013 (Command-line and menu entry commands): Document `badram' command.
13014
13015 2010-06-28 Robert Millan <rmh@gnu.org>
13016
13017 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
13018 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
13019 command using ${GRUB_BADRAM} as parameter.
13020
13021 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13022
13023 * docs/grub.texi (Device map): New section.
13024 (Themes): New section (stub).
13025 * Makefile.in (docs/grub.info): The info documentation now builds
13026 without errors. Make sure it stays that way.
13027
13028 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 Use normal parser for menu entries.
13031 Reported by: Thomas Frauendorfer
13032
13033 * include/grub/parser.h (grub_parser_execute): Don't export.
13034 * normal/menu.c (grub_menu_execute_entry_real): New function.
13035 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
13036
13037 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13038
13039 * docs/grub.texi (Embedded configuration): New section (replacing
13040 old "Preset Menu" stub).
13041 (Images): New section.
13042 (configfile): Note that any menu entries defined in `file' are shown
13043 immediately.
13044
13045 2010-06-28 Josh Triplett <josh@joshtriplett.org>
13046
13047 * mmap/i386/pc/mmap_helper.S: Set CF on return.
13048
13049 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13050
13051 * util/grub-install.in: Add --debug-image= option.
13052
13053 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13054
13055 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
13056 possible on Linux.
13057
13058 * util/deviceiter.c (check_device): Rename to ...
13059 (check_device_readable_unique): ... this. Update all callers.
13060 Maintain and check a list of which devices (by canonicalized name)
13061 have already been seen.
13062 (clear_seen_devices): New function.
13063 (compare_file_names) [__linux__]: New function.
13064 (grub_util_iterate_devices): Clear the list of seen devices on exit
13065 and (just in case) on entry.
13066 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
13067 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
13068 seen-devices list, superseded by general code in check_device.
13069
13070 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13071
13072 * commands/cat.c (options): New variable.
13073 (grub_cmd_cat): Parse options. If the --dos option is given, print
13074 DOS-style "\r\n" line endings as simple newlines (Debian bug
13075 #586358).
13076 (GRUB_MOD_INIT): Use extcmd.
13077 (GRUB_MOD_FINI): Likewise.
13078 * docs/grub.texi (cat): Document --dos.
13079
13080 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 XEN with Linux grub-mkconfig support.
13083
13084 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
13085 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
13086 GRUB_CMDLINE_XEN_DEFAULT.
13087 * util/grub.d/20_linux_xen.in: New file.
13088
13089 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 Initialise VGA video on qemu ourselves.
13092
13093 * boot/i386/qemu/boot.S: Don't call 0xc000.
13094 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
13095 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
13096 (kernel_img_HEADERS): Add pci.h.
13097 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
13098 * configure.ac: Force unifont on qemu and yeeloong.
13099 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
13100 (grub_vga_palette_write): Use correct register.
13101 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
13102 Call grub_qemu_init_cirrus.
13103 * kern/i386/qemu/init.c: New file.
13104 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
13105
13106 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
13107
13108 2010-06-26 Pavel Roskin <proski@gnu.org>
13109
13110 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
13111 13.
13112
13113 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
13114
13115 * docs/grub.texi (Simple configuration): Explain that
13116 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
13117 set to `true' to disable their respective recovery entries, not
13118 merely set.
13119
13120 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
13121
13122 Make the `source' command slightly faster.
13123
13124 * normal/main.c (grub_normal_execute): Don't re-read list files when
13125 nested.
13126
13127 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
13128
13129 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
13130 field position and mask size to red fields from mode_info, not
13131 green.
13132 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
13133 Remove redundant tag->common.framebuffer_type assignment.
13134 Reported by: Seth Goldberg.
13135
13136 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
13137
13138 Sync up other versions of the Linux loader with Robert Millan's
13139 change of 2010-01-09, "Make loader output a bit more user-friendly".
13140
13141 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
13142 grub_dprintf().
13143 (grub_cmd_linux): Likewise.
13144 (grub_cmd_initrd): Likewise.
13145 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
13146 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13147
13148 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
13149
13150 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
13151 larger than MEMORY_MAP_SIZE.
13152
13153 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
13154
13155 Fix parallel build.
13156
13157 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
13158 dependency.
13159 * script/parser.y: #include grub_script.tab.h header.
13160
13161 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 Support >3GiB and <16MiB RAM in i386-qemu.
13164
13165 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
13166 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
13167 (grub_lower_mem): Removed.
13168 (grub_upper_mem): Likewise.
13169 (mem_size): Made static.
13170 (above_4g): New variable.
13171 (grub_machine_mmap_init): Detect small mem_size and above_4g.
13172 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
13173 support.
13174
13175 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 Cirrus 5446 and Bochs video cards support.
13178
13179 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
13180 video_bochs.mod
13181 (video_cirrus_mod_SOURCES): New variable.
13182 (video_cirrus_mod_CFLAGS): Likewise.
13183 (video_cirrus_mod_LDFLAGS): Likewise.
13184 (video_bochs_mod_SOURCES): Likewise.
13185 (video_bochs_mod_CFLAGS): Likewise.
13186 (video_bochs_mod_LDFLAGS): Likewise.
13187 * include/grub/vga.h: New file.
13188 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
13189 (grub_video_fb_set_page_t): New type.
13190 (grub_video_fb_setup): New prototype.
13191 (grub_video_fb_swap_buffers): Likewise.
13192 (grub_video_fb_get_info_and_fini): Likewise.
13193 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
13194 (CRTC_DATA_PORT): Likewise.
13195 (CRTC_CURSOR): Likewise.
13196 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13197 (CRTC_CURSOR_ADDR_LOW): Likewise.
13198 (CRTC_CURSOR_DISABLE): Likewise.
13199 (update_cursor): Use grub_vga_cr_write.
13200 (grub_vga_text_setcursor): Likewise.
13201 * video/bochs.c: New file.
13202 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
13203 (palette): Likewise.
13204 (palette_size): Likewise.
13205 (framebuffer): New variable.
13206 (grub_video_fb_init): Use 'framebuffer'.
13207 (grub_video_fb_fini): Likewise.
13208 (grub_video_fb_get_info): Likewise.
13209 (grub_video_fb_get_palette): Likewise.
13210 (grub_video_fb_set_palette): Likewise.
13211 (grub_video_fb_set_viewport): Likewise.
13212 (grub_video_fb_get_viewport): Likewise.
13213 (grub_video_fb_map_color): Likewise.
13214 (grub_video_fb_map_rgb): Likewise.
13215 (grub_video_fb_map_rgba): Likewise.
13216 (grub_video_fb_unmap_color): Likewise.
13217 (grub_video_fb_unmap_color_int): Likewise.
13218 (grub_video_fb_fill_rect): Likewise.
13219 (grub_video_fb_blit_bitmap): Likewise.
13220 (grub_video_fb_blit_render_target): Likewise.
13221 (grub_video_fb_scroll): Likewise.
13222 (grub_video_fb_create_render_target): Likewise.
13223 (grub_video_fb_doublebuf_blit_init): Likewise.
13224 (grub_video_fb_set_active_render_target): Handle doublebuffering.
13225 (doublebuf_pageflipping_update_screen): New function.
13226 (doublebuf_pageflipping_init): Likewise.
13227 (grub_video_fb_setup): Likewise.
13228 (grub_video_fb_swap_buffers): Likewise.
13229 (grub_video_fb_get_info_and_fini): Likewise.
13230 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
13231 All users updated.
13232 (doublebuf_pageflipping_commit): Restructured into ...
13233 (doublebuf_pageflipping_set_page): ... this.
13234 (doublebuf_pageflipping_update_screen): Removed.
13235 (doublebuf_pageflipping_init): Likewise.
13236 (double_buffering_init): Likewise.
13237 (grub_video_vbe_setup): Use grub_video_fb_setup.
13238 (grub_video_vbe_swap_buffers): Removed.
13239 (grub_video_vbe_set_active_render_target): Likewise.
13240 (grub_video_vbe_get_active_render_target): Likewise.
13241 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
13242 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
13243 grub_video_fb_set_active_render_target and
13244 grub_video_fb_get_active_render_target.
13245 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
13246 (SEQUENCER_DATA_PORT): Likewise.
13247 (MAP_MASK_REGISTER): Likewise.
13248 (CRTC_ADDR_PORT): Likewise.
13249 (CRTC_DATA_PORT): Likewise.
13250 (START_ADDR_HIGH_REGISTER): Likewise.
13251 (START_ADDR_LOW_REGISTER): Likewise.
13252 (GRAPHICS_ADDR_PORT): Likewise.
13253 (GRAPHICS_DATA_PORT): Likewise.
13254 (READ_MAP_REGISTER): Likewise.
13255 (INPUT_STATUS1_REGISTER): Likewise.
13256 (INPUT_STATUS1_VERTR_BIT): Likewise.
13257 (get_map_mask): Use grub_vga_sr_read.
13258 (set_map_mask): Use grub_vga_sr_write.
13259 (set_read_map): Use grub_vga_gr_write.
13260 (set_start_address): Use grub_vga_cr_write.
13261 * video/sm712.c (framebuffer): Remove leftover fields.
13262
13263 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
13264
13265 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
13266 setting GRUB_VIDEO_BACKEND. Make it available as a user override
13267 instead. Replace the gfxterm backend check with a check that
13268 ${GRUB_PREFIX}/video.lst is non-empty.
13269 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
13270 again.
13271 (load_video): New generated function. Call it before loading
13272 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
13273 * util/grub.d/10_linux.in (linux_entry): Call load_video.
13274 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13275 * docs/grub.texi (Simple configuration): Document
13276 GRUB_VIDEO_BACKEND.
13277
13278 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 Use video functions in linux and xnu loaders.
13281
13282 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
13283 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
13284 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
13285 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
13286 loader/i386/pc/linux.c.
13287 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
13288 (find_line_len): Removed.
13289 (find_framebuf): Likewise.
13290 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
13291 * loader/i386/efi/xnu.c: Removed.
13292 * loader/i386/pc/xnu.c: Moved from here...
13293 * loader/i386/xnu.c: ...here.
13294
13295 Enable priorities in video drivers.
13296
13297 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13298 (grub_video_adapter): New field prio.
13299 (grub_video_register): Respect prio when inserting.
13300 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13301 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13302 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13303 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13304 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13305 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13306 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13307
13308 Fix SDL driver ID.
13309
13310 * include/grub/video.h (grub_video_driver_id_t): New value
13311 GRUB_VIDEO_DRIVER_SDL.
13312 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13313
13314 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13315
13316 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13317 argument to printf.
13318 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13319
13320 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13321
13322 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13323 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13324
13325 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13326
13327 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13328 directly, and recommend grub-install instead.
13329 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13330
13331 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13332
13333 Fix i386-pc prefix handling with nested partitions (Debian bug
13334 #585068). Note that the case where the core image is booted using
13335 multiboot and relocated from its original location still requires
13336 more work.
13337
13338 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13339 with "(,", fill the boot drive in between those two characters, but
13340 expect that a full partition specification including partition map
13341 names will follow.
13342 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13343 specified, write a prefix without the drive name but including a
13344 full partition specification.
13345
13346 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
13347
13348 * util/grub-mkconfig.in: Ignore non-option arguments, for
13349 compatibility with older versions (before 2010-06-12) which did the
13350 same. In particular, this makes it easier to ship an update-grub
13351 wrapper which is compatible with that used with GRUB Legacy (Debian
13352 bug #586056).
13353
13354 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13355
13356 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13357 for manual page generation.
13358
13359 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13360
13361 * po/POTFILES: Remove leftover commands/handler.c.
13362
13363 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
13364
13365 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13366 left this script non-functional.
13367
13368 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
13369
13370 * docs/man/grub-emu.h2m: New file.
13371
13372 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
13373
13374 * docs/grub.texi (Commands): Document reduced command set in rescue
13375 mode.
13376 (cpuid): New section.
13377
13378 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13379
13380 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13381 new partition naming style.
13382 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13383
13384 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13385
13386 Add "-o grub.iso" like cmdline options support.
13387
13388 * util/grub-install.in: Improve cmdline option parsing.
13389 * util/grub-mkconfig.in: Likewise.
13390 * util/grub-mkrescue.in: Likewise.
13391 * util/grub-reboot.in: Likewise.
13392 * util/grub-set-default.in: Likewise.
13393 * util/i386/efi/grub-install.in: Likewise.
13394 * util/ieee1275/grub-install.in: Likewise.
13395 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13396
13397 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13398
13399 * .bzrignore: Ignore 41_custom.
13400
13401 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13402
13403 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13404
13405 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13406
13407 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13408 prototype declarations.
13409
13410 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13411 generating fs, partmap, and video lists.
13412 * include/grub/fs.h (grub_fs_register): Omit prototype if
13413 GRUB_LST_GENERATOR is defined.
13414 * include/grub/partition.h (grub_partition_map_register): Likewise.
13415 * include/grub/video.h (grub_video_register): Likewise.
13416
13417 2010-06-12 Javier Martín <lordhabbit@gmail.com>
13418
13419 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13420
13421 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13422
13423 * util/grub-mkrescue.in: Support --xorriso argument.
13424
13425 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13428 Suggested by: Thomas Schmitt.
13429
13430 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13433 Suggested by: Thomas Schmitt.
13434
13435 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 custom.cfg support.
13438
13439 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13440 * util/grub.d/41_custom.in: New file.
13441
13442 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13443
13444 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13445 been merged back into normal.
13446
13447 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
13448
13449 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13450 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13451
13452 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
13453
13454 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13455 when generating manual pages.
13456 * docs/man/grub-bin2h.h2m: New file.
13457 * docs/man/grub-editenv.h2m: New file.
13458 * docs/man/grub-fstest.h2m: New file.
13459 * docs/man/grub-install.h2m: New file.
13460 * docs/man/grub-macho2img.h2m: New file.
13461 * docs/man/grub-mkconfig.h2m: New file.
13462 * docs/man/grub-mkdevicemap.h2m: New file.
13463 * docs/man/grub-mkfont.h2m: New file.
13464 * docs/man/grub-mkimage.h2m: New file.
13465 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13466 * docs/man/grub-mkrelpath.h2m: New file.
13467 * docs/man/grub-mkrescue.h2m: New file.
13468 * docs/man/grub-ofpathname.h2m: New file.
13469 * docs/man/grub-pe2elf.h2m: New file.
13470 * docs/man/grub-probe.h2m: New file.
13471 * docs/man/grub-reboot.h2m: New file.
13472 * docs/man/grub-script-check.h2m: New file.
13473 * docs/man/grub-set-default.h2m: New file.
13474 * docs/man/grub-setup.h2m: New file.
13475
13476 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 Use FOR_* macros instead of *_iterate whenever possible.
13479
13480 * commands/handler.c: Removed.
13481 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13482 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13483 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13484 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13485 (grub_probe_SOURCES): Remove kern/parser.c.
13486 (util/grub-script-check.c_DEPENDENCIES): Removed.
13487 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13488 and grub_script_check_init.c.
13489 (grub_script_check_init.lst): Removed.
13490 (grub_script_check_init.h): Likewise.
13491 (grub_script_check_init.c): Likewise.
13492 (pkglib_MODULES): Remove handler.mod and sh.mod.
13493 (handler_mod_SOURCES): Removed.
13494 (handler_mod_CFLAGS): Likewise.
13495 (handler_mod_LDFLAGS): Likewise.
13496 (normal_mod_SOURCES): Remove normal/handler.c.
13497 Add script/main.c, script/script.c, script/execute.c,
13498 script/function.c, script/lexer.c, grub_script.tab.c
13499 and grub_script.yy.c.
13500 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13501 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13502 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13503 (grub_setup_SOURCES): Remove kern/parser.c.
13504 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13505 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13506 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13507 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13508 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13509 (grub_setup_SOURCES): Remove kern/parser.c.
13510 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13511 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13512 * include/grub/command.h (grub_command_iterate): Removed.
13513 (FOR_COMMANDS): New macro.
13514 * include/grub/dl.h (grub_dl): New member next.
13515 (grub_dl_iterate): Removed.
13516 (grub_dl_head): New variable declaration.
13517 (FOR_DL_MODULES): New macro.
13518 * include/grub/fs.h: Include list.h.
13519 (grub_fs): Make next first element.
13520 (grub_fs_list): New variable declaration.
13521 (grub_fs_register): Make inline.
13522 (grub_fs_unregister): Likewise.
13523 (grub_fs_iterate): Removed.
13524 (FOR_FILESYSTEMS): New macro.
13525 * include/grub/handler.h: Removed.
13526 * include/grub/list.h (grub_list_hook_t): Removed.
13527 (grub_list_test_t): Likewise.
13528 (grub_list_pop): Likewise.
13529 (grub_list_iterate): Likewise.
13530 (grub_list_insert): Likewise.
13531 (FOR_LIST_ELEMENTS): New macro.
13532 * include/grub/parser.h (grub_parser_class): Removed.
13533 (grub_parser_register): Likewise.
13534 (grub_parser_unregister): Likewise.
13535 (grub_parser_get_current): Likewise.
13536 (grub_parser_set_current): Likewise.
13537 (grub_register_rescue_parser): Likewise.
13538 (grub_rescue_parse_line): New function.
13539 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13540 * include/grub/script_sh.h (grub_script_function_list): New variable
13541 declaration.
13542 (FOR_SCRIPT_FUNCTIONS): New macro.
13543 (grub_script_function_iterate): Removed.
13544 (grub_normal_parse_line): New prototype.
13545 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13546 (FOR_DISABLED_TERM_INPUTS): Likewise.
13547 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13548 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13549 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13550 element.
13551 (grub_video_register): Inline.
13552 (grub_video_unregister): Likewise.
13553 (grub_video_adapter_list): New variable declaration.
13554 (grub_video_iterate): Removed.
13555 (FOR_VIDEO_ADAPTERS): New macro.
13556 * kern/dl.c (grub_dl_list): Removed. All users updated.
13557 (grub_dl_iterate): Removed.
13558 * kern/fs.c (grub_fs_list): Make global.
13559 (grub_fs_register): Removed.
13560 (grub_fs_unregister): Likewise.
13561 (grub_fs_iterate): Likewise.
13562 * kern/handler.c: Removed.
13563 * kern/list.c (grub_list_pop): Removed.
13564 (grub_list_iterate): Likewise.
13565 (grub_list_insert): Likewise.
13566 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13567 (grub_prio_list_insert): Don't use grub_list_insert.
13568 * kern/main.c (grub_register_rescue_parser): Don't call
13569 grub_register_rescue_parser.
13570 * kern/parser.c (grub_parser_class): Removed.
13571 (grub_parser_execute): Use grub_rescue_parse_line.
13572 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13573 (grub_rescue_parser): Removed.
13574 (grub_register_rescue_parser): Likewise.
13575 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13576 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13577 (grub_auth_check_authentication): Likewise.
13578 * normal/completion.c (iterate_command): Removed.
13579 (grub_normal_do_completion): Use FOR_COMMANDS.
13580 * normal/handler.c: Removed.
13581 * normal/main.c (read_config_file): Remove parser changing.
13582 (grub_normal_execute): Don't call read_handler_list.
13583 (grub_normal_read_line_real): Statically allocate prompt.
13584 (grub_cmdline_run): Use grub_normal_parse_line.
13585 (GRUB_MOD_FINI): Don't call free_handler_list.
13586 * normal/menu_entry.c (run): Likewise.
13587 * script/function.c (grub_script_function_list): Make global.
13588 (grub_script_function_iterate): Removed.
13589 * script/main.c (grub_normal_parse_line): Make global.
13590 (grub_sh_parser): Removed.
13591 (GRUB_MOD_INIT): Likewise.
13592 (GRUB_MOD_FINI): Likewise.
13593 * tests/lib/functional_test.c (grub_functional_test): Use
13594 FOR_LIST_ELEMENTS.
13595 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13596 (grub_test_run): Use FOR_LIST_ELEMENTS.
13597 * tests/lib/unit_test.c (main): Likewise.
13598 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13599 grub_list_pop.
13600 * util/grub-fstest.c (grub_term_input_class): Removed.
13601 (grub_term_output_class): Likewise.
13602 * util/grub-probe.c: Likewise.
13603 * util/i386/pc/grub-setup.c: Likewise.
13604 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13605 * util/grub-script-check.c (main): Don't call grub_init_all and
13606 grub_fini_all.
13607 * video/video.c (grub_video_adapter_list): Make global.
13608 (grub_video_register): Removed.
13609 (grub_video_unregister): Likewise.
13610 (grub_video_iterate): Likewise.
13611
13612 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13615 reported by Henrique Ferreiro.
13616
13617 2010-06-09 Robert Millan <rmh@gnu.org>
13618
13619 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13620 ones, when both are available.
13621
13622 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13623
13624 Make --version uniform and avoid hard-coded program name.
13625
13626 * util/grub-mkimage.c (main): Use `program_name' instead of
13627 hard-coded string.
13628 * util/i386/pc/grub-setup.c (main): Likewise.
13629 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13630 * util/grub-install.in: Save the basename of $0 in $self, and use the
13631 latter in informational messages. Use the same format for --version
13632 as the binary programs.
13633 * util/grub-mkconfig.in: Likewise.
13634 * util/grub-mkrescue.in: Likewise.
13635 * util/grub-reboot.in: Likewise.
13636 * util/grub-set-default.in: Likewise.
13637 * util/i386/efi/grub-install.in: Likewise.
13638 * util/ieee1275/grub-install.in: Likewise.
13639 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13640
13641 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13642
13643 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13644 embedding area. Use <= instead of == when checking for non-emptiness.
13645
13646 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13647
13648 * configure.ac: Add `.' to the directories searched for unifont.
13649
13650 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13651
13652 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13653 grub_script.yy.h.
13654
13655 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13656
13657 * docs/grub.texi (History): Expand to cover GRUB 2.
13658 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13659 commands, not `terminal'.
13660 (serial): Likewise.
13661 (terminal_input): New section.
13662 (terminal_output): New section.
13663 (uppermem): New section (stub).
13664 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13665
13666 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13667
13668 * docs/grub.texi (Security): Menu entries are unrestricted by
13669 default, not restricted to superusers as I had previously thought.
13670 Reword to account for this.
13671
13672 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13673
13674 * kern/emu/misc.c (device_mapper_null_log): New function.
13675 (grub_device_mapper_supported): New function.
13676 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13677 prototype.
13678 * kern/emu/hostdisk.c (find_partition_start): Check whether
13679 device-mapper is supported before trying to use it.
13680 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13681
13682 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13683
13684 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13685 (File name syntax): Likewise.
13686 (help): --all is no longer supported in GRUB 2. Be more precise
13687 about pattern matching.
13688
13689 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13690
13691 * normal/completion.c (grub_normal_do_completion): When completing
13692 arguments to "set" and the current word contains an equals sign,
13693 skip to after the equals sign before starting completion.
13694
13695 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13696
13697 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13698
13699 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13700
13701 * docs/grub.texi (Network): New section.
13702 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13703 `(nd)' as in GRUB Legacy.
13704 (pxe_unload): New section.
13705
13706 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13707
13708 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13709 in the rescue shell, so recommend using `set' instead. Thanks,
13710 Jordan Uggla.
13711
13712 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13713
13714 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13715 (password): New section.
13716 (password_pbkdf2): New section.
13717 (search): New section.
13718 (Security): New section.
13719 (Troubleshooting): New section, currently very incomplete.
13720 (Invoking grub-mkpasswd-pbkdf2): New section.
13721 (Internals): New section, currently very incomplete.
13722
13723 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13724
13725 * util/grub.d/00_header.in: Add some more quoting (of
13726 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13727 work again.
13728 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13729
13730 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13731
13732 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13733 to `count', fixing variable shadowing that broke the -c option.
13734
13735 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
13736
13737 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13738 in case they contain spaces.
13739
13740 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13741
13742 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13743 "part_" to partmap module names, in line with grub-install.
13744 Reported by: Jindřich Makovička (Debian bug #584426).
13745
13746 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13747
13748 * util/grub-mkimage.c: Make target-related error messages slightly
13749 more helpful; -O talks about "format". Explicitly point to the use
13750 of -O if no target is specified.
13751 Reported by: Didier Raboud (Debian bug #584415).
13752
13753 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
13754
13755 * INSTALL: Document several build requirements for optional features
13756 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13757
13758 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13759
13760 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13761 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13762 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13763
13764 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13765
13766 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13767 Thanks to Jordan Uggla for spotting this.
13768
13769 2010-06-02 Aleš Nesrsta <starous@volny.cz>
13770
13771 Finally make USB usable.
13772
13773 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13774 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13775 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13776 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13777 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13778 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13779 (GRUB_OHCI_FSMPS): Likewise.
13780 (GRUB_OHCI_PERIODIC_START): Likewise.
13781 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13782 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13783 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13784 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13785 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13786 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13787 (grub_ohci_transaction): Likewise.
13788 (grub_ohci_transfer): Improve condition detection algorithms.
13789 Handle toggle property. Program the transactions correctly.
13790 Improve error handling. Various important fixups.
13791 (grub_ohci_portstatus): Put register writes in right order.
13792 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13793 (grub_uhci_transfer): Don't show "failed" message on success.
13794 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13795 array.
13796 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13797 determine its size.
13798 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13799 before initialization is completed. Use IN direction for empty
13800 transfers. Use last_trans and compute toggle.
13801 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13802 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13803 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13804 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13805 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13806 (grub_usb_device): Increase toggle to 256.
13807 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13808 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13809 GRUB_USBMS_SUBCLASS_SFF8070.
13810 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13811 (grub_scsi_inquiry): New member page and alloc_length.
13812 (grub_scsi_request_sense): New structure.
13813 (grub_scsi_request_sense_data): Likewise.
13814 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13815 control.
13816 * disk/scsi.c (grub_scsi_request_sense): New function.
13817 (grub_scsi_test_unit_ready): Likewise.
13818 (grub_scsi_inquiry): Fill new fields.
13819 (grub_scsi_read_capacity): Likewise.
13820 (grub_scsi_read10): Add request sense at the end.
13821 (grub_scsi_read12): Likewise.
13822 (grub_scsi_write10): Likewise.
13823 (grub_scsi_write12): Likewise.
13824 (grub_scsi_open): Add Test Unit Ready.
13825 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13826 Support additional subclasses. Con't clear halt yet. Activate the
13827 proper config. Calculate LUNs correctly.
13828 (grub_usbms_transfer): Various important fixups.
13829
13830 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13833 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13834 (grub_ohci_fini_hw): New function.
13835 (grub_ohci_restore_hw): Likewise.
13836 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13837 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13838 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13839
13840 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 Dedicated DMA allocations.
13843
13844 * bus/pci.c (grub_memalign_dma32): New function
13845 (grub_dma_free): Likewise.
13846 (grub_dma_get_virt): Likewise.
13847 (grub_dma_get_phys): Likewise.
13848 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13849 (grub_ohci_pci_iter): Use dma32_alloc.
13850 (grub_ohci_transfer): Likewise.
13851 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13852 (grub_usb_bulk_readwrite): Likewise.
13853 * include/grub/pci.h: Add declarations.
13854
13855 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 CS5536 support.
13858
13859 * bus/cs5536.c: New file.
13860 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13861 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13862 (cs5536_mod_SOURCES): New variable.
13863 (cs5536_mod_CFLAGS): Likewise.
13864 (cs5536_mod_LDFLAGS): Likewise.
13865 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13866 machine/pci.h.
13867 (kernel_img_SOURCES): Add bus/cs5536.c.
13868 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13869 usb_keyboard.mod.
13870 (usb_mod_SOURCES): New variable.
13871 (usb_mod_CFLAGS): New variable.
13872 (usb_mod_LDFLAGS): New variable.
13873 (usbtest_mod_SOURCES): New variable.
13874 (usbtest_mod_CFLAGS): New variable.
13875 (usbtest_mod_LDFLAGS): New variable.
13876 (ohci_mod_SOURCES): New variable.
13877 (ohci_mod_CFLAGS): New variable.
13878 (ohci_mod_LDFLAGS): New variable.
13879 (usbms_mod_SOURCES): New variable.
13880 (usbms_mod_CFLAGS): New variable.
13881 (usbms_mod_LDFLAGS): New variable.
13882 (usb_keyboard_mod_SOURCES): New variable.
13883 (usb_keyboard_mod_CFLAGS): New variable.
13884 (usb_keyboard_mod_LDFLAGS): New variable.
13885 * include/grub/smbus.h: New file.
13886 * include/grub/cs5536.h: New file.
13887
13888 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13889
13890 * util/grub.d/00_header.in: Add safety check to make sure that
13891 ${locale_dir} exists before trying to probe it.
13892
13893 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13894
13895 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13896 per the GNU Coding Standards; this is now too obscure to be worth
13897 documenting.
13898 (QNX): Likewise.
13899 (chainloader): Remove cross-reference to `SCO UnixWare'.
13900
13901 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13902
13903 * docs/grub.texi (Chain-loading): New section.
13904 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13905 adjusted for GRUB 2.
13906 (SCO UnixWare): Likewise.
13907 (QNX): Likewise.
13908 (chainloader): Add reference to `Block list syntax'.
13909 (drivemap): New section.
13910 (parttool): New section.
13911
13912 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13913
13914 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13915 the grub shell'.
13916 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13917 (Installing GRUB using grub-install): Remove reference to the grub
13918 shell; mention `grub-mkimage' and `grub-setup' instead.
13919 (Invoking grub-install): Likewise.
13920 (Interface): Add reference to `Menu entry editor'.
13921 (serial): Remove `--device' option.
13922
13923 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13924
13925 * docs/grub.texi (Configuration): New section, documenting
13926 configuration file generation using grub-mkconfig. I've left a slot
13927 for documenting the full shell scripting format but have not yet
13928 started on writing that up.
13929 (Invoking grub-mkconfig): New section.
13930
13931 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13932
13933 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13934 (GNU GRUB manual): Likewise.
13935 (General commands): Update description of `terminfo' for GRUB 2.
13936
13937 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13938
13939 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13940 (GRUB_MOD_INIT): Fix capitalisation.
13941 * docs/grub.texi (Command-line and menu entry commands): Document
13942 gettext and gptsync commands.
13943
13944 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13945
13946 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13947 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13948
13949 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13950
13951 Add btrfs probing support, currently only in the single-device case.
13952
13953 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13954 function.
13955 (grub_guess_root_device): Call find_root_device_from_mountinfo
13956 before looking in /dev.
13957
13958 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13961 GRUB_DISK_SIZE_UNKNOWN.
13962 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13963
13964 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13965
13966 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13967 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13968 corrupted or not synced properly.
13969
13970 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13973 Reported by: Seth Goldberg.
13974
13975 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13978 addition of dest.
13979 Reported by: Seth Goldberg.
13980
13981 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13984 Reported by: Seth Goldberg.
13985
13986 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13989 64-bit address as signed on MIPS.
13990
13991 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13992
13993 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13994 to the empty string.
13995
13996 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13997
13998 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13999
14000 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
14001 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
14002 * kern/misc.c (__enable_execute_stack): Disable on
14003 GRUB_MACHINE_EMU.
14004
14005 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
14006
14007 Make grub-probe work with symbolic links under /dev/mapper as well
14008 as with real block devices. The Linux world seems to be (at best)
14009 in transition here, and GRUB shouldn't get caught in the middle.
14010
14011 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
14012 /dev/mapper.
14013
14014 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
14015
14016 * util/grub-script-check.c (main): Ensure defined behaviour on empty
14017 input files (in which case exit zero).
14018
14019 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
14020
14021 * kern/emu/misc.c (canonicalize_file_name): realpath can still
14022 return NULL for various reasons even if it has a maximum-length
14023 buffer: for example, there might be a symlink loop, or the path
14024 might exceed PATH_MAX. If this happens, return NULL.
14025
14026 2010-05-27 Robert Millan <rmh@gnu.org>
14027
14028 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
14029 partmap module to handle cross-partmap setups.
14030 Reported by Orestes Mas. Gràcies!
14031
14032 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
14033
14034 * util/grub-mkrescue.in: Initialise override_dir rather than
14035 assuming that it's unset or empty in the environment.
14036
14037 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
14038
14039 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
14040 variable index into p_index to suppress a warning with -Wshadow.
14041
14042 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
14043
14044 * INSTALL: Added flex >= 2.5.35 requirement.
14045
14046 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
14049
14050 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 cmostest support.
14053
14054 * commands/i386/cmostest.c: New file.
14055 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
14056 (cmostest_mod_SOURCES): New variable.
14057 (cmostest_mod_CFLAGS): Likewise.
14058 (cmostest_mod_LDFLAGS): Likewise.
14059 * conf/i386-pc.rmk: Likewise.
14060 * docs/grub.texi (Vendor power-on keys): New section.
14061 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
14062 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
14063 and GRUB_BUTTON_CMOS_ADDRESS.
14064 * util/grub.d/00_header.in: Handle powering-on by separate button.
14065
14066 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
14069 Removed drawing_scrollbar argument. All users updated
14070 Fixes #29792.
14071 Reported by Jo Shields
14072
14073 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
14076 buffer since gfxterm handles double repaint.
14077
14078 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
14081 * term/gfxterm.c (real_scroll): Likewise.
14082
14083 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
14086 before calling BIOS.
14087
14088 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * include/grub/i18n.h: Always enable grub_gettext.
14091
14092 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
14095 partition naming style.
14096
14097 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
14098
14099 * util/grub-mkconfig.in: Fix handling of -o so that it works when
14100 not the first option.
14101
14102 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
14103
14104 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
14105
14106 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
14107
14108 * util/misc.c: Move inclusion of <limits.h> to ...
14109 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
14110
14111 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
14112
14113 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
14114 Fix merge error in NetBSD code.
14115 (find_partition_start) [__NetBSD__]: Likewise.
14116
14117 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
14118
14119 Fix grub-mkrescue usage unit testing.
14120
14121 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
14122
14123 2010-05-18 Christian Franke <franke@computer.org>
14124
14125 * util/grub.d/10_windows.in: Use path names instead of
14126 drive letters to prevent warning from Cygwin 1.7.
14127 Add drivemap command to menuentry if needed.
14128
14129 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
14130
14131 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
14132 gnumach and gnumach.gz.
14133
14134 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * include/grub/i18n.h (gettext): Inline instead of using #define.
14137 (grub_gettext): Likewise.
14138 (_): Likewise.
14139
14140 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14141
14142 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
14143 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
14144 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
14145 (main): Add a slash after pkglibdirroot.
14146
14147 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14148
14149 * util/grub-install.in: Add missing "in" keyword.
14150
14151 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
14154 Reported by: Seth Goldberg.
14155
14156 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
14159
14160 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14161
14162 * configure.ac: Check for Linux device-mapper support.
14163
14164 * util/hostdisk.c (device_is_mapped): New function.
14165 (find_partition_start): New function, partly broken out from
14166 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
14167 device-mapper support added.
14168 (linux_find_partition): Use find_partition_start.
14169 (convert_system_partition_to_system_disk): Add `st' argument.
14170 Support Linux /dev/mapper/* devices if device-mapper support is
14171 available; only DM-RAID devices are understood at present.
14172 (find_system_device): Add `st' argument. Pass it to
14173 convert_system_partition_to_system_disk.
14174 (grub_util_biosdisk_get_grub_dev): Pass stat result to
14175 find_system_device and convert_system_partition_to_system_disk. Use
14176 find_partition_start.
14177
14178 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
14179 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
14180 * util/deviceiter.c [__linux__]: Define MINOR.
14181 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
14182 * util/mkdevicemap.c (grub_putchar): New function.
14183 (grub_getkey): New function.
14184 (grub_refresh): New function.
14185 (main): Set debug=all if -v -v is used.
14186
14187 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14188
14189 Fix build with non-GNU libcs.
14190
14191 * util/misc.c (canonicalize_file_name): Move to ...
14192 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
14193 grub_make_system_path_relative_to_its_root.
14194
14195 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14196
14197 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
14198 we handle finding grub-mkimage. Default to finding grub-mkimage in
14199 ${bindir} with program_transform_name applied, and provide a
14200 --grub-mkimage option to override this.
14201
14202 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 Remove grub-mkisofs.
14205
14206 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
14207 (grub_mkisofs_SOURCES): Removed.
14208 (grub_mkisofs_CFLAGS): Removed.
14209 * util/mkisofs/defaults.h: Removed.
14210 * util/mkisofs/eltorito.c: Likewise.
14211 * util/mkisofs/exclude.h: Likewise.
14212 * util/mkisofs/hash.c: Likewise.
14213 * util/mkisofs/include/: Likewise.
14214 * util/mkisofs/include/fctldefs.h: Likewise.
14215 * util/mkisofs/include/mconfig.h: Likewise.
14216 * util/mkisofs/include/prototyp.h: Likewise.
14217 * util/mkisofs/include/statdefs.h: Likewise.
14218 * util/mkisofs/iso9660.h: Likewise.
14219 * util/mkisofs/joliet.c: Likewise.
14220 * util/mkisofs/match.c: Likewise.
14221 * util/mkisofs/match.h: Likewise.
14222 * util/mkisofs/mkisofs.c: Likewise.
14223 * util/mkisofs/mkisofs.h: Likewise.
14224 * util/mkisofs/msdos_partition.h: Likewise.
14225 * util/mkisofs/multi.c: Likewise.
14226 * util/mkisofs/name.c: Likewise.
14227 * util/mkisofs/rock.c: Likewise.
14228 * util/mkisofs/tree.c: Likewise.
14229 * util/mkisofs/write.c: Likewise.
14230
14231 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 Unify grub-mkimage accross platforms.
14234
14235 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
14236 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
14237 (grub_mkelfimage_SOURCES): Removed.
14238 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
14239 (util/grub-mkimage.c_DEPENDENCIES): .. this.
14240 (bin_UTILITIES): Add grub-mkimage.
14241 (grub_mkimage_SOURCES): New variable.
14242 (kernel_img_HEADERS): Remove machine/kernel.h.
14243 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
14244 (pkglib_PROGRAMS): Add kernel.img.
14245 (kernel_img_HEADERS): Add machine/kernel.h.
14246 (kernel_img_FORMAT): Removed.
14247 (bin_UTILITIES): Remove grub-mkimage.
14248 (grub_mkimage_SOURCES): Removed.
14249 (grub_mkimage_CFLAGS): Likewise.
14250 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14251 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
14252 (pkglib_PROGRAMS): Add kernel.img.
14253 (bin_UTILITIES): Remove grub-mkimage.
14254 (grub_mkimage_SOURCES): Removed.
14255 (grub_mkimage_CFLAGS): Likewise.
14256 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14257 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
14258 (pkglib_PROGRAMS): Add kernel.img.
14259 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
14260 (pkglib_PROGRAMS): Add kernel.img.
14261 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
14262 (grub_mkimage_SOURCES): Removed.
14263 (grub_mkimage_CFLAGS): Likewise.
14264 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14265 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
14266 (pkglib_PROGRAMS): Add kernel.img.
14267 (bin_UTILITIES): Remove grub-mkimage.
14268 (grub_mkimage_SOURCES): Removed.
14269 (grub_mkimage_CFLAGS): Likewise.
14270 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14271 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
14272 (grub_mkimage_SOURCES): Removed.
14273 (grub_mkimage_CFLAGS): Likewise.
14274 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14275 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
14276 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
14277 (grub_pe32_optional_header): ... this.
14278 (grub_pe64_optional_header): ... and this. All users updated.
14279 (GRUB_PE32_PE32_MAGIC): Split into ..
14280 (GRUB_PE32_PE32_MAGIC): .. this.
14281 (GRUB_PE32_PE64_MAGIC): .. and this.
14282 (GRUB_PE32_SIGNATURE_SIZE): New definition.
14283 * include/grub/elf.h (PT_GNU_STACK): New definition.
14284 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
14285 * include/grub/i386/efi/kernel.h: Likewise.
14286 * include/grub/i386/kernel.h: Likewise.
14287 * include/grub/i386/pc/kernel.h: Likewise.
14288 * include/grub/i386/qemu/boot.h: Likewise.
14289 * include/grub/mips/kernel.h: Likewise.
14290 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14291 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14292 * include/grub/powerpc/kernel.h: Likewise.
14293 * include/grub/sparc64/ieee1275/boot.h: Likewise.
14294 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14295 * include/grub/sparc64/kernel.h: Likewise.
14296 * include/grub/x86_64/efi/kernel.h: Likewise.
14297 * include/grub/x86_64/kernel.h: Likewise.
14298 * include/grub/offsets.h: New file.
14299 * include/grub/kernel.h (grub_module_info): Split into ...
14300 (grub_module_info32): ... this.
14301 (grub_module_info64): ... and this.
14302 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14303 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14304 (grub_boot_blocklist): Moved from here ...
14305 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14306 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14307 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14308 * include/grub/types.h (grub_target_to_host16): Removed.
14309 (grub_target_to_host32): Likewise.
14310 (grub_target_to_host64): Likewise.
14311 (grub_host_to_target16): Likewise.
14312 (grub_host_to_target32): Likewise.
14313 (grub_host_to_target64): Likewise.
14314 (grub_host_to_target_addr): Likewise.
14315
14316 Support grub-mkrescue for efi, coreboot and qemu.
14317
14318 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14319 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14320 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14321 * util/grub-mkrawimage.c: Moved from here ...
14322 * util/grub-mkimage.c: ... here. All users updated.
14323 (ALIGN_ADDR): Use image_target.
14324 (TARGET_NO_FIELD): New const.
14325 (image_target_desc): New type.
14326 (image_targets): New array.
14327 (grub_target_to_host64): Use image_target.
14328 (grub_target_to_host32): Likewise.
14329 (grub_target_to_host16): Likewise.
14330 (grub_host_to_target64): Likewise.
14331 (grub_host_to_target32): Likewise.
14332 (grub_host_to_target16): Likewise.
14333 (grub_host_to_target_addr): Likewise.
14334 (generate_image): Handle multiimage.
14335 (main): Require -O parameter. All users updated.
14336 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14337 util/efi/grub-mkimage.c
14338 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14339 New option --rom-directory.
14340 Use xorriso.
14341 * util/i386/efi/grub-mkimage.c: Removed.
14342 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14343 (grub_target_to_host32): Likewise.
14344 (grub_target_to_host64): Likewise.
14345 (grub_host_to_target16): Likewise.
14346 (grub_host_to_target32): Likewise.
14347 (grub_host_to_target64): Likewise.
14348 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14349 (grub_target_to_host32): Likewise.
14350 (grub_target_to_host64): Likewise.
14351 (grub_host_to_target16): Likewise.
14352 (grub_host_to_target32): Likewise.
14353 (grub_host_to_target64): Likewise.
14354
14355 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14356
14357 Source tree is reorganized for emu build.
14358
14359 * include/grub/util/console.h: Move from here...
14360 * include/grub/emu/console.h: ...to here.
14361 * include/grub/util/getroot.h: Move from here...
14362 * include/grub/emu/getroot.h: ...to here.
14363 * include/grub/util/hostdisk.h: Move from here...
14364 * include/grub/emu/hostdisk.h: ...to here.
14365 * util/console.c: Move from here...
14366 * kern/emu/console.c: ...to here.
14367 * util/getroot.c: Move from here...
14368 * kern/emu/getroot.c: ...to here.
14369 * util/grub-emu.c: Move from here...
14370 * kern/emu/main.c: ...to here.
14371 * util/hostdisk.c: Move from here...
14372 * kern/emu/hostdisk.c: ...to here.
14373 * util/hostfs.c: Move from here...
14374 * kern/emu/hostfs.c: ...to here.
14375 * util/mm.c: Move from here...
14376 * kern/emu/mm.c: ...to here.
14377 * util/pci.c: Move from here...
14378 * bus/emu/pci.c: ...to here.
14379 * util/sdl.c: Move from here...
14380 * video/emu/sdl.c: ...to here.
14381 * util/time.c: Move from here...
14382 * kern/emu/time.c: ...to here.
14383 * util/usb.c: Move from here...
14384 * bus/usb/emu/usb.c: ...to here.
14385
14386 * include/grub/emu/misc.h: New header for grub-emu functions.
14387 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14388
14389 * conf/any-emu.rmk: Rule updates for above renames.
14390 * conf/common.rmk: Likewise.
14391 * conf/i386-pc.rmk: Likewise.
14392 * conf/i386-qemu.rmk: Likewise.
14393 * conf/mips.rmk: Likewise.
14394 * conf/sparc64-ieee1275.rmk: Likewise.
14395 * conf/x86-efi.rmk: Likewise.
14396
14397 * disk/lvm.h: #include updates for above renames.
14398 * util/grub-mkrelpath.c: Likewise.
14399 * util/grub-probe.c: Likewise.
14400 * util/i386/pc/grub-setup.c: Likewise.
14401 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14402 * kern/emu/console.c: Likewise.
14403 * kern/emu/getroot.c: Likewise.
14404 * kern/emu/hostdisk.c: Likewise.
14405 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14406
14407 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14408 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14409 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14410 * util/misc.c: Remove grub-emu functions.
14411
14412 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 Fix gfxmenu crash.
14415 Reported by: Thorsten Grützmacher.
14416
14417 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14418 timeout hook.
14419 (circprog_set_property): Register and unregister timeout hook.
14420 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14421 (label_destroy): Free template. and unregister hook.
14422 (label_set_state): New function.
14423 (label_set_property): Handle templates and hooks.
14424 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14425 timeout hook.
14426 (progress_bar_set_property): Register and unregister timeout hook.
14427 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14428 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14429 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14430 (update_timeout_visit): Removed.
14431 (update_timeouts): New function.
14432 (redraw_timeouts): Likewise.
14433 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14434 (grub_gfxmenu_clear_timeout): Likewise.
14435 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14436 (grub_gfxmenu_timeout_notify): Likewise.
14437 (grub_gfxmenu_timeout_notifications): New external variable.
14438 (grub_gfxmenu_timeout_register): New function.
14439 (grub_gfxmenu_timeout_unregister): Likewise.
14440
14441 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14442
14443 Transform (broken) vga terminal into (working) vga video driver.
14444
14445 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14446 video/i386/pc/vga.c.
14447 * include/grub/video.h (grub_video_driver_id):
14448 Add GRUB_VIDEO_DRIVER_VGA.
14449 * term/i386/pc/vga.c: Renamed to ...
14450 * video/i386/pc/vga.c: ...this
14451 (DEBUG_VGA): Removed.
14452 (CHAR_WIDTH): Likewise.
14453 (CHAR_HEIGHT): Likewise.
14454 (TEXT_WIDTH): Likewise.
14455 (TEXT_HEIGHT): Likewise.
14456 (DEFAULT_FG_COLOR): Likewise.
14457 (DEFAULT_BG_COLOR): Likewise.
14458 (colored_char): Likewise.
14459 (xpos): Likewise.
14460 (ypos): Likewise.
14461 (cursor_state): Likewise.
14462 (fg_color): Likewise.
14463 (bg_color): Likewise.
14464 (text_buf): Likewise.
14465 (page): Likewise.
14466 (font): Likewise.
14467 (framebuffer): New variable.
14468 (set_read_map): Disabled.
14469 (setup): New variable.
14470 (is_target): Likewise.
14471 (grub_vga_mod_init): Likewise.
14472 (grub_vga_mod_fini): Likewise.
14473 (check_vga_mem): Likewise.
14474 (write_char): Likewise.
14475 (write_cursor): Likewise.
14476 (scroll_up): Likewise.
14477 (grub_vga_putchar): Likewise.
14478 (grub_vga_getcharwidth): Likewise.
14479 (grub_vga_getwh): Likewise.
14480 (grub_vga_getxy): Likewise.
14481 (grub_vga_gotoxy): Likewise.
14482 (grub_vga_cls): Likewise.
14483 (grub_vga_setcolorstate): Likewise.
14484 (grub_vga_setcursor): Likewise.
14485 (grub_video_vga_init): New function.
14486 (grub_video_vga_setup): Likewise.
14487 (grub_video_vga_fini): Likewise.
14488 (update_target): Likewise.
14489 (grub_video_vga_blit_bitmap): Likewise.
14490 (grub_video_vga_blit_render_target): Likewise.
14491 (grub_video_vga_set_active_render_target): Likewise.
14492 (grub_video_vga_get_active_render_target): Likewise.
14493 (grub_video_vga_swap_buffers): Likewise.
14494 (grub_video_vga_set_palette): Likewise.
14495 (grub_video_vga_get_info_and_fini): Likewise.
14496 (grub_vga_term): Removed.
14497 (grub_video_vga_adapter): New variable.
14498 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14499 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14500
14501 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * video/readers/jpeg.c: Indented.
14504
14505 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 Various jpeg cleanups.
14508
14509 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14510 (grub_jpeg_decode_quan_table): Use sizeof.
14511 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14512
14513 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
14514
14515 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14516 tables. Ignore non-last ac bit.
14517 (grub_jpeg_decode_quan_table): Likewise.
14518
14519 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14522 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14523 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14524 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14525 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14526 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14527
14528 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14531 error.
14532
14533 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14536
14537 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14540 condition.
14541
14542 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14545 part.
14546
14547 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14550 pointers.
14551
14552 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14555
14556 2010-05-01 Christian Franke <franke@computer.org>
14557
14558 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14559 Remove broken Cygwin path conversion.
14560 * util/misc.c: [__CYGWIN__] Add include and define.
14561 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14562 for Cygwin 1.7.
14563 (make_system_path_relative_to_its_root): Simplify loop, replace early
14564 return by break.
14565 [__CYGWIN__] Add conversion to win32 path.
14566 Include "/" case in trailing slash removal.
14567
14568 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14569
14570 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14571 Reported by: Seth Goldberg
14572
14573 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * commands/help.c (grub_cmd_help): Fix a typo.
14576 Reported by: Seth Goldberg
14577
14578 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14581 name and add N_.
14582 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14583 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14584 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14585 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14586 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14587 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14588 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14589 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14590 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14591 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14592 * normal/context.c (GRUB_MOD_INIT): Likewise.
14593 * normal/main.c (GRUB_MOD_INIT): Likewise.
14594 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14595 * term/serial.c (GRUB_MOD_INIT): Likewise.
14596 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14597
14598 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14601 extra == 0.
14602
14603 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * commands/iorw.c: New file.
14606 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14607 (iorw_mod_SOURCES): New variable.
14608 (iorw_mod_CFLAGS): Likewise.
14609 (iorw_mod_LDFLAGS): Likewise.
14610
14611 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 Hotkey support
14614
14615 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14616 * normal/main.c (hotkey_aliases): New variable.
14617 (grub_normal_add_menu_entry): Parse "--hotkey".
14618 * normal/menu_text.c (run_menu): Handle hotkeys.
14619
14620 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 * kern/i386/coreboot/init.c (grub_machine_init): Call
14623 grub_machine_mmap_init on qemu.
14624
14625 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 * boot/i386/qemu/boot.S: Add a missing .code16.
14628
14629 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 Use LBIO on coreboot.
14632
14633 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14634 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14635 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14636 New declaration.
14637 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14638 grub_machine_mmap_init on coreboot.
14639 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14640 GRUB_LINUXBIOS_MEMBER_LINK.
14641 (grub_machine_mmap_iterate): Fix declaration.
14642 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14643
14644 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 Split coreboot and multiboot ports.
14647
14648 * conf/i386-multiboot.rmk: New file.
14649 * configure.ac: Add multiboot port.
14650 * include/grub/i386/multiboot/boot.h: New file.
14651 * include/grub/i386/multiboot/console.h: Likewise.
14652 * include/grub/i386/multiboot/init.h: Likewise.
14653 * include/grub/i386/multiboot/kernel.h: Likewise.
14654 * include/grub/i386/multiboot/loader.h: Likewise.
14655 * include/grub/i386/multiboot/memory.h: Likewise.
14656 * include/grub/i386/multiboot/serial.h: Likewise.
14657 * include/grub/i386/multiboot/time.h: Likewise.
14658 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14659 * loader/multiboot.c: Likewise.
14660 * loader/multiboot_mbi2.c: Likewise.
14661 * util/grub-mkrescue.in: Generate multiboot rescue.
14662
14663 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14666
14667 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 Merge handling of input and output terminals. Fix a hang.
14670
14671 * commands/terminal.c (abstract_terminal): New struct.
14672 (handle_command): New function. Based on grub_cmd_terminal_input.
14673 (grub_cmd_terminal_input): Use handle_command.
14674 (grub_cmd_terminal_output): Use handle_command.
14675
14676 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14677
14678 Fix comment handling.
14679
14680 * tests/grub_script_comments.in: New testcase.
14681 * conf/tests.rmk: Rules for new testcase.
14682 * script/yylex.l: Updated flex rules.
14683
14684 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14685
14686 * docs/grub.texi (play): Document that zero pitches produce rests.
14687 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14688 if argc is 1.
14689
14690 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14693 autogen issues.
14694
14695 2010-04-26 Christian Franke <franke@computer.org>
14696
14697 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14698 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14699 (grub_get_prefix): Remove function.
14700 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14701 make_system_path_relative_to_its_root ().
14702 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14703
14704 2010-04-24 Christian Franke <franke@computer.org>
14705
14706 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14707 (kernel_img_LDFLAGS): Remove -static-libgcc.
14708
14709 2010-04-24 Christian Franke <franke@computer.org>
14710
14711 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14712 and CHECK_END_SYMBOL if grub-emu is built.
14713 Unset TARGET_OBJ2ELF if grub-emu is built
14714 without module support.
14715
14716 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
14717
14718 Nilfs2 support.
14719
14720 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14721 (grub_fstest_SOURCES): Likewise.
14722 (pkglib_MODULES): Add nilfs2.mod.
14723 (nilfs2_mod_SOURCES): New variable.
14724 (nilfs2_mod_CFLAGS): Likewise.
14725 (nilfs2_mod_LDFLAGS): Likewise.
14726 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14727 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14728 * fs/nilfs2.c: New file.
14729
14730 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14733 is not supported.
14734
14735 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14736
14737 Add grub-mkconfig support for NetBSD.
14738
14739 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14740 * util/grub-mkconfig.in: export new NetBSD specific variables.
14741 * po/POTFILES-shell: added 10_netbsd.in.
14742 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14743
14744 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14745
14746 Fix emu build with grub-emu-pci and grub-emu-modules.
14747
14748 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14749 functions.
14750 * include/grub/libpciaccess.h: New file.
14751 * conf/any-emu.rmk: Update kernel headers for emu build.
14752
14753 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14756
14757 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14760
14761 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14764 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14765 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14766 util/ieee1275/ofpath.c.
14767 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14768 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14769 * include/grub/sparc64/ieee1275/boot.h
14770 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14771 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14772 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14773 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14774 const char *.
14775 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14776 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14777 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14778 install.
14779
14780 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14781
14782 * util/grub-mkconfig.in: Corrected two == equality tests.
14783 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14784 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14785 expect a number appended to it.
14786 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14787 expects a number appended to it.
14788
14789 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14792
14793 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 * util/hostdisk.c (make_device_name): Change to new partition naming.
14796
14797 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14800
14801 2010-04-17 Christian Franke <franke@computer.org>
14802
14803 * Makefile.in: Add missing localedir setting.
14804
14805 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14806
14807 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14808 mistake in r2156. Noticed by Anthony Fok.
14809
14810 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14811 @localedir@.
14812 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14813
14814 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14815
14816 Fix a spurious, uninitialized variable warning.
14817
14818 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14819 Initialize variable, shdr.
14820 (grub_freebsd_load_elfmodule): Likewise.
14821 (grub_freebsd_load_elf_meta): Likewise.
14822
14823 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14824
14825 Fix for escaped dollar in double quoted strings.
14826
14827 * script/yylex.l: Updated flex rules.
14828 * conf/tests.rmk: Rule for new testcase.
14829 * tests/grub_script_dollar.in: New testcase.
14830
14831 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14832 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14833
14834 Enclose all translated strings in grub.cfg in single quotes, and
14835 escape them appropriately (Ubuntu bug #552921).
14836
14837 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14838 * util/grub.d/10_hurd.in: Use it.
14839 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14840 * util/grub.d/10_linux.in (linux_entry): Likewise.
14841
14842 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 Fix cygwin compilation.
14845
14846 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14847 * include/grub/misc.h (__register_frame_info)
14848 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14849 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14850 * kern/misc.c (__register_frame_info)
14851 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14852 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14853
14854 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14855
14856 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14857
14858 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 Unify libgcc processing.
14861
14862 * Makefile.in (kernel_img_LDFLAGS): New variable.
14863 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14864 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14865 overwriting.
14866 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14867 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14868 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14869 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14870 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14871 overwriting. Remove -lgcc and -static-libgcc
14872 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14873 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14874 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14875 (kernel_img_LDFLAGS): Append instead of overwriting.
14876 Remove -lgcc and -static-libgcc
14877 * conf/sparc64-ieee1275.rmk: Likewise.
14878 * include/grub/powerpc/libgcc.h: Move to ...
14879 * include/grub/libgcc.h: .. this.
14880 * include/grub/libgcc.h: Don't export most of the function on x86.
14881 (__bswapsi2): New export.
14882 (__bswapdi2): Likewise.
14883 * include/grub/mips/libgcc.h: Removed.
14884 * include/grub/sparc64/libgcc.h: Likewise.
14885
14886 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14889 disk_info_msg (conflicts with gettexting into languages with cases).
14890
14891 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14892
14893 Add grub-probe support for NetBSD.
14894
14895 * util/getroot.c (find_root_device): Convert block device to
14896 character device on NetBSD.
14897 * util/probe.c (probe): Require character device on NetBSD.
14898 * util/hostdisk.c: NetBSD specific headers.
14899 (configure_device_driver): new function to tune device driver
14900 parameters (currently only for NetBSD floppy driver).
14901 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14902 via disklabel ioctl).
14903 (open_device): call configure_device_driver on NetBSD.
14904 (convert_system_partition_to_system_disk): NetBSD specific code.
14905 (device_is_wholedisk): Likewise.
14906 (grub_util_biosdisk_get_grub_dev): Likewise.
14907 (make_device_name): Fixed a typo in bsd_part_str.
14908 * configure.ac: check for opendisk() and getrawpartition() on
14909 NetBSD and set LIBUTIL.
14910 * Makefile.in: add LIBUTIL to LIBS.
14911
14912 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14913
14914 Documentation fix.
14915
14916 * util/grub-script-check.c: Better help message.
14917
14918 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14919
14920 Fix FreeBSD build.
14921
14922 * configure.ac: Flex version check.
14923 * conf/common.rmk: Add -Wno-error to sh.mod.
14924 * script/yylex.l: Remove all #pragma.
14925
14926 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14929 prototype.
14930 Reported by: Seth Goldberg.
14931
14932 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14935 Rename "module" to "module2".
14936 Reported by: Seth Goldberg.
14937
14938 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14941 EXPORT_FUNC.
14942 Reported by: Seth Goldberg.
14943
14944 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * lib/posix_wrap/locale.h: Add missing file.
14947 Reported by: Seth Goldberg.
14948
14949 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 grub-emu module load support.
14952
14953 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14954 NO_DYNAMIC_MODULES switched to this.
14955 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14956 (CFLAGS): Likewise.
14957 * conf/any-emu.rmk: Generate symlist.
14958 (kernel_img_HEADERS): Add util/datetime.h.
14959 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14960 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14961 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14962 kern/$(target_cpu)/cache.S.
14963 * configure.ac (grub-emu-modules): New option.
14964 * genmk.rb: Handle multiple source lists.
14965 * include/grub/sdl.h: New file.
14966 * include/grub/libusb.h: Likewise.
14967 * util/grub-emu.c (main): Hanle (host) root.
14968 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14969 GRUB_ERR_UNKNOWN_DEVICE.
14970 * util/misc.c: Move mm functions to ...
14971 * util/mm.c: ... here. All users updated.
14972
14973 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14976 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14977 missing files.
14978 (maintainer-clean): Remove libgcrypt-grub.
14979
14980 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14983
14984 2010-04-09 EFI Coder <eficoder@hotmail.com>
14985
14986 * normal/menu_text.c (print_message): Clean up the message and show
14987 the Fn information when on EFI
14988 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14989
14990 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14993 All users updated.
14994 * normal/crypto.c (read_crypto_list): Likewise.
14995 * normal/dyncmd.c (read_command_list): Likewise.
14996 * normal/term.c (read_terminal_list): Likewise.
14997 * normal/main.c (read_lists): Use explicit prefix.
14998 (read_lists_hook): Use read_lists.
14999 (grub_normal_execute): Likewise.
15000
15001 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
15004 Reported by: Thomas Schmitt.
15005 Add -no-emul-boot to grub-mkisofs parameters.
15006
15007 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15008
15009 * font/font.c: Indented.
15010
15011 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15012
15013 Elif support to GRUB script (by Deepak Vankadaru).
15014
15015 * tests/grub_script_if.in: New testcase.
15016 * conf/tests.rmk: Rule for new testcase.
15017 * script/parser.y: Grammar rules for elif.
15018
15019 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15020
15021 While and until loops support to GRUB script.
15022
15023 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
15024 (grub_script_create_cmdwhile): New function prototype.
15025 (grub_script_execute_cmdwhile): New function prototype.
15026 * script/execute.c (grub_script_execute_cmdwhile): New function.
15027 * script/parser.y (command): New commands.
15028 (whilecmd): New grammar rule.
15029 (untilcmd): New grammar rule.
15030 * script/script.c (grub_script_create_cmdwhile): New function.
15031 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
15032 function.
15033
15034 * tests/grub_script_while1.in: New testcase.
15035 * conf/tests.rmk: Rule for new testcase.
15036
15037 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
15040 as *.jpg.
15041
15042 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
15043
15044 GRUB_BACKGROUND support.
15045
15046 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
15047 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
15048
15049 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 Load fonts and modules for gfxmenu in grub-mkconfig.
15052 Idea by: Mario Vazquez
15053
15054 * util/grub.d/00_header.in: Load pf2 and image modules.
15055
15056 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 grub-mkconfig multiple terminal support.
15059
15060 * util/grub-mkconfig.in: Handle multiple terminals correctly.
15061 * util/grub.d/00_header.in: Likewise.
15062
15063 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * Makefile.in: Specify files explicitly instead of using $< and $@ since
15066 we use cd $(srcdir).
15067
15068 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
15069
15070 * util/grub.d/10_linux.in: Only use the first word of
15071 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
15072 spaces in GRUB_DISTRIBUTOR.
15073 * util/grub.d/10_kfreebsd.in: Likewise.
15074 * util/grub.d/10_hurd.in: Likewise.
15075
15076 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
15077
15078 Fix unit testing framework for Qemu 0.12.
15079
15080 * tests/util/grub-shell.in: Remove -serial stdio option.
15081
15082 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 POSIX header file wrappers.
15085
15086 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
15087 equivalents.
15088 * lib/posix_wrap/ctype.h: Likewise.
15089 * lib/posix_wrap/errno.h: Likewise.
15090 * lib/posix_wrap/langinfo.h: Likewise.
15091 * lib/posix_wrap/limits.h: Likewise.
15092 * lib/posix_wrap/localcharset.h: Likewise.
15093 * lib/posix_wrap/stdint.h: Likewise.
15094 * lib/posix_wrap/stdio.h: Likewise.
15095 * lib/posix_wrap/stdlib.h: Likewise.
15096 * lib/posix_wrap/string.h: Likewise.
15097 * lib/posix_wrap/sys/types.h: Likewise.
15098 * lib/posix_wrap/unistd.h: Likewise.
15099 * lib/posix_wrap/wchar.h: Likewise.
15100 * lib/posix_wrap/wctype.h: Likewise.
15101 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
15102 (grub_script.yy.h): Likewise.
15103 * script/yylex.l: Remove POSIX emulation #defines.
15104 * Makefile.in (POSIX_CFLAGS): New variable.
15105 (GNULIB_UTIL_CFLAGS): Likewise.
15106
15107 Regexp support.
15108
15109 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
15110 (regexp_mod_SOURCES): New variable.
15111 (regexp_mod_CFLAGS): Likewise.
15112 (regexp_mod_LDFLAGS): Likewise.
15113 * commands/regexp.c: New file.
15114 * gnulib/regcomp.c: New file. Imported from gnulib.
15115 * gnulib/regex.c: Likewise.
15116 * gnulib/regex_internal.c: Likewise.
15117 * gnulib/regex_internal.h: Likewise.
15118 * gnulib/regexec.c: Likewise.
15119 * gnulib/regex.h: Likewise.
15120
15121 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
15124 unsupported video mode types.
15125
15126 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
15129
15130 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
15133 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
15134
15135 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 Remove unused grub_vga_get_font.
15138
15139 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
15140 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
15141
15142 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15143
15144 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
15145 * include/grub/misc.h: Likewise.
15146
15147 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15148
15149 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
15150 for which failure is fatal.
15151
15152 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15153
15154 * util/grub-install.in: Use mkdir -p to create grub directory.
15155 * util/i386/efi/grub-install.in: Likewise.
15156 * util/ieee1275/grub-install.in: Likewise.
15157
15158 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15159
15160 * Makefile.in (LEX): new variable.
15161
15162 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15163
15164 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
15165 `=' and added double quotes on operands of this equality test.
15166
15167 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * Makefile.in (uninstall): Remove a leftover debug echo.
15170 Reported by: Grégoire Sutre
15171
15172 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 MIPS multiboot2 support.
15175
15176 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
15177 (multiboot2_mod_SOURCES): New variable.
15178 (multiboot2_mod_CFLAGS): Likewise.
15179 (multiboot2_mod_LDFLAGS): Likewise.
15180 (multiboot2_mod_ASFLAGS): Likewise.
15181 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
15182 definition.
15183 (MULTIBOOT_ENTRY_REGISTER): Likewise.
15184 (MULTIBOOT_MBI_REGISTER): Likewise.
15185 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
15186 (MULTIBOOT_ELF32_MACHINE): Likewise.
15187 (MULTIBOOT_ELF64_MACHINE): Likewise.
15188 * include/grub/mips/multiboot.h: New file.
15189 * include/grub/video.h (grub_video_driver_id): New type
15190 GRUB_VIDEO_DRIVER_SM712.
15191 (grub_video_get_info_and_fini): Export.
15192 (grub_video_get_palette): Likewise.
15193 (grub_video_get_driver_id): Likewise.
15194 * include/multiboot2.h: Resynced with spec.
15195 * loader/i386/multiboot.c: Moved from here ...
15196 * loader/multiboot.c: ... here. All users updated.
15197 (grub_multiboot_boot): Use platform-specific macros.
15198 * loader/i386/multiboot_elfxx.c: Moved from here ...
15199 * loader/multiboot_elfxx.c: ... here. All users updated.
15200 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
15201 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
15202 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
15203
15204 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15205
15206 Import gnulib argp module.
15207
15208 * gnulib/argp-ba.c: New file.
15209 * gnulib/argp-eexst.c: Likewise.
15210 * gnulib/argp-fmtstream.c: Likewise.
15211 * gnulib/argp-fmtstream.h: Likewise.
15212 * gnulib/argp-fs-xinl.c: Likewise.
15213 * gnulib/argp-help.c: Likewise.
15214 * gnulib/argp-namefrob.h: Likewise.
15215 * gnulib/argp-parse.c: Likewise.
15216 * gnulib/argp-pin.c: Likewise.
15217 * gnulib/argp-pv.c: Likewise.
15218 * gnulib/argp-pvh.c: Likewise.
15219 * gnulib/argp-version-etc.c: Likewise.
15220 * gnulib/argp-version-etc.h: Likewise.
15221 * gnulib/argp-xinl.c: Likewise.
15222 * gnulib/argp.h: Likewise.
15223
15224 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * kern/device.c (grub_device_iterate): Clear errors after failed
15227 opening device.
15228
15229 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
15232 returned by firmware.
15233
15234 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
15237 compilation on coreboot and qemu
15238
15239 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 * include/multiboot2.h: Resync with spec.
15242
15243 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 Multiboot2 tag support
15246
15247 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15248 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
15249 Remove loader/multiboot_loader.c.
15250 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
15251 (grub_multiboot2_real_boot): Likewise.
15252 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
15253 (grub_get_multiboot_mmap_count): New proto.
15254 (grub_fill_multiboot_mmap): Likewise.
15255 (grub_multiboot_set_video_mode): Likewise.
15256 (grub_multiboot_set_console): Likewise.
15257 (grub_multiboot_load): Likewise.
15258 (grub_multiboot_load_elf): Likewise.
15259 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
15260 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
15261 * include/multiboot.h: Resynced with specification.
15262 * include/multiboot2.h: Resynced with specification.
15263 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
15264 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
15265 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
15266 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
15267 users updated.
15268 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
15269 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
15270 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
15271 Removed.
15272 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
15273 Moved from here...
15274 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
15275 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15276 Moved from here...
15277 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
15278 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
15279 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
15280 All users updated.
15281 * loader/i386/multiboot_mbi2.c: New file.
15282
15283 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 Resync with gnulib.
15286
15287 * Makefile.in (GNULIB_CFLAGS): New variable.
15288 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
15289 (grub_script_check_CFLAGS): New variable.
15290 * gnulib/alloca.h: Resync with gnulib.
15291 * gnulib/error.c: Likewise.
15292 * gnulib/error.h: Likewise.
15293 * gnulib/fnmatch.c: Likewise.
15294 * gnulib/fnmatch_loop.c: Likewise.
15295 * gnulib/getdelim.c: Likewise.
15296 * gnulib/getline.c: Likewise.
15297 * gnulib/getopt.c: Likewise.
15298 * gnulib/getopt1.c: Likewise.
15299 * gnulib/getopt_int.h: Likewise.
15300 * gnulib/gettext.h: Likewise.
15301 * gnulib/progname.c: Likewise.
15302 * gnulib/progname.h: Likewise.
15303
15304 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15305
15306 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15307 which is the case with --disabled-nls.
15308
15309 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15310 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15311 * util/misc.c: Likewise.
15312 * util/mkisofs/mkisofs.c: Likewise.
15313 * util/mkisofs/mkisofs.h: Likewise.
15314
15315 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 Simplify Apple CC support.
15318
15319 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15320 Add 0 byte at the end not to have a symbol with empty target.
15321 * mmap/i386/pc/mmap_helper.S: Likewise.
15322 * genmk.rb: Ignore errors 2030 and 2050.
15323 * kern/i386/pc/startup.S: Use LOCAL when possible.
15324
15325 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15326
15327 Testcase and the fix for final semicolon on cmdline.
15328
15329 * tests/grub_script_final_semicolon.in: New testcase.
15330 * conf/tests.rmk: Rules for the new testcase.
15331 * script/parser.y: Grammar fix.
15332
15333 2010-03-26 BVK Chaitanya <bvk@localhost>
15334
15335 Blank lines testcase for GRUB script.
15336
15337 * tests/grub_script_blanklines.in: New testcase.
15338 * conf/tests.rmk: Rules for the new testcase.
15339
15340 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 Don't use __FILE__.
15343
15344 * genmk.rb: Add -DGRUB_FILE to all C targets.
15345 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15346 * include/grub/list.h: Likewise.
15347 * include/grub/misc.h: Likewise.
15348 * include/grub/mm.h: Likewise.
15349 * include/grub/test.h: Likewise.
15350 * kern/mm.c: Likewise.
15351 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15352
15353 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 Sunpc partitions support.
15356
15357 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15358 (grub_fstest_SOURCES): Likewise.
15359 (pkglib_MODULES): Add part_sunpc.mod.
15360 (part_sunpc_mod_SOURCES): New variable.
15361 (part_sunpc_mod_CFLAGS): Likewise.
15362 (part_sunpc_mod_LDFLAGS): Likewise.
15363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15364 * partmap/sunpc.c: New file.
15365
15366 2010-03-26 BVK Chaitanya <bvk@localhost>
15367
15368 For loop support to GRUB script.
15369
15370 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15371 (grub_script_create_cmdfor): New function prototype.
15372 (grub_script_execute_cmdfor): New function prototype.
15373 * script/execute.c (grub_script_execute_cmdfor): New function.
15374 * script/parser.y (command): New for command.
15375 (forcmd): New grammar rule.
15376 * script/script.c (grub_script_create_cmdfor): New function.
15377 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15378 function.
15379 * tests/grub_script_for1.in: New testcase.
15380 * conf/tests.rmk: Rules for new testcase.
15381
15382 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 Nested partitions
15385
15386 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15387 'partition' is NULL, grub_partition_get_start already does that.
15388 * commands/loadenv.c (check_blocklists): Likewise.
15389 (write_blocklists): Likewise.
15390 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15391 (grub_fstest_SOURCES): Likewise.
15392 (pkglib_MODULES): Add part_bsd.mod.
15393 (part_bsd_mod_SOURCES): New variable.
15394 (part_bsd_mod_CFLAGS): Likewise.
15395 (part_bsd_mod_LDFLAGS): Likewise.
15396 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15397 (grub_emu_SOURCES): Likewise.
15398 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15399 * include/grub/bsdlabel.h: New file.
15400 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15401 'get_name'.
15402 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15403 (grub_partition_map_list): New variable.
15404 (grub_partition_map_register): Inline.
15405 (grub_partition_map_unregister): Likewise.
15406 (FOR_PARTITION_MAPS): New macro.
15407 (grub_partition_map_iterate): Removed.
15408 (grub_partition_get_start): Handle nested partitions.
15409 * include/grub/msdos_partition.h: Remove bsd-related entries.
15410 (grub_pc_partition): Remove.
15411 * kern/disk.c (grub_disk_close): Free partition data.
15412 (grub_disk_adjust_range): Handle nested partitions.
15413 * kern/partition.c (grub_partition_map_probe): New function.
15414 (grub_partition_probe): Parse name to number, handle subpartitions.
15415 (get_partmap): New function.
15416 (grub_partition_iterate): Handle subpartitions.
15417 (grub_partition_get_name): Likewise.
15418 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15419 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15420 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15421 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15422 Set 'number'.
15423 (acorn_partition_map_probe): Remove.
15424 (acorn_partition_map_get_name): Likewise.
15425 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15426 Set 'number'.
15427 Set 'index' to 0 since there can be only one partition entry per sector.
15428 (amiga_partition_map_probe): Remove.
15429 (amiga_partition_map_get_name): Likewise.
15430 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15431 Set 'number'.
15432 Set 'offset' and 'index' to real positions of partitions.
15433 (apple_partition_map_probe): Remove.
15434 (apple_partition_map_get_name): Likewise.
15435 * partmap/bsdlabel.c: New file.
15436 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15437 Set 'number'.
15438 Allocate 'data' so it can be correctly freed.
15439 Set 'index' to offset inside sector.
15440 (gpt_partition_map_probe): Remove.
15441 (gpt_partition_map_get_name): Likewise.
15442 * partmap/msdos.c (grub_partition_parse): Remove.
15443 (pc_partition_map_iterate): Don't force raw access.
15444 Set 'number'.
15445 Make 'ext_offset' a local variable.
15446 (pc_partition_map_probe): Remove.
15447 (pc_partition_map_get_name): Remove.
15448 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15449 Set 'number'.
15450 (sun_partition_map_probe): Remove.
15451 (sun_partition_map_get_name): Likewise.
15452 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15453 (grub_pcpart_type): Likewise.
15454 * util/hostdisk.c (open_device): Handle new numbering scheme.
15455 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15456 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15457 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15458 * util/grub-install.in: Insert all subpartition modules.
15459 * util/ieee1275/grub-install.in: Likewise.
15460
15461 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15462
15463 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15464 grammar.
15465
15466 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
15467
15468 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15469
15470 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
15471
15472 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15473 match where 'make install' puts them.
15474 * util/i386/efi/grub-install.in: Likewise.
15475
15476 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
15477
15478 * .bzrignore: Add gentrigtables, grub-script-check,
15479 grub_script_check_init.c, grub_script_check_init.h, and
15480 trigtables.c.
15481
15482 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 * kern/parser.c: Indented.
15485
15486 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15489
15490 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15493 alpha_mask_size == 0 case.
15494
15495 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15496
15497 GRUB shell lexer and parser improvements.
15498
15499 * conf/any-emu.rmk: Build rule updates.
15500 * conf/common.rmk: Likewise.
15501 * conf/i386-coreboot.rmk: Likewise.
15502 * conf/i386-efi.rmk: Likewise.
15503 * conf/i386-ieee1275.rmk: Likewise.
15504 * conf/i386-pc.rmk: Likewise.
15505 * conf/powerpc-ieee1275.rmk: Likewise.
15506 * conf/x86_64-efi.rmk: Likewise.
15507
15508 * configure.ac: Configure check for flex.
15509
15510 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15511 types.
15512 (grub_lexer_param): Struct member updates.
15513 (grub_parser_param): Likewise.
15514 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15515 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15516 (grub_script_lexer_init): Prototype update.
15517 (grub_script_lexer_record_start): Likewise.
15518 (grub_script_lexer_record_stop): Likewise.
15519 (grub_script_lexer_yywrap): New function prototype.
15520 (grub_script_lexer_fini): Likewise.
15521 (grub_script_execute_argument_to_string): Removed by...
15522 (grub_script_execute_argument_to_argv): ...better version.
15523
15524 * script/execute.c (ROUND_UPTO): New macro.
15525 (grub_script_execute_cmdline): Out of memory fixes.
15526 (grub_script_execute_menuentry): Likewise.
15527 (grub_script_execute_argument_to_string): Removed. Update all
15528 users by...
15529 (grub_script_execute_argument_to_argv): ...better version.
15530 * script/function.c (grub_script_function_create): Use
15531 grub_script_execute_argument_to_argv instead of
15532 grub_script_execute_argument_to_string.
15533
15534 * script/lexer.c (check_varstate): Removed.
15535 (check_textstate): Removed.
15536 (grub_script_lexer_record_start): Likewise.
15537 (grub_script_lexer_record_stop): Likewise.
15538 (recordchar): Replaced with...
15539 (grub_script_lexer_record): ...new function.
15540 (nextchar): Removed.
15541 (grub_script_lexer_init): Rewritten.
15542 (grub_script_yylex): Rewritten.
15543 (append_newline): New function.
15544 (grub_script_lexer_yywrap): New function.
15545 (grub_script_lexer_fini): New function.
15546 (grub_script_yyerror): Sets error flag.
15547
15548 * script/yylex.l: New file.
15549 (grub_lexer_yyfree): Wrapper for flex yyffre.
15550 (grub_lexer_yyalloc): Likewise.
15551 (grub_lexer_yyrealloc): Likewise.
15552 * script/parser.y: Refactored.
15553
15554 * script/script.c (grub_script_arg_add): Out of memory fixes.
15555 (grub_script_add_arglist): Likewise.
15556 (grub_script_create_cmdline): Likewise.
15557 (grub_script_create_cmdmenu): Likewise.
15558 (grub_script_add_cmd): Likewise.
15559 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15560 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15561 unnecessary code.
15562
15563 * tests/grub_script_echo1.in: New testcase.
15564 * tests/grub_script_vars1.in: New testcase.
15565 * tests/grub_script_echo_keywords.in: New testcase.
15566
15567 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 Remove some redundancy in build system.
15570
15571 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15572 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15573 (TARGET_LDFLAGS): Add -nostdlib.
15574 (TARGET_IMG_LDFLAGS): Likewise.
15575 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15576 anything since mmap isn't available.
15577 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15578 Add util/time.c.
15579 (pkglib_MODULES): Remove reboot.mod.
15580 (reboot_mod_SOURCES): Removed.
15581 (reboot_mod_CFLAGS): Likewise.
15582 (reboot_mod_LDFLAGS): Likewise.
15583 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15584 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15585 (DEFSYMFILES): Add kernel_syms.lst.
15586 (kernel_img_HEADERS): Add common headers.
15587 (symlist.c): New target.
15588 (kernel_syms.lst): Likewise.
15589 (pkglib_MODULES): Add memdisk.mod.
15590 (memdisk_mod_SOURCES): New variable.
15591 (memdisk_mod_CFLAGS): Likewise.
15592 (memdisk_mod_LDFLAGS): Likewise.
15593 (pkglib_MODULES): Add reboot.mod.
15594 (reboot_mod_SOURCES): New variable.
15595 (reboot_mod_CFLAGS): Likewise.
15596 (reboot_mod_LDFLAGS): Likewise.
15597 (pkglib_MODULES): Add date.mod.
15598 (date_mod_SOURCES): New variable.
15599 (date_mod_CFLAGS): Likewise.
15600 (date_mod_LDFLAGS): Likewise.
15601 (pkglib_MODULES): Add datehook.mod.
15602 (datehook_mod_SOURCES): New variable.
15603 (datehook_mod_CFLAGS): Likewise.
15604 (datehook_mod_LDFLAGS): Likewise.
15605 (pkglib_MODULES): Add lsmmap.mod.
15606 (lsmmap_mod_SOURCES): New variable.
15607 (lsmmap_mod_CFLAGS): Likewise.
15608 (lsmmap_mod_LDFLAGS): Likewise.
15609 (pkglib_MODULES): Add boot.mod.
15610 (boot_mod_SOURCES): New variable.
15611 (boot_mod_CFLAGS): Likewise.
15612 (boot_mod_LDFLAGS): Likewise.
15613 * conf/i386-coreboot.rmk: Removed redundant parts.
15614 * conf/i386-ieee1275.rmk: Likewise.
15615 * conf/i386-pc.rmk: Likewise.
15616 * conf/mips-yeeloong.rmk: Likewise.
15617 * conf/mips.rmk: Likewise.
15618 * conf/powerpc-ieee1275.rmk: Likewise.
15619 * conf/sparc64-ieee1275.rmk: Likewise.
15620 * conf/x86_64-efi.rmk: Likewise.
15621 * conf/i386-coreboot.rmk: Moved qemu parts ..
15622 * conf/i386-qemu.rmk: ... here
15623 * conf/i386-efi.rmk: Moved common parts to...
15624 * conf/x86-efi.rmk: ... here.
15625 * conf/i386.rmk: Added modules common to all x86 variants.
15626 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15627 * disk/memdisk.c: Remove grub/machine/kernel.h.
15628 * gensymlist.sh.in: Include symbol.h.
15629 * hook/datehook.c: Correct module name.
15630 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15631 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15632 * include/grub/i386/efi/serial.h: New file.
15633 * include/grub/x86_64/efi/serial.h: Likewise.
15634 * util/time.c: Likewise.
15635 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15636
15637 2010-03-14 Colin King <colin.king@ubuntu.com>
15638 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15639
15640 Shrink the pre-partition-table part of boot.img by eight bytes.
15641
15642 * boot/i386/pc/boot.S (ERR): New macro.
15643 (chs_mode): Use ERR.
15644 (geometry_error): Likewise.
15645 (hd_probe_error): Remove. This is only used once, so we wrwite
15646 it inline instead.
15647 (read_error): Instead of printing read_error_string, just set up
15648 %si and fall through to ...
15649 (error_message): ... this new function, also used by ERR.
15650
15651 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15652
15653 Speed up consecutive hostdisk operations on the same device.
15654
15655 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15656 (grub_util_biosdisk_open): Initialise disk->data.
15657 (struct linux_partition_cache): New structure.
15658 (linux_find_partition): Cache partition start positions; these are
15659 expensive to compute on every read and write.
15660 (open_device): Cache open file descriptor in disk->data, so that we
15661 don't have to reopen it and flush the buffer cache for consecutive
15662 operations on the same device.
15663 (grub_util_biosdisk_close): New function.
15664 (grub_util_biosdisk_dev): Set `close' member.
15665
15666 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15667 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15668 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15669 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15670 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15671
15672 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 Compile parts of grub-emu as modules.
15675
15676 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15677 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15678 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15679 (all-local): Add $(GRUB_EMU).
15680 (install-local): Install $(GRUB_EMU).
15681 (uninstall): Uninstall $(GRUB_EMU).
15682 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15683 * kern/dl.c: Likewise.
15684 * commands/sleep.c: Not include machine/time.h.
15685 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15686 (COMMON_CFLAGS): Likewise.
15687 (sbin_UTILITIES): Remove grub-emu.
15688 (grub_emu_SOURCES): Removed.
15689 (kernel_img_RELOCATABLE): New variable.
15690 (pkglib_PROGRAMS): Add kernel.img.
15691 (kernel_img_SOURCES): New variable
15692 (kernel_img_CFLAGS): Likewise.
15693 (kernel_img_LDFLAGS): Likewise.
15694 (TARGET_NO_STRIP): Likewise.
15695 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15696 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15697 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15698 (grub-emu): New target.
15699 (GRUB_EMU): New variable.
15700 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15701 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15702 * loader/xnu.c: Likewise.
15703 * include/grub/pci.h: Likewise.
15704 * genemuinit.sh: New file.
15705 * genemuinitheader.sh: Likewise.
15706 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15707 Support TARGET_NO_DYNAMIC_MODULES.
15708 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15709 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15710 * disk/loopback.c: Likewise.
15711 * font/font_cmd.c: Likewise.
15712 * partmap/acorn.c: Likewise.
15713 * partmap/amiga.c: Likewise.
15714 * partmap/apple.c: Likewise.
15715 * partmap/gpt.c: Likewise.
15716 * partmap/msdos.c: Likewise.
15717 * partmap/sun.c: Likewise.
15718 * parttool/msdospart.c: Likewise.
15719 * term/gfxterm.c: Likewise.
15720 * video/bitmap.c: Likewise.
15721 * video/readers/jpeg.c: Likewise.
15722 * video/readers/png.c: Likewise.
15723 * video/readers/tga.c: Likewise.
15724 * video/video.c: Likewise.
15725 * util/grub-emu.c (read_command_list): Removed.
15726 (main): Don't call util_init_nls.
15727 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15728 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15729
15730 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15733 date.mod, datehook.mod.
15734 (datetime_mod_SOURCES): New variable.
15735 (datetime_mod_CFLAGS): Likewise.
15736 (datetime_mod_LDFLAGS): Likewise.
15737 (date_mod_SOURCES): Likewise.
15738 (date_mod_CFLAGS): Likewise.
15739 (date_mod_LDFLAGS): Likewise.
15740 (datehook_mod_SOURCES): Likewise.
15741 (datehook_mod_CFLAGS): Likewise.
15742 (datehook_mod_LDFLAGS): Likewise.
15743 * conf/sparc64-ieee1275.rmk: Likewise.
15744 * lib/ieee1275/datetime.c: New file.
15745
15746 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15749 (ieee1275_fb_mod_SOURCES): New variable.
15750 (ieee1275_fb_mod_CFLAGS): Likewise.
15751 (ieee1275_fb_mod_LDFLAGS): Likewise.
15752 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15753 New proto.
15754 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15755 (HEAP_MAX_ADDR): Likewise.
15756 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15757 type.
15758 Correct stop condition.
15759 (grub_ieee1275_devices_iterate): New function.
15760 * video/ieee1275.c: New file.
15761
15762 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15765
15766 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15767 as scratch.
15768 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15769 SCRATCH_PAD_DISKBOOT as scratch.
15770 (bootit): Pass Openfirmware pointer in %o4.
15771 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15772 of 0x200000.
15773 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15774 with util/grub-mkrawimage.c.
15775 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15776 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15777 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15778 (grub_aout_load) [GRUB_UTIL]: Likewise.
15779 * include/grub/kernel.h (grub_modules_get_end): New proto.
15780 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15781 (SCRATCH_PAD_BOOT): New definition.
15782 (SCRATCH_PAD_DISKBOOT): Likewise.
15783 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15784 * include/grub/sparc64/ieee1275/ieee1275.h
15785 (grub_ieee1275_original_stack): New variable
15786 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15787 New definition
15788 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15789 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15790 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15791 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15792 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15793 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15794 (grub_platform_image_format_t): New type.
15795 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15796 * kern/main.c (grub_modules_get_end)
15797 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15798 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15799 (codestart): Switch stacks.
15800 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15801 variable.
15802 (grub_heap_init): Use grub_modules_get_end.
15803 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15804 stack.
15805 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15806 (main): Likewise.
15807 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15808
15809 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15810
15811 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15812
15813 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15814
15815 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15816 bug #559005).
15817
15818 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 * genmoddep.awk: Output all missing symbols and not only first.
15821
15822 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * NEWS: Put the date of 1.98 release.
15825
15826 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15829 ft2build.h.
15830
15831 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15834 completition in the middle of string.
15835
15836 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 * util/grub-mkrescue.in: Use mktemp with explicit template.
15839
15840 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15843
15844 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15847 right pointer.
15848
15849 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 Fix FreeBSD compilation.
15852
15853 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15854 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15855
15856 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15859
15860 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15863
15864 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15867
15868 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15869
15870 Support relative image path in theme file.
15871
15872 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15873 (image_set_property): Handle theme_dir and relative path.
15874
15875 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 * configure.ac: Alias amd64 to x86_64.
15878
15879 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * NEWS: mention multiboot on EFI.
15882
15883 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * kern/main.c (grub_load_modules): Handle errors from init functions of
15886 embeded modules.
15887
15888 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * normal/autofs.c (autoload_fs_module): Handle errors.
15891
15892 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 Disable linux.mod on qemu-mips since it's not functional and leads
15895 to compilation failure.
15896
15897 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15898 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15899 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15900 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15901 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15902 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15903 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15904 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15905 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15906 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15907 Reported by: BVK Chaitanya
15908
15909 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15910
15911 * INSTALL: Add gettext as a dependency and add qemu to a new section
15912 "Prerequisites for make-check".
15913
15914 2010-03-04 Christian Franke <franke@computer.org>
15915
15916 * util/grub-pe2elf.c: Add missing include "progname.h".
15917
15918 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 * normal/crypto.c (read_crypto_list): Fix a typo.
15921 Reported by: Seth Goldberg.
15922
15923 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15926 Reported by: Seth Goldberg.
15927
15928 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15931 ascii.bitmaps.
15932
15933 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * genmk.rb: Remove terminal*.lst in make clean.
15936 Reported by: Seth Goldberg.
15937
15938 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * util/i386/efi/grub-install.in: Copy gettext files.
15941
15942 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15945
15946 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 Wait for user entry basing on presence of output rather than on errors.
15949
15950 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15951 (grub_install_newline_hook): Likewise.
15952 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15953 * normal/menu.c (show_menu): Check line_counter to determine presence
15954 of output.
15955 * normal/term.c (grub_normal_line_counter): New variable.
15956 (grub_normal_get_line_counter): New function.
15957 (grub_install_newline_hook): Likewise.
15958
15959 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15962
15963 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * configure.ac: Update version to 1.98.
15966
15967 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * util/grub.d/10_linux.in (linux_entry): Don't default to
15970 gfxpayload=keep if Linux doesn't support video handover.
15971
15972 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 Don't compile video modules on yeeloong since video subsystem is part
15975 of kernel.
15976
15977 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15978 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15979 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15980 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15981 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15982 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15983 * include/grub/bitmap_scale.h: Likewise.
15984 * include/grub/bufio.h: Likewise.
15985 * include/grub/font.h: Likewise.
15986 * include/grub/gfxterm.h: Likewise.
15987 * include/grub/video.h: Likewise.
15988 * include/grub/vbe.h: Don't include video_fb.h.
15989 * video/i386/pc/vbe.c: Include video_fb.h.
15990 * commands/i386/pc/vbetest.c: Include video.h.
15991
15992 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15993
15994 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15995 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15996 default entry if GRUB_SAVEDEFAULT=true. This allows using
15997 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15998 saving a new default on every boot.
15999
16000 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 * normal/crypto.c (read_crypto_list): Fix a memory leak.
16003 * normal/term.c (read_terminal_list): Likewise.
16004 * normal/main.c (grub_normal_init_page): Likewise.
16005 (grub_normal_read_line_real): Likewise.
16006
16007 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
16010 memory leak.
16011 Reported by: Seth Goldberg.
16012
16013 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
16014
16015 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
16016 duplicate declaration of `start'.
16017
16018 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
16021 filename.
16022 Reported by: Georgy Buranov
16023
16024 2010-02-20 Carles Pina i Estany <carles@pina.cat>
16025
16026 * util/grub-mkrawimage.c (usage): Change string formatting to
16027 improve gettext.
16028
16029 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16030
16031 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
16032 backspace keys.
16033
16034 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
16037 Reported by: Michael Suchanek.
16038
16039 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
16040
16041 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
16042 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
16043
16044 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 Remove any reference to non-free fonts.
16047
16048 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
16049 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
16050 uses non-free components.
16051 * font/font.c (grub_font_get_name): Remove example name.
16052 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
16053 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16054 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
16055 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
16056
16057 2010-02-16 Georgy Buranov <gburanov@gmail.com>
16058
16059 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
16060
16061 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
16064 Double divisor.
16065 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
16066 features.
16067 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
16068
16069 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * gensymlist.sh.in: Use TARGET_CC instead of CC.
16072
16073 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16074
16075 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
16076 * docs/grub.texi (Command-line and menu entry commands): Document play
16077 command.
16078
16079 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16080
16081 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
16082 parse arguments as inline tempo and notes. Move code for playing notes
16083 to...
16084 (play): ... new function.
16085
16086 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16087
16088 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
16089 grub_uint16_t instead of short.
16090 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
16091 disk from little endian to cpu endianness.
16092
16093 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
16094
16095 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
16096 GRUB_TICKS_PER_SECOND instead of 120.
16097
16098 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
16101 escape sequence after \e.
16102
16103 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
16106 non-ASCII characters.
16107
16108 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16109
16110 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
16111 set root in single quotes to prevent \, from being unescaped.
16112
16113 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 Prevent unknown commands from stopping menuentry execution.
16116
16117 * script/execute.c (grub_script_execute_cmdline): Print error after
16118 unknown command.
16119
16120 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
16123 Reported by: Pavel Pisa.
16124
16125 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
16128
16129 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 Merge grub_ieee1275_map_physical into grub_map and rename to
16132 grub_ieee1275_map
16133
16134 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
16135 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
16136 Remove.
16137 * kern/ieee1275/openfw.c (grub_map): Rename to ...
16138 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
16139 necessary.
16140 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
16141
16142 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
16145 opening and not after.
16146
16147 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
16150 constants.
16151
16152 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
16155 (alloc_phys): Use ALIGN_UP instead of align_addr.
16156
16157 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
16160
16161 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16162
16163 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
16164
16165 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16166
16167 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
16168 verbose dprintf.
16169
16170 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 Fix over-4GiB seek on sparc64.
16173
16174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
16175 Replace pos_i and pos_lo with pos. All users updated.
16176 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16177 New constant.
16178 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16179 Likewise.
16180 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
16181 and pos_lo.
16182
16183 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * util/grub-mkrawimage.c (main): Call set_program_name.
16186
16187 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 Properly align 64-bit targets.
16190
16191 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
16192 (generate_image): Use ALIGN_ADDR.
16193
16194 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 Properly create cross-endian images.
16197
16198 * include/grub/types.h (grub_host_to_target_addr): New macro
16199 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
16200
16201 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
16204
16205 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
16208
16209 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
16210 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
16211 (grub_linux_boot): Divide by 64K when on VESA.
16212
16213 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 Support GRUB_GFXPAYLOAD_LINUX.
16216
16217 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
16218 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
16219
16220 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
16223 to show messages instead of discarding them.
16224 Process errors after executing command and not before. Keep old method
16225 too as precaution.
16226
16227 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * configure.ac: Check for ft2build.h.
16230
16231 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
16234
16235 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16236
16237 * genkernsyms.sh.in: Use TARGET_CC.
16238
16239 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
16240
16241 * NEWS: Update.
16242
16243 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * include/grub/multiboot2.h: Remove leftover file.
16246 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
16247 * include/grub/partition.h [GRUB_UTIL]: Likewise.
16248
16249 2010-02-07 Yves Blusseau <blusseau@zetam.org>
16250
16251 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
16252
16253 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 Fix warnings in grub-emu when compiling with maximum warning options.
16256
16257 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
16258 (grub_arch_modules_addr): Return 0 and not NULL.
16259 * util/misc.c (ENABLE_RELOCATABLE): New definition.
16260 (xstrdup): Use newstr instead of dup.
16261 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
16262 of disk to dsk to avoid shadowing.
16263 (find_free_slot): Fix prototype.
16264 * util/getroot.c (grub_util_is_dmraid): Make static.
16265 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
16266 Add missing prototype.
16267 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
16268
16269 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 * loader/i386/linux.c (grub_linux_setup_video): Handle error
16272 appropriately.
16273
16274 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
16277 code out.
16278
16279 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
16282 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
16283 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
16284 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
16285 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
16286 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
16287
16288 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16289
16290 * include/grub/err.h (grub_err_printf): Don't export.
16291
16292 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16293
16294 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
16295
16296 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16297
16298 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16299 * kern/misc.c (grub_gettext_dummy): Make static.
16300
16301 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16304 by non-valid ones.
16305 * kern/term.c (grub_putchar): Likewise.
16306
16307 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16308
16309 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16310 buggy hook call and memory leak.
16311
16312 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16315
16316 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16319
16320 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16323 modevar.
16324 Return grub_errno on allocation error.
16325
16326 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16329
16330 2010-02-06 Yves Blusseau <blusseau@zetam.org>
16331
16332 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16333 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16334
16335 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16338 non-pxe disk.
16339 (grub_pxefs_open): Likewise.
16340
16341 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16342
16343 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16344 * util/grub.d/10_kfreebsd.in: Likewise.
16345 * util/grub.d/10_linux.in: Likewise.
16346
16347 2010-02-06 Colin D Bennett <colin@gibibit.com>
16348
16349 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16350 (gfxmenu_mod_SOURCES): New variable.
16351 (gfxmenu_mod_CFLAGS): Likewise.
16352 (gfxmenu_mod_LDFLAGS): Likewise.
16353 * include/grub/term.h (grub_term_set_current_output): Declare
16354 argument as const.
16355 * docs/gfxmenu-theme-example.txt: New file.
16356 * gfxmenu/gfxmenu.c: Likewise.
16357 * gfxmenu/gui_box.c: Likewise.
16358 * gfxmenu/gui_canvas.c: Likewise.
16359 * gfxmenu/gui_circular_progress.c: Likewise.
16360 * gfxmenu/gui_image.c: Likewise.
16361 * gfxmenu/gui_label.c: Likewise.
16362 * gfxmenu/gui_list.c: Likewise.
16363 * gfxmenu/gui_progress_bar.c: Likewise.
16364 * gfxmenu/gui_string_util.c: Likewise.
16365 * gfxmenu/gui_util.c: Likewise.
16366 * gfxmenu/icon_manager.c: Likewise.
16367 * gfxmenu/model.c: Likewise.
16368 * gfxmenu/named_colors.c: Likewise.
16369 * gfxmenu/theme_loader.c: Likewise.
16370 * gfxmenu/view.c: Likewise.
16371 * gfxmenu/widget-box.c: Likewise.
16372 * include/grub/gfxmenu_model.h: Likewise.
16373 * include/grub/gfxmenu_view.h: Likewise.
16374 * include/grub/gfxwidgets.h: Likewise.
16375 * include/grub/gui.h: Likewise.
16376 * include/grub/gui_string_util.h: Likewise.
16377 * include/grub/icon_manager.h: Likewise.
16378
16379 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 Agglomerate scrolling in gfxterm.
16382
16383 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16384 (grub_virtual_screen_setup): Initialise 'total_screen'.
16385 (write_char): Split to ...
16386 (paint_char): ... this ...
16387 (write_char): ... and this.
16388 (paint_char): Handle delayed scrolling.
16389 (draw_cursor): Likewise.
16390 (scroll_up): Split to ...
16391 (real_scroll): ... this ...
16392 (scroll_up): ... and this.
16393 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16394 characters.
16395 (grub_gfxterm_refresh): Call real_scroll.
16396
16397 2010-02-06 Colin D Bennett <colin@gibibit.com>
16398
16399 * include/grub/misc.h (grub_iscntrl): New inline function.
16400 (grub_isalnum): Likewise.
16401 (grub_strtol): Likewise.
16402
16403 2010-02-06 Colin D Bennett <colin@gibibit.com>
16404
16405 * normal/menu_text.c (get_entry_number): Move from here ...
16406 * normal/menu.c (get_entry_number): ... moved here.
16407 * include/grub/menu.h (grub_menu_get_default_entry_index):
16408 New prototype.
16409 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16410 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16411 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16412 (grub_menu_viewer_should_return): Likewise.
16413 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16414 * normal/menu_text.c (run_menu): Enable menu switching.
16415 * normal/menu_viewer.c (should_return): New variable.
16416 (menu_viewer_changed): Likewise.
16417 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16418 (grub_menu_viewer_should_return): New function.
16419 (menuviewer_write_hook): Likewise.
16420 (grub_menu_viewer_init): Likewise.
16421
16422 2010-02-06 Colin D Bennet <colin@gibibit.com>
16423 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 Support for gfxterm in a window.
16426
16427 * include/grub/gfxterm.h: New file.
16428 * include/grub/video.h (struct grub_video_rect): New declaration.
16429 (grub_video_rect_t): Likewise.
16430 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16431 (refcount): New variable.
16432 (render_target): Likewise.
16433 (window): Likewise.
16434 (repaint_callback): Likewise.
16435 (grub_virtual_screen_setup): Use 'render_target'.
16436 (init_window): New function.
16437 (grub_gfxterm_init_window): Likewise.
16438 (grub_gfxterm_init): Check reference counter.
16439 Use init_window.
16440 (destroy_window): New function.
16441 (grub_gfxterm_destroy_window): Likewise.
16442 (grub_gfxterm_fini): Check reference counter.
16443 Use destroy_window.
16444 (redraw_screen_rect): Restore viewport.
16445 Use 'render_target' and 'window'.
16446 Call 'repaint_callback'.
16447 (write_char): Use 'render_target'.
16448 (draw_cursor): Likewise.
16449 (scroll_up): Restore viewport.
16450 Use 'render_target' and 'window'.
16451 Call 'repaint_callback'.
16452 (grub_gfxterm_cls): Likewise.
16453 (grub_gfxterm_refresh): Use 'window'.
16454 (grub_gfxterm_set_repaint_callback): New function.
16455 (grub_gfxterm_background_image_cmd): Use 'window'.
16456 (grub_gfxterm_get_term): New function.
16457 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16458
16459 2010-02-06 Colin D Bennett <colin@gibibit.com>
16460
16461 Bitmap scaling support.
16462
16463 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16464 (bitmap_scale_mod_SOURCES): New variable.
16465 (bitmap_scale_mod_CFLAGS): Likewise.
16466 (bitmap_scale_mod_LDFLAGS): Likewise.
16467 * include/grub/bitmap_scale.h: New file.
16468 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16469 (background_image_cmd_options): New variable.
16470 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16471 (cmd): Rename and change type to ...
16472 (background_image_cmd_handle): ... this. All users updated.
16473 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16474 * video/bitmap_scale.c: New file.
16475
16476 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 SDL support.
16479
16480 * Makefile.in (LIBSDL): New variable.
16481 (enable_grub_emu_sdl): Likewise.
16482 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16483 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16484 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16485 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16486 * util/sdl.c: New file.
16487
16488 2010-02-06 Colin D Bennett <colin@gibibit.com>
16489 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 Double buffering support.
16492
16493 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16494 * include/grub/video.h: Update comment.
16495 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16496 New type.
16497 (grub_video_fb_doublebuf_blit_init): New prototype.
16498 * term/gfxterm.c (scroll_up): Support double buffering.
16499 (grub_gfxterm_refresh): Likewise.
16500 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16501 (grub_video_fb_doublebuf_blit_init): Likewise.
16502 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16503 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16504 'displayed_page', 'render_page' and 'update_screen'.
16505 (grub_video_vbe_fini): Free offscreen buffer.
16506 (doublebuf_pageflipping_commit): New function.
16507 (doublebuf_pageflipping_update_screen): Likewise.
16508 (doublebuf_pageflipping_init): Likewise.
16509 (double_buffering_init): Likewise.
16510 (grub_video_vbe_setup): Enable doublebuffering.
16511 (grub_video_vbe_swap_buffers): Implement.
16512 (grub_video_vbe_set_active_render_target): Handle double buffering.
16513 (grub_video_vbe_get_active_render_target): Likewise.
16514 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16515 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16516 (grub_video_vbe_enable_double_buffering): Likewise.
16517 (grub_video_vbe_swap_buffers): Use update_screen.
16518 (grub_video_set_mode): Use double buffering.
16519
16520 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16521
16522 * maintainance/gentrigtables.py: Remove.
16523 * lib/trig.c: Likewise.
16524
16525 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16526
16527 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16528 `trigtables.c'.
16529 (trigtables.c): New rule.
16530 (gentrigtables): Likewise.
16531 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16532
16533 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16534
16535 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16536 integer constants.
16537
16538 2010-02-06 Colin D Bennet <colin@gibibit.com>
16539
16540 Trigonometry support.
16541
16542 * include/grub/trig.h: New file.
16543 * lib/trig.c: Likewise.
16544 * maintainance/gentrigtables.py: Likewise.
16545 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16546 (trig_mod_SOURCES): New variable.
16547 (trig_mod_CFLAGS): Likewise.
16548 (trig_mod_LDFLAGS): Likewise.
16549
16550 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16553 disk devices.
16554
16555 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16558 error.
16559
16560 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16561
16562 * util/hostdisk.c (open_device): Don't use partition device when reading
16563 before the partition.
16564 (grub_util_biosdisk_read): Don't read from partition and before the
16565 partition in single operation.
16566 (grub_util_biosdisk_write): Don't write to partition and before the
16567 partition in single operation.
16568
16569 2010-02-03 Torsten Landschoff <torsten@debian.org>
16570
16571 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16572 last sectors.
16573
16574 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16577 CDROM reads.
16578 (grub_biosdisk_write): Refuse to write to CDROM.
16579
16580 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16583
16584 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16585
16586 * font/font.c (find_glyph): Check that bmp_idx is available before
16587 using it.
16588 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16589 with (font == NULL).
16590
16591 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
16592
16593 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16594
16595 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16596
16597 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16598 * util/grub-script-check.c (getline): Fix empty lines case.
16599
16600 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16601
16602 * Makefile.in (check): Exit with fail status when one of the tests
16603 fails.
16604 * tests/example_functional_test.c (example_test): Fix reversed assert.
16605 * tests/example_unit_test.c (example_test): Likewise.
16606
16607 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
16608
16609 * util/grub.d/10_linux.in: This script does not use any of the
16610 contents of gettext.sh, only the external command `gettext', so stop
16611 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16612 the same prefix as GRUB.)
16613 * util/grub.d/10_kfreebsd.in: Likewise.
16614
16615 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16618 of the line.
16619
16620 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16623 last sectors.
16624
16625 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16628 having a 4KiB and not 32KiB buffer size.
16629
16630 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16631
16632 * util/hostfs.c: Include `<errno.h>'.
16633 (grub_hostfs_read): Handle errors from fseeko() and fread().
16634
16635 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16636
16637 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16638 loop when using read hooks on files whose size isn't sector-aligned.
16639
16640 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16641
16642 Remove unused parameter.
16643
16644 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16645 (grub_iso9660_open): Remove initialization of `data->length'.
16646
16647 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16648
16649 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16650 memleak conditions.
16651
16652 2010-01-27 Carles Pina i Estany <carles@pina.cat>
16653
16654 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16655 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16656
16657 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16658
16659 * util/bin2h.c (usage): Fix warning (space after backslash).
16660
16661 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16662
16663 * font/font.c: Include `grub/fontformat.h.
16664 Remove font file format constants.
16665 (grub_font_load): Use the new macros.
16666 * include/grub/fontformat.h: New file.
16667 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16668 (write_font_pf2): Use the new macros.
16669
16670 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16671
16672 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16673 does.
16674
16675 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16676
16677 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16678
16679 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16680 (_start): Macroify `0x7F'.
16681
16682 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16683 (make_install_device): Use "(pxe)" as fallback prefix when booting
16684 via PXE.
16685
16686 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * configure.ac: Reset LIBS after check for libgcc symbols.
16689
16690 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
16691
16692 * util/hostdisk.c (open_device): Add trailing newline to debug
16693 message.
16694
16695 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16696
16697 * configure.ac: Check for `limits.h'.
16698 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16699
16700 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16701
16702 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16703 capitalize error strings.
16704
16705 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16706
16707 * util/grub.d/10_hurd.in: Add a recovery mode.
16708
16709 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * configure.ac: Check for libgcc symbols with -nostdlib.
16712
16713 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16714
16715 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16716
16717 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16718
16719 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16720 stack since heap may be unavailable at that point.
16721 (grub_ofconsole_gotoxy): Likewise.
16722
16723 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16724
16725 * configure.ac: Check for _restgpr_14_x.
16726 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16727 and _savegpr_* prototypes.
16728
16729 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16730
16731 Use generic grub_reboot() for i386-efi.
16732
16733 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16734 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16735 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16736
16737 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16738
16739 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16740 presence of "prefix" variable as it breaks when normal.mod is
16741 embedded.
16742
16743 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16746 stack since heap is unavailable at that point.
16747
16748 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16751 (grub_freebsd_bootinfo): Rewritten.
16752 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16753
16754 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16757
16758 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16759
16760 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16761 domain now.
16762
16763 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
16764
16765 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16766 around for handling "/" to the correct fix. Fix a memory leak. Use
16767 xstrdup instead of strdup.
16768
16769 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16772
16773 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16774
16775 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16776
16777 * font/font.c (struct grub_font): New member 'bmp_idx'.
16778 (font_init): Initialise 'bmp_idx'.
16779 (load_font_index): Fill 'bmp_idx'.
16780 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16781
16782 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16785 unnecessary calls.
16786
16787 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 Move context handling out of the kernel.
16790
16791 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16792 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16793 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16794 * conf/i386-efi.rmk: Likewise.
16795 * conf/i386-ieee1275.rmk: Likewise.
16796 * conf/i386-pc.rmk: Likewise.
16797 * conf/powerpc-ieee1275.rmk: Likewise.
16798 * conf/sparc64-ieee1275.rmk: Likewise.
16799 * conf/x86_64-efi.rmk: Likewise.
16800 * include/grub/env.h: Include grub/menu.h.
16801 (grub_env_var_type): Removed.
16802 (grub_env_var): Replaced field 'type' with 'global'.
16803 (grub_env_find): New prototype.
16804 (grub_env_context_open): Remove EXPORT_FUNC.
16805 (grub_env_context_close): Likewise.
16806 (grub_env_export): Likewise.
16807 (grub_env_set_data_slot): Removed.
16808 (grub_env_get_data_slot): Likewise.
16809 (grub_env_unset_data_slot): Likewise.
16810 (grub_env_unset_menu): New prototype.
16811 (grub_env_set_menu): Likewise.
16812 (grub_env_get_menu): Likewise.
16813 * include/grub/env_private.h: New file.
16814 * include/grub/normal.h (grub_context_init): New prototype.
16815 (grub_context_fini): Likewise.
16816 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16817 * normal/context.c (grub_cmd_export): ... to here.
16818 * kern/env.c: Include env_private.h.
16819 (HASHSZ): Moved to include/grub/env_private.h.
16820 (grub_env_context): Likewise.
16821 (grub_env_sorted_var): Likewise.
16822 (current_context): Renamed from this ...
16823 (grub_current_context): ...to this. 'static' removed. All users updated.
16824 (grub_env_find): Removed 'static'.
16825 (grub_env_context_open): Moved to normal/context.c.
16826 (grub_env_context_close): Likewise.
16827 (grub_env_export): Likewise.
16828 (mangle_data_slot_name): Removed.
16829 (grub_env_set_data_slot): Likewise.
16830 (grub_env_get_data_slot): Likewise.
16831 (grub_env_unset_data_slot): Likewise.
16832 * kern/main.c (grub_set_root_dev): Don't export root.
16833 It will be done later.
16834 (grub_main): Don't export prefix.
16835 It will be done later.
16836 * normal/context.c: New file.
16837 * normal/main.c (free_menu): Use grub_env_unset_menu.
16838 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16839 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16840 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16841 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16842
16843 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 setpci support.
16846
16847 * commands/setpci.c: New file.
16848 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16849 (setpci_mod_SOURCES): New variable.
16850 (setpci_mod_CFLAGS): Likewise.
16851 (setpci_mod_LDFLAGS): Likewise.
16852
16853 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16854
16855 Byte-addressable PCI configuration space.
16856
16857 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16858 dword address.
16859 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16860 GRUB_PCI_REG_CACHELINE.
16861 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16862 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16863 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16864 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16865 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16866 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16867 grub_pci_make_address.
16868 (lock_rom_area): Likewise.
16869 * commands/lspci.c (grub_lspci_iter): Use macroses
16870 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16871 of grub_pci_make_address.
16872 * disk/ata.c (grub_ata_pciinit): Likewise.
16873 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16874 (GRUB_PCI_REG_VENDOR): Likewise.
16875 (GRUB_PCI_REG_DEVICE): Likewise.
16876 (GRUB_PCI_REG_COMMAND): Likewise.
16877 (GRUB_PCI_REG_STATUS): Likewise.
16878 (GRUB_PCI_REG_REVISION): Likewise.
16879 (GRUB_PCI_REG_CLASS): Likewise.
16880 (GRUB_PCI_REG_CACHELINE): Likewise.
16881 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16882 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16883 (GRUB_PCI_REG_BIST): Likewise.
16884 (GRUB_PCI_REG_ADDRESSES): Likewise.
16885 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16886 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16887 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16888 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16889 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16890 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16891 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16892 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16893 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16894 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16895 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16896 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16897 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16898 (GRUB_PCI_REG_MIN_GNT): Likewise.
16899 (GRUB_PCI_REG_MAX_LAT): Likewise.
16900 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16901 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16902 * video/efi_uga.c (find_framebuf): Likewise.
16903 * video/sm712.c (grub_video_sm712_setup): Likewise.
16904 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16905 space.
16906
16907 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16908
16909 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16910 can be reliably determined to be supported.
16911
16912 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16913
16914 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16915 that VESA is supported.
16916 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16917 supported.
16918
16919 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16922
16923 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16924
16925 * util/misc.c (make_system_path_relative_to_its_root): Work around
16926 special-casing of "/", as previous incarnation of this routine did.
16927
16928 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 Fix any-emu compilation.
16931
16932 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16933 * grub_bin2h_SOURCES: New variable.
16934
16935 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16936
16937 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16938
16939 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16940
16941 * util/grub.d/00_header.in: Fix handling of locale_dir.
16942
16943 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16944
16945 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16946 as possible unifont location (Gentoo).
16947 Reported by: Alexander Brüning
16948
16949 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16950
16951 Don't try to generate lists for kernel.img.
16952
16953 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16954 (pkglib_MODULES): Remove kernel.img.
16955 (kernel_img_EXPORTS): Removed.
16956 (kernel_img_RELOCATABLE): New variable.
16957 * conf/x86_64-efi.rmk: Likewise.
16958 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16959
16960 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16961
16962 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16963 grub_xasprintf or grub_snprintf.
16964 (grub_vsprintf): Likewise.
16965 (grub_snprintf): New proto.
16966 (grub_vsnprintf): Likewise.
16967 (grub_xasprintf): Likewise.
16968 (grub_xvasprintf): Likewise.
16969 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16970 (grub_sprintf): Removed.
16971 (grub_vsnprintf): New function.
16972 (grub_snprintf): Likewise.
16973 (grub_xvasprintf): Likewise.
16974 (grub_xasprintf): Likewise.
16975 (grub_vsprintf): Renamed to ...
16976 (grub_vsnprintf_real): ...this. New argument max_len.
16977
16978 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16979
16980 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16981 fix grub-script-check warning.
16982
16983 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16984
16985 * include/grub/font.h (grub_font_load): Fix prototype.
16986
16987 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16990
16991 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 * include/grub/x86_64/at_keyboard.h: New file.
16994
16995 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16996
16997 * loader/mips/linux.c: Include missing grub/i18n.h.
16998
16999 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17000
17001 * normal/menu.c (notify_execution_failure): Clarify error message.
17002
17003 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17004
17005 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
17006 return value (and revert all return statements). Update users.
17007
17008 2010-01-20 Dan Merillat <debian@dan.merillat.org>
17009
17010 * kern/device.c (grub_device_iterate): Allocate new part_ent
17011 structure based on sizeof (*p) rather than sizeof (p->next), to
17012 account for structure padding.
17013
17014 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
17015 disk is NULL, which might happen for LVM physical volumes with no
17016 LVM signature.
17017
17018 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17019
17020 * loader/mips/linux.c (grub_cmd_initrd)
17021 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
17022
17023 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17024
17025 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
17026 (grub_video_video_init, grub_video_bitmap_init)
17027 (grub_font_manager_init, grub_term_gfxterm_init)
17028 (grub_at_keyboard_init): New extern declarations.
17029 (grub_machine_init): Initialize gfxterm and at_keyboard.
17030
17031 * kern/main.c (grub_main): Revert grub_printf delay kludge.
17032
17033 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
17034 `gfxterm.mod' into core image.
17035
17036 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17037 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17038 (kernel_img_FORMAT): Copy to ...
17039
17040 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17041 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17042 (kernel_img_FORMAT): ... here, and ...
17043
17044 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17045 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17046 (kernel_img_FORMAT): ... here.
17047
17048 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
17049 and input (at_keyboard) terminals in kernel.
17050 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
17051
17052 (pkglib_MODULES): Remove `pci.mod'.
17053 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
17054 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
17055 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17056 (at_keyboard_mod_LDFLAGS): Remove variables.
17057
17058 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
17059
17060 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
17061
17062 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
17063
17064 * include/grub/mips/libgcc.h: Only export symbols for functions
17065 that libgcc provides.
17066
17067 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 MIPS support.
17070
17071 * bus/bonito.c: New file.
17072 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
17073 GRUB_PCI_NUM_DEVICES.
17074 * term/i386/pc/serial.c: Move to ...
17075 * term/serial.c: ... here. All users updated.
17076 * util/i386/pc/grub-mkimage.c: Move to ...
17077 * util/grub-mkrawimage.c: ... here. All users updated.
17078 * term/i386/pc/at_keyboard.c: Move to ...
17079 * term/at_keyboard.c: ... here. All users updated.
17080 * conf/mips-qemu-mips.rmk: New file.
17081 * conf/mips-yeeloong.rmk: Likewise.
17082 * conf/mips.rmk: Likewise.
17083 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
17084 mipsel-qemu-mips.
17085 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
17086 to port addresses.
17087 (grub_ata_pciinit): Support CS5536.
17088 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
17089 * font/font_cmd.c (loadfont_command): Open file before passing it to
17090 grub_font_load.
17091 (pseudo_file_read): New function.
17092 (pseudo_file_close): Likewise.
17093 (pseudo_fs): New structure.
17094 (load_font_module): New function.
17095 (GRUB_MOD_INIT(font_manager)): Load embedded font.
17096 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
17097 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
17098 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
17099 * include/grub/i386/at_keyboard.h: Split into ...
17100 * include/grub/at_keyboard.h: ... this ...
17101 * include/grub/i386/at_keyboard.h: ... and this.
17102 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
17103 New prototype.
17104 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
17105 updated.
17106 (grub_elf64_size): Likewise.
17107 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
17108 filename.
17109 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
17110 * include/grub/i386/coreboot/serial.h: Rewritten.
17111 * include/grub/i386/ieee1275/serial.h: Include
17112 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
17113 * include/grub/i386/pc/serial.h: Moved from here ...
17114 * include/grub/serial.h: ... to here. All users updated.
17115 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
17116 (GRUB_PCI_NUM_BUS): Likewise.
17117 (GRUB_PCI_NUM_DEVICES): Likewise.
17118 (grub_pci_device_map_range): Add missing volatile keyword.
17119 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
17120 * include/grub/mips/at_keyboard.h: New file.
17121 * include/grub/mips/cache.h: Likewise.
17122 * include/grub/mips/io.h: Likewise.
17123 * include/grub/mips/kernel.h: Likewise.
17124 * include/grub/mips/libgcc.h: Likewise.
17125 * include/grub/mips/pci.h: Likewise.
17126 * include/grub/mips/qemu-mips/boot.h: Likewise.
17127 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17128 * include/grub/mips/qemu-mips/loader.h: Likewise.
17129 * include/grub/mips/qemu-mips/memory.h: Likewise.
17130 * include/grub/mips/qemu-mips/serial.h: Likewise.
17131 * include/grub/mips/qemu-mips/time.h: Likewise.
17132 * include/grub/mips/relocator.h: Likewise.
17133 * include/grub/mips/time.h: Likewise.
17134 * include/grub/mips/types.h: Likewise.
17135 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
17136 * include/grub/mips/yeeloong/boot.h: Likewise.
17137 * include/grub/mips/yeeloong/kernel.h: Likewise.
17138 * include/grub/mips/yeeloong/loader.h: Likewise.
17139 * include/grub/mips/yeeloong/memory.h: Likewise.
17140 * include/grub/mips/yeeloong/pci.h: Likewise.
17141 * include/grub/mips/yeeloong/serial.h: Likewise.
17142 * include/grub/mips/yeeloong/time.h: Likewise.
17143 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
17144 * kern/elf.c (grub_elf32_size): New parameter. All users
17145 updated.
17146 (grub_elf64_size): Likewise.
17147 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
17148 Load modules before saying "Welcome to GRUB!".
17149 Call grub_refresh after saying "Welcome to GRUB!".
17150 * kern/mips/cache.S: New file.
17151 * kern/mips/cache_flush.S: Likewise.
17152 * kern/mips/dl.c: Likewise.
17153 * kern/mips/init.c: Likewise.
17154 * kern/mips/qemu-mips/init.c: Likewise.
17155 * kern/mips/startup.S: Likewise.
17156 * kern/mips/yeeloong/init.c: Likewise.
17157 * kern/term.c (grub_putcode): Handle NULL terminal.
17158 (grub_getcharwidth): Likewise.
17159 (grub_getkey): Likewise.
17160 (grub_checkkey): Likewise.
17161 (grub_getkeystatus): Likewise.
17162 (grub_getxy): Likewise.
17163 (grub_getwh): Likewise.
17164 (grub_gotoxy): Likewise.
17165 (grub_cls): Likewise.
17166 (grub_setcolorstate): Likewise.
17167 (grub_setcolor): Likewise.
17168 (grub_getcolor): Likewise.
17169 (grub_refresh): Likewise.
17170 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
17171 (write_jump): Add hatch nop.
17172 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
17173 * lib/mips/setjmp.S: New file.
17174 * loader/mips/linux.c: Likewise.
17175 * term/i386/pc/at_keyboard.c: Move from here ...
17176 * term/at_keyboard.c: ... to here.
17177 * term/i386/pc/serial.c: Moved from here ...
17178 * term/serial.c: ... to here. All users updated.
17179 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
17180 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
17181 (serial_translate_key_sequence): Avoid deadlock.
17182 (grub_serial_getkey): Handle backspace.
17183 (grub_serial_putchar): Fix newline handling.
17184 * util/i386/pc/grub-mkimage.c: Move from here ...
17185 * util/grub-mkrawimage.c: ... to here. All users updated.
17186 (generate_image): New parameters 'font_path' and 'format'.
17187 Support embedding font.
17188 Use grub_host_to_target* instead of grub_cpu_to_le*.
17189 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
17190 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
17191 (options): New option "--font".
17192 (usage): Likewise.
17193 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
17194 (main): Handle "--font".
17195 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
17196 (grub_virtual_screen_setup): Set bg_color_display.
17197 (redraw_screen_rect): Use bg_color_display instead of incorrect
17198 bg_color.
17199 (grub_gfxterm_cls): Likewise.
17200 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
17201 Support embedding config file.
17202 (add_segments): Likewise.
17203 (options): New option "--config".
17204 (main): Handle "--config".
17205 * video/sm712.c: New file.
17206
17207 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17208
17209 Fix parallel builds.
17210
17211 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
17212 font.c depend on ascii.h).
17213
17214 2010-01-12 Carles Pina i Estany <carles@pina.cat>
17215
17216 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
17217
17218 2010-01-11 Carles Pina i Estany <carles@pina.cat>
17219
17220 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
17221 By default: disabled.
17222 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
17223 parameter.
17224
17225 2010-01-10 Carles Pina i Estany <carles@pina.cat>
17226
17227 * font/font.c: Update copyright years.
17228 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
17229
17230 2010-01-10 Carles Pina i Estany <carles@pina.cat>
17231
17232 * font/font.c: Include `ascii.h'.
17233 (ASCII_BITMAP_SIZE): New macro.
17234 (ascii_font_glyph): Define.
17235 (ascii_glyph_lookup): New function.
17236 (grub_font_get_string_width): Change comment. If glyph not found, use
17237 ascii_glyph_lookup.
17238 (grub_font_get_glyph_with_fallback): If glyph not available returns
17239 ascii_glyph_lookup.
17240 * util/grub-mkfont.c (file_formats): New enum.
17241 (options): Add `ascii-bitmaps' new option.
17242 (usage): Add `asii-bitmaps' new option.
17243 (write_font_ascii_bitmap): New function.
17244 (write_font): Rename to ...
17245 (write_font_p2): ... this. Remove print_glyphs call.
17246 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
17247 used. Call print_glyphs.
17248 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
17249
17250 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17251
17252 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
17253 (grub_bin2h_SOURCES): New variable.
17254 * util/bin2h.c: New file.
17255
17256 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 * include/multiboot.h: Resynced with spec.
17259 * include/multiboot2.h: Likewise.
17260 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
17261 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
17262
17263 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17264
17265 * include/grub/term.h (grub_term_register_input,
17266 grub_term_register_output): Check return of terminal init()
17267 routines, and abort if errors are raised.
17268
17269 * commands/terminal.c: Update copyright year.
17270
17271 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17272
17273 * commands/terminal.c (grub_cmd_terminal_input)
17274 (grub_cmd_terminal_output): Check return of terminal init()
17275 routines, and abort if errors are raised.
17276
17277 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * include/grub/i386/bsd.h: Fix include pathes.
17280
17281 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17282
17283 Add missing *BSD copyright headers.
17284
17285 * include/grub/aout.h: Add BSD licence.
17286 * include/grub/i386/bsd.h: Parts under different licences moved to ...
17287 * include/grub/i386/freebsd_linker.h: ... here,
17288 * include/grub/i386/freebsd_reboot.h: ... here,
17289 * include/grub/i386/netbsd_bootinfo.h: ... here,
17290 * include/grub/i386/netbsd_reboot.h: ... here,
17291 * include/grub/i386/openbsd_bootarg.h: ... here,
17292 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
17293 licence to each file.
17294
17295 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17296
17297 * acinclude.m4: Remove `nop' assembly instruction; it's not
17298 implemented by all architectures.
17299
17300 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17301
17302 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17303 ELILO. This is no longer necessary.
17304
17305 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17306
17307 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17308
17309 * util/grub-script-check.c: grub-script-check tool.
17310 * conf/common.rmk: Make rules for grub-script-check.
17311
17312 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17313
17314 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17315 spotting it back in 2008. Shame on me for forgetting he did.
17316
17317 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17318
17319 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17320
17321 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17322 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17323 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17324 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17325 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17326 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17327
17328 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17329
17330 * include/grub/test.h: Add license header.
17331 * tests/example_functional_test.c: Likewise.
17332 * tests/example_unit_test.c: Likewise.
17333 * tests/lib/functional_test.c: Likewise.
17334 * tests/lib/test.c: Likewise.
17335 * tests/lib/unit_test.c: Likewise.
17336
17337 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17338
17339 Use flag-based instead of hook-based video mode selection and "auto"
17340 keyword.
17341
17342 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17343 (grub_video_set_mode): Changed prototype. All users updated.
17344 (grub_video_check_mode_flag): New inline function.
17345 * video/video.c (parse_modespec): New function.
17346 (grub_video_set_mode): Parse flags and keywords.
17347
17348 2010-01-17 Carles Pina i Estany <carles@pina.cat>
17349
17350 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17351 fprintf call.
17352
17353 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17354
17355 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17356
17357 2010-01-16 Carles Pina i Estany <carles@pina.cat>
17358
17359 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17360 string.
17361 * util/grub-emu.c (usage): Likewise.
17362 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17363 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17364 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17365 * util/i386/pc/grub-setup.c (usage): Likewise.
17366
17367 2010-01-16 Carles Pina i Estany <carles@pina.cat>
17368
17369 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17370 the message.
17371 (grub_util_info): Likewise.
17372 (grub_util_error): Likewise.
17373 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17374 and/or new lines in `grub_util_warna', `grub_util_info',
17375 `grub_util_error' calls.
17376 * util/getroot.c: Likewise.
17377 * util/grub-editenv.c: Likewise.
17378 * util/grub-emu.c: Likewise.
17379 * util/grub-fstest.c: Likewise.
17380 * util/grub-mkdevicemap.c: Likewise.
17381 * util/grub-mkfont.c: Likewise.
17382 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17383 * util/grub-mkrelpath.c: Likewise.
17384 * util/grub-pe2elf.c: Likewise.
17385 * util/grub-probe.c: Likewise.
17386 * util/hostdisk.c: Likewise.
17387 * util/i386/efi/grub-mkimage.c: Likewise.
17388 * util/i386/pc/grub-mkimage.c: Likewise.
17389 * util/i386/pc/grub-setup.c: Likewise.
17390 * util/ieee1275/ofpath.c: Likewise.
17391 * util/mkisofs/eltorito.c: Likewise.
17392 * util/mkisofs/rock.c: Likewise.
17393 * util/mkisofs/write.c: Likewise.
17394 * util/raid.c: Likewise.
17395 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17396 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17397
17398 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 Enable multiboot on non-pc.
17401
17402 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17403 multiboot.mod and multiboot2.mod to ...
17404 * conf/i386.rmk (pkglib_MODULES): ... here.
17405 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17406 Moved to ...
17407 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17408 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17409 Moved to ...
17410 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17411 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17412 Moved to ...
17413 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17414 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17415 Moved to ...
17416 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17417 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17418 relocator.mod.
17419 (ata_mod_SOURCES): Removed.
17420 (ata_mod_CFLAGS): Likewise.
17421 (ata_mod_LDFLAGS): Likewise.
17422 (relocator_mod_SOURCES): Removed.
17423 (relocator_mod_CFLAGS): Likewise.
17424 (relocator_mod_ASFLAGS): Likewise.
17425 (relocator_mod_LDFLAGS): Likewise.
17426 Include i386.mk.
17427 * include/grub/x86_64/multiboot.h: New file.
17428 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17429 Terminate EFI.
17430
17431 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 Video multiboot support.
17434
17435 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17436 New prototype.
17437 * include/multiboot.h: Resynced with multiboot specification.
17438 * include/multiboot2.h: Likewise.
17439 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17440 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17441 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17442 (HAS_VGA_TEXT): Likewise.
17443 (accepts_video): New variable.
17444 (grub_multiboot_set_accepts_video): New function.
17445 (grub_multiboot_get_mbi_size): Account for video structures.
17446 (set_video_mode): New function.
17447 (retrieve_video_parameters): Likewise.
17448 (grub_multiboot_make_mbi): Fill video fields.
17449
17450 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 Video driver ids.
17453
17454 * include/grub/video.h (grub_video_driver_id): New type.
17455 (grub_video_adapter): New member 'id'. All users updated.
17456 (grub_video_get_driver_id): New proto.
17457 * video/video.c (grub_video_get_driver_id): New function.
17458
17459 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17460
17461 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17462 `var=val'.
17463
17464 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17465
17466 * normal/cmdline.c (print_completion): Gettextizze.
17467
17468 2001-01-14 Carles Pina i Estany <carles@pina.cat>
17469
17470 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17471
17472 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17473
17474 * gettext/gettext.c (grub_gettext_translate): Push and pop
17475 grub_errno.
17476 (grub_gettext_delete_list): Change comment style.
17477 * kern/err.c (grub_error): Gettextizze.
17478 (grub_fatal): Gettextizze.
17479
17480 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17481
17482 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17483 (grub_linux16_real_boot): ... this.
17484 * kern/i386/loader.S: Likewise.
17485 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17486 (grub_linux16_boot): New function. Switches to text mode and calls
17487 grub_linux16_real_boot().
17488
17489 * loader/i386/bsd.c: Include `<grub/video.h>'.
17490 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17491 text mode before calling grub_unix_real_boot().
17492
17493 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17494 (grub_multiboot_boot): Switch to text mode before calling
17495 grub_relocator32_boot().
17496
17497 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17498 (grub_chainloader_boot): Switch to text mode before calling
17499 grub_chainloader_real_boot().
17500
17501 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17502 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17503
17504 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17505 non-empty value.
17506
17507 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17508 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17509
17510 * util/grub.d/00_header.in: Define a "savedefault" function for use
17511 in menu entries.
17512 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17513
17514 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17515 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17516
17517 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17518 saved_entry if boot_once is unset.
17519 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17520 previous saved entry (i.e. grub-reboot).
17521
17522 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17523
17524 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17525
17526 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17527
17528 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17529 `var=val'.
17530 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17531
17532 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17533
17534 * util/grub-reboot.in: Fix --version output.
17535 * util/grub-set-default.in: Likewise.
17536
17537 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17538
17539 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17540 blocks.
17541
17542 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17543
17544 * util/grub.d/00_header.in: Quote the value assigned to `default',
17545 in case it contains spaces.
17546
17547 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17548
17549 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17550 `save_default_entry' call from the macosx case to the linux case.
17551
17552 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17553 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
17554
17555 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17556 in `chosen' environment variable.
17557 * normal/menu_text.c (get_entry_number): Check if the variable
17558 matches the title of a menu entry.
17559 (run_menu): Pass menu to get_entry_number.
17560
17561 * util/grub-reboot.in: New file.
17562 * util/grub-set-default.in: New file.
17563 * conf/common.rmk (grub-reboot): New utility.
17564 (grub-set-default): New utility.
17565
17566 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17567 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17568 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17569 move it to `saved_entry' for the next boot. Load environment on
17570 initialisation.
17571 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17572 * util/grub.d/10_hurd.in: Likewise.
17573 * util/grub.d/10_linux.in (linux_entry): Likewise.
17574 * util/grub.d/10_windows.in: Likewise.
17575 * util/grub.d/30_os-prober.in: Likewise.
17576
17577 * util/grub-install.in: Create environment block.
17578 * util/i386/efi/grub-install.in: Likewise.
17579 * util/ieee1275/grub-install.in: Likewise.
17580 * util/sparc64/ieee1275/grub-install.in: Likewise.
17581
17582 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17583
17584 Unit testing framework for GRUB.
17585
17586 * Makefile.in: Test framework build rules for 'make check'.
17587 * conf/tests.rmk: Build rules for individual tests and framework.
17588
17589 * include/grub/test.h: Header file for whitebox tests.
17590 * tests/lib/functional_test.c: Framework support for whitebox
17591 functional tests.
17592 * tests/lib/test.c: Common whitebox testing code for unit and
17593 functional tests.
17594 * tests/lib/unit_test.c: Framework support for whitebox unit
17595 tests.
17596
17597 * tests/util/grub-shell-tester.in: Support utility for grub-script
17598 tests.
17599 * tests/util/grub-shell.in: Utility to execute grub-script
17600 commands in a Qemu instance.
17601
17602 * tests/example_functional_test.c: Example whitebox functional
17603 test.
17604 * tests/example_grub_script_test.in: Example grub-script test.
17605 * tests/example_scripted_test.in: Example scripted test.
17606 * tests/example_unit_test.c: Example whitebox unit test.
17607
17608 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17611 Add loader/i386/multiboot_mbi.c.
17612 (multiboot2_mod_SOURCES): Likewise.
17613 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17614 (multiboot2_mod_SOURCES): Likewise.
17615 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17616 (grub_multiboot_make_mbi): Likewise.
17617 (grub_multiboot_free_mbi): Likewise.
17618 (grub_multiboot_init_mbi): Likewise.
17619 (grub_multiboot_add_module): Likewise.
17620 (grub_multiboot_set_bootdev): Likewise.
17621 * loader/i386/multiboot.c (mbi): Removed.
17622 (mbi_dest): Likewise.
17623 (alloc_mbi): New variable.
17624 (grub_multiboot_payload_size): Removed. All users updated.
17625 (grub_multiboot_pure_size): New variable.
17626 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17627 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17628 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17629 (grub_fill_multiboot_mmap): Likewise.
17630 (grub_multiboot_get_bootdev): Likewise.
17631 (grub_multiboot): Use multiboot_mbi functions.
17632 * loader/i386/multiboot_mbi.c: New file.
17633
17634 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17637 it would result in module crash.
17638
17639 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17640
17641 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17642 (grub_ofconsole_getwh): Split to ...
17643 (grub_ofconsole_getwh): ... this.
17644 (grub_ofconsole_dimensions): ...and this.
17645 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17646
17647 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17648
17649 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17650
17651 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 * loader/i386/pc/multiboot2.c: Removed stalled file.
17654
17655 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17658 Reported by: Grégoire Sutre
17659
17660 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17661
17662 * util/misc.c (canonicalize_file_name): New function.
17663 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17664 instead of realpath().
17665
17666 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
17667
17668 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17669 and make it clearer that it's optional. Based on confusion
17670 witnessed on IRC.
17671
17672 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17675 in premature implicit newline.
17676
17677 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17680 which resulted in garbled command line at the end of screen.
17681
17682 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17683
17684 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17685 initialization with similar approach as with other Linux loaders.
17686
17687 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17688
17689 Fix i386-ieee1275 build.
17690
17691 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17692 and grub_term_height() for video_{width,height} initialization.
17693
17694 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17695
17696 Fix grub-emu build.
17697
17698 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17699
17700 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17701 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17702
17703 Support for multiple terminals.
17704
17705 * Makefile.in (pkglib_DATA): terminal.lst.
17706 (terminal.lst): New target.
17707 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17708 (GRUB_MOD_INIT(handler)): Likewise.
17709 (GRUB_MOD_FINI(handler)): Likewise.
17710 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17711 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17712 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17713 (grub_cmd_sleep): Use grub_term_save_pos.
17714 * commands/terminal.c: New file.
17715 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17716 commands/terminal.c and lib/charset.c.
17717 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17718 (pkglib_MODULES): Add terminal.mod.
17719 (terminal_mod_SOURCES): New variable.
17720 (terminal_mod_CFLAGS): Likewise.
17721 (terminal_mod_LDFLAGS): Likewise.
17722 * genhandlerlist.sh: Don't handle terminals.
17723 * genmk.rb: Generate terminal-*.lst.
17724 * genterminallist.sh: New file.
17725 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17726 (grub_is_valid_utf8): Likewise.
17727 (grub_utf8_to_ucs4_alloc): Likewise.
17728 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17729 (grub_menu_register_viewer): Changed argument.
17730 (grub_menu_try_text): New proto.
17731 (grub_gfxmenu_try_hook): New declaration.
17732 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17733 (grub_menu_init_page): Additional argument term.
17734 (grub_normal_init_page): Likewise.
17735 (grub_cmdline_get): Arguments simplified.
17736 (grub_utf8_to_ucs4_alloc): Removed.
17737 (grub_print_ucs4): Additional argument term.
17738 (grub_getstringwidth): Likewise.
17739 (grub_print_message_indented): Likewise.
17740 (grub_menu_text_register_instances): New proto.
17741 (grub_show_menu): Likewise.
17742 (read_terminal_list): Likewise.
17743 (grub_set_more): Likewise.
17744 * include/grub/parser.h: Include handler.h.
17745 * include/grub/reader.h: Rewritten.
17746 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17747 (GRUB_TERM_WIDTH): Changed to function.
17748 (GRUB_TERM_HEIGHT): Likewise.
17749 (GRUB_TERM_BORDER_WIDTH): Likewise.
17750 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17751 (GRUB_TERM_NUM_ENTRIES): Likewise.
17752 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17753 (GRUB_TERM_CURSOR_X): Likewise.
17754 (grub_term_input_class): Likewise.
17755 (grub_term_output_class): Likewise.
17756 (grub_term_outputs_disabled): New declaration.
17757 (grub_term_inputs_disabled): Likewise.
17758 (grub_term_outputs): Likewise.
17759 (grub_term_inputs): Likewise.
17760 (grub_term_register_input): Rewritten.
17761 (grub_term_register_output): Likewise.
17762 (grub_term_unregister_input): Likewise.
17763 (grub_term_unregister_output): Likewise.
17764 (FOR_ACTIVE_TERM_INPUTS): New macro.
17765 (FOR_DISABLED_TERM_INPUTS): Likewise.
17766 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17767 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17768 * include/grub/terminfo.h: Add oterm argument to all protypes.
17769 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17770 Use grub_rescue_run.
17771 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17772 All users updated.
17773 * kern/reader.c: Removed. All users updated.
17774 * kern/rescue_reader.c (grub_rescue_init): Removed.
17775 (grub_rescue_reader): Likewise.
17776 (grub_register_rescue_reader): Likewise.
17777 (grub_rescue_run): New function based on kern/reader.c.
17778 * kern/term.c: Adapted for multiterm.
17779 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17780 (grub_is_valid_utf8): Likewise.
17781 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17782 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17783 right terminal.
17784 * loader/i386/linux.c (grub_linux_boot): Likewise.
17785 * normal/auth.c (grub_username_get): New function.
17786 (grub_auth_check_authentication): Use grub_username_get.
17787 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17788 * normal/color.c: Adapt for multiterm.
17789 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17790 (grub_normal_init_page): Additional argument term.
17791 (read_lists): Call read_terminal_lists.
17792 (grub_enter_normal_mode): Call grub_cmdline_run.
17793 Handle grub_normal_exit_level.
17794 (grub_cmd_normal): Make reentrant.
17795 (grub_cmd_normal_exit): New function.
17796 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17797 * normal/menu.c: Adapt for multiterm.
17798 * normal/menu_entry.c: Likewise.
17799 * normal/menu_text.c: Likewise.
17800 * normal/menu_viewer.c: Removed. All users updated.
17801 * normal/term.c: New file.
17802 * util/console.c: Change order of includes to workaround a bug in
17803 ncurses headers.
17804 * term/terminfo.c: New argument oterm on all exported functions.
17805 All users updated.
17806 * util/grub-editenv.c (grub_term_input_class): Removed.
17807 (grub_term_output_class): Likewise.
17808
17809 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17810
17811 Make loader output a bit more user-friendly.
17812
17813 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17814 is being loaded. Likewise for the Hurd.
17815
17816 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17817 that kernel of FreeBSD ${version} is being loaded.
17818
17819 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17820 grub_dprintf().
17821 (grub_cmd_initrd): Likewise.
17822 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17823 that Linux ${version} is being loaded. Likewise for initrd.
17824
17825 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17826
17827 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17828
17829 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17830
17831 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17832 (GRUB_MOD_INIT): Gettextizze.
17833 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17834 (GRUB_MOD_INIT): Gettextizze.
17835 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17836 (grub_cmd_linux): Capitalise Linux.
17837 (GRUB_MOD_INIT): Gettextizze.
17838 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17839 (grub_cmd_linux): Capitalise Linux.
17840 (GRUB_MOD_INIT): Gettextizze.
17841 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17842 (grub_cmd_linux): Capitalise Linux.
17843 (GRUB_MOD_INIT): Gettextizze.
17844 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17845 (GRUB_MOD_INIT): Gettextizze.
17846 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17847 (grub_cmd_linux): Capitalise Linux.
17848 (GRUB_MOD_INIT): Gettextizze.
17849 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17850 (grub_cpu_xnu_init): Gettextizze.
17851 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17852 (GRUB_MOD_INIT): Gettextizze.
17853 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17854 (GRUB_MOD_INIT): Gettextizze.
17855 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17856 (grub_linux_load64): Capitalise Linux.
17857 (GRUB_MOD_INIT): Gettextizze.
17858 * loader/xnu.c: Include `<grub/i18n.h>'.
17859 (GRUB_MOD_INIT): Gettextizze.
17860 * po/POTFILES: Add `loader/efi/appleloader.c',
17861 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17862 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17863 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17864 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17865 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17866 and `loader/xnu.c'.
17867
17868 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17869
17870 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17871
17872 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17873
17874 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17875 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17876 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17877
17878 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17879
17880 Reset Multiboot 2 support. New loader implements the draft in
17881 /branches/multiboot2 and shares as much code as possible with the
17882 production Multiboot 1 implementation.
17883
17884 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17885 * loader/multiboot2.c: Likewise.
17886 * loader/i386/multiboot_helper.S: Likewise.
17887 * include/multiboot2.h: Replace with latest version from the draft
17888 in /branches/multiboot2.
17889
17890 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17891 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17892 and `loader/multiboot2.c'.
17893 (pkglib_MODULES): Add `multiboot2.mod'.
17894 (multiboot2_mod_SOURCES): New variable.
17895 (multiboot2_mod_LDFLAGS): Likewise.
17896 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17897
17898 * conf/i386-pc.rmk: Likewise.
17899
17900 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17901 (multiboot_mod_SOURCES): Remove variable.
17902 (multiboot_mod_LDFLAGS): Likewise.
17903 (multiboot_mod_CFLAGS): Likewise.
17904
17905 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17906 `<multiboot2.h>' instead of `<multiboot.h>'.
17907 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17908 (MULTIBOOT_HEADER_MAGIC): New macros.
17909
17910 * loader/multiboot_loader.c (module_version_status): Remove variable.
17911 (find_multi_boot2_header): Remove function.
17912 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17913 logic. Always check for the Multiboot version we're compiling for.
17914 (grub_cmd_module_loader): Likewise.
17915 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17916 command instead of `multiboot'.
17917
17918 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17919
17920 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17921 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17922 all users.
17923
17924 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17925 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 Fix breakage introduced with previous commit.
17928
17929 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17930 commands.
17931 * normal/handler.c (read_handler_list): Revert part of previous commit
17932 affecting this file.
17933 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17934 (grub_normal_execute): ... here.
17935
17936 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17937
17938 Merge prefix-redefinition-fix branch.
17939
17940 * normal/autofs.c (read_fs_list): Make function capable of being
17941 run multiple times, gracefuly replacing the previous data
17942 structures.
17943 * normal/dyncmd.c (read_command_list): Likewise.
17944 * normal/handler.c (read_handler_list): Likewise.
17945 * normal/main.c (read_lists): New function. Calls all the
17946 list reading functions.
17947 (grub_normal_execute): Use read_lists() instead of calling all
17948 list reading functions explicitly. Register read_lists() as a
17949 variable hook attached to ${prefix}.
17950
17951 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17952
17953 Merge crypto branch.
17954
17955 * Makefile.in (pkglib_DATA): Add crypto.lst.
17956 (crypto.lst): New target.
17957 * commands/hashsum.c: New file.
17958 * commands/password.c (check_password): Use grub_crypto_memcmp.
17959 * commands/password_pbkdf2.c: New file.
17960 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17961 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17962 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17963 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17964 -I$(srcdir)/lib/libgcrypt_wrap.
17965 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17966 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17967 password_pbkdf2.mod.
17968 (crypto_mod_SOURCES): New variable.
17969 (crypto_mod_CFLAGS): Likewise.
17970 (crypto_mod_LDFLAGS): Likewise.
17971 (hashsum_mod_SOURCES): New variable.
17972 (hashsum_mod_CFLAGS): Likewise.
17973 (hashsum_mod_LDFLAGS): Likewise.
17974 (pbkdf2_mod_SOURCES): New variable.
17975 (pbkdf2_mod_CFLAGS): Likewise.
17976 (pbkdf2_mod_LDFLAGS): Likewise.
17977 (password_pbkdf2_mod_SOURCES): New variable.
17978 (password_pbkdf2_mod_CFLAGS): Likewise.
17979 (password_pbkdf2_mod_LDFLAGS): Likewise.
17980 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17981 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17982 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17983 Include conf/gcry.rmk.
17984 * include/grub/auth.h: Rewritten.
17985 * include/grub/crypto.h: New file.
17986 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17987 * include/grub/normal.h (read_crypto_list): New prototype.
17988 * lib/crypto.c: New file.
17989 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17990 * lib/pbkdf2.c: Likewise.
17991 * normal/auth.c (grub_auth_strcmp): Removed.
17992 (grub_iswordseparator): Likewise.
17993 (grub_auth_strword): Likewise.
17994 (is_authenticated): Use grub_strword.
17995 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17996 and grub_strword. Pass entered password to authentication callback.
17997 * normal/crypto.c: New file.
17998 * normal/main.c: Call read_crypto_list.
17999 * util/grub-mkpasswd-pbkdf2.c: New file.
18000 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
18001
18002 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
18003
18004 Fix descent and ascent calculation.
18005
18006 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
18007 (options): New option "asce".
18008 (usage): Likewise.
18009 (add_char): Ignore invalid glyphs for descent calculation.
18010 Calculate ascent from actual content.
18011 (print_glyphs): Use 'asce'.
18012 (write_font): Likewise. Allow ascent override.
18013 (main): Handle "asce" option.
18014
18015 2010-01-06 Carles Pina i Estany <carles@pina.cat>
18016
18017 * kern/err.c: Include `<grub/i18n.h>'.
18018 (grub_print_error): Add full stop. Gettextizze.
18019 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
18020 (grub_bsd_load_elf): Capitalise ELF.
18021 (grub_cmd_freebsd_loadenv): Add `s' in error string.
18022 (grub_cmd_freebsd_module): Likewise.
18023 (grub_cmd_freebsd_module_elf): Likewise.
18024 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
18025
18026 2010-01-06 Carles Pina i Estany <carles@pina.cat>
18027
18028 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
18029 * commands/search_file.c (HELP_MESSAGE): New macro.
18030 * commands/search_label.c (HELP_MESSAGE): Likewise.
18031 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
18032 * po/POTFILES: Add `commands/search_file.c',
18033 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
18034 `commands/search.c'.
18035
18036 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18037
18038 * config.rpath: Update from Gnulib.
18039
18040 2010-01-05 Yves Blusseau <blusseau@zetam.org>
18041
18042 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
18043
18044 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
18045
18046 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
18047
18048 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18049
18050 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
18051 arguments to fread so that we get a return value in bytes, rather
18052 than something that will normally be rounded down to 0.
18053 Adjust error handling to avoid producing garbage when size_t is not
18054 the same size as long long.
18055
18056 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18057
18058 * util/mkisofs/write.c (padblock_write): Check return value of
18059 fread.
18060
18061 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18062
18063 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
18064 floppy images now.
18065
18066 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
18067
18068 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18069
18070 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
18071 instead of manual alignment.
18072 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
18073 verbose). Avoid attempts to read past end of the device
18074 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
18075 but GRUB_DISK_CACHE_SIZE may exceed that).
18076
18077 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18078
18079 * commands/crc.c (grub_cmd_crc): Abort on read errors.
18080 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
18081 it to upper layer.
18082
18083 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
18086 New constant.
18087 (grub_efi_piwg_device_path): New structure
18088 (grub_efi_piwg_device_path_t): New type.
18089 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
18090 (devpath_1): Transform to a structure. All users updated.
18091 (devpath_2): Likewise.
18092 (devpath_3): Likewise.
18093 (devpath_4): Likewise.
18094 (devpath_5): Likewise.
18095
18096 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 * loader/efi/appleloader.c: Restored. Update all users.
18099
18100 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18101
18102 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
18103
18104 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
18105 (struct boot_blocklist): Move from here ...
18106 * include/grub/i386/pc/boot.h [ASM_FILE]
18107 (struct grub_boot_blocklist): ... to here. Update all users.
18108 (setup): Only initialize `start' member of `first_block'
18109 structure. Add assert() calls to verify the other members.
18110
18111 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
18112 (generate_image): Fix broken blocklist length initialization.
18113 Add assert() call to verify blocklist `segment' field.
18114
18115 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18116
18117 * loader/efi/appleloader.c: Remove. Update all users.
18118
18119 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18120
18121 * boot/i386/pc/boot.S: Update copyright year.
18122 * boot/i386/pc/cdboot.S: Likewise.
18123 * boot/i386/pc/diskboot.S: Likewise.
18124 * boot/i386/pc/lnxboot.S: Likewise.
18125 * boot/i386/pc/pxeboot.S: Likewise.
18126 * bus/pci.c: Likewise.
18127 * commands/cmp.c: Likewise.
18128 * commands/help.c: Likewise.
18129 * commands/hexdump.c: Likewise.
18130 * commands/i386/pc/halt.c: Likewise.
18131 * commands/i386/pc/play.c: Likewise.
18132 * commands/i386/pc/vbeinfo.c: Likewise.
18133 * commands/ls.c: Likewise.
18134 * commands/test.c: Likewise.
18135 * disk/dmraid_nvidia.c: Likewise.
18136 * disk/i386/pc/biosdisk.c: Likewise.
18137 * disk/ieee1275/nand.c: Likewise.
18138 * disk/ieee1275/ofdisk.c: Likewise.
18139 * disk/lvm.c: Likewise.
18140 * disk/raid.c: Likewise.
18141 * disk/raid6_recover.c: Likewise.
18142 * disk/scsi.c: Likewise.
18143 * fs/affs.c: Likewise.
18144 * fs/cpio.c: Likewise.
18145 * fs/ext2.c: Likewise.
18146 * fs/hfs.c: Likewise.
18147 * fs/iso9660.c: Likewise.
18148 * fs/ntfs.c: Likewise.
18149 * fs/sfs.c: Likewise.
18150 * fs/udf.c: Likewise.
18151 * fs/ufs.c: Likewise.
18152 * fs/xfs.c: Likewise.
18153 * gencmdlist.sh: Likewise.
18154 * genmk.rb: Likewise.
18155 * include/grub/disk.h: Likewise.
18156 * include/grub/efi/api.h: Likewise.
18157 * include/grub/efi/efi.h: Likewise.
18158 * include/grub/efi/pe32.h: Likewise.
18159 * include/grub/elf.h: Likewise.
18160 * include/grub/fs.h: Likewise.
18161 * include/grub/i386/at_keyboard.h: Likewise.
18162 * include/grub/i386/pc/memory.h: Likewise.
18163 * include/grub/i386/pc/vbe.h: Likewise.
18164 * include/grub/i386/pci.h: Likewise.
18165 * include/grub/i386/tsc.h: Likewise.
18166 * include/grub/ieee1275/ieee1275.h: Likewise.
18167 * include/grub/ntfs.h: Likewise.
18168 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18169 * include/grub/sparc64/libgcc.h: Likewise.
18170 * include/grub/symbol.h: Likewise.
18171 * include/grub/types.h: Likewise.
18172 * include/multiboot2.h: Likewise.
18173 * io/gzio.c: Likewise.
18174 * kern/device.c: Likewise.
18175 * kern/disk.c: Likewise.
18176 * kern/efi/efi.c: Likewise.
18177 * kern/efi/mm.c: Likewise.
18178 * kern/elf.c: Likewise.
18179 * kern/file.c: Likewise.
18180 * kern/i386/dl.c: Likewise.
18181 * kern/i386/pc/init.c: Likewise.
18182 * kern/i386/pc/startup.S: Likewise.
18183 * kern/ieee1275/ieee1275.c: Likewise.
18184 * kern/ieee1275/init.c: Likewise.
18185 * kern/main.c: Likewise.
18186 * kern/mm.c: Likewise.
18187 * kern/powerpc/dl.c: Likewise.
18188 * kern/sparc64/dl.c: Likewise.
18189 * kern/x86_64/dl.c: Likewise.
18190 * lib/hexdump.c: Likewise.
18191 * loader/efi/appleloader.c: Likewise.
18192 * loader/i386/ieee1275/linux.c: Likewise.
18193 * loader/i386/pc/chainloader.c: Likewise.
18194 * loader/i386/pc/linux.c: Likewise.
18195 * loader/i386/pc/multiboot2.c: Likewise.
18196 * loader/ieee1275/multiboot2.c: Likewise.
18197 * loader/multiboot2.c: Likewise.
18198 * loader/multiboot_loader.c: Likewise.
18199 * loader/powerpc/ieee1275/linux.c: Likewise.
18200 * normal/completion.c: Likewise.
18201 * normal/menu_entry.c: Likewise.
18202 * partmap/apple.c: Likewise.
18203 * util/grub.d/10_hurd.in: Likewise.
18204 * util/hostfs.c: Likewise.
18205 * video/readers/png.c: Likewise.
18206
18207 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
18208
18209 * include/grub/misc.h (GNUC_PREREQ): New macro.
18210 (ATTRIBUTE_ERROR): New macro.
18211 * include/grub/list.h (grub_bad_type_cast_real): Use
18212 ATTRIBUTE_ERROR.
18213
18214 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18215
18216 * normal/menu_text.c (print_message): Change messages.
18217
18218 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18219
18220 * normal/menu_entry.c (store_completion): Gettextizze.
18221
18222 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18223
18224 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
18225
18226 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18227
18228 * po/POTFILES: Sort correctly.
18229
18230 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18231
18232 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
18233 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
18234 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
18235 full stop.
18236 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
18237 summary. Gettextizze the strings.
18238 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
18239 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
18240 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
18241 full stop.
18242 (GRUB_MOD_INIT): Remove command name from summary.
18243 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
18244 summary.
18245 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
18246 * term/i386/pc/serial.c (options): Add full stops.
18247 (GRUB_MOD_INIT): Remove command name from the summary.
18248
18249 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18250
18251 * commands/acpi.c: Gettextizze help strings and/or options. Include
18252 `grub/i18n.h' if needed.
18253 * commands/blocklist.c: Likewise.
18254 * commands/boot.c: Likewise.
18255 * commands/cat.c: Likewise.
18256 * commands/cmp.c: Likewise.
18257 * commands/configfile.c: Likewise.
18258 * commands/crc.c: Likewise.
18259 * commands/date.c: Likewise.
18260 * commands/echo.c: Likewise.
18261 * commands/efi/fixvideo.c: Likewise.
18262 * commands/efi/loadbios.c: Likewise.
18263 * commands/gptsync.c: Likewise.
18264 * commands/halt.c: Likewise.
18265 * commands/handler.c: Likewise.
18266 * commands/hdparm.c: Likewise.
18267 * commands/hexdump.c: Likewise.
18268 * commands/i386/cpuid.c: Likewise.
18269 * commands/i386/pc/drivemap.c: Likewise.
18270 * commands/i386/pc/halt.c: Likewise.
18271 * commands/i386/pc/pxecmd.c: Likewise.
18272 * commands/i386/pc/vbeinfo.c: Likewise.
18273 * commands/i386/pc/vbetest.c: Likewise.
18274 * commands/ieee1275/suspend.c: Likewise.
18275 * commands/keystatus.c: Likewise.
18276 * commands/loadenv.c: Likewise.
18277 * commands/ls.c: Likewise.
18278 * commands/lsmmap.c: Likewise.
18279 * commands/lspci.c: Likewise.
18280 * commands/memrw.c: Likewise.
18281 * commands/minicmd.c: Likewise.
18282 * commands/parttool.c: Likewise.
18283 * commands/password.c: Likewise.
18284 * commands/probe.c: Likewise.
18285 * commands/read.c: Likewise.
18286 * commands/reboot.c: Likewise.
18287 * commands/search.c: Likewise.
18288 * commands/sleep.c: Likewise.
18289 * commands/test.c: Likewise.
18290 * commands/true.c: Likewise.
18291 * commands/usbtest.c: Likewise.
18292 * commands/videotest.c: Likewise.
18293 * commands/xnu_uuid.c: Likewise.
18294 * disk/loopback.c: Likewise.
18295 * hello/hello.c: Likewise.
18296 * loader/i386/bsd.c: Likewise.
18297 * term/i386/pc/serial.c: Likewise.
18298 * po/POTFILES: Add new files.
18299
18300 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
18301
18302 * term/i386/pc/at_keyboard.c
18303 (keyboard_controller_wait_untill_ready): Rename to ...
18304 (keyboard_controller_wait_until_ready): ... this. Update all users.
18305
18306 2010-01-01 Carles Pina i Estany <carles@pina.cat>
18307
18308 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18309 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18310 string using string width.
18311 * normal/menu_text.c (grub_print_message_indented): Use
18312 grub_print_spaces and not print_spaces.
18313 (print_timeout): Likewise.
18314 (print_spaces): Move to...
18315 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18316
18317 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18318
18319 Import from Gnulib.
18320
18321 * gnulib/getdelim.c: New file.
18322 * gnulib/getline.c: Likewise.
18323
18324 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18325
18326 * include/grub/list.h (grub_assert_fail): Removed.
18327 (grub_bad_type_cast_real): New function.
18328 (grub_bad_type_cast): New macro.
18329 (GRUB_AS_LIST): Use grub_bad_type_cast.
18330 (GRUB_AS_LIST_P): Likewise.
18331 (GRUB_AS_NAMED_LIST): Likewise.
18332 (GRUB_AS_NAMED_LIST_P): Likewise.
18333 (GRUB_AS_PRIO_LIST): Likewise.
18334 (GRUB_AS_PRIO_LIST_P): Likewise.
18335 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
18336
18337 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18340 Fix syntax error.
18341
18342 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18343
18344 * configure.ac: Check for TARGET_CFLAGS initialization before we
18345 initialize it ourselves (sigh).
18346 Move a few modifications to TARGET_CFLAGS to be unconditional
18347 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18348 eh_frame)
18349
18350 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18351 * term/i386/pc/at_keyboard.c
18352 (keyboard_controller_wait_untill_ready): Likewise.
18353 (keyboard_controller_led): Rename `led_status' paramter to avoid
18354 name conflict.
18355
18356 2009-12-28 Carles Pina i Estany <carles@pina.cat>
18357
18358 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18359 quotes.
18360
18361 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18362
18363 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18364
18365 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18366
18367 * normal/menu_text.c (grub_print_message_indented): Prevent
18368 past-the-end-of-array dereference.
18369
18370 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18371
18372 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18373 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18374
18375 2009-12-27 Carles Pina i Estany <carles@pina.cat>
18376
18377 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18378 * normal/main.c (grub_normal_read_line): Remove a space from the
18379 default prompt.
18380
18381 2009-12-27 Carles Pina i Estany <carles@pina.cat>
18382
18383 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18384 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18385 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18386 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18387 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18388 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18389 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18390
18391 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18392
18393 * video/readers/jpeg.c (cmd): Declare.
18394 (grub_cmd_jpegtest): Use `grub_command_t' type.
18395 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18396 Assign to `cmd'.
18397 (GRUB_MOD_FINI): Use `cmd' to unregister.
18398 * video/readers/png.c (cmd): Declare.
18399 (grub_cmd_pngtest): Use `grub_command_t' type.
18400 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18401 Assign to `cmd'.
18402 (GRUB_MOD_FINI): Use `cmd' to unregister.
18403 * video/readers/tga.c (cmd): Declare.
18404 (grub_cmd_tgatest): Use `grub_command_t' type.
18405 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18406 Assign to `cmd'.
18407 (GRUB_MOD_FINI): Use `cmd' to unregister.
18408
18409 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18410
18411 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18412 stops.
18413 * kern/corecmd.c (grub_register_core_commands): Likewise.
18414 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18415 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18416 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18417 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18418 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18419 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18420 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18421 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18422 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18423 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18424 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18425 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18426 * normal/handler.c (insert_handler): Likewise.
18427 * normal/main.c (GRUB_MOD_INIT): Likewise.
18428 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18429
18430 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18431
18432 * commands/help.c (grub_cmd_help): Print the command name before the
18433 summary.
18434 (GRUB_MOD_INIT): Remove command name from the summary.
18435 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
18436 string as summary.
18437 * lib/arg.c (find_long): Print the command name before the summary.
18438 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18439 summary.
18440 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18441 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18442 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18443 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18444 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18445 * commands/date.c (GRUB_MOD_INIT): Likewise.
18446 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18447 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18448 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18449 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18450 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18451 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18452 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18453 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18454 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18455 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18456 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18457 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18458 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18459 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18460 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18461 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18462 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18463 * commands/password.c (GRUB_MOD_INIT): Likewise.
18464 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18465 * commands/read.c (GRUB_MOD_INIT): Likewise.
18466 * commands/search.c (GRUB_MOD_INIT): Likewise.
18467 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18468 * commands/test.c (GRUB_MOD_INIT): Likewise.
18469 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18470 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18471 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18472 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18473 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18474 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18475 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18476 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18477 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18478 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18479 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18480 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18481 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18482 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18483
18484 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 Use search command for preliminar UUID search.
18487
18488 * commands/search.c: Split into ...
18489 * commands/search_wrap.c: ...this
18490 * commands/search.c: ...and this.
18491 * commands/search_file.c: New file.
18492 * commands/search_label.c: New file.
18493 * commands/search_uuid.c: New file.
18494 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18495 Add commands/search_wrap.c, commands/search_file.c,
18496 commands/search_label.c and commands/search_uuid.c.
18497 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18498 (search_mod_SOURCES): Set to commands/search_wrap.c.
18499 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18500 search_label.mod.
18501 (search_fs_file_mod_SOURCES): New variable.
18502 (search_fs_file_mod_CFLAGS): Likewise.
18503 (search_fs_file_mod_LDFLAGS): Likewise.
18504 (search_label_mod_SOURCES): Likewise.
18505 (search_label_mod_CFLAGS): Likewise.
18506 (search_label_mod_LDFLAGS): Likewise.
18507 (search_fs_uuid_mod_SOURCES): New variable.
18508 (search_fs_uuid_mod_CFLAGS): Likewise.
18509 (search_fs_uuid_mod_LDFLAGS): Likewise.
18510 (fs_file_mod_SOURCES): Removed.
18511 (fs_file_mod_CFLAGS): Likewise.
18512 (fs_file_mod_LDFLAGS): Likewise.
18513 (fs_uuid_mod_SOURCES): Removed.
18514 (fs_uuid_mod_CFLAGS): Likewise.
18515 (fs_uuid_mod_LDFLAGS): Likewise.
18516 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18517 Set to util/grub-install.in.
18518 * disk/fs_file.c: Removed.
18519 * disk/fs_uuid.c: Likewise.
18520 * include/grub/search.h: New file.
18521 * util/grub-install.in: Handle sparc64.
18522 Create and use load.cfg.
18523 * util/sparc64/ieee1275/grub-install.in: Removed.
18524
18525 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18526
18527 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18528 Ignore return status if CF is cleared.
18529 (grub_biosdisk_get_diskinfo_standard): Likewise.
18530
18531 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18532
18533 * term/i386/pc/at_keyboard.c
18534 (keyboard_controller_wait_untill_ready): New function.
18535 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18536 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18537 for keyboard polling, rather than duplicate the same loop. This
18538 saves a few bytes in code size.
18539
18540 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18541
18542 Support for (pxe[:server[:gateway]]) syntax and
18543 use environment variable for PXE.
18544
18545 * commands/i386/pc/pxecmd.c (options): Removed.
18546 (print_ip): Removed.
18547 (grub_cmd_pxe): Removed
18548 (grub_cmd_pxe_unload): New function.
18549 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18550 (grub_pxe_your_ip): Made static.
18551 (grub_pxe_default_server_ip): Likewise.
18552 (grub_pxe_default_gateway_ip): Likewise.
18553 (grub_pxe_blksize): Likewise.
18554 (parse_ip): New function.
18555 (grub_pxe_open): Support server and gateway specification.
18556 (grub_pxe_close): Free disk->data.
18557 (grub_pxefs_open): Use disk->data.
18558 (grub_pxefs_read): Likewise.
18559 (grub_env_write_readonly): New function.
18560 (set_mac_env): Likewise.
18561 (set_env_limn_ro): Likewise.
18562 (parse_dhcp_vendor): Likewise.
18563 (grub_pxe_detect): Set the environment variables.
18564 (set_ip_env): New function.
18565 (write_ip_env): Likewise.
18566 (grub_env_write_pxe_default_server): Likewise.
18567 (grub_env_write_pxe_default_gateway): Likewise.
18568 (grub_env_write_pxe_blocksize): Likewise.
18569 (GRUB_MOD_INIT(pxe)): Set environment variables.
18570 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18571 (grub_pxe_mac_addr_t): ... this. All users updated.
18572 (grub_pxe_your_ip): Removed.
18573 (grub_pxe_server_ip): Likewise.
18574 (grub_pxe_gateway_ip): Likewise.
18575 (grub_pxe_blksize): Likewise.
18576
18577 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18578
18579 * commands/help.c: Include `<grub/i18n.h>'.
18580 (grub_cmd_help): Gettextizze.
18581 (GRUB_MOD_INIT): Likewise.
18582 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18583 (GRUB_MOD_INIT): Gettextizze.
18584 * commands/search.c: Include `<grub/i18n.h>'.
18585 (options): Gettextizze.
18586 (GRUB_MOD_INIT): Gettextizze.
18587 * lib/arg.c: Include `<grub/i18n.h>'.
18588 (help_options): Gettextizze.
18589 (find_long): Likewise.
18590 (grub_arg_show_help): Likewise.
18591 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18592 (read_command_list): Gettextizze.
18593 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
18594 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
18595
18596 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18597
18598 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18599 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18600 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18601 (led_status): New variable.
18602 (keyboard_controller_led): New function.
18603 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18604 update led status for caps lock, num lock and scroll lock.
18605
18606 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
18607
18608 * util/hostdisk.c (open_device): Fix a comment.
18609
18610 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18611
18612 * util/grub-install.in (host_os): New variable.
18613 * util/i386/efi/grub-install.in (host_os): Likewise.
18614
18615 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18616
18617 * util/mkisofs/write.c (padblock_write): Abort when given an
18618 excedingly large embed image, instead of silently truncating it.
18619
18620 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18621
18622 * include/multiboot.h: Indentation fixes.
18623
18624 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18625
18626 * include/multiboot.h (struct multiboot_aout_symbol_table)
18627 (struct multiboot_elf_section_header_table): New structure
18628 declarations (stolen from GRUB Legacy).
18629 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18630 table information.
18631
18632 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18633 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18634 type aliases.
18635
18636 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18637
18638 * include/multiboot.h: Make comments src2texi-friendly.
18639
18640 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18641
18642 For consistency with [multiboot]/docs/boot.S.
18643
18644 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18645 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18646 (MULTIBOOT_MAGIC2): Rename from this ...
18647 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18648
18649 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18650
18651 * include/multiboot.h: Remove `<grub/types.h>'.
18652 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18653 types. Update all users.
18654
18655 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18656
18657 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18658 `couldn't' and `can not' by `cannot'.
18659 * commands/i386/pc/drivemap.c: Likewise.
18660 * disk/ata.c: Likewise.
18661 * disk/ieee1275/nand.c: Likewise.
18662 * fs/affs.c: Likewise.
18663 * fs/fat.c: Likewise.
18664 * fs/hfs.c: Likewise.
18665 * fs/hfsplus.c: Likewise.
18666 * fs/iso9660.c: Likewise.
18667 * fs/jfs.c: Likewise.
18668 * fs/minix.c: Likewise.
18669 * fs/reiserfs.c: Likewise.
18670 * fs/sfs.c: Likewise.
18671 * fs/udf.c: Likewise.
18672 * fs/ufs.c: Likewise.
18673 * fs/xfs.c: Likewise.
18674 * loader/powerpc/ieee1275/linux.c: Likewise.
18675 * loader/sparc64/ieee1275/linux.c: Likewise.
18676 * util/grub-probe.c: Likewise.
18677 * util/misc.c: Likewise.
18678
18679 2009-12-24 Carles Pina i Estany <carles@pina.cat>
18680
18681 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18682 grub_errno calls.
18683 * commands/acpi.c: Likewise.
18684 * commands/blocklist.c: Likewise.
18685 * commands/efi/loadbios.c: Likewise.
18686 * commands/i386/pc/drivemap.c: Likewise.
18687 * commands/loadenv.c: Likewise.
18688 * commands/memrw.c: Likewise.
18689 * commands/password.c: Likewise.
18690 * commands/videotest.c: Likewise.
18691 * disk/ata.c: Likewise.
18692 * disk/ata_pthru.c: Likewise.
18693 * disk/dmraid_nvidia.c: Likewise.
18694 * disk/ieee1275/nand.c: Likewise.
18695 * disk/ieee1275/ofdisk.c: Likewise.
18696 * disk/loopback.c: Likewise.
18697 * disk/lvm.c: Likewise.
18698 * disk/mdraid_linux.c: Likewise.
18699 * disk/raid.c: Likewise.
18700 * disk/raid6_recover.c: Likewise.
18701 * disk/scsi.c: Likewise.
18702 * efiemu/main.c: Likewise.
18703 * efiemu/mm.c: Likewise.
18704 * efiemu/pnvram.c: Likewise.
18705 * efiemu/symbols.c: Likewise.
18706 * font/font.c: Likewise.
18707 * fs/cpio.c: Likewise.
18708 * fs/hfsplus.c: Likewise.
18709 * fs/iso9660.c: Likewise.
18710 * fs/jfs.c: Likewise.
18711 * fs/minix.c: Likewise.
18712 * fs/ntfs.c: Likewise.
18713 * fs/ntfscomp.c: Likewise.
18714 * fs/reiserfs.c: Likewise.
18715 * fs/ufs.c: Likewise.
18716 * fs/xfs.c: Likewise.
18717 * gettext/gettext.c: Likewise.
18718 * include/grub/auth.h: Likewise.
18719 * kern/elf.c: Likewise.
18720 * kern/file.c: Likewise.
18721 * kern/ieee1275/init.c: Likewise.
18722 * kern/ieee1275/mmap.c: Likewise.
18723 * kern/ieee1275/openfw.c: Likewise.
18724 * kern/powerpc/dl.c: Likewise.
18725 * kern/sparc64/dl.c: Likewise.
18726 * lib/arg.c: Likewise.
18727 * loader/i386/bsd.c: Likewise.
18728 * loader/i386/bsdXX.c: Likewise.
18729 * loader/i386/efi/linux.c: Likewise.
18730 * loader/i386/efi/xnu.c: Likewise.
18731 * loader/i386/ieee1275/linux.c: Likewise.
18732 * loader/i386/linux.c: Likewise.
18733 * loader/i386/multiboot.c: Likewise.
18734 * loader/i386/pc/linux.c: Likewise.
18735 * loader/i386/pc/multiboot2.c: Likewise.
18736 * loader/i386/xnu.c: Likewise.
18737 * loader/ieee1275/multiboot2.c: Likewise.
18738 * loader/macho.c: Likewise.
18739 * loader/machoXX.c: Likewise.
18740 * loader/multiboot2.c: Likewise.
18741 * loader/multiboot_loader.c: Likewise.
18742 * loader/powerpc/ieee1275/linux.c: Likewise.
18743 * loader/sparc64/ieee1275/linux.c: Likewise.
18744 * loader/xnu.c: Likewise.
18745 * loader/xnu_resume.c: Likewise.
18746 * mmap/i386/pc/mmap.c: Likewise.
18747 * normal/menu_viewer.c: Likewise.
18748 * partmap/acorn.c: Likewise.
18749 * partmap/amiga.c: Likewise.
18750 * partmap/apple.c: Likewise.
18751 * script/lexer.c: Likewise.
18752 * term/gfxterm.c: Likewise.
18753 * term/i386/pc/serial.c: Likewise.
18754 * term/i386/pc/vga.c: Likewise.
18755 * term/ieee1275/ofconsole.c: Likewise.
18756 * term/terminfo.c: Likewise.
18757 * video/bitmap.c: Likewise.
18758 * video/efi_gop.c: Likewise.
18759 * video/efi_uga.c: Likewise.
18760 * video/fb/video_fb.c: Likewise.
18761 * video/i386/pc/vbe.c: Likewise.
18762 * video/readers/tga.c: Likewise.
18763 * video/video.c: Likewise.
18764
18765 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
18766
18767 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18768 * commands/lspci.c: Likewise.
18769 * commands/probe.c: Likewise.
18770 * commands/xnu_uuid.c: Likewise.
18771 * conf/i386-coreboot.rmk: Likewise.
18772 * conf/i386-efi.rmk: Likewise.
18773 * conf/i386-ieee1275.rmk: Likewise.
18774 * conf/i386-pc.rmk: Likewise.
18775 * conf/powerpc-ieee1275.rmk: Likewise.
18776 * conf/sparc64-ieee1275.rmk: Likewise.
18777 * conf/x86_64-efi.rmk: Likewise.
18778 * fs/i386/pc/pxe.c: Likewise.
18779 * gettext/gettext.c: Likewise.
18780 * include/grub/efi/graphics_output.h: Likewise.
18781 * include/grub/i386/pc/memory.h: Likewise.
18782 * kern/env.c: Likewise.
18783 * kern/i386/qemu/startup.S: Likewise.
18784 * lib/i386/pc/biosnum.c: Likewise.
18785 * lib/i386/relocator.c: Likewise.
18786 * lib/i386/relocator_asm.S: Likewise.
18787 * lib/relocator.c: Likewise.
18788 * loader/i386/bsd.c: Likewise.
18789 * loader/i386/multiboot.c: Likewise.
18790 * loader/i386/pc/chainloader.c: Likewise.
18791 * loader/i386/xnu.c: Likewise.
18792 * loader/xnu.c: Likewise.
18793 * normal/main.c: Likewise.
18794 * normal/menu_text.c: Likewise.
18795 * util/getroot.c: Likewise.
18796 * util/grub-mkconfig_lib.in: Likewise.
18797 * util/grub.d/00_header.in: Likewise.
18798 * util/i386/pc/grub-mkimage.c: Likewise.
18799 * util/mkisofs/eltorito.c: Likewise.
18800 * util/mkisofs/exclude.h: Likewise.
18801 * util/mkisofs/hash.c: Likewise.
18802 * util/mkisofs/iso9660.h: Likewise.
18803 * util/mkisofs/joliet.c: Likewise.
18804 * util/mkisofs/mkisofs.c: Likewise.
18805 * util/mkisofs/mkisofs.h: Likewise.
18806 * util/mkisofs/multi.c: Likewise.
18807 * util/mkisofs/name.c: Likewise.
18808 * util/mkisofs/rock.c: Likewise.
18809 * util/mkisofs/tree.c: Likewise.
18810 * util/mkisofs/write.c: Likewise.
18811 * video/efi_gop.c: Likewise.
18812
18813 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18816 size counting.
18817
18818 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18819
18820 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18821 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18822
18823 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18826 (GRUB_MOD_INIT(memrw)): Update help line.
18827
18828 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18831 Use grub_extcmd_t. All users updated.
18832 (options): New variable.
18833 (grub_cmd_read): Restructure for readability. Support "-v" option.
18834 (grub_cmd_write): Restructure for readability.
18835
18836 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18837
18838 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18839
18840 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18841
18842 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18843 with the actual contents of the correspondending make variable.
18844 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18845 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18846 specifying `*.lst' and `efiemu??.o'
18847
18848 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18849
18850 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18851 after function name.
18852 Noticed by Rene Engelhard <rene@debian.org>.
18853
18854 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18855
18856 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18857 (options): New variable.
18858 (iospace): Likewise.
18859 (grub_lspci_iter): List IO spaces if "-i" was given.
18860 (grub_cmd_lspci): Parse options.
18861 (GRUB_MOD_INIT(lspci)): Use extcmd.
18862 (GRUB_MOD_FINI(lspci)): Likewise.
18863
18864 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18865
18866 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18867 `function' keyword.
18868 Patch by Tony Mancill <tmancill@debian.org>.
18869
18870 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18873 (grub_uhci_portstatus): Likewise.
18874 (grub_uhci_portstatus): Add necessary delay.
18875 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18876
18877 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18878
18879 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18880 (GRUB_MOD_INIT): Likewise.
18881 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18882 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18883 * commands/echo.c (options): Fix capitalizations and/or full stops.
18884 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18885 (enable_rom_area): Likewise.
18886 (GRUB_MOD_INIT): Likewise.
18887 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18888 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18889 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18890 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18891 * commands/hexdump.c (options): Likewise.
18892 * commands/i386/cpuid.c (options): Likewise.
18893 (GRUB_MOD_INIT): Likewise.
18894 * commands/i386/pc/drivemap.c (options): Likewise.
18895 (GRUB_MOD_INIT): Likewise.
18896 * commands/i386/pc/halt (options): Likewise.
18897 (GRUB_MOD_INIT): Likewise.
18898 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18899 * commands/i386/pc/pxecmd.c (options): Likewise.
18900 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18901 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18902 * commands/keystatus.c (options): Likewise.
18903 (GRUB_MOD_INIT): Likewise.
18904 * commands/loadenv.c (options): Likewise.
18905 * commands/ls.c (options): Likewise.
18906 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18907 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18908 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18909 * commands/parttool.c (helpmsg): Likewise.
18910 * commands/probe.c (options): Likewise.
18911 * commands/read.c (GRUB_MOD_INIT): Likewise.
18912 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18913 * commands/search.c (options): Likewise.
18914 * commands/sleep.c (options): Likewise.
18915 * commands/test.c (GRUB_MOD_INIT): Likewise.
18916 * commands/true.c (GRUB_MOD_INIT): Likewise.
18917 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18918 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18919 * lib/arg.c (help_options): Likewise.
18920 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18921 `$(XGETTEXT)'.
18922 * po/POTFILES: Add `commands/loadenv.c'.
18923
18924 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18925
18926 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18927 instead of specifying them explicit.
18928
18929 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18930
18931 * NEWS: Add grub-probe support for GNU/Hurd.
18932
18933 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18934
18935 * NEWS: gettext was added after 1.97.
18936
18937 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18938
18939 * util/mkisofs/msdos_partition.h: New file (based on
18940 include/grub/msdos_partition.h).
18941 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18942 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18943 (ld_options, main): Recognize --protective-msdos-label.
18944 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18945 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18946 (padblock_write): If `use_protective_msdos_label' is set, patch a
18947 protective DOS-style label in the output image.
18948
18949 * util/grub-mkrescue.in: Use --protective-msdos-label.
18950
18951 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18952
18953 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18954 boot.
18955
18956 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18957
18958 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18959 variables.
18960 (ld_options, main): Recognize `--embedded-boot'.
18961 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18962 declarations.
18963 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18964 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18965 (padblock_write): Likewise. Rewrite to support embedded boot image.
18966
18967 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18968 for BIOS-based disk boot instead of only ElTorito.
18969
18970 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18971
18972 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18973 build (not needed for bootstrap).
18974
18975 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18976
18977 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18978 from i386-pc build (not needed for bootstrap).
18979 Rewrite a pair of strings.
18980
18981 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18982
18983 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18984
18985 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18988
18989 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18990
18991 * kern/env.c (grub_env_context_open): Mark exported variable for
18992 reexport.
18993
18994 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18995
18996 * kern/env.c (grub_env_export): Create nonexistent variables before
18997 exporting.
18998
18999 2009-12-20 Carles Pina i Estany <carles@pina.cat>
19000
19001 * include/grub/auth.h: Include `<grub/i18n.h>'.
19002 (GRUB_GET_PASSWORD): Gettextizze string.
19003 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
19004 menu_text.c.
19005 (grub_utf8_to_ucs4_alloc): Fix indentation.
19006 (grub_print_ucs4): Likewise.
19007 (grub_getstringwidth): Likewise.
19008 (print_message_indented): New declaration.
19009 * normal/auth.c: Include `<grub/i18n.h>'.
19010 (grub_auth_check_authentication): Gettexttize string.
19011 * normal/cmdline.c: Include `<grub/i18n.h>'.
19012 (grub_cmdline_get): Gettextizze.
19013 * normal/color.c: Include `<grub/i18n.h>'.
19014 (grub_parse_color_name_pair): Gettexttize strings.
19015 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
19016 string (use `print_message_indented').
19017 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
19018 `include/grub/normal.h'.
19019 (print_message_indented): Renamed to ...
19020 (grub_print_message_indented): ... this. Remove `static' qualifer (now
19021 used in normal/main.c).
19022 (print_message): Use `grub_print_message_indented' instead of
19023 `print_message_indented'.
19024 (print_timeout): Likewise.
19025 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
19026 (grub_normal_print_device_info): Gettexttize strings.
19027 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
19028
19029 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
19032 of arguments. Return number of tokens and not arguments. All users
19033 updated.
19034
19035 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
19038 non-MSDOS paritions.
19039
19040 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19041
19042 * include/grub/types.h (UNUSED): Removed since it conflicts with
19043 NetBSD headers. All users changed to direct __attribute__ ((unused)).
19044 Reported by Grégoire Sutre.
19045
19046 2009-12-19 Carles Pina i Estany <carles@pina.cat>
19047
19048 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
19049 (grub_print_ucs4_alloc): Likewise.
19050 (grub_getstringwidth): Likewise.
19051 * normal/main.c (grub_normal_init_page): Gettextize version string.
19052 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
19053 (getstringwidth): Renamed to ...
19054 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
19055 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
19056 (grub_print_ucs4): Remove `static' qualifer (now used in
19057 normal/main.c).
19058 * po/POTFILES: Add normal/main.c.
19059
19060 2009-12-19 Carles Pina i Estany <carles@pina.cat>
19061
19062 * normal/menu_text.c (STANDARD_MARGIN): New macro.
19063 (print_message_indented): Add `margin_left' and `margin_right'
19064 parameters.
19065 (print_message): Update `print_message_indented' calls. Adds '\n' to the
19066 strings.
19067 (print_timeout): Use `print_message_indented' to print the message.
19068 Deletes `second_stage' parameter.
19069 (run_menu): Update `print_timeout' calls.
19070
19071 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19072
19073 Fix console palette on OpenFirmware.
19074
19075 * term/ieee1275/ofconsole.c (MAX): Removed.
19076 (colors): Redone based on VGA palette.
19077 (grub_ofconsole_setcolor): Discard brightness bit since only 8
19078 colors are supported.
19079 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
19080
19081 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 Fix potential EfiEmu double prepare.
19084
19085 * efiemu/main.c (prepared): New variable
19086 (grub_efiemu_unload): Set prepare to '0'.
19087 (grub_efiemu_prepare): Return if already prepared. Set prepared.
19088
19089 set_virtual_address_map support.
19090
19091 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
19092 prototype.
19093 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
19094 prototype.
19095 (grub_efiemu_crc32): Likewise.
19096 (grub_efiemu_crc64): Likewise.
19097 (grub_efiemu_set_virtual_address_map): Likewise.
19098 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
19099 New definition.
19100 (grub_autoefi_set_virtual_address_map): Likewise.
19101 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
19102 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
19103 Restructure flow to accomodate it.
19104 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
19105 (grub_efiemu_crc): Recompute CRC32.
19106 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
19107 (efiemu_ptv_relocated): ... this. Made global. All users updated.
19108 * efiemu/symbols.c (relocated_handle): New variable.
19109 (grub_efiemu_free_syms): Free relocated_handle.
19110 (grub_efiemu_alloc_syms): Allocate relocated_handle.
19111 (grub_efiemu_write_sym_markers): New function.
19112 (grub_efiemu_set_virtual_address_map): Likewise.
19113
19114 Newer XNU parameters.
19115
19116 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
19117 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
19118 (grub_xnu_fill_devicetree): New prototype.
19119 (grub_xnu_heap_real_start): New variable.
19120 * loader/xnu.c (get_name_ptr): New function.
19121 (grub_xnu_load_driver): Fill namelen and name.
19122
19123 64-bit xnu support.
19124
19125 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
19126 and 'loader/macho64.c'.
19127 * conf/i386-pc.rmk: Likewise.
19128 * conf/x86_64-efi.rmk: Likewise.
19129 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
19130 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
19131 * include/grub/macho.h (grub_macho_segment64): New structure.
19132 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
19133 (grub_macho_size32): ... to this.
19134 (grub_macho32_get_entry_point): Renamed from ...
19135 (grub_macho_get_entry_point32): ... to this.
19136 (grub_macho_contains_macho64): New prototype.
19137 (grub_macho_size64): Likewise.
19138 (grub_macho_get_entry_point64): Likewise.
19139 (grub_macho32_load): Renamed from ...
19140 (grub_macho_load32): ... to this.
19141 (grub_macho32_filesize): Renamed from ...
19142 (grub_macho_filesize32): ... to this.
19143 (grub_macho32_readfile): Renamed from ...
19144 (grub_macho_readfile32): ... to this.
19145 (grub_macho_filesize64): New prototype.
19146 (grub_macho_readfile64): Likewise.
19147 (grub_macho_parse32): Likewise.
19148 (grub_macho_parse64): Likewise.
19149 * loader/macho.c: Split into ...
19150 * loader/machoXX.c: ... and this. Replace 32 with XX.
19151 * loader/macho32.c: New file.
19152 * loader/macho64.c: Likewise.
19153 * loader/xnu.c (grub_xnu_is_64bit): New variable.
19154 (grub_cmd_xnu_kernel): Make 32-bit only.
19155 (grub_cmd_xnu_kernel64): New function.
19156 (grub_xnu_load_driver): Support Mach-O 64.
19157 (grub_cmd_xnu_mkext): Likewise.
19158 * util/grub.d/30_os-prober.in (osx_entry): New function.
19159 Generate entries for 64-bit boot too.
19160
19161 Eliminate ad-hoc tree format in XNU and EfiEmu.
19162
19163 * efiemu/main.c (grub_efiemu_prepare): Update comment.
19164 * efiemu/pnvram.c: Rewritten to use environment variables.
19165 All users updated.
19166
19167 Inline utf16_to_utf8.
19168
19169 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
19170 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
19171 All users updated.
19172 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
19173
19174 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
19175 * commands/usbtest.c (grub_usb_get_string): ... move here.
19176 (usb_print_str): Fix error handling.
19177 * include/grub/usb.h (grub_usb_get_string): Remove.
19178
19179 UTF-8 to UTF-16 transformation.
19180
19181 * conf/common.rmk (pkglib_MODULES): Add charset.mod
19182 (charset_mod_SOURCES): New variable.
19183 (charset_mod_CFLAGS): Likewise.
19184 (charset_mod_LDFLAGS): Likewise.
19185 * include/grub/utf.h: New file.
19186 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
19187
19188 Support for device properties.
19189
19190 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
19191 (grub_xnu_devprop_device_header): Likewise.
19192 (grub_xnu_devprop_device_descriptor): Likewise.
19193 (grub_xnu_devprop_add_device): New prototype.
19194 (grub_xnu_devprop_remove_device): Likewise.
19195 (grub_xnu_devprop_remove_property): Likewise.
19196 (grub_xnu_devprop_add_property_utf8): Likewise.
19197 (grub_xnu_devprop_add_property_utf16): Likewise.
19198 (grub_cpu_xnu_init): Likewise.
19199 (grub_cpu_xnu_fini): Likewise.
19200 (grub_cpu_xnu_unload): Likewise.
19201 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
19202 (property_descriptor): Likewise.
19203 (devices): New variable.
19204 (grub_xnu_devprop_remove_property): New function.
19205 (grub_xnu_devprop_add_device): Likewise.
19206 (grub_xnu_devprop_remove_device): Likewise.
19207 (grub_xnu_devprop_add_property): Likewise.
19208 (grub_xnu_devprop_add_property_utf8): Likewise.
19209 (grub_xnu_devprop_add_property_utf16): Likewise.
19210 (hextoval): Likewise.
19211 (grub_cpu_xnu_fill_devprop): Likewise.
19212 (grub_cmd_devprop_load): Likewise.
19213 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
19214 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
19215 (cmd_devprop_load): New variable.
19216 (grub_cpu_xnu_init): New function.
19217 (grub_cpu_xnu_fini): Likewise.
19218 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
19219 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
19220 (grub_cmd_xnu_devtree): Likewise.
19221 (hextoval): New function.
19222 (unescape): Likewise.
19223 (grub_xnu_fill_devicetree): Likewise.
19224
19225 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
19226 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
19227
19228 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 Workaround for broken ATI VBE.
19231
19232 * video/i386/pc/vbe.c (last_set_mode): New variable.
19233 (grub_vbe_set_video_mode): Set 'last_set_mode'.
19234 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
19235 (grub_video_vbe_setup): Don't check for reserved flag.
19236
19237 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
19238
19239 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
19240 the `find' command.
19241
19242 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 UUID support for HFS.
19245
19246 * fs/hfs.c (grub_hfs_uuid): New function.
19247 (grub_hfs_fs): New value .uuid.
19248 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
19249
19250 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
19251
19252 Fix a segfault with parsing unknown long options.
19253
19254 * util/grub-mkrelpath.c (options): Zero terminate it.
19255
19256 2009-12-13 Carles Pina i Estany <carles@pina.cat>
19257
19258 * include/grub/misc.h (grub_puts): New declaration.
19259 (grub_puts_): Likewise.
19260 * kern/misc.c (grub_puts): New definition.
19261 (grub_puts_): Likewise.
19262
19263 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19264
19265 * util/grub-probe.c (probe): Improve error message.
19266
19267 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19268
19269 * loader/i386/multiboot_elfxx.c
19270 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
19271 initialization.
19272
19273 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19274
19275 Relocator framework
19276
19277 * loader/i386/xnu_helper.S: Removed. All users updated.
19278 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
19279 (relocator_mod_SOURCES): New variable.
19280 (relocator_mod_CFLAGS): Likewise.
19281 (relocator_mod_LDFLAGS): Likewise.
19282 (relocator_mod_ASFLAGS): Likewise.
19283 * conf/x86_64.rmk: Likewise.
19284 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
19285 (grub_multiboot_payload_entry_offset): Likewise.
19286 (grub_multiboot_forward_relocator): Likewise.
19287 (grub_multiboot_forward_relocator_end): Likewise.
19288 (grub_multiboot_backward_relocator): Likewise.
19289 (grub_multiboot_backward_relocator_end): Likewise.
19290 (grub_multiboot_payload_eip): New variable.
19291 (grub_multiboot_payload_orig): Likewise.
19292 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
19293 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
19294 * include/grub/i386/memory.h
19295 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
19296 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19297 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19298 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19299 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19300 * include/grub/i386/relocator.h: New file.
19301 * include/grub/x86_64/relocator.h: Likewise.
19302 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19303 (XNU_RELOCATOR): New macro.
19304 (grub_xnu_launcher_start): Remove.
19305 (grub_xnu_launcher_end): Likewise.
19306 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19307 (grub_xnu_heap_real_start): Remove.
19308 (grub_xnu_heap_start): Change to void *. All users updated.
19309 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19310 * lib/i386/relocator.c: New file.
19311 * lib/i386/relocator_asm.S: Likewise.
19312 * lib/i386/relocator_backward.S: Likewise.
19313 * lib/mips/relocator.c: Likewise.
19314 * lib/mips/relocator_asm.S: Likewise.
19315 * lib/relocator.c: Likewise.
19316 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19317 (entry): Removed.
19318 (playground): Likewise.
19319 (grub_multiboot_payload_orig): New variable.
19320 (grub_multiboot_payload_dest): Likewise.
19321 (grub_multiboot_payload_size): Likewise.
19322 (grub_multiboot_payload_eip): Likewise.
19323 (grub_multiboot_payload_esp): Likewise.
19324 (grub_multiboot_boot): Use grub_relocator32_boot.
19325 (grub_multiboot_unload): Free relocators.
19326 (grub_multiboot): Setup stack. Use relocators.
19327 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19328 (grub_multiboot_load_elfXX): Use relocators.
19329 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19330 (grub_multiboot_payload_size): Likewise.
19331 (grub_multiboot_payload_dest): Likewise.
19332 (grub_multiboot_payload_entry_offset): Likewise.
19333 (grub_multiboot_forward_relocator): Likewise.
19334 (grub_multiboot_backward_relocator): Likewise.
19335 (grub_multiboot_real_boot): Likewise.
19336 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19337 (grub_xnu_entry_point): Likewise.
19338 (grub_xnu_arg1): Likewise.
19339 (grub_xnu_stack): Likewise.
19340 (grub_xnu_launch): Removed.
19341 (grub_xnu_boot_resume): New function.
19342 (grub_xnu_boot): Use relocators.
19343 * loader/i386/xnu_helper.S: Removed.
19344 * loader/xnu.c (grub_xnu_heap_start): New variable.
19345 (grub_xnu_heap_size): Likewise.
19346 (grub_xnu_heap_malloc): Use relocators.
19347 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19348
19349 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19352 anything.
19353
19354 2009-12-13 Carles Pina i Estany <carles@pina.cat>
19355
19356 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19357 GRUB_ERR_NONE before calling grub_env_set.
19358
19359 2009-12-12 Robert Millan <rmh@aybabtu.com>
19360
19361 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19362 * genmk.rb (video): New variable.
19363 (CLEANFILES, VIDEOFILES): Add #{video}.
19364 (#{video}): New target rule.
19365 * genvideolist.sh: New file.
19366 * Makefile.in (pkglib_DATA): Add video.lst.
19367 (video.lst): New target rule.
19368 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19369 `video.lst'.
19370 * util/grub.d/30_os-prober.in: Replace `vbe' with
19371 ${GRUB_VIDEO_BACKEND}.
19372
19373 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19374
19375 * THANKS: Add David Miller.
19376
19377 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 libpciaccess support.
19380
19381 * Makefile.in (LIBPCIACCESS): New variable.
19382 (enable_grub_emu_pci): Likewise.
19383 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19384 util/pci.c and commands/lspci.c.
19385 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19386 * configure.ac (grub-emu-pci): New option.
19387 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19388 (grub_pci_device_unmap_range): Likewise.
19389 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19390 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19391 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19392 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19393 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19394 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19395 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19396 * include/grub/pciutils.h: New file.
19397 * util/pci.c: Likewise.
19398
19399 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
19400
19401 * util/misc.c: Don't include <errno.h> twice.
19402
19403 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
19404
19405 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19406 name in an error message.
19407 (grub_biosdisk_rw): Likewise.
19408
19409 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19410
19411 Eliminate NTFS 4Gib barrier.
19412
19413 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19414 (read_run_data): Likewise.
19415 (grub_ntfs_read_run_list): Likewise.
19416 (grub_ntfs_read_block): Likewise.
19417 (grub_ntfs_iterate_dir): Likewise.
19418 (read_mft): Likewise.
19419 (read_data): Likewise.
19420 Use COM_LOG_LEN.
19421 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19422 to avoid 64-bit division
19423 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19424 (grub_ntfs_rlst): Use grub_disk_addr_t.
19425
19426 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 Eliminate grub-fstest 4Gib barrier.
19429
19430 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19431 (read_file): Fix error reporting.
19432
19433 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 Eliminate hexdump 4Gib barrier.
19436
19437 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19438 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19439
19440 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19443 Fixes amarsh bug.
19444
19445 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19446
19447 Remove miscellaneous files in distclean target.
19448
19449 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19450
19451 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
19452
19453 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19454 if they're already set. This resolves the conflict between my
19455 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19456 fixing the --grub-probe option again.
19457 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19458 change on 2009-10-06, so that we now once again source
19459 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19460
19461 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19462
19463 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19464 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19465 `util/devicemap.c'.
19466
19467 2009-12-08 Carles Pina i Estany <carles@pina.cat>
19468
19469 * include/grub/misc.h (grub_printf_): New declaration.
19470 * kern/misc.c (grub_printf_): New definition.
19471 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19472 instead of `grub_printf' and `_'.
19473 * normal/menu_entry.c (store_completion): Likewise.
19474 (run): Likewise.
19475 (grub_menu_entry_run): Likewise.
19476 * normal/menu_text.c (grub_wait_after_message): Likewise.
19477 (notify_booting): Likewise.
19478 (notify_fallback): Likewise.
19479 (notify_execution_failure): Likewise.
19480
19481 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
19482
19483 * configure.ac: Check for vasprintf.
19484 * util/misc.c (asprintf): Move allocation from here ...
19485 (vasprintf): ... to here. New function.
19486 (xasprintf): New function.
19487 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19488 prototypes.
19489 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19490 * util/grub-mkfont.c (write_font): Likewise.
19491 * util/grub-probe.c (probe): Likewise.
19492 * util/hostdisk.c (make_device_name): Likewise.
19493
19494 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
19495
19496 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19497 anything even prefixed with 'cdrom' as a cdrom.
19498
19499 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
19500
19501 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19502 mount points.
19503
19504 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19505
19506 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19507 grub_gettext_msg_list.
19508 (grub_gettext_gettranslation_from_position): Return const char *
19509 and not char *.
19510 (grub_gettext_translate): Add the translated strings into a list,
19511 returns from the list if existing there.
19512 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19513 (grub_gettext_delete_list): Delete the list.
19514 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19515 lang environment variable is changed.
19516 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19517
19518 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 Rename kernel.mod to kernel.img.
19521
19522 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19523 (kernel_mod_EXPORTS): Rename to ...
19524 (kernel_img_EXPORTS): ... this.
19525 (kernel_mod_SOURCES): Rename to ...
19526 (kernel_img_SOURCES): ... this.
19527 (kernel_mod_HEADERS): Rename to ...
19528 (kernel_img_HEADERS): ... this. All users updated.
19529 (kernel_mod_CFLAGS): Rename to ...
19530 (kernel_img_CFLAGS): ... this.
19531 (kernel_mod_ASFLAGS): Rename to ...
19532 (kernel_img_ASFLAGS): ... this.
19533 (kernel_mod_LDFLAGS): Rename to ...
19534 (kernel_img_LDFLAGS): ... this.
19535 * conf/x86_64-efi.rmk: Likewise.
19536 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19537 (read_kernel_image): ... this. All users updated.
19538 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19539
19540 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19541
19542 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19543 (print_spaces): New function.
19544 (grub_print_ucs4): New function.
19545 (getstringwidth): New function.
19546 (print_message_indented): New function.
19547 (print_message): Gettexttize strings using print_message_indented.
19548 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19549 width.
19550 (get_entry_number): Gettextize and uses dynamic terminal width.
19551 (notify_booting, notify_fallback, notify_execution_failure):
19552 Gettextize.
19553 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19554 string.
19555 (run): Likewise.
19556 (grub_menu_entry_run): Likewise.
19557 * PO/POTFILES: Add normal/menu_entry.c.
19558
19559 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19562
19563 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19564
19565 * util/grub-install.in: Install gettext .mo files.
19566 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19567
19568 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19569
19570 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19571 grub_dprintf.
19572
19573 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19574
19575 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19576 non-firmware-dependant one in realmode.S takes precedence.
19577
19578 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19579
19580 * commands/halt.c: Replace misc arch-specific headers with
19581 `<grub/misc.h>'.
19582 * commands/reboot.c: Likewise.
19583 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19584 `<grub/misc.h>'.
19585 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19586 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19587 (kernel_img_SOURCES): ... to here.
19588
19589 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19590 * include/grub/i386/pc/init.h: Likewise.
19591 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19592 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19593
19594 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19595
19596 * include/grub/i386/halt.h: Remove.
19597 * include/grub/i386/reboot.h: Likewise.
19598
19599 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19600
19601 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
19602
19603 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19604 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19605 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19606 "progname.h"
19607 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19608 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19609 (usage): Add missing comma in printf.
19610
19611 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19612
19613 Use the same reboot approach on i386 coreboot and qemu as we do on
19614 BIOS.
19615
19616 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19617 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19618 * kern/i386/reboot.c: Remove.
19619 * include/grub/i386/reboot.h (grub_reboot): Export function.
19620 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19621 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19622 0xf000:0xfff0 instead of 0xffff:0x0000.
19623 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19624 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19625
19626 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19627
19628 Fix $srcdir != $objdir build.
19629
19630 * Makefile.in (po/%.po): Rewrite as ...
19631 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19632
19633 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19634
19635 Fix GNU/Hurd grub-install crash.
19636 * util/grub-probe.c (probe): Try to access `path' only when it is not
19637 NULL.
19638
19639 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19640
19641 Correct module naming.
19642
19643 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19644 (GRUB_MOD_INIT(efi_uga)): ... to this
19645 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19646 (GRUB_MOD_FINI(efi_uga)): ... to this
19647 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19648 (GRUB_MOD_INIT(efi_gop)): ... to this
19649 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19650 (GRUB_MOD_FINI(efi_gop)): ... to this
19651
19652 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19653
19654 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19655 translatable.
19656 (usage): Translate `arg' strings using gettext().
19657 Thanks to Jordi Mallach for the suggestion.
19658
19659 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 GOP support. Based on patch from Bean
19662 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19663
19664 * video/efi_gop.c: New file.
19665 * include/grub/efi/graphics_output.h: Likewise.
19666 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19667 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19668 variables.
19669 * conf/x86_64-efi.rmk: Likewise.
19670
19671 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 Rename efi_fb to efi_uga.
19674
19675 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19676 'efi_uga.mod'.
19677 (efi_fb_mod_SOURCES): Rename this ...
19678 (efi_uga_mod_SOURCES): ... to this.
19679 (efi_fb_mod_CFLAGS): Rename this ...
19680 (efi_uga_mod_CFLAGS): ... to this.
19681 (efi_fb_mod_LDFLAGS): Rename this ...
19682 (efi_uga_mod_LDFLAGS): ... to this.
19683 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19684 'efi_uga.mod'.
19685 (efi_fb_mod_SOURCES): Rename this ...
19686 (efi_uga_mod_SOURCES): ... to this.
19687 (efi_fb_mod_CFLAGS): Rename this ...
19688 (efi_uga_mod_CFLAGS): ... to this.
19689 (efi_fb_mod_LDFLAGS): Rename this ...
19690 (efi_uga_mod_LDFLAGS): ... to this.
19691 * video/efi_fb.c: Move this ...
19692 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19693
19694 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19695
19696 * po/README: New file. Explain our PO file workflow.
19697
19698 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19699
19700 * po/ChangeLog: Remove. Move relevant entries back to ...
19701 * ChangeLog: ... here.
19702 * po/ca.po: Remove (now handled by TLP).
19703 * po/id.po: Likewise.
19704 * po/zh_CN.po: Likewise.
19705 * Makefile.in (LINGUAS): Initialize in a way that supports
19706 empty set.
19707
19708 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19709
19710 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19711 reliing on po/LINGUAS.
19712 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19713 (po/%.po): ... this.
19714
19715 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19716
19717 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19718 (main): Use `program_name' instead of nonexistent `progname'.
19719
19720 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19721
19722 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19723 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19724
19725 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19726
19727 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19728 commit.
19729 * conf/i386-efi.rmk: Likewise.
19730 * conf/i386-ieee1275.rmk: Likewise.
19731 * conf/powerpc-ieee1275.rmk: Likewise.
19732 * conf/sparc64-ieee1275.rmk: Likewise.
19733 * conf/x86_64-efi.rmk: Likewise.
19734
19735 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19736
19737 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19738
19739 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19740
19741 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19742
19743 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19744
19745 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19746 (grub_mkdevicemap_SOURCES): New variable.
19747 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19748 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19749 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19750 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19751 (grub_mkdevicemap_SOURCES): Remove.
19752 * conf/i386-efi.rmk: Likewise.
19753 * conf/i386-ieee1275.rmk: Likewise.
19754 * conf/i386-pc.rmk: Likewise.
19755 * conf/powerpc-ieee1275.rmk: Likewise.
19756 * conf/sparc64-ieee1275.rmk: Likewise.
19757 * conf/x86_64-efi.rmk: Likewise.
19758 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19759 (usage): Fix strings to use `program_name'.
19760 (main): Initialize gettext.
19761 * util/grub-editenv.c: Likewise.
19762 * util/grub-emu.c: Likewise.
19763 * util/grub-fstest.c: Likewise.
19764 * util/grub-mkdevicemap.c: Likewise.
19765 * util/grub-mkfont.c: Likewise.
19766 * util/grub-mkrelpath.c: Likewise.
19767 * util/grub-pe2elf.c: Likewise.
19768 * util/grub-probe.c: Likewise.
19769 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19770 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19771 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19772
19773 * util/misc.c: Include `"progname.h"'.
19774 (progname): Remove variable.
19775 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19776
19777 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19778
19779 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19780 printf and print a newline after the menuentry header line.
19781 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19782
19783 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19784
19785 autoconf >= 2.60 support $(localedir).
19786
19787 * INSTALL: Note that autoconf 2.60 is required.
19788 * configure.ac (AC_PREREQ): Bump to 2.60.
19789 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19790 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19791
19792 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19793
19794 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19795 aclocal is run.
19796
19797 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19798
19799 * normal/main.c (grub_normal_read_line): Fix off-by-one
19800 buffer overflow.
19801
19802 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19803
19804 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19805 "parser.grub" in grub_command_execute() call.
19806
19807 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19808
19809 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19810 * conf/i386-efi.rmk: Likewise.
19811 * conf/i386-ieee1275.rmk: Likewise.
19812 * conf/i386-pc.rmk: Likewise.
19813 * conf/powerpc-ieee1275.rmk: Likewise.
19814 * conf/sparc64-ieee1275.rmk: Likewise.
19815 * conf/x86_64-efi.rmk: Likewise.
19816 * gettext/gettex.c: Include <grub/i18n.h>.
19817 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19818 here ...
19819 * include/grub/i18n.h: ... to here
19820 * include/grub/i18n.h: ... to here.
19821 * kern/misc.c: Include <grub/i18n.h>
19822 (grub_gettext_dummy): Move above user.
19823
19824 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19825
19826 * util/Makefile.in (install-local): Convert a `for' into a normal
19827 shell expansion.
19828
19829 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19830
19831 * autogen.sh: Add automake call.
19832 * config.guess: Remove.
19833 * config.sub: Likewise.
19834 * install-sh: Likewise.
19835
19836 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19837
19838 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19839
19840 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19841
19842 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19843 function to a normal shell `for'.
19844
19845 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19846
19847 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19848
19849 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19850
19851 * util/grub-mkrelpath.c: New file.
19852 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19853 (grub_mkrelpath_SOURCES): New variable.
19854 * include/grub/util/misc.h: New function prototype.
19855 * util/misc.c (make_system_path_relative_to_its_root): New function.
19856
19857 * util/grub-mkconfig_lib.in (bindir): New variable.
19858 (grub_mkrelpath): Likewise.
19859 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19860
19861 * util/probe.c (probe): Make the file path relative to its root.
19862 Change a info message to use the GRUB path. Enable again the
19863 check if we can read the file with GRUB facilities.
19864
19865 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19866 to its root.
19867
19868 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19869
19870 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19871 platform.
19872
19873 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19874
19875 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19876 strncmp().
19877
19878 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19879
19880 * util/getroot.c (grub_util_is_dmraid): New function.
19881 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19882 devices as normal ones, not as LVM.
19883
19884 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19885
19886 * conf/common.rmk: Add grub-gettext_lib target and updates
19887 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19888 LDFLAGS.
19889 * gettext/gettext.c: New file. (Reads mo files).
19890 * include/grub/file.h (grub_file_pread): New prototype.
19891 * include/grub/i18n.h (_): New prototype.
19892 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19893 prototypes.
19894 * kern/misc.c (grub_gettext_dummy): New function.
19895 * normal/menu_text.c: Include <grub/i18n.h>.
19896 * normal/menu_text.c (print_timeout): Gettexttize string.
19897 * normal/menu_text.c (print_message): Gettexttize string.
19898 * po/POTFILES: Add `normal/menu_text.c'.
19899 * po/ca.po: Add new translations.
19900 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19901 gettext module and defines locale_dir and lang in grub.cfg.
19902 * NEWS: Add gettext support.
19903
19904 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19905
19906 * util/hostdisk.c: Include `<grub/i18n.h>'.
19907 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19908 (make_device_name): Rewrite using asprintf.
19909 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19910 (find_system_device): If a device is not found, generate one just
19911 by reusing the OS path name.
19912 (read_device_map): Make it permissible for device.map not to exist.
19913
19914 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19915
19916 * script/sh/execute.c: Move from here ...
19917 * script/execute.c: ... to here. Update all users.
19918 * script/sh/function.c: Move from here ...
19919 * script/function.c: ... to here. Update all users.
19920 * script/sh/lexer.c: Move from here ...
19921 * script/lexer.c: ... to here. Update all users.
19922 * script/sh/main.c: Move from here ...
19923 * script/main.c: ... to here. Update all users.
19924 * script/sh/parser.y: Move from here ...
19925 * script/parser.y: ... to here. Update all users.
19926 * script/sh/script.c: Move from here ...
19927 * script/script.c: ... to here. Update all users.
19928
19929 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19930
19931 * configure.ac: Detect all `emu' platforms. Define
19932 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19933 --enable-grub-emu logic. Disable include/grub/machine
19934 symlink on `emu' platforms.
19935
19936 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19937 * gensymlist.sh.in: Likewise.
19938
19939 * include/grub/i386/coreboot/machine.h: Remove file.
19940 * include/grub/i386/efi/machine.h: Likewise.
19941 * include/grub/i386/ieee1275/machine.h: Likewise.
19942 * include/grub/i386/pc/machine.h: Likewise.
19943 * include/grub/i386/qemu/machine.h: Likewise.
19944 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19945 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19946 * include/grub/x86_64/efi/machine.h: Likewise.
19947
19948 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19949 * commands/halt.c: Likewise.
19950 * commands/reboot.c: Likewise.
19951 * include/grub/autoefi.h: Likewise.
19952 * include/grub/i386/at_keyboard.h: Likewise.
19953 * include/grub/i386/kernel.h: Likewise.
19954 * include/grub/i386/loader.h: Likewise.
19955 * include/grub/i386/pc/memory.h: Likewise.
19956 * kern/dl.c: Likewise.
19957 * kern/i386/coreboot/init.c: Likewise.
19958 * loader/i386/bsd.c: Likewise.
19959 * loader/i386/linux.c: Likewise.
19960 * loader/multiboot_loader.c: Likewise.
19961 * term/i386/pc/serial.c: Likewise.
19962 * term/usb_keyboard.c: Likewise.
19963
19964 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19965 `<grub/machine/machine.h>'
19966 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19967 * util/misc.c: Remove `<grub/machine/machine.h>' and
19968 `<grub/machine/time.h>'.
19969
19970 * Makefile.in (enable_grub_emu): Remove variable.
19971 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19972
19973 * conf/any-emu.rmk: New file.
19974 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19975 (grub_emu_init.c): Move from here ...
19976 * conf/any-emu.rmk: ... to here.
19977
19978 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19979 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19980 * conf/any-emu.rmk: ... to here.
19981
19982 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19983
19984 * include/grub/parser.h (grub_parser_register): Document need
19985 of `name' parameter.
19986 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19987 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19988 "sh" to "grub".
19989
19990 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19991
19992 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19993 `$(XGETTEXT)'.
19994 * include/grub/i18n.h (N_): New macro.
19995 * util/mkisofs/mkisofs.h: Likewise.
19996 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19997 around N_().
19998 (usage): Use gettext() to translate help strings when printing them.
19999
20000 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20001
20002 Based on patch from Bean
20003 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20004
20005 * video/efi_fb.c: New file.
20006 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
20007 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20008 variables.
20009 * conf/x86_64-efi.rmk: Likewise.
20010
20011 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
20012
20013 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
20014 * util/i386/pc/grub-setup.c: Likewise.
20015
20016 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20017
20018 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
20019 <hurd/fs.h>
20020 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
20021 file_get_storage_info to implement grub_guess_root_device.
20022
20023 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
20024
20025 * Makefile.in (target): Use make's builtin $(shell) function
20026 instead of calling directly $(SHELL) to create the locale directories,
20027 inside the $(foreach) function.
20028
20029 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
20030
20031 * util/grub-mkrescue.in: Print an error and usage if output option
20032 has not been given.
20033
20034 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
20035
20036 Patch from Loïc Minier <loic.minier@ubuntu.com>.
20037 * util/grub.d/30_os-prober.in: Cope with Linux entries where
20038 root and /boot are on different devices.
20039
20040 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20041
20042 Fix build for srcdir != objdir.
20043
20044 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
20045 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
20046 $(srcdir).
20047 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
20048 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
20049 reference for input.
20050
20051 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20052
20053 * util/grub-mkrescue.in: Use source directory direcly (without copiing
20054 or hardlinking it). Remove -J option, Joliet is not compatible with
20055 multiple source directories.
20056
20057 2009-11-21 Carles Pina i Estany <carles@pina.cat>
20058 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20059
20060 * util/grub-mkrescue.in: Recognize `--override-directory' option.
20061 (process_input_dir): New function. Process an arbitrary input
20062 directory.
20063 Misc adjustments to support both "override mode" and system-wide mode.
20064
20065 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
20066
20067 * configure.ac (UNIFONT_BDF): Rename to ...
20068 (FONT_SOURCE): ... this. Update all users.
20069
20070 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
20071
20072 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
20073 to the list of unifont files to look for.
20074
20075 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20076
20077 Patch from Joe Auricchio <jauricchio@gmail.com>
20078 * commands/minicmd.c (grub_mini_cmd_clear): New function.
20079 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
20080 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
20081
20082 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
20083
20084 * Makefile.in (install-local): Add a missing backslash.
20085
20086 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
20087
20088 * include/grub/x86_64/io.h: New file.
20089
20090 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20091
20092 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
20093 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
20094 Include `"progname.h"'.
20095 (main): Initialize gettext.
20096 * util/i386/pc/grub-setup.c: Gettexttize.
20097 * util/i386/pc/grub-mkimage.c: Likewise.
20098
20099 * Makefile.in (po/*.po): Redefine as ...
20100 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
20101
20102 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
20103
20104 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20105
20106 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
20107 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
20108 (program_name): Remove.
20109 (main): Initialize gettext support.
20110 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
20111 Include `<libintl.h>'.
20112 (_): New macro.
20113
20114 * util/mkisofs/eltorito.c: Gettexttize.
20115 * util/mkisofs/joliet.c: Likewise.
20116 * util/mkisofs/mkisofs.c: Likewise.
20117 * util/mkisofs/multi.c: Likewise.
20118 * util/mkisofs/rock.c: Likewise.
20119 * util/mkisofs/tree.c: Likewise.
20120 * util/mkisofs/write.c: Likewise.
20121
20122 * po/POTFILES: Update with new files.
20123
20124 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20125
20126 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
20127 * util/mkisofs/iso9660.h: Likewise.
20128 * util/mkisofs/joliet.c: Likewise.
20129 * util/mkisofs/mkisofs.c: Likewise.
20130 * util/mkisofs/mkisofs.h: Likewise.
20131 * util/mkisofs/rock.c: Likewise.
20132 * util/mkisofs/tree.c: Likewise.
20133 * util/mkisofs/write.c: Likewise.
20134
20135 * util/mkisofs/eltorito.c (rcsid): Remove.
20136 * util/mkisofs/hash.c: Likewise.
20137 * util/mkisofs/joliet.c: Likewise.
20138 * util/mkisofs/name.c: Likewise.
20139 * util/mkisofs/rock.c: Likewise.
20140 * util/mkisofs/tree.c: Likewise.
20141 * util/mkisofs/write.c: Likewise.
20142
20143 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20144
20145 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
20146 instead of static allocation.
20147 * util/mkisofs/match.h: Likewise.
20148
20149 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20150
20151 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
20152 and `util/grub.d/10_linux.in'.
20153 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
20154 translatable Shell files.
20155
20156 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20157
20158 * Makefile.in ($(srcdir)/aclocal.m4): New target.
20159
20160 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20161
20162 * INSTALL: Document Automake is needed for bootstrap.
20163 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
20164 * util/grub.d/10_kfreebsd.in (bindir): New variable.
20165 Add gettext initialization.
20166 (kfreebsd_entry): Make menuentry output translatable.
20167
20168 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20169
20170 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
20171 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
20172 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
20173 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
20174 (LINGUAS): Auto-generate using `po/LINGUAS'.
20175 * po/LINGUAS: New file.
20176
20177 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20178
20179 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
20180 other things).
20181 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
20182 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
20183 bindtextdomain() calls for gettext initialization.
20184
20185 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20186
20187 * gnulib/progname.c: New file (imported from Gnulib).
20188 * gnulib/progname.h: Likewise.
20189 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20190 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
20191 (usage): Replace `progname' with `program_name'.
20192 (main): Use set_program_name() for program name initialization.
20193
20194 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20195
20196 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
20197 from here ...
20198 * Makefile.in (CPPFLAGS): ... to here.
20199
20200 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20201
20202 * aclocal.m4: Move from here ...
20203 * acinclude.m4: ... to here.
20204 * autogen.sh: Add call to `aclocal'.
20205 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
20206
20207 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20208
20209 * Makefile.in (CLEANFILES): Add `po/*.mo'.
20210 (LINGUAS): New variable.
20211 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
20212 (install-local): Install MO files.
20213 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
20214 * include/grub/i18n.h: New file.
20215 * po/POTFILES: New file.
20216 * po/ca.po: New file.
20217 * util/grub.d/10_linux.in (bindir): New variable.
20218 Add gettext initialization.
20219 (linux_entry): Make menuentry output translatable.
20220 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
20221 (usage): Make --help output translatable.
20222 (main): Initialize gettext.
20223
20224 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20225
20226 * import_gcry.py: New file (written by Vladimir with minor
20227 adjustments).
20228 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
20229 ciphers.
20230 * INSTALL: Document that Python is required for bootstrap.
20231
20232 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20233
20234 Import ciphers from libgcrypt 1.4.4.
20235
20236 * lib/libgcrypt/cipher/ChangeLog
20237 * lib/libgcrypt/cipher/ac.c
20238 * lib/libgcrypt/cipher/arcfour.c
20239 * lib/libgcrypt/cipher/bithelp.h
20240 * lib/libgcrypt/cipher/blowfish.c
20241 * lib/libgcrypt/cipher/camellia-glue.c
20242 * lib/libgcrypt/cipher/camellia.c
20243 * lib/libgcrypt/cipher/camellia.h
20244 * lib/libgcrypt/cipher/cast5.c
20245 * lib/libgcrypt/cipher/cipher.c
20246 * lib/libgcrypt/cipher/crc.c
20247 * lib/libgcrypt/cipher/des.c
20248 * lib/libgcrypt/cipher/dsa.c
20249 * lib/libgcrypt/cipher/ecc.c
20250 * lib/libgcrypt/cipher/elgamal.c
20251 * lib/libgcrypt/cipher/hash-common.c
20252 * lib/libgcrypt/cipher/hash-common.h
20253 * lib/libgcrypt/cipher/hmac-tests.c
20254 * lib/libgcrypt/cipher/md.c
20255 * lib/libgcrypt/cipher/md4.c
20256 * lib/libgcrypt/cipher/md5.c
20257 * lib/libgcrypt/cipher/primegen.c
20258 * lib/libgcrypt/cipher/pubkey.c
20259 * lib/libgcrypt/cipher/rfc2268.c
20260 * lib/libgcrypt/cipher/rijndael-tables.h
20261 * lib/libgcrypt/cipher/rijndael.c
20262 * lib/libgcrypt/cipher/rmd.h
20263 * lib/libgcrypt/cipher/rmd160.c
20264 * lib/libgcrypt/cipher/rsa.c
20265 * lib/libgcrypt/cipher/seed.c
20266 * lib/libgcrypt/cipher/serpent.c
20267 * lib/libgcrypt/cipher/sha1.c
20268 * lib/libgcrypt/cipher/sha256.c
20269 * lib/libgcrypt/cipher/sha512.c
20270 * lib/libgcrypt/cipher/tiger.c
20271 * lib/libgcrypt/cipher/twofish.c
20272 * lib/libgcrypt/cipher/whirlpool.c
20273
20274 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20275
20276 Fix build for systems without error().
20277
20278 * gnulib/error.c: New file (imported from Gnulib).
20279 * gnulib/error.h: Likewise.
20280 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
20281 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
20282 (this variable is now used by error()).
20283
20284 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
20285
20286 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
20287 instead of relying that char is signed.
20288
20289 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
20292 blocksize different from specified.
20293 (grub_pxefs_read): Likewise.
20294
20295 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
20296
20297 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20298
20299 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20300 (grub_ata_readwrite): Likewise. Update 2 format strings.
20301 (grub_atapi_read): Likewise.
20302
20303 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20304 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20305 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20306 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20307 (ata_mod_LDFLAGS): Move from here ...
20308 * conf/i386.rmk: ... to here ...
20309 * conf/x86_64-efi.rmk: ... and here.
20310 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20311 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20312
20313 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20314
20315 Relicense multiboot.h, with RMS' blessing.
20316
20317 * include/multiboot.h: Change to X11 license.
20318
20319 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20320
20321 Support --version in grub-mkisofs.
20322
20323 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20324 (OPTION_VERSION): New macro.
20325 (ld_options): Recognize --version.
20326 (usage): Move `program_name' from here ...
20327 (program_name): ... to here. Add `static' qualifier.
20328 (main): Recognize `OPTION_VERSION'.
20329
20330 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
20331
20332 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20333 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20334
20335 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20336
20337 Fix help2man generation for mkisofs.
20338
20339 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20340 (usage): Send output to stdout (rather than stderr).
20341
20342 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20343
20344 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20345 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20346 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20347 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20348 (bin_SCRIPTS): Add `grub-mkfloppy'.
20349 (grub_mkfloppy_SOURCES): New variable.
20350
20351 * util/grub-mkrescue.in: New file.
20352 * util/i386/pc/grub-mkfloppy.in: New file.
20353
20354 * util/i386/coreboot/grub-mkrescue.in: Remove.
20355 * util/i386/pc/grub-mkrescue.in: Remove.
20356
20357 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20358
20359 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20360 from here ...
20361 * include/multiboot.h (struct multiboot_header): ... to here. Update
20362 all users.
20363 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20364 from here ...
20365 * include/multiboot.h (struct multiboot_info): ... to here. Update
20366 all users.
20367 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20368 from here ...
20369 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20370 Update all users.
20371 * include/grub/multiboot.h (struct grub_mod_list): Move
20372 from here ...
20373 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20374 Update all users.
20375
20376 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20377
20378 * include/multiboot2.h (multiboot_word): Rename from this ...
20379 (multiboot2_word): ... to this. Update all users.
20380 (multiboot_header): Rename from this ...
20381 (multiboot2_header): ... to this. Update all users.
20382 (multiboot_tag_header): Rename from this ...
20383 (multiboot2_tag_header): ... to this. Update all users.
20384 (multiboot_tag_start): Rename from this ...
20385 (multiboot2_tag_start): ... to this. Update all users.
20386 (multiboot_tag_name): Rename from this ...
20387 (multiboot2_tag_name): ... to this. Update all users.
20388 (multiboot_tag_module): Rename from this ...
20389 (multiboot2_tag_module): ... to this. Update all users.
20390 (multiboot_tag_memory): Rename from this ...
20391 (multiboot2_tag_memory): ... to this. Update all users.
20392 (multiboot_tag_unused): Rename from this ...
20393 (multiboot2_tag_unused): ... to this. Update all users.
20394 (multiboot_tag_end): Rename from this ...
20395 (multiboot2_tag_end): ... to this. Update all users.
20396
20397 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20398
20399 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20400 this platform we should support Multiboot1 first.
20401
20402 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20403 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20404 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20405
20406 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20407
20408 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20409 of write calls (converting them to fwrite() if they aren't already).
20410 (get_torito_desc): Likewise.
20411 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20412
20413 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20414
20415 * util/i386/pc/grub-install.in: Move from here ...
20416 * util/grub-install.in: ... to here. Update all users.
20417
20418 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
20419
20420 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20421
20422 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20423
20424 Support for El Torito without floppy emulation.
20425
20426 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20427 (init_boot_catalog): Improve error handling.
20428 (get_torito_desc): Don't use floppy emulation unless requested by
20429 user. Patch boot information table when requested via
20430 `-boot-info-table'.
20431 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20432 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20433 (use_boot_info_table): New variables.
20434 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20435 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20436 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20437 `--eltorito-emul-floppy'.
20438 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20439 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20440 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20441 (use_boot_info_table, get_731): New prototypes.
20442 * util/mkisofs/write.c (get_731): New function.
20443
20444 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
20445
20446 Fix the generation of the man page.
20447
20448 * util/pc/i386/grub-install.in: Source
20449 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20450
20451 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20452
20453 Large file support for grub-mkisofs.
20454
20455 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20456 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20457 (session_start): Upgrade type to `uint64_t'. Update all users.
20458 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20459 (struct directory_entry): Upgrade type of `starting_block' and
20460 `size' to `uint64_t'. Update all users.
20461 (struct deferred): Remove unused structure.
20462 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20463 Update all users.
20464 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20465 file is larger than `UINT32_MAX'.
20466 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20467 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20468 return value.
20469 (struct deferred_write): Upgrade type of `extent' and `size' to
20470 `uint64_t'. Update all users.
20471 (last_extent_written): Upgrade type to `uint64_t'. Update all
20472 users.
20473 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20474 Update all users. Upgrade type of `remain' to `int64_t' and
20475 `use' to `size_t'. Use error() to handle fread() errors.
20476 (write_files): Rely on write_one_file() rather than calling
20477 xfwrite() directly.
20478
20479 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
20480
20481 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20482
20483 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20484
20485 * util/mkisofs/fnmatch.c: Remove.
20486 * util/mkisofs/getopt1.c: Likewise.
20487 * util/mkisofs/getopt.c: Likewise.
20488 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20489 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20490 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20491 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20492 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20493
20494 * configure.ac: Detect `mingw32msvc' host_os.
20495 Check for lstat(), getuid() and getgid().
20496
20497 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20498 instances of `u_char' with `uint8_t'.
20499
20500 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20501 [!HAVE_GETUID] (getuid): New function (stub).
20502 [!HAVE_GETGID] (getgid): Likewise.
20503 [!HAVE_LSTAT] (lstat): Likewise.
20504 [!S_IROTH] (S_IROTH): New macro (dummy).
20505 [!S_IRGRP] (S_IRGRP): Likewise.
20506
20507 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20508
20509 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20510 conditional expression).
20511
20512 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20513
20514 Import from Gnulib.
20515
20516 * gnulib/fnmatch.c: New file.
20517 * gnulib/fnmatch.h: Likewise.
20518 * gnulib/fnmatch_loop.c: Likewise.
20519 * gnulib/getopt.c: Likewise.
20520 * gnulib/getopt.h: Likewise.
20521 * gnulib/getopt1.c: Likewise.
20522 * gnulib/getopt_int.h: Likewise.
20523 * gnulib/gettext.h: Likewise.
20524
20525 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20526
20527 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20528 * normal/handler.c (read_handler_list): Likewise.
20529
20530 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20531
20532 Misc cleanup.
20533
20534 * kern/command.c (grub_register_command_prio): Use
20535 grub_zalloc() instead of explicitly zeroing data.
20536 * kern/list.c: Include `<grub/mm.h>'.
20537 (grub_named_list_find): Replace `0' with `NULL'.
20538 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20539 (fs_module_list): Change type to `grub_named_list_t'. Update all
20540 users.
20541 * normal/dyncmd.c (read_command_list): Add space between function
20542 call and parenthesis.
20543 * normal/handler.c (read_handler_list): Likewise.
20544
20545 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20546
20547 * normal/auth.c (punishment_delay): Moved from here ...
20548 (grub_auth_strcmp): ... to here (inside function).
20549
20550 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20551
20552 * include/grub/list.h (struct grub_named_list): Remove `const'
20553 qualifier from `name'.
20554 (struct grub_prio_list): Likewise.
20555
20556 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20557
20558 * normal/auth.c: Include `<grub/time.h>'.
20559 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20560
20561 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20562
20563 * normal/auth.c (punishment_delay): New variable.
20564 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20565 (grub_auth_check_authentication): Punish failed login attempts with
20566 an incremental (2^N) delay.
20567
20568 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20569
20570 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20571 path with $(srcdir).
20572
20573 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20576
20577 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20578
20579 * util/i386/coreboot/grub-mkrescue.in: New file.
20580 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20581 variables.
20582
20583 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20584 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20585 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20586 requirements.
20587 * util/mkisofs/defaults.h: New file.
20588 * util/mkisofs/eltorito.c: Likewise.
20589 * util/mkisofs/exclude.h: Likewise.
20590 * util/mkisofs/fnmatch.c: Likewise.
20591 * util/mkisofs/getopt.c: Likewise.
20592 * util/mkisofs/getopt1.c: Likewise.
20593 * util/mkisofs/hash.c: Likewise.
20594 * util/mkisofs/include/fctldefs.h: Likewise.
20595 * util/mkisofs/include/mconfig.h: Likewise.
20596 * util/mkisofs/include/prototyp.h: Likewise.
20597 * util/mkisofs/include/statdefs.h: Likewise.
20598 * util/mkisofs/iso9660.h: Likewise.
20599 * util/mkisofs/joliet.c: Likewise.
20600 * util/mkisofs/match.c: Likewise.
20601 * util/mkisofs/match.h: Likewise.
20602 * util/mkisofs/mkisofs.c: Likewise.
20603 * util/mkisofs/mkisofs.h: Likewise.
20604 * util/mkisofs/multi.c: Likewise.
20605 * util/mkisofs/name.c: Likewise.
20606 * util/mkisofs/rock.c: Likewise.
20607 * util/mkisofs/tree.c: Likewise.
20608 * util/mkisofs/write.c: Likewise.
20609
20610 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20611
20612 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20613 being insecure.
20614
20615 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20616
20617 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20618 `grub-mkimage' (and use $0 when possible).
20619
20620 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20621
20622 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20623 error message for excessively large memory map.
20624
20625 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20626
20627 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20628 executable bit.
20629
20630 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20631
20632 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20633 message for coreboot users.
20634
20635 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20636
20637 Fix build with GNU gold.
20638
20639 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20640 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20641 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20642 link addresses.
20643 * aclocal.m4: Likewise.
20644
20645 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
20646
20647 * configure.ac (AC_PREREQ): Bump to 2.59d.
20648 * INSTALL: Make it more clear when Autoconf and Ruby are
20649 needed and when to run `./autogen.sh'.
20650
20651 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20652
20653 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20654 OSes.
20655
20656 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20657
20658 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20659
20660 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20661
20662 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20663 giving it to GNU Mach.
20664
20665 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20666
20667 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20668 GNU partition number to get internal GRUB partition number.
20669
20670 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20671
20672 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20673 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20674
20675 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20676
20677 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20678 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20679 case.
20680
20681 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
20682
20683 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20684
20685 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20686
20687 Fix build problem.
20688
20689 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20690 `-isystem=$(srcdir)/include'.
20691
20692 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20693
20694 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20695 checked (grub-install doesn't currently rely on it).
20696
20697 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20698
20699 Revert SVN r2660.
20700
20701 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20702 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20703 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20704 * conf/i386-ieee1275.rmk: Likewise.
20705 * conf/i386-pc.rmk: Likewise.
20706 * conf/powerpc-ieee1275.rmk: Likewise.
20707 * conf/sparc64-ieee1275.rmk: Likewise.
20708 * conf/x86_64-efi.rmk: Likewise.
20709
20710 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20711
20712 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20713
20714 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20715
20716 * include/grub/misc.h: Stop checking for APPLE_CC.
20717
20718 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20719
20720 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20721 doesn't cause an infinite call loop.
20722
20723 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
20724
20725 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20726 strings.
20727
20728 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20729
20730 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20731 variable.
20732 * Makefile.in: Likewise.
20733
20734 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20735
20736 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20737
20738 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20739
20740 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20741
20742 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20743
20744 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20745
20746 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20747
20748 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20749 from here ...
20750 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20751
20752 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20753
20754 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20755 in $(MAKEINFO) invocation. This makes it clear in output that
20756 errors are being ignored.
20757
20758 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20759
20760 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20761 from here ...
20762 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20763 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20764 * conf/i386-ieee1275.rmk: Likewise.
20765 * conf/i386-pc.rmk: Likewise.
20766 * conf/powerpc-ieee1275.rmk: Likewise.
20767 * conf/sparc64-ieee1275.rmk: Likewise.
20768 * conf/x86_64-efi.rmk: Likewise.
20769
20770 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20771
20772 * util/grub-editenv.c (main): If only a command is given, use
20773 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20774 (usage): FILENAME is now optional and has a default.
20775
20776 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20777
20778 Improve grub-mkconfig performance when there are several menu
20779 entries on a single filesystem.
20780
20781 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20782 prepare_grub_to_access_device.
20783 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20784 * util/grub.d/30_os-prober.in: Likewise.
20785
20786 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20787
20788 * util/grub.d/10_freebsd.in: Remove.
20789 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20790 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20791
20792 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20793
20794 * docs/grub.cfg: Fix example usage of *BSD loaders.
20795
20796 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20797
20798 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20799 grub_util_error() call.
20800
20801 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20802
20803 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20804 `reserved_first_sector' member.
20805 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20806 `reserved_first_sector' to 1.
20807 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20808 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20809 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20810 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20811 filesystems which begin at first sector.
20812 (options): New option --skip-fs-probe.
20813 (main): Handle --skip-fs-probe and pass it to setup().
20814
20815 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20816
20817 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20818 (memset): Fix function prototype.
20819
20820 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20821 2009-10-25 Vasily Averin <vvs@parallels.com>
20822
20823 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20824 `dirent.direntlen == 0'.
20825
20826 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20827
20828 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20829 `cpio'.
20830 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20831
20832 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20833
20834 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20835 `__trampoline_setup' and `__ucmpdi2'.
20836 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20837 that libgcc provides.
20838
20839 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20840
20841 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20842 * include/grub/sparc64/libgcc.h (memset): Likewise.
20843 * include/grub/misc.h (memset, memcmp): New function prototypes.
20844
20845 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20846
20847 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20848 `cpio'.
20849 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20850
20851 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20852
20853 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20854 * docs/grub.cfg: Compensate for recent change in multiboot
20855 loader (since 2009-08-14 it won't pass filename to payload).
20856 * util/grub.d/10_hurd.in: Likewise.
20857
20858 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20859
20860 * config.guess: Update to latest version from config git
20861 repository.
20862 * config.sub: Likewise.
20863
20864 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20865
20866 Fix build on sparc64.
20867
20868 * configure.ac: Perform checks for libgcc symbols before
20869 adding `-nostdlib' to LDFLAGS.
20870
20871 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20872
20873 Let user specify OpenBSD root device.
20874
20875 * loader/i386/bsd.c (openbsd_root): New variable.
20876 (openbsd_opts): New option 'root'.
20877 (OPENBSD_ROOT_ARG): New macro.
20878 (grub_openbsd_boot): Use 'openbsd_root'.
20879 (grub_cmd_openbsd): Fill 'openbsd_root'.
20880
20881 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20882
20883 * NEWS: Misc adjustments.
20884
20885 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20886
20887 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20888
20889 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20890
20891 * configure.ac: Bump version to 1.97.
20892
20893 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20894
20895 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20896 -mno-3dnow on x86 architectures. Some toolchains enable these
20897 features by default, but they rely on registers that aren't enabled
20898 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20899
20900 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20901
20902 Make entry text a bit more readable.
20903
20904 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20905
20906 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20909
20910 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20911
20912 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20913 operations.
20914
20915 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20916
20917 * configure.ac: Add missing dollar.
20918
20919 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20920
20921 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20922
20923 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20924 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20925 exports.
20926 * include/grub/sparc64/libgcc.h: Likewise. Use
20927 preprocessor conditionals.
20928
20929 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20930
20931 * conf/common.rmk (grub-dumpbios): Remove rule.
20932 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20933 * util/grub-dumpbios.in: Remove file.
20934
20935 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20936
20937 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20938 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20939
20940 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20941 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20942 users.
20943
20944 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20945 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20946 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20947 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20948 users.
20949
20950 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20951
20952 * term/tparm.c: Switch to GPLv3.
20953
20954 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20955
20956 * include/grub/i386/cpuid.h: Add header protection.
20957
20958 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20959
20960 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20961
20962 * include/grub/i386/cpuid.h: New file.
20963 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20964 (has_longmode): Rename to ...
20965 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20966 `static' attribute.
20967 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20968 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20969 on a CPU that doesn't implement AMD64 instruction set.
20970
20971 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20972
20973 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20974 that version.texi is rebuilt on version number changes.
20975
20976 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20977
20978 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20979 Fixes bug #27602.
20980
20981 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20982
20983 * util/i386/pc/grub-install.in: Source
20984 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20985 that the --grub-probe option will work.
20986 * util/sparc64/ieee1275/grub-install.in: Likewise.
20987
20988 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20989
20990 * configure.ac: Bump version to 1.97~beta4.
20991
20992 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20993
20994 Resync grub-mkdevicemap in x86_64-efi.
20995
20996 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20997 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20998 `util/devicemap.c'.
20999
21000 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
21001
21002 * util/grub-editenv.c (create_envblk_file): Write new block with a
21003 .new suffix and then rename it into place, to ensure atomic
21004 creation.
21005
21006 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
21007
21008 Do not automatically install headers.
21009
21010 * Makefile.in (include_DATA): Remove. Update all users.
21011
21012 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
21013
21014 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
21015 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
21016
21017 * util/osdetect.lua: Remove.
21018 * script/lua/lauxlib.c: Likewise.
21019 * script/lua/ldebug.c: Likewise.
21020 * script/lua/grub_main.c: Likewise.
21021 * script/lua/lauxlib.h: Likewise.
21022 * script/lua/ldebug.h: Likewise.
21023 * script/lua/ltablib.c: Likewise.
21024 * script/lua/liolib.c: Likewise.
21025 * script/lua/lstrlib.c: Likewise.
21026 * script/lua/lualib.h: Likewise.
21027 * script/lua/ldo.c: Likewise.
21028 * script/lua/ldump.c: Likewise.
21029 * script/lua/ldo.h: Likewise.
21030 * script/lua/loslib.c: Likewise.
21031 * script/lua/lundump.c: Likewise.
21032 * script/lua/grub_lib.c: Likewise.
21033 * script/lua/ldblib.c: Likewise.
21034 * script/lua/lundump.h: Likewise.
21035 * script/lua/lmem.c: Likewise.
21036 * script/lua/grub_lib.h: Likewise.
21037 * script/lua/lmathlib.c: Likewise.
21038 * script/lua/lstate.c: Likewise.
21039 * script/lua/ltm.c: Likewise.
21040 * script/lua/lvm.c: Likewise.
21041 * script/lua/lmem.h: Likewise.
21042 * script/lua/lstate.h: Likewise.
21043 * script/lua/ltm.h: Likewise.
21044 * script/lua/ltable.c: Likewise.
21045 * script/lua/lvm.h: Likewise.
21046 * script/lua/llex.c: Likewise.
21047 * script/lua/lgc.c: Likewise.
21048 * script/lua/grub_lua.h: Likewise.
21049 * script/lua/loadlib.c: Likewise.
21050 * script/lua/lfunc.c: Likewise.
21051 * script/lua/lopcodes.c: Likewise.
21052 * script/lua/lparser.c: Likewise.
21053 * script/lua/ltable.h: Likewise.
21054 * script/lua/llex.h: Likewise.
21055 * script/lua/lgc.h: Likewise.
21056 * script/lua/lfunc.h: Likewise.
21057 * script/lua/lbaselib.c: Likewise.
21058 * script/lua/lopcodes.h: Likewise.
21059 * script/lua/lparser.h: Likewise.
21060 * script/lua/lzio.c: Likewise.
21061 * script/lua/linit.c: Likewise.
21062 * script/lua/lobject.c: Likewise.
21063 * script/lua/llimits.h: Likewise.
21064 * script/lua/lstring.c: Likewise.
21065 * script/lua/lzio.h: Likewise.
21066 * script/lua/lapi.c: Likewise.
21067 * script/lua/lcode.c: Likewise.
21068 * script/lua/lua.h: Likewise.
21069 * script/lua/lobject.h: Likewise.
21070 * script/lua/lstring.h: Likewise.
21071 * script/lua/lapi.h: Likewise.
21072 * script/lua/lcode.h: Likewise.
21073 * script/lua/luaconf.h: Likewise.
21074
21075 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
21076
21077 * docs/grub.texi (Command-line and menu entry commands): Document
21078 date and echo commands.
21079
21080 2009-09-24 Pavel Roskin <proski@gnu.org>
21081
21082 * include/grub/kernel.h (struct grub_module_header): Remove
21083 `grub_module_header_types'. Make `type' unsigned. Make `size'
21084 32-bit on all platforms.
21085 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
21086 8-bit field. Use grub_host_to_target32() for `size'.
21087 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
21088 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
21089 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
21090
21091 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21092
21093 Fix "lost keypress" bug in at_keyboard.
21094
21095 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
21096 Checks for readyness of input buffer (without flushing it).
21097 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
21098 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
21099
21100 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21101
21102 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
21103 size check within GRUB_MACHINE_PCBIOS section.
21104
21105 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21106
21107 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
21108 return value.
21109 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
21110 KEYBOARD_ISREADY check.
21111 (grub_at_keyboard_checkkey): Rename to ...
21112 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
21113 Remove gratuitous cast.
21114
21115 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
21116
21117 * configure.ac: Call AC_PROG_MKDIR_P.
21118 * Makefile.in (docs/stamp-vti): Create docs directory. Create
21119 version.texi in $(builddir) rather than $(srcdir).
21120 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
21121 to makeinfo's @include search path.
21122
21123 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
21124
21125 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
21126
21127 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
21128
21129 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
21130 for `*.dpkg-new'.
21131
21132 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
21133
21134 Build info documentation. Some code borrowed from Automake.
21135
21136 * configure.ac: Check for makeinfo.
21137 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
21138 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
21139 docs/version.texi.
21140 (MOSTLYCLEANFILES): Add vti.tmp.
21141 (docs/version.texi, docs/stamp-vti): Update automatically.
21142 (docs/grub.info): Build info documentation. Use --force and ignore
21143 errors for now.
21144 (all-local): Add $(INFOS).
21145 (install-local): Install info files.
21146 (uninstall): Uninstall info files.
21147 * docs/version.texi: Remove from revision control. This file is
21148 automatically generated on build now.
21149 * gendistlist.sh: Add `*.info'.
21150
21151 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
21152
21153 * kern/term.c: Fix indentation.
21154
21155 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
21156
21157 * util/hostdisk.c: Fix a comment.
21158
21159 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
21160
21161 Fix regression introduced in r2539.
21162
21163 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
21164 to 0xA1.
21165
21166 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
21167
21168 * util/grub.d/30_os-prober.in: Don't throw away stderr from
21169 os-prober. Under normal operation, it does not print anything to
21170 stderr; if it does, we need to debug it, and throwing away stderr
21171 makes that excessively difficult.
21172
21173 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
21174
21175 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
21176
21177 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21178
21179 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
21180 AC_LANG_PROGRAM from autoconf.
21181 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
21182 prototypes (fixes warning).
21183
21184 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
21185 `--disable-werror' was used.
21186
21187 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21188
21189 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
21190 uninitialized `lastaddr'.
21191
21192 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21193
21194 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
21195
21196 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
21197
21198 * commands/test.c (get_fileinfo): Return immediately if
21199 grub_fs_probe fails.
21200
21201 2009-09-14 José Martínez <xosemp@gmail.com>
21202
21203 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
21204
21205 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
21206
21207 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
21208 output.
21209
21210 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
21211
21212 * configure.ac: Remove --enable-grub-pe2elf. Only build
21213 grub-pe2elf when needed by the build system itself.
21214 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
21215
21216 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21217
21218 * configure.ac: Bump version to 1.97~beta3.
21219 * docs/version.texi: Likewise.
21220
21221 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21222
21223 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
21224 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
21225 from here ...
21226 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
21227 (grub_linux_setup_video): ... to here (with some adjustments).
21228
21229 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21230
21231 Fix memory corruption issue (spotted by Colin Watson).
21232
21233 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
21234 causing returned size to be stored in an incorrect memory location.
21235 Fix use of uninitialized value when storing the returned size.
21236
21237 2009-09-12 Yves Blusseau <blusseau@zetam.org>
21238
21239 Change clean rules to properly remove files
21240
21241 * genmk.rb: add new clean rules
21242 * Makefile.in (clean): add the new targets
21243 (mostlyclean): likewise
21244
21245 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
21246
21247 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
21248 to grub_uint64_t.
21249 * fs/ntfs.c (init_file): Understand 64-bit sizes for
21250 non-resident files.
21251
21252 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
21253
21254 * configure.ac: Don't look for help2man when cross-compiling. Fixes
21255 part of bug #27349.
21256
21257 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
21258
21259 * util/grub-mkconfig.in: Make the created config mode 400 and
21260 print a warning if it fails.
21261
21262 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
21263
21264 * util/grub.d/40_custom.in: Ask user to type custom entries below
21265 comment, rather than below 'exec tail' line.
21266
21267 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
21268
21269 * util/grub.d/40_custom.in: Make sure that the explanatory text is
21270 visible in grub.cfg.
21271
21272 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
21273
21274 * util/grub.d/40_custom.in: Make it a little clearer how to use this
21275 file.
21276
21277 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
21278
21279 * docs/grub.cfg: Add an example menu entry for memtest86+.
21280
21281 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
21282
21283 * config.guess: Update to latest version from config git.
21284 * config.sub: Likewise.
21285
21286 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
21287
21288 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
21289 unknown-command case. Fixes bug #27320.
21290
21291 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
21292
21293 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
21294 `help' if the command exists.
21295
21296 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21297
21298 * INSTALL: Require GCC 4.1.3 or later.
21299
21300 2009-09-06 Yves Blusseau <blusseau@zetam.org>
21301
21302 * Makefile.in (RMKFILES): add i386-qemu.rmk
21303 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21304 $(srcdir)/stamp-h.in
21305
21306 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21307
21308 * util/grub-probe.c (probe): Comment out buggy codepath, which
21309 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21310 should be re-enabled after 1.97.
21311
21312 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
21313
21314 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21315 find searches for.
21316
21317 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21318
21319 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21320 unnecessary calls to grub_error.
21321
21322 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
21323
21324 * NEWS: Mention `keystatus' and Unicode fonts.
21325
21326 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21327
21328 * configure.ac: Bump version to 1.97~beta2.
21329 * docs/version.texi: Likewise.
21330
21331 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
21332
21333 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21334 containing unwind information in some cases where it previously did
21335 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21336 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21337 discussion.
21338
21339 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21340
21341 Embedding loadenv module into grub-emu
21342
21343 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21344 commands/loadenv.c
21345 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21346 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21347 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21349 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21350 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21351
21352 2009-09-03 Magnus Granberg <zorry@ume.nu>
21353
21354 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21355 include -fPIE in the default specs.
21356 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21357 to TARGET_CFLAGS.
21358
21359 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
21360
21361 * INSTALL: Note that GNU Bison 2.3 or later is required.
21362
21363 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
21364
21365 * kern/i386/pc/startup.S: Fix typo.
21366
21367 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21370 according to GCS.
21371
21372 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21373
21374 * docs/grub.texi (Naming convention): Describe one-based partition
21375 numbering.
21376 (Device syntax): Likewise.
21377 (File name syntax): Likewise.
21378 (Block list syntax): Likewise.
21379 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21380 menu.lst.
21381 (File name syntax): Likewise.
21382 (Command-line and menu entry commands): Document acpi, blocklist,
21383 crc, export, insmod, keystatus, ls, set, and unset commands.
21384
21385 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21386
21387 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21388 to avoid implying that only one of --shift, --ctrl, or --alt may be
21389 used.
21390
21391 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21392
21393 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21394 rather than comparing against S_IFREG, which will almost never work.
21395
21396 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21397
21398 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21399 (write_blocklists): Likewise.
21400
21401 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
21402
21403 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21404 argument to grub_printf.
21405
21406 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
21407
21408 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
21409 non GNU test.
21410
21411 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21412
21413 * kern/file.c (grub_file_read): Spelling fix
21414
21415 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21416
21417 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21418 loading of headers in some cases.
21419
21420 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21421
21422 * configure.ac: Bump version to 1.97~beta1.
21423 * docs/version.texi: Likewise.
21424
21425 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21426
21427 * include/grub/i386/xnu.h: Add license header.
21428 include grub/err.h explicitly.
21429
21430 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21431
21432 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21433 to `ufs' in the vfs.root.mountfrom kernel parameter.
21434
21435 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21436
21437 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21438
21439 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21440 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21441
21442 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21443 `ARRAY_SIZE' macro.
21444
21445 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21446
21447 * kern/file.c (grub_file_read): Check offset.
21448 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21449 * fs/jfs.c (grub_jfs_read_file): Likewise.
21450 * fs/ntfs.c (grub_ntfs_read): Likewise.
21451 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21452 * fs/minix.c (grub_minix_read_file): Correct offset check.
21453 * fs/ufs.c (grub_ufs_read_file): Likewise.
21454
21455 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21456
21457 * term/i386/pc/console.c (bios_data_area): Cast
21458 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21459
21460 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 1-bit optimised blitters.
21463
21464 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21465 prototype.
21466 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21467 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21468 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21469 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21470 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21471 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21472 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21473 function.
21474 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21475 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21476 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21477 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21478 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21479 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21480 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21481 when possible.
21482 * video/video.c (grub_video_get_blit_format): Return
21483 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21484
21485 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21486
21487 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21488 the first argument to grub_printf.
21489
21490 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21491 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21492
21493 Add `getkeystatus' terminal method. Add a new `keystatus' command
21494 to query it.
21495
21496 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21497 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21498 modifier key bitmasks.
21499 (struct grub_term_input): Add `getkeystatus' member.
21500 (grub_getkeystatus): Add prototype.
21501 * kern/term.c (grub_getkeystatus): New function.
21502
21503 * include/grub/i386/pc/memory.h
21504 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21505 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21506 Data Area layout.
21507 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21508 (grub_console_term_input): Set `getkeystatus' member.
21509 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21510 constants.
21511 (grub_usb_keyboard_getreport): Likewise.
21512 (grub_usb_keyboard_checkkey): Likewise.
21513 (grub_usb_keyboard_getkeystatus): New function.
21514 (grub_usb_keyboard_term): Set `getkeystatus' member.
21515
21516 * commands/keystatus.c: New file.
21517 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21518 (keystatus_mod_SOURCES): New variable.
21519 (keystatus_mod_CFLAGS): Likewise.
21520 (keystatus_mod_LDFLAGS): Likewise.
21521 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21522 commands/keystatus.c.
21523 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21524 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21525 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21528 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21529
21530 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21531
21532 Split befs.mod and afs.mod into *_be.mod and *.mod
21533
21534 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21535 (grub_fstest_SOURCES): Likewise.
21536 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21537 (afs_be_mod_SOURCES): New variable.
21538 (afs_be_mod_CFLAGS): Likewise.
21539 (afs_be_mod_LDFLAGS): Likewise.
21540 (befs_be_mod_SOURCES): Likewise.
21541 (befs_be_mod_CFLAGS): Likewise.
21542 (befs_be_mod_LDFLAGS): Likewise.
21543 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21544 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21545 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21546 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21547 (grub_emu_SOURCES): Likewise.
21548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21550 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21551 * fs/afs_be.c: New file.
21552 * fs/befs_be.c: New file.
21553 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21554 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21555 (U16): Replaced with ...
21556 (grub_afs_to_cpu16): ...this. All users updated.
21557 (U32): Replaced with ...
21558 (grub_afs_to_cpu32): ...this. All users updated.
21559 (U64): Replaced with ...
21560 (grub_afs_to_cpu64): ...this. All users updated.
21561 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21562 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
21563 (grub_afs_validate_sblock): Check only one endianness.
21564 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21565 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21566 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21567 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21568 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21569 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21570 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21571 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21572
21573 2009-08-26 Bean <bean123ch@gmail.com>
21574
21575 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21576 64-bit number.
21577 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21578 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21579 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21580
21581 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 NetBSD memory map support.
21584
21585 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21586 (grub_netbsd_btinfo_mmap_header): New structure.
21587 (grub_netbsd_btinfo_mmap_entry): Likewise.
21588 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21589
21590 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 Enable bsd.mod on coreboot.
21593
21594 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21595 (bsd_mod_SOURCES): New variable.
21596 (bsd_mod_CFLAGS): Likewise.
21597 (bsd_mod_LDFLAGS): Likewise.
21598 (bsd_mod_ASFLAGS): Likewise.
21599 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21600 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21601
21602 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21603
21604 Cleanup NetBSD root support.
21605
21606 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21607 grub_bsd_get_device.
21608 Fix typo.
21609
21610 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
21611
21612 * util/grub.d/00_header.in: Move check for the video backend of
21613 gfxterm from here ...
21614 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21615 a suitable video backend.
21616
21617 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21618
21619 Fix breakage in grub-setup.
21620
21621 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21622 "msdos_partition_map".
21623
21624 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 Fix breakage in normal/auth.c.
21627
21628 * normal/auth.c (grub_iswordseparator): New function.
21629
21630 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 Authentication support.
21633
21634 * commands/password.c: New file.
21635 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21636 (password_mod_SOURCES): New variable.
21637 (password_mod_CFLAGS): Likewise.
21638 (password_mod_LDFLAGS): Likewise.
21639 (normal_mod_SOURCES): Add normal/auth.c.
21640 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21641 normal/auth.c.
21642 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21643 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21644 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21646 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21647 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21648 * include/grub/auth.h: New file.
21649 * include/grub/err.h (grub_err_t): New enum value
21650 GRUB_ERR_ACCESS_DENIED.
21651 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21652 'users'.
21653 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21654 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21655 users updated.
21656 * normal/auth.c: New file.
21657 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21658 (grub_cmdline_run): Don't allow to go to command line without
21659 authentication.
21660 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21661 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21662 menuentry without superuser rights.
21663 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21664 user isn't a superuser.
21665
21666 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 Save space by inlining misc.c functions.
21669
21670 * kern/misc.c (grub_iswordseparator): Made static.
21671 * kern/misc.c (grub_strcat): Moved from here ...
21672 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21673 * kern/misc.c (grub_strncat): Moved from here ...
21674 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21675 * kern/misc.c (grub_strcasecmp): Moved from here ...
21676 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21677 * kern/misc.c (grub_strncasecmp): Moved from here ...
21678 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21679 * kern/misc.c (grub_isalpha): Moved from here ...
21680 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21681 * kern/misc.c (grub_isdigit): Moved from here ...
21682 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21683 * kern/misc.c (grub_isgraph): Moved from here ...
21684 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21685 * kern/misc.c (grub_tolower): Moved from here ...
21686 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21687
21688 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * script/sh/function.c (grub_script_function_find): Cut error message
21691 not to flood terminal.
21692 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21693 limit.
21694 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21695
21696 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
21697
21698 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21699 `report' grub_uint8_t *.
21700 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21701 Use a 50-millisecond timeout rather than just repeating
21702 grub_usb_keyboard_getreport 50 times.
21703 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21704
21705 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21706
21707 Rename *_partition_map to part_*
21708
21709 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21710 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21711 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21712 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21713 All users updated.
21714 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21715 All users updated.
21716 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21717 * util/grub-probe.c (probe_partmap): Don't transform partition name
21718 to get module name.
21719
21720 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21721
21722 Fix OpenBSD and NetBSD support.
21723
21724 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21725 memory address conflict.
21726 (OPENBSD_MMAP_ACPI): New definition.
21727 (OPENBSD_MMAP_NVS): Likewise.
21728 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21729 and OPENBSD_MMAP_NVS.
21730 Add memory map terminator
21731 Explicit cast when calling grub_unix_real_boot.
21732 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
21733
21734 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 Let user specify NetBSD root device.
21737
21738 * loader/i386/bsd.c (netbsd_root): New variable.
21739 (netbsd_opts): New option 'root'.
21740 (NETBSD_ROOT_ARG): New macro.
21741 (grub_netbsd_boot): Use 'netbsd_root'.
21742 (grub_bsd_unload): Free 'netbsd_root'.
21743 (grub_cmd_netbsd): Fill 'netbsd_root'.
21744
21745 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 Support for 64-bit NetBSD.
21748
21749 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21750 point when booting non-FreeBSD.
21751
21752 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 Support --no-smp and --no-acpi for NetBSD.
21755
21756 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21757 (NETBSD_AB_NOACPI): Likewise.
21758 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21759 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21760
21761 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21764 errors.
21765 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21766 errors. Call grub_error when needed.
21767
21768 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21769
21770 * commands/search.c (search_fs): Try searching without autoload first.
21771 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21772 filesystem module explicitly for faster booting.
21773
21774 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21775
21776 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21777
21778 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21779
21780 * util/grub.d/30_os-prober.in: Disable os-prober if
21781 `GRUB_DISABLE_OS_PROBER' was set to true.
21782
21783 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21784
21785 * partmap/pc.c: Rename to ...
21786 * partmap/msdos.c: ... this. Update all users.
21787 (grub_pc_partition_map): Rename to ...
21788 (grub_msdos_partition_map): ... this. Update all users.
21789
21790 * parttool/pcpart.c: Rename to ...
21791 * parttool/msdospart.c: ... this. Update all users.
21792
21793 * include/grub/pc_partition.h: Rename to ...
21794 * include/grub/msdos_partition.h: ... this. Update all users.
21795 (grub_pc_partition_bsd_entry): Rename to ...
21796 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21797 (grub_pc_partition_disk_label): Rename to ...
21798 (grub_msdos_partition_disk_label): ... this. Update all users.
21799 (grub_pc_partition_entry): Rename to ...
21800 (grub_msdos_partition_entry): ... this. Update all users.
21801 (grub_pc_partition_mbr): Rename to ...
21802 (grub_msdos_partition_mbr): ... this. Update all users.
21803 (grub_pc_partition): Rename to ...
21804 (grub_msdos_partition): ... this. Update all users.
21805 (grub_pc_partition_is_empty): Rename to ...
21806 (grub_msdos_partition_is_empty): ... this. Update all users.
21807 (grub_pc_partition_is_extended): Rename to ...
21808 (grub_msdos_partition_is_extended): ... this. Update all users.
21809 (grub_pc_partition_is_bsd): Rename to ...
21810 (grub_msdos_partition_is_bsd): ... this. Update all users.
21811
21812 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21813 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21814 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21815 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21816 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21817 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21818 (gpt_mod_LDFLAGS): Rename to ...
21819 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21820 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21821 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21822 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21823 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21824 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21825 (part_gpt_mod_LDFLAGS): ... this.
21826 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21827 `pcpart.mod' to `msdospart.mod'.
21828 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21829 to ...
21830 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21831 (msdospart_mod_LDFLAGS): ... this.
21832
21833 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21836 (openbsd_opts): Likewise.
21837 (netbsd_opts): Likewise.
21838 (freebsd_flags): Added 0 terminator.
21839 (openbsd_flags): Likewise.
21840 (netbsd_flags): Likewise.
21841 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21842 (grub_cmd_freebsd): Transformed into extended command.
21843 (grub_cmd_openbsd): Likewise.
21844 (grub_cmd_netbsd): Likewise.
21845 (cmd_freebsd): Changed type to grub_extcmd_t.
21846 (cmd_openbsd): Likewise.
21847 (cmd_netbsd): Likewise.
21848 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21849 grub_cmd_openbsd as extended commands.
21850 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21851 cmd_netbsd and cmd_openbsd
21852
21853 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21856
21857 2009-08-21 Pavel Roskin <proski@gnu.org>
21858
21859 * Makefile.in (install-local): When checking if a file is in the
21860 build directory, use "test -e" to detect symlinks.
21861
21862 * Makefile.in (install-local): Remove all files in
21863 $(DESTDIR)$(pkglibdir) before installing new files there.
21864
21865 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21866
21867 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21868 grub-mkelfimage.
21869
21870 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21871
21872 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21873 explicitly specified by the user.
21874
21875 2009-08-18 Pavel Roskin <proski@gnu.org>
21876
21877 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21878 grub_uint8_t pointer for data.
21879 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21880 Likewise.
21881 * video/fb/fbutil.c: Remove unnecessary casts.
21882
21883 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21884
21885 VBE cleanup.
21886
21887 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21888 (grub_vbe_set_video_mode): Save active mode info
21889 only after setting the mode.
21890 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21891 second argument.
21892
21893 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21894
21895 Rename variables for clarity.
21896
21897 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21898 (active_vbe_mode_info): ... this. All users updated.
21899 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21900 All users updated.
21901 (initial_mode): Rename to ...
21902 (initial_vbe_mode): ... this. All users updated.
21903 (mode_in_use): Rename to ..
21904 (vbe_mode_in_use): ... this. All users updated.
21905 (mode_list): Rename to ..
21906 (vbe_mode_list): ... this. All users updated.
21907 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21908 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21909 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21910 'mode_list_size' to 'vbe_mode_list_size'.
21911 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21912 'best_mode_info' to 'best_vbe_mode_info' and
21913 'best_mode' to 'best_vbe_mode'
21914
21915 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21916
21917 Remove duplicate grub_video_fb_get_video_ptr.
21918
21919 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21920 (grub_video_fb_get_video_ptr): ... this.
21921 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21922 * video/fb/fbutil.c: Add comment about addressing.
21923 (get_data_ptr): Rename to ...
21924 (grub_video_fb_get_video_ptr): ... this. All users updated.
21925 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21926
21927 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21928
21929 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21930 grub_dprintf() that was just added.
21931
21932 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21933
21934 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21935 (DEFAULT_VIDEO_MODE): Remove macros.
21936 (grub_linux_boot): Remove assumption that Linux has FB support,
21937 and use "text" as default video mode.
21938
21939 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21940
21941 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21942 grub_dprintf.
21943 * fs/fat.c (grub_fat_read_data): Likewise.
21944
21945 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21946
21947 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21948 payload.
21949 (grub_module): Likewise.
21950
21951 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21954 mbi->cmdline but free playground.
21955
21956 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21957
21958 Handle group offset on UFS1.
21959
21960 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21961 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21962
21963 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21964
21965 Split ufs.mod into ufs1.mod and ufs2.mod.
21966
21967 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21968 (grub_fstest_SOURCES): Likewise.
21969 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21970 (ufs_mod_SOURCES): Remove.
21971 (ufs_mod_CFLAGS): Likewise.
21972 (ufs_mod_LDFLAGS): Likewise.
21973 (ufs1_mod_SOURCES): New variable.
21974 (ufs1_mod_CFLAGS): Likewise.
21975 (ufs1_mod_LDFLAGS): Likewise.
21976 (ufs2_mod_SOURCES): New variable.
21977 (ufs2_mod_CFLAGS): Likewise.
21978 (ufs2_mod_LDFLAGS): Likewise.
21979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21980 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21981 Likewise.
21982 (grub_emu_SOURCES): Likewise.
21983 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21984 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21985 (grub_setup_SOURCES): Likewise.
21986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21987 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21988 (grub_setup_SOURCES): Likewise.
21989 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21990 Likewise.
21991 * fs/ufs2.c: New file.
21992 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21993
21994 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 Framebuffer split.
21997
21998 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21999 subsystem at the end.
22000 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
22001 (video_fb_mod_SOURCES): New variable.
22002 (video_fb_mod_CFLAGS): Likewise.
22003 (video_fb_mod_LDFLAGS): Likewise.
22004 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
22005 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
22006 * video/i386/pc/vbeblit.c: Moved from here ...
22007 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
22008 * video/i386/pc/vbefill.c: Moved from here ...
22009 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
22010 * video/i386/pc/vbeutil.c: Moved from here ...
22011 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
22012 * include/grub/i386/pc/vbeblit.h: Moved from here ...
22013 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
22014 * include/grub/i386/pc/vbefill.h: Moved from here ...
22015 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
22016 * include/grub/i386/pc/vbeutil.h: Moved from here ...
22017 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
22018 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
22019 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
22020 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
22021 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
22022 (grub_video_adapter): Added 'get_info_and_fini'.
22023 (grub_video_get_info_and_fini): New prototype.
22024 (grub_video_set_mode): make modestring const char *.
22025 * loader/i386/linux.c (grub_linux_setup_video): Use
22026 grub_video_get_info_and_fini.
22027 (grub_linux_boot): Move modesetting just before booting.
22028 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
22029 grub_video_get_info_and_fini.
22030 * video/i386/pc/vbe.c: Moved framebuffer part ...
22031 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
22032 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
22033 grub_video_fbstd_colors and grub_video_fb_set_palette.
22034 (grub_video_vbe_init): Clear 'framebuffer' variable and use
22035 grub_video_fb_init.
22036 (grub_video_vbe_fini): Use grub_video_fb_fini.
22037 (grub_video_vbe_setup): Use framebuffer.render_target instead of
22038 render_target and use grub_video_fb_set_active_render_target and
22039 grub_video_fb_set_palette.
22040 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
22041 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
22042 (grub_video_vbe_adapter): Use framebuffer.
22043 * video/video.c (grub_video_get_info_and_fini): New function.
22044 (grub_video_set_mode): Make modestring const char *.
22045 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
22046 values are already initialised.
22047
22048 2009-08-14 Pavel Roskin <proski@gnu.org>
22049
22050 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
22051 ABS and APPLE_CC.
22052 * boot/i386/pc/diskboot.S: Likewise.
22053 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
22054 sectors allow compilation on MacOSX.
22055 * conf/i386-pc.rmk: Enable unconditional compilation of
22056 lnxboot.img.
22057
22058 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
22059
22060 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
22061 * util/grub.d/00_header.in: Enter interruptible sleep if
22062 GRUB_HIDDEN_TIMEOUT is set.
22063
22064 2009-08-13 Yves Blusseau <blusseau@zetam.org>
22065
22066 * include/grub/symbol.h: Add the LOCAL macro.
22067 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
22068 starting with "L_".
22069
22070 2009-08-13 Pavel Roskin <proski@gnu.org>
22071
22072 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
22073 any modern compilers we support.
22074
22075 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
22076 Use local labels starting with "L_" so that Apple assembler
22077 knows they are local.
22078
22079 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
22080
22081 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
22082 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
22083 (bsd_kernel_types): ... this enum.
22084
22085 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
22086 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
22087 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
22088
22089 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
22090 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
22091 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
22092 messages.
22093
22094 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22095
22096 * util/grub-dumpdevtree: Moved from here ...
22097 * util/i386/efi/grub-dumpdevtree: ... to here.
22098 (hexify): New function. Converts a string to its hex version.
22099 Generate hex versions of "efi" and "device-properties" by calling
22100 hexify() on the ASCII strings rather than by hardcoding numbers.
22101
22102 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22103
22104 * fs/jfs.c: Update copyright year.
22105
22106 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
22107
22108 * util/grub.d/00_header.in: Fix a comment.
22109 * util/grub.d/10_linux.in: Likewise.
22110 * util/grub.d/10_windows.in: Likewise.
22111 * util/grub.d/10_hurd.in: Likewise.
22112
22113 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
22114
22115 * util/grub-mkconfig.in: Allow the user to specify the used font
22116 with GRUB_FONT.
22117
22118 2009-08-08 Pavel Roskin <proski@gnu.org>
22119
22120 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
22121 available, xfs.mod needs it now.
22122
22123 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
22124 the "g" modifier in sed when the intention is to strip something
22125 once. This fixes comparison of kernels with multiple dashes.
22126
22127 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
22128 on it. Add missing space before closing bracket. Fix
22129 misleading formatting.
22130
22131 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22132
22133 * docs/grub.texi: Major overhaul. Remove all sections that are
22134 specific to GRUB Legacy, or mostly composed of Legacy-specific
22135 information.
22136
22137 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22138
22139 * docs/version.texi: New file. Provides version information for
22140 grub.texi.
22141
22142 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22143
22144 * docs/grub.texi: Update CVS information to SVN.
22145 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
22146
22147 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
22148
22149 * util/grub-mkconfig.in: Remove a wrong `fi'.
22150
22151 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
22152
22153 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
22154 (grub_jfs_uuid): New function.
22155 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
22156
22157 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
22158
22159 * util/grub-mkconfig_lib.in (font_path): Move the functionality
22160 of it to ...
22161 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
22162 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
22163
22164 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22165
22166 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
22167 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
22168 Update all users.
22169
22170 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
22171 not just "vmlinu[zx]".
22172 Moved from here ...
22173 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
22174 all users.
22175
22176 * util/grub.d/10_linux.in (find_latest): Moved from here ...
22177 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
22178 all users.
22179
22180 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22181
22182 * util/grub.d/10_freebsd.in: Use an absolute device path for
22183 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
22184
22185 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
22186
22187 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
22188 handling of multiple abstraction modules.
22189
22190 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
22191
22192 Fix a bug resulting in black screen when loading Linux using a
22193 packed video mode.
22194
22195 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
22196 function.
22197
22198 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
22199 (grub_vbe_bios_getset_dac_palette_width): New function.
22200 (grub_vbe_bios_get_dac_palette_width)
22201 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
22202 grub_vbe_bios_getset_dac_palette_width()).
22203
22204 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
22205 check for return status.
22206 (grub_vbe_get_video_mode_info): When getting information for a packed
22207 mode (<= 8 bpp), obtain DAC palette width using
22208 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
22209 {red,green,blue}_mark_size.
22210
22211 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
22212
22213 * commands/search.c (options): Fix help output to match actual code.
22214
22215 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
22216
22217 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
22218 of homegrown code.
22219
22220 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22221
22222 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
22223 on XFS or ReiserFS.
22224
22225 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22226
22227 Support Apple partition map with sector size different from 512 bytes.
22228
22229 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
22230 (apple_partition_map_iterate): Respect 'aheader.blocksize'
22231 and 'apart.partmap_size'.
22232
22233 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22234 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
22235
22236 Fix cpuid command.
22237
22238 * commands/i386/cpuid.c (options): New variable.
22239 (grub_cmd_cpuid): Return real error.
22240 (GRUB_MOD_INIT(cpuid)): Declare options.
22241
22242 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
22243
22244 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
22245 valid.
22246
22247 2009-07-31 Bean <bean123ch@gmail.com>
22248
22249 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
22250 log2_inode.
22251 (grub_fshelp_node): Move inode field to the end.
22252 (grub_xfs_data): Remove inode field.
22253 (grub_xfs_inode_block): Calculate inode size using sblock.
22254 (grub_xfs_inode_offset): Likewise.
22255 (grub_xfs_read_inode): Calculate inode size using sblock.
22256 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
22257 (grub_xfs_iterate_dir): Calculate inode size using sblock.
22258 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
22259 to match inode size.
22260 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
22261 not accessible when data is null.
22262 (grub_xfs_open): Likewise.
22263
22264 2009-07-31 Bean <bean123ch@gmail.com>
22265
22266 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
22267 Don't change pv->disk if it's already set.
22268
22269 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
22270 (grub_raid_register): ... here.
22271 (grub_raid_rescan): Removed.
22272
22273 * include/grub/raid.h (grub_raid_rescan): Removed.
22274
22275 * util/grub-fstest.c: Remove include file <grub/raid.h>.
22276 (fstest): Replace grub_raid_rescan with module fini function followed
22277 by init function.
22278
22279 * util/grub-probe.c: Add include file <grub/raid.h>.
22280 (probe_raid_level): New function.
22281 (probe): Detect abstraction by walking the disk device, support two
22282 level of abstraction (LVM on RAID) when detecting partition map.
22283
22284 2009-07-31 Pavel Roskin <proski@gnu.org>
22285
22286 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
22287 to grub_zalloc(), it was erroneous.
22288 Reported by Bean <bean123ch@gmail.com>
22289
22290 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
22291
22292 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
22293 embedding zone, not only the first one.
22294
22295 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
22296
22297 * term/gfxterm.c (clear_char): New function.
22298 (grub_virtual_screen_setup): Use clear_char.
22299 (scroll_up): Likewise.
22300 (grub_virtual_screen_cls): Likewise.
22301
22302 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
22303
22304 * util/deviceiter.c (get_acceleraid_disk_name): New static
22305 function.
22306 (grub_util_iterate_devices): Handle Accelraid devices.
22307 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22308
22309 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22310
22311 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22312 separator for the suggested gfxpayload string (';' collides with the
22313 parser and needs escaping).
22314
22315 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22318 Clear direction flag before jumping to OS.
22319 (grub_multiboot2_real_boot): Likewise.
22320
22321 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
22322
22323 * util/i386/pc/grub-install: Fix parsing of --disk-module
22324 option.
22325
22326 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
22327
22328 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22329 when embedding.
22330
22331 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
22332
22333 * util/grub-mkconfig.in (package_version): New variable.
22334 Use it do display the version.
22335
22336 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
22337
22338 * kern/file.c (grub_file_open): Revert to previous check with
22339 grub_errno.
22340
22341 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22342
22343 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22344 from help line. It's out of sync with code.
22345
22346 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22347
22348 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22349 entries on failed boot.
22350
22351 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
22352
22353 * kern/file.c (grub_file_open): Fix an error check.
22354
22355 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22358 partition map couldn't be identified.
22359
22360 2009-07-23 Pavel Roskin <proski@gnu.org>
22361
22362 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22363 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22364 case of little endian words becomes just an optimization.
22365 Respect const modifier.
22366 (md5_final): Use code that doesn't depend on endianness.
22367
22368 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22369 to avoid loss of upper bits if align is unsigned and shorter
22370 than addr.
22371
22372 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 UUID support for UFS
22375
22376 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22377 (grub_ufs_uuid): New function.
22378 (grub_ufs_fs): add .uuid
22379
22380 2009-07-21 Pavel Roskin <proski@gnu.org>
22381
22382 * kern/dl.c (grub_dl_check_header): Make static.
22383
22384 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
22385
22386 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22387 add drivemap for Vista. It breaks Windows 7.
22388
22389 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22392 128 bytes
22393
22394 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22395
22396 Add BFS support
22397
22398 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22399 (grub_fstest_SOURCES): Likewise.
22400 (pkglib_MODULES): Add befs.mod.
22401 (befs_mod_SOURCES): New variable.
22402 (befs_mod_CFLAGS): Likewise.
22403 (befs_mod_LDFLAGS): Likewise.
22404 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22405 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22408 (grub_setup_SOURCES): Likewise.
22409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22410 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22411 (grub_setup_SOURCES): Likewise.
22412 * fs/befs.c: New file.
22413 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22414 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22415 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22416 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22417 (B_KEY_INDEX_ALIGN): New declaration.
22418 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22419 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22420 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22421 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22422 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22423 (grub_afs_mount) [MODE_BFS]: Likewise.
22424 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22425 (grub_afs_fs): Use GRUB_AFS_FSNAME
22426 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22427 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22428 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22429 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22430
22431 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22432
22433 * util/getroot.c (find_root_device): Add support for MacOSX.
22434 * util/hostdisk.c: Likewise.
22435
22436 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22437
22438 * font/font.c (find_glyph): Check whether a font is present to avoid
22439 segmentation fault.
22440
22441 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
22442
22443 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22444
22445 2009-07-20 Pavel Roskin <proski@gnu.org>
22446
22447 * configure.ac: Trim excessively wordy excuses.
22448
22449 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 Add symlink, mtime and label support to AtheFS.
22452
22453 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22454 (grub_afs_iterate_dir): Handle symlinks.
22455 (grub_afs_open): Use grub_afs_read_symlink.
22456 (grub_afs_dir): Likewise.
22457 Pass mtime.
22458 (grub_afs_label): New function.
22459 (grub_afs_fs): Add grub_afs_label.
22460 (grub_afs_read_symlink): New function.
22461
22462 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22463
22464 Fix AtheFS support.
22465
22466 * fs/afs.c: Fix comments style.
22467 (grub_afs_blockrun): Declare as packed.
22468 (grub_afs_datastream): Likewise.
22469 (grub_afs_bnode): Likewise.
22470 (grub_afs_btree): Likewise.
22471 (grub_afs_sblock): Likewise.
22472 Declare `name' as char.
22473 (grub_afs_inode): Declare as packed.
22474 Change void *vnode to grub_uint32_t unused.
22475 (grub_afs_iterate_dir): Check that key_size is positive.
22476 (grub_afs_mount): Don't read superblock twice.
22477 (grub_afs_dir): Don't free node in case of error,
22478 grub_fshelp_find_file already handles this.
22479 (grub_afs_open): Likewise.
22480
22481 2009-07-19 Pavel Roskin <proski@gnu.org>
22482
22483 * Makefile.in: Remove LIBLZO and enable_lzo.
22484 * conf/i386-pc.rmk: Remove lzo support.
22485 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22486 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22487 support.
22488 * kern/i386/pc/lzo1x.S: Remove.
22489 * kern/i386/pc/startup.S: Remove lzo support.
22490 * util/i386/pc/grub-mkimage.c: Likewise.
22491
22492 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22493
22494 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22495 * fs/xfs.c (grub_xfs_dir): Likewise.
22496 * fs/afs.c (grub_afs_dir): Likewise.
22497 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22498 (grub_iso9660_open): Likewise.
22499 * fs/jfs.c (grub_jfs_open): Likewise.
22500 * fs/ext2.c (grub_ext2_dir): Likewise.
22501 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22502 * script/sh/lexer.c (grub_script_yylex): Likewise.
22503
22504 2009-07-16 Pavel Roskin <proski@gnu.org>
22505
22506 * configure.ac: Never add "-c" to CFLAGS.
22507
22508 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22509
22510 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22511 grub_cv_cc_efiemu should be used.
22512
22513 * configure.ac: Typo fixes.
22514
22515 * kern/mm.c (grub_zalloc): New function.
22516 (grub_debug_zalloc): Likewise.
22517 * include/grub/mm.h: Declare grub_zalloc() and
22518 grub_debug_zalloc().
22519 * util/misc.c (grub_zalloc): New function.
22520 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22521 instead of grub_malloc(), remove unneeded initializations.
22522 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22523 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22524 * commands/parttool.c (grub_cmd_parttool): Likewise.
22525 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22526 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22527 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22528 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22529 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22530 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22531 (grub_cmd_efiemu_pnvram): Likewise.
22532 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22533 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22534 (grub_iso9660_iterate_dir): Likewise.
22535 * fs/jfs.c (grub_jfs_opendir): Likewise.
22536 * fs/ntfs.c (list_file): Likewise.
22537 (grub_ntfs_mount): Likewise.
22538 * kern/disk.c (grub_disk_open): Likewise.
22539 * kern/dl.c (grub_dl_load_core): Likewise.
22540 * kern/elf.c (grub_elf_file): Likewise.
22541 * kern/env.c (grub_env_context_open): Likewise.
22542 (grub_env_set): Likewise.
22543 (grub_env_set_data_slot): Likewise.
22544 * kern/file.c (grub_file_open): Likewise.
22545 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22546 * loader/i386/multiboot.c (grub_module): Likewise.
22547 * loader/xnu.c (grub_xnu_create_key): Likewise.
22548 (grub_xnu_create_value): Likewise.
22549 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22550 (read_config_file): Likewise.
22551 * normal/menu_entry.c (make_screen): Likewise.
22552 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22553 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22554 * script/sh/script.c (grub_script_parse): Likewise.
22555 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22556 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22557 * video/readers/png.c (grub_png_output_byte): Likewise.
22558 (grub_video_reader_png): Likewise.
22559
22560 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 Enable all targets that can be built by default
22563
22564 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
22565 grub-mkfont and grub-fstest if they can be built
22566
22567 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 Fix hang and segmentation fault in grub-emu-usb
22570
22571 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22572 * util/usb.c (grub_libusb_devices): likewise
22573 (grub_libusb_init): rename to ...
22574 (GRUB_MOD_INIT (libusb)):...this
22575 (grub_libusb_fini): rename to ..
22576 (GRUB_MOD_FINI (libusb)):...this
22577 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22578 * include/grub/disk.h (grub_raid_init): removed, it's useless
22579 (grub_raid_fini): likewise
22580 (grub_lvm_init): likewise
22581 (grub_lvm_fini): likewise
22582 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22583 by grub_init_all
22584
22585 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 Fix libusb
22588
22589 * Makefile.in (LIBUSB): new macro
22590 * genmk.rb (Utility/print_tail): new method
22591 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22592 (top level): call util.print_tail at the end.
22593
22594 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22595
22596 Make FreeBSD accept zpool.cache
22597
22598 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22599 type is /boot/zfs/zpool.cache
22600
22601 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22602
22603 Fix 64-bit efiemu
22604
22605 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22606 correct wrong typedef
22607 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22608
22609 2009-07-15 Pavel Roskin <proski@gnu.org>
22610
22611 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22612 * kern/disk.c (struct grub_disk_cache): Likewise.
22613
22614 * commands/probe.c (options): Typo fix.
22615
22616 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22617 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22618 accordingly.
22619 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22620
22621 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22622 the end of "Error" to make the message more readable.
22623
22624 * boot/i386/pc/boot.S (kernel_segment): Remove.
22625 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22626 for destination.
22627
22628 * boot/i386/pc/boot.S (boot_version): Remove.
22629 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22630 Remove.
22631
22632 * include/grub/i386/pc/boot.h: Sort all offsets.
22633 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22634 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22635 * boot/i386/pc/boot.S: Assert location of every offset listed in
22636 include/grub/i386/pc/boot.h.
22637
22638 2009-07-13 Pavel Roskin <proski@gnu.org>
22639
22640 * include/grub/i386/coreboot/machine.h: Rename
22641 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22642 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22643 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22644
22645 * kern/dl.c: Force native word size to suppress warnings when
22646 compiling grub-emu.
22647
22648 * kern/device.c (grub_device_iterate): Change struct part_ent to
22649 hold the name, not a pointer to it. Use one grub_malloc() per
22650 partition, not two. Free partition_name if grub_malloc() fails.
22651 Set ents to NULL only before grub_partition_iterate() is called.
22652
22653 2009-07-11 Bean <bean123ch@gmail.com>
22654
22655 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22656 childname.
22657
22658 2009-07-10 Bean <bean123ch@gmail.com>
22659 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22660
22661 * kern/ieee1275/openfw.c (grub_children_iterate)
22662 (grub_devalias_iterate): Fix size evaluation for property or path
22663 strings, which was broken since r2132.
22664
22665 2009-07-07 Pavel Roskin <proski@gnu.org>
22666
22667 * commands/search.c (search_file): Merge into ...
22668 (search_fs): ... this. Accept search type as argument.
22669 (grub_cmd_search): Pass search type to search_fs().
22670
22671 * include/grub/util/console.h: New file.
22672 * util/console.c: Use it instead of grub/machine/console.h.
22673 * util/grub-emu.c: Likewise.
22674
22675 * lib/arg.c (find_long_option): Remove.
22676 (find_long): Add `len' argument, make `s' const char *.
22677 (grub_arg_parse): Parse long options in place, not in a
22678 temporary buffer.
22679
22680 2009-07-06 Pavel Roskin <proski@gnu.org>
22681
22682 * commands/search.c (search_fs): Fix potential NULL pointer
22683 dereference.
22684
22685 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22686 function pointer.
22687
22688 2009-07-06 Daniel Mierswa <impulze@impulze.org>
22689
22690 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22691 comparison.
22692
22693 2009-07-05 Pavel Roskin <proski@gnu.org>
22694
22695 * include/grub/i386/linux.h (struct linux_kernel_params):
22696 Restore padding3, it's still needed.
22697
22698 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22699 FreeBSD.
22700 * util/osdetect.lua: Likewise.
22701
22702 2009-07-05 Bean <bean123ch@gmail.com>
22703
22704 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22705
22706 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22707 (grub_lua_getenv): Likewise.
22708 (grub_lua_setenv): Likewise.
22709 (save_errno): New function.
22710 (push_result): Likewise.
22711 (grub_lua_enum_device): Likewise.
22712 (grub_lua_enum_file): Likewise.
22713 (grub_lua_file_open): Likewise.
22714 (grub_lua_file_close): Likewise.
22715 (grub_lua_file_seek): Likewise.
22716 (grub_lua_file_read): Likewise.
22717 (grub_lua_file_getline): Likewise.
22718 (grub_lua_file_getsize): Likewise.
22719 (grub_lua_file_getpos): Likewise.
22720 (grub_lua_file_eof): Likewise.
22721 (grub_lua_file_exist): Likewise.
22722 (grub_lua_add_menu): Likewise.
22723
22724 * script/lua/grub_lua.h (isupper): New inline function.
22725 (islower): Likewise.
22726 (ispunct): Likewise.
22727 (isxdigit): Likewise.
22728 (strcspn): Change to normal function.
22729 (strpbkr): New function declaration.
22730 (memchr): Likewise.
22731
22732 * script/lua/grub_main.c (scan_str): New function.
22733 (strcspn): Likewise.
22734 (strpbrk): Likewise.
22735 (memchr): Likewise.
22736
22737 * script/lua/linit.c (lualibs): Enable the string library.
22738
22739 * util/osdetect.lua: New file.
22740
22741 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22742
22743 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22744 `capabilities' member.
22745
22746 2009-07-02 Pavel Roskin <proski@gnu.org>
22747
22748 * genparttoollist.sh: Add missing newline at the end.
22749
22750 2009-07-01 Pavel Roskin <proski@gnu.org>
22751
22752 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22753
22754 * util/hostdisk.c (open_device): Remove `const' from
22755 `sysctl_size', as sysctlbyname() can change it (in this case it
22756 doesn't actually happen).
22757
22758 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22759 using signed long int constants.
22760
22761 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22762 constant to avoid a warning on FreeBSD.
22763
22764 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22765 where it's needed.
22766
22767 * Makefile.in: Install include/grub/machine symlink.
22768
22769 * Makefile.in: When installing symlinks, use "cp -fR", which
22770 works on FreeBSD and MacOSX.
22771 From Yves Blusseau <cl7m42e02@sneakemail.com>
22772
22773 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22774 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22775
22776 * util/misc.c: Move grub_reboot() and grub_halt() ...
22777 * util/grub-emu.c: ... here. Make main_env static.
22778 * include/grub/util/misc.h: Remove main_env.
22779
22780 * kern/mm.c: Use correct format to print size_t.
22781
22782 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22783 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22784 * kern/powerpc/dl.c: Likewise.
22785 * kern/sparc64/dl.c: Likewise.
22786 * kern/x86_64/dl.c: Likewise.
22787
22788 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22789
22790 Fix grub-emu build on sparc64-ieee1275.
22791
22792 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
22793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22794
22795 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22796
22797 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22798 (grub_reboot, grub_halt): New functions.
22799
22800 * util/i386/pc/misc.c: Delete. Update all users.
22801 * util/sparc64/ieee1275/misc.c: Likewise.
22802 * util/powerpc/ieee1275/misc.c: Likewise.
22803
22804 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22805
22806 * conf/i386.rmk (setjmp_mod_SOURCES)
22807 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22808 * conf/common.rmk (setjmp_mod_SOURCES)
22809 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22810 to use $(target_cpu).
22811 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22812 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22813 * conf/powerpc-ieee1275.rmk: Likewise.
22814 * conf/sparc64-ieee1275.rmk: Likewise.
22815
22816 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22817 $(target_cpu) for kern/$(target_cpu)/dl.c.
22818 * conf/i386-efi.rmk: Likewise.
22819 * conf/i386-ieee1275.rmk: Likewise.
22820 * conf/x86_64-efi.rmk: Likewise.
22821 * conf/i386-coreboot.rmk: Likewise.
22822 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22823 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22824 kern/$(target_cpu)/cache.S.
22825 * conf/sparc64-ieee1275.rmk: Likewise.
22826
22827 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22828
22829 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22830 type to `grub_uint8_t', and adjust `padding9' accordingly.
22831
22832 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22833
22834 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22835
22836 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22837 assembly in final jump, using register constraints.
22838
22839 (grub_linux_boot): For text mode, initialize `have_vga' using
22840 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22841
22842 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22843 right before the final jump.
22844
22845 Set `video_mode' to 0x3.
22846
22847 Document initialization of `video_page', `video_mode' and
22848 `video_ega_bx'.
22849
22850 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22851
22852 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22853 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22854 and set GRUB_LINUX_FLAG_QUIET appropriately.
22855
22856 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22857
22858 Fix build on Debian / sparc.
22859
22860 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22861
22862 2009-06-28 Pavel Roskin <proski@gnu.org>
22863
22864 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22865 fix a warning.
22866
22867 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22868
22869 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22870
22871 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22872 `err'.
22873
22874 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22875
22876 Revert r2338.
22877
22878 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22879 file can't be opened. grub_file_open() is already supposed to set
22880 grub_errno / grub_errmsg appropriately.
22881 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22882
22883 2009-06-27 Pavel Roskin <proski@gnu.org>
22884 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22885
22886 * include/grub/dl.h: Include grub/elf.h.
22887 (struct grub_dl): Add symtab field.
22888 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22889 GRUB_MODULES_MACHINE_READONLY.
22890 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22891 of the header for read-only modules.
22892 (grub_dl_unload): Free mod->symtab for read-only modules.
22893 * kern/i386/dl.c: Use mod->symtab.
22894 * kern/powerpc/dl.c: Likewise.
22895 * kern/sparc64/dl.c: Likewise.
22896 * kern/x86_64/dl.c: Likewise.
22897
22898 * conf/i386-qemu.rmk: New file.
22899 * kern/i386/qemu/startup.S: Likewise.
22900 * kern/i386/qemu/mmap.c: Likewise.
22901 * boot/i386/qemu/boot.S: Likewise.
22902 * include/grub/i386/qemu/time.h: Likewise.
22903 * include/grub/i386/qemu/serial.h: Likewise.
22904 * include/grub/i386/qemu/kernel.h: Likewise.
22905 * include/grub/i386/qemu/console.h: Likewise.
22906 * include/grub/i386/qemu/boot.h: Likewise.
22907 * include/grub/i386/qemu/init.h: Likewise.
22908 * include/grub/i386/qemu/machine.h: Likewise.
22909 * include/grub/i386/qemu/loader.h: Likewise.
22910 * include/grub/i386/qemu/memory.h: Likewise.
22911
22912 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22913 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22914 [qemu] (pkglib_IMAGES): Add `boot.img'.
22915 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22916 [qemu] (boot_img_FORMAT): New variables.
22917 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22918 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22919 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22920 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22921 [qemu] (kernel_img_FORMAT): New variables.
22922
22923 * configure.ac: Recognise `i386-qemu'.
22924
22925 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22926 (for no compression).
22927 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22928 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22929 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22930 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22931 ifdefs).
22932
22933 2009-06-27 Pavel Roskin <proski@gnu.org>
22934
22935 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22936 read.
22937 * efiemu/prepare32.c: Likewise.
22938 * efiemu/prepare64.c: Likewise.
22939
22940 2009-06-26 Pavel Roskin <proski@gnu.org>
22941
22942 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22943 * include/grub/elf.h: Define symbols without "32" or "64" based
22944 on GRUB_TARGET_WORDSIZE.
22945 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22946 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22947 ELF definitions.
22948 * efiemu/loadcore64.c: Likewise.
22949 * loader/i386/bsd32.c: Likewise.
22950 * loader/i386/bsd64.c: Likewise.
22951 * kern/dl.c: Remove own ELF definitions.
22952 * util/i386/efi/grub-mkimage.c: Likewise.
22953
22954 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22955
22956 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22957 segment 0x0 unconditionally, because the reference generated by
22958 GAS is an absolute address.
22959
22960 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22961
22962 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22963 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22964
22965 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22966
22967 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22968 indexes. Check for -f explicitly.
22969 (search_file): Improve error message.
22970 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22971
22972 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22973
22974 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22975 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22976
22977 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22978
22979 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22980 * conf/i386-ieee1275.rmk: Likewise.
22981 * conf/i386-coreboot.rmk: Likewise.
22982
22983 * kern/i386/pc/startup.S (grub_stop): Remove function.
22984 * kern/i386/ieee1275/startup.S: Likewise.
22985 * kern/i386/coreboot/startup.S: Likewise.
22986 * kern/i386/misc.S (grub_stop): New function.
22987
22988 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22989
22990 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22991 * kern/i386/realmode.S (real_to_prot): ... to here.
22992
22993 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22994
22995 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22996 with `kernel.img'.
22997 (kernel_elf_SOURCES): Rename to ...
22998 (kernel_img_SOURCES): ... this.
22999 (kernel_elf_HEADERS): Rename to ...
23000 (kernel_img_HEADERS): ... this. Update all users.
23001 (kernel_elf_ASFLAGS): Rename to ...
23002 (kernel_img_ASFLAGS): ... this.
23003 (kernel_elf_CFLAGS): Rename to ...
23004 (kernel_img_CFLAGS): ... this.
23005 (kernel_elf_LDFLAGS): Rename to ...
23006 (kernel_img_LDFLAGS): ... this.
23007 * conf/i386-coreboot.rmk: Likewise.
23008 * conf/powerpc-ieee1275.rmk: Likewise.
23009
23010 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
23011 with "kernel.img".
23012
23013 2009-06-21 Pavel Roskin <proski@gnu.org>
23014
23015 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
23016 to match nested functions.
23017 * loader/sparc64/ieee1275/linux.c: Likewise.
23018
23019 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
23020
23021 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23022
23023 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
23024 all i386 platforms.
23025
23026 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23027
23028 Fix asm file handling on ELF, and remove workarounds.
23029
23030 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
23031 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
23032 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
23033 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
23034
23035 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
23036
23037 Load BSD ELF modules
23038
23039 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
23040 and loader/i386/bsd64.c
23041 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
23042 (FREEBSD_MODTYPE_ELF_MODULE): New definition
23043 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
23044 (grub_freebsd_load_elfmodule32): New declaration
23045 (grub_freebsd_load_elfmoduleobj64): Likewise
23046 (grub_freebsd_load_elf_meta32): Likewise
23047 (grub_freebsd_load_elf_meta64): Likewise
23048 (grub_freebsd_add_meta): Likewise
23049 (grub_freebsd_add_meta_module): Likewise
23050 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
23051 (grub_freebsd_add_meta_module): Likewise and move module-specific
23052 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
23053 (grub_cmd_freebsd): Add elf-kernel specific parts
23054 based on grub_freebsd_add_meta_module
23055 (grub_cmd_freebsd_module): Add type parsing moved from
23056 grub_freebsd_add_meta_module
23057 (grub_cmd_freebsd_module_elf): New function
23058 (cmd_freebsd_module_elf): New variable
23059 (GRUB_MOD_INIT): Register freebsd_module_elf
23060 * loader/i386/bsd32.c: New file
23061 * loader/i386/bsd64.c: Likewise
23062 * loader/i386/bsdXX.c: Likewise
23063 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
23064 (grub_elf64_load): Likewise
23065 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
23066 All users updated
23067 (grub_elf64_load_hook_t): Likewise
23068
23069 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
23070
23071 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
23072 variable.
23073 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
23074 don't write a menu entry for recovery mode.
23075
23076 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23077
23078 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
23079 after it's no longer needed.
23080
23081 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23082
23083 * include/grub/i386/loader.h (grub_linux_prot_size)
23084 (grub_linux_tmp_addr, grub_linux_real_addr)
23085 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
23086 GRUB_MACHINE_PCBIOS.
23087 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
23088 common grub_util_info() call to ...
23089 (generate_image): ... here.
23090 Fix use of uninitialized memory, comparison of signed with
23091 unsigned integers and memory leak.
23092 Remove bogus module address message.
23093
23094 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23095
23096 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
23097 grub_raid_register
23098 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
23099
23100 2009-06-19 Pavel Roskin <proski@gnu.org>
23101
23102 * configure.ac: Remove stray AC_MSG_CHECKING.
23103
23104 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
23105
23106 * disk/scsi.c (grub_scsi_open): use continue instead of big if
23107
23108 2009-06-18 Pavel Roskin <proski@gnu.org>
23109
23110 * conf/common.rmk: Add fs_file.mod.
23111 * disk/fs_file.c: New file.
23112 * include/grub/disk.h (enum grub_disk_dev_id): Add
23113 GRUB_DISK_DEVICE_FILE_ID.
23114
23115 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23116
23117 Fix build with Apple's toolchain. Part 2
23118
23119 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
23120 a fake start
23121
23122 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23123
23124 Fix build with Apple's toolchain. Part 1
23125
23126 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
23127 for long calls
23128 * configure.ac: remove a leftover AC_MSG_RESULT
23129 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
23130 Apple's toolchain
23131
23132 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23133
23134 Fix warnings
23135
23136 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
23137 (decomp_block): initialize ch
23138 use grub_memcpy instead of memcpy
23139
23140 2009-06-17 Pavel Roskin <proski@gnu.org>
23141
23142 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
23143 version, use declarations needed to use vga_text as the startup
23144 console.
23145
23146 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
23147 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
23148 the kernel.
23149 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
23150 and grub_at_keyboard_fini(), it's done on module load and
23151 unload.
23152
23153 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
23154
23155 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
23156 file can't be found.
23157 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23158
23159 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23160
23161 Fix newline handling
23162
23163 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
23164 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
23165 (grub_script_yylex): don't segfault on unterminated script
23166 newline terminates command and variable
23167
23168 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23169
23170 avoid double grub_adjust_range call. Bug reported by David Simner
23171
23172 * kern/disk.c (grub_disk_write): change to raw disk access before
23173 calling disk_read
23174
23175 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
23176
23177 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
23178 spaces, for the benefit of help2man.
23179 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23180
23181 2009-06-16 Pavel Roskin <proski@gnu.org>
23182
23183 * kern/i386/halt.c: Include grub/machine/init.h.
23184 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
23185
23186 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
23187
23188 * util/grub.d/30_os-prober.in: Use ${root} in the generated
23189 drivemap menuentry.
23190
23191 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
23192
23193 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
23194 `echo' command.
23195
23196 2009-06-16 Pavel Roskin <proski@gnu.org>
23197
23198 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
23199 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
23200 save %dx, we only need %dl and we never change it.
23201 * boot/i386/pc/cdboot.S: Don't set the root drive.
23202 * boot/i386/pc/pxeboot.S: Likewise.
23203 * include/grub/i386/pc/boot.h: Remove
23204 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
23205 GRUB_BOOT_MACHINE_DRIVE_CHECK.
23206 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
23207 * kern/i386/pc/init.c (make_install_device): Remove references
23208 to grub_root_drive.
23209 * kern/i386/pc/startup.S: Likewise.
23210 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
23211
23212 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23213
23214 xnu_uuid command
23215
23216 * commands/xnu_uuid.c: new file
23217 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
23218 (xnu_uuid_mod_SOURCES): new variable
23219 (xnu_uuid_mod_CFLAGS): likewise
23220 (xnu_uuid_mod_LDFLAGS): likewise
23221 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23222 * conf/i386-ieee1275.rmk: likewise
23223 * conf/i386-pc.rmk: likewise
23224 * conf/powerpc-ieee1275.rmk: likewise
23225 * conf/sparc64-ieee1275.rmk: likewise
23226 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
23227
23228 2009-06-16 Pavel Roskin <proski@gnu.org>
23229
23230 * configure.ac: Avoid '==' in test command, it's not portable.
23231
23232 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23233
23234 Probe command
23235
23236 * commands/probe.c: new file
23237 * conf/common.rmk (pkglib_MODULES): add probe.mod
23238 (probe_mod_SOURCES): new variable
23239 (probe_mod_CFLAGS): likewise
23240 (probe_mod_LDFLAGS): likewise
23241 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23242 * conf/i386-ieee1275.rmk: likewise
23243 * conf/i386-pc.rmk: likewise
23244 * conf/powerpc-ieee1275.rmk: likewise
23245 * conf/sparc64-ieee1275.rmk: likewise
23246
23247 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
23248
23249 Fix handling of string like \"hello\" and "a
23250 b"
23251
23252 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
23253 (grub_script_yylex): fix parsing of quoting, escaping and newline
23254
23255 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
23256
23257 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
23258 handling
23259
23260 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
23261
23262 * util/grub-mkconfig.in: Fix parsing of --output option.
23263
23264 2009-06-12 Pavel Roskin <proski@gnu.org>
23265
23266 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
23267 genmk.rb don't need to be generated or installed.
23268
23269 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23270
23271 * commands/i386/pc/drivemap_int13h.S: add more comments
23272
23273 2009-06-11 Pavel Roskin <proski@gnu.org>
23274
23275 * Makefile.in (uninstall): Uninstall manuals.
23276
23277 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
23278 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
23279 and update-grub_lib in two places.
23280 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
23281
23282 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
23283 a compiler warning.
23284
23285 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
23286 `entry_lo' to fix variable shadowing.
23287
23288 2009-06-11 Christian Franke <franke@computer.org>
23289
23290 * kern/misc.c (__enable_execute_stack): Add missing return type
23291 to prevent gcc warning.
23292
23293 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
23294
23295 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
23296
23297 2009-06-11 Pavel Roskin <proski@gnu.org>
23298
23299 * Makefile.in: Don't rely on any scripts being executable.
23300 Always use $(SHELL) to run shell scripts.
23301
23302 * configure.ac: Always define ___main if using -nostdlib. This
23303 fixes tests on Cygwin.
23304
23305 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23306
23307 UDF fix
23308
23309 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
23310 is in bytes and not in blocks
23311
23312 2009-06-11 Pavel Roskin <proski@gnu.org>
23313
23314 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23315 warning.
23316
23317 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
23318
23319 * util/grub.d/30_os-prober.in: Fix a comment. Source
23320 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23321 to set the root device. Place drivemap command in the generated
23322 chain entry.
23323
23324 2009-06-11 Pavel Roskin <proski@gnu.org>
23325
23326 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23327 have long been resolved.
23328
23329 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
23330
23331 * util/grub.d/10_linux.in: Capitalise "Linux".
23332
23333 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23334
23335 2009-06-11 Pavel Roskin <proski@gnu.org>
23336
23337 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23338 fix a gcc warning and ensure that the function won't ever exit.
23339
23340 * kern/i386/ieee1275/init.c: Add missing prototype for
23341 grub_stop_floppy().
23342
23343 * loader/ieee1275/multiboot2.c [__i386__]: Include
23344 grub/cpu/multiboot.h.
23345
23346 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23347 casts to short - they are not portable and cause warnings. Fix
23348 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23349
23350 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23351
23352 Drivemap fixes
23353
23354 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23355 new function
23356 (grub_get_root_biosnumber_saved): new variable
23357 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23358 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
23359 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
23360 %dx after the call if necessary
23361 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23362 (boot_mod_SOURCES): remove
23363 (boot_mod_CFLAGS): remove
23364 (boot_mod_LDFLAGS): remove
23365 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23366 (boot_mod_SOURCES): new variable
23367 (boot_mod_CFLAGS): likewise
23368 (boot_mod_LDFLAGS): likewise
23369 * conf/i386-efi.rmk: likewise
23370 * conf/i386-ieee1275.rmk: likewise
23371 * conf/i386-pc.rmk: likewise
23372 * conf/powerpc-ieee1275.rmk: likewise
23373 * conf/sparc64-ieee1275.rmk: likewise
23374 * conf/x86_64-efi.rmk: likewise
23375 * include/grub/i386/pc/biosnum.h: new file
23376 * lib/i386/pc/biosnum.c: likewise
23377 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23378 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23379 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
23380
23381 2009-06-10 Pavel Roskin <proski@gnu.org>
23382
23383 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23384 Use separate variables. Read only the file size at the end, but
23385 not the checksum that we don't use.
23386
23387 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23388 Adjust all callers.
23389
23390 * kern/ieee1275/openfw.c: Remove libc includes.
23391 * kern/ieee1275/cmain.c: Likewise.
23392 * include/grub/ieee1275/ieee1275.h: Likewise.
23393
23394 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23395 compiler warnings.
23396
23397 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23398
23399 * Makefile.in: Remove all trailing whitespace.
23400 * conf/i386-pc.rmk: Likewise.
23401 * conf/powerpc-ieee1275.rmk: Likewise.
23402 * conf/sparc64-ieee1275.rmk: Likewise.
23403 * docs/grub.texi: Likewise.
23404 * docs/texinfo.tex: Likewise.
23405 * disk/fs_uuid.c: Likewise.
23406 * disk/lvm.c: Likewise.
23407 * disk/scsi.c: Likewise.
23408 * disk/ata.c: Likewise.
23409 * disk/ieee1275/ofdisk.c: Likewise.
23410 * disk/i386/pc/biosdisk.c: Likewise.
23411 * disk/host.c: Likewise.
23412 * disk/raid.c: Likewise.
23413 * disk/efi/efidisk.c: Likewise.
23414 * disk/usbms.c: Likewise.
23415 * disk/memdisk.c: Likewise.
23416 * disk/loopback.c: Likewise.
23417 * kern/powerpc/dl.c: Likewise.
23418 * kern/device.c: Likewise.
23419 * kern/dl.c: Likewise.
23420 * kern/sparc64/dl.c: Likewise.
23421 * kern/ieee1275/ieee1275.c: Likewise.
23422 * kern/term.c: Likewise.
23423 * kern/fs.c: Likewise.
23424 * kern/i386/dl.c: Likewise.
23425 * kern/i386/pc/startup.S: Likewise.
23426 * kern/i386/pc/init.c: Likewise.
23427 * kern/i386/pc/mmap.c: Likewise.
23428 * kern/i386/pc/lzo1x.S: Likewise.
23429 * kern/i386/ieee1275/init.c: Likewise.
23430 * kern/i386/realmode.S: Likewise.
23431 * kern/i386/tsc.c: Likewise.
23432 * kern/partition.c: Likewise.
23433 * kern/corecmd.c: Likewise.
23434 * kern/file.c: Likewise.
23435 * kern/efi/efi.c: Likewise.
23436 * kern/efi/init.c: Likewise.
23437 * kern/efi/mm.c: Likewise.
23438 * kern/main.c: Likewise.
23439 * kern/err.c: Likewise.
23440 * kern/env.c: Likewise.
23441 * kern/disk.c: Likewise.
23442 * kern/generic/millisleep.c: Likewise.
23443 * kern/generic/rtc_get_time_ms.c: Likewise.
23444 * kern/misc.c: Likewise.
23445 * kern/parser.c: Likewise.
23446 * genmk.rb: Likewise.
23447 * configure.ac: Likewise.
23448 * boot/i386/pc/diskboot.S: Likewise.
23449 * boot/i386/pc/pxeboot.S: Likewise.
23450 * boot/i386/pc/boot.S: Likewise.
23451 * boot/i386/pc/lnxboot.S: Likewise.
23452 * boot/i386/pc/cdboot.S: Likewise.
23453 * parttool/pcpart.c: Likewise.
23454 * video/readers/tga.c: Likewise.
23455 * video/video.c: Likewise.
23456 * video/bitmap.c: Likewise.
23457 * lib/envblk.c: Likewise.
23458 * lib/i386/setjmp.S: Likewise.
23459 * fs/xfs.c: Likewise.
23460 * fs/afs.c: Likewise.
23461 * fs/fat.c: Likewise.
23462 * fs/ntfs.c: Likewise.
23463 * fs/udf.c: Likewise.
23464 * fs/affs.c: Likewise.
23465 * fs/iso9660.c: Likewise.
23466 * fs/hfs.c: Likewise.
23467 * fs/fshelp.c: Likewise.
23468 * fs/ext2.c: Likewise.
23469 * fs/jfs.c: Likewise.
23470 * fs/reiserfs.c: Likewise.
23471 * fs/hfsplus.c: Likewise.
23472 * fs/minix.c: Likewise.
23473 * fs/cpio.c: Likewise.
23474 * fs/sfs.c: Likewise.
23475 * fs/ufs.c: Likewise.
23476 * efiemu/prepare.c: Likewise.
23477 * efiemu/loadcore_common.c: Likewise.
23478 * efiemu/runtime/efiemu.sh: Likewise.
23479 * efiemu/runtime/efiemu.S: Likewise.
23480 * efiemu/runtime/efiemu.c: Likewise.
23481 * efiemu/pnvram.c: Likewise.
23482 * efiemu/main.c: Likewise.
23483 * efiemu/i386/pc/cfgtables.c: Likewise.
23484 * efiemu/i386/loadcore64.c: Likewise.
23485 * efiemu/i386/loadcore32.c: Likewise.
23486 * efiemu/loadcore.c: Likewise.
23487 * efiemu/symbols.c: Likewise.
23488 * efiemu/mm.c: Likewise.
23489 * include/grub/autoefi.h: Likewise.
23490 * include/grub/datetime.h: Likewise.
23491 * include/grub/term.h: Likewise.
23492 * include/grub/hfs.h: Likewise.
23493 * include/grub/lvm.h: Likewise.
23494 * include/grub/i386/tsc.h: Likewise.
23495 * include/grub/i386/linux.h: Likewise.
23496 * include/grub/i386/xnu.h: Likewise.
23497 * include/grub/i386/efiemu.h: Likewise.
23498 * include/grub/i386/pc/biosdisk.h: Likewise.
23499 * include/grub/i386/pc/memory.h: Likewise.
23500 * include/grub/i386/pc/vbe.h: Likewise.
23501 * include/grub/parttool.h: Likewise.
23502 * include/grub/video.h: Likewise.
23503 * include/grub/memory.h: Likewise.
23504 * include/grub/fs.h: Likewise.
23505 * include/grub/partition.h: Likewise.
23506 * include/grub/xnu.h: Likewise.
23507 * include/grub/efi/api.h: Likewise.
23508 * include/grub/efi/pe32.h: Likewise.
23509 * include/grub/efi/memory.h: Likewise.
23510 * include/grub/multiboot.h: Likewise.
23511 * include/grub/usbdesc.h: Likewise.
23512 * include/grub/multiboot2.h: Likewise.
23513 * include/grub/acpi.h: Likewise.
23514 * include/grub/efiemu/efiemu.h: Likewise.
23515 * include/grub/disk.h: Likewise.
23516 * include/grub/ieee1275/ieee1275.h: Likewise.
23517 * include/grub/net.h: Likewise.
23518 * include/grub/machoload.h: Likewise.
23519 * include/grub/macho.h: Likewise.
23520 * include/multiboot.h: Likewise.
23521 * genmoddep.awk: Likewise.
23522 * normal/main.c: Likewise.
23523 * normal/menu_entry.c: Likewise.
23524 * normal/menu_viewer.c: Likewise.
23525 * normal/completion.c: Likewise.
23526 * normal/cmdline.c: Likewise.
23527 * normal/misc.c: Likewise.
23528 * normal/datetime.c: Likewise.
23529 * bus/usb/usbtrans.c: Likewise.
23530 * bus/usb/ohci.c: Likewise.
23531 * bus/usb/uhci.c: Likewise.
23532 * bus/usb/usb.c: Likewise.
23533 * mmap/efi/mmap.c: Likewise.
23534 * mmap/i386/pc/mmap_helper.S: Likewise.
23535 * mmap/i386/pc/mmap.c: Likewise.
23536 * mmap/i386/mmap.c: Likewise.
23537 * mmap/i386/uppermem.c: Likewise.
23538 * mmap/mmap.c: Likewise.
23539 * commands/acpi.c: Likewise.
23540 * commands/echo.c: Likewise.
23541 * commands/blocklist.c: Likewise.
23542 * commands/loadenv.c: Likewise.
23543 * commands/usbtest.c: Likewise.
23544 * commands/boot.c: Likewise.
23545 * commands/parttool.c: Likewise.
23546 * commands/search.c: Likewise.
23547 * commands/cat.c: Likewise.
23548 * commands/i386/pc/play.c: Likewise.
23549 * commands/i386/pc/drivemap.c: Likewise.
23550 * commands/i386/pc/vbeinfo.c: Likewise.
23551 * commands/i386/pc/acpi.c: Likewise.
23552 * commands/i386/pc/vbetest.c: Likewise.
23553 * commands/ls.c: Likewise.
23554 * commands/cmp.c: Likewise.
23555 * commands/test.c: Likewise.
23556 * commands/efi/acpi.c: Likewise.
23557 * commands/gptsync.c: Likewise.
23558 * commands/help.c: Likewise.
23559 * partmap/amiga.c: Likewise.
23560 * partmap/apple.c: Likewise.
23561 * partmap/acorn.c: Likewise.
23562 * partmap/pc.c: Likewise.
23563 * partmap/sun.c: Likewise.
23564 * partmap/gpt.c: Likewise.
23565 * script/sh/lexer.c: Likewise.
23566 * script/sh/function.c: Likewise.
23567 * font/font.c: Likewise.
23568 * font/font_cmd.c: Likewise.
23569 * loader/powerpc/ieee1275/linux.c: Likewise.
23570 * loader/efi/chainloader.c: Likewise.
23571 * loader/multiboot_loader.c: Likewise.
23572 * loader/macho.c: Likewise.
23573 * loader/i386/multiboot.c: Likewise.
23574 * loader/i386/linux.c: Likewise.
23575 * loader/i386/pc/linux.c: Likewise.
23576 * loader/i386/pc/multiboot2.c: Likewise.
23577 * loader/i386/pc/chainloader.c: Likewise.
23578 * loader/i386/pc/xnu.c: Likewise.
23579 * loader/i386/bsd_trampoline.S: Likewise.
23580 * loader/i386/efi/linux.c: Likewise.
23581 * loader/i386/multiboot_elfxx.c: Likewise.
23582 * loader/i386/bsd_helper.S: Likewise.
23583 * loader/i386/bsd.c: Likewise.
23584 * loader/i386/linux_trampoline.S: Likewise.
23585 * loader/i386/xnu_helper.S: Likewise.
23586 * loader/i386/xnu.c: Likewise.
23587 * loader/i386/bsd_pagetable.c: Likewise.
23588 * loader/i386/multiboot_helper.S: Likewise.
23589 * loader/xnu.c: Likewise.
23590 * loader/xnu_resume.c: Likewise.
23591 * io/gzio.c: Likewise.
23592 * term/efi/console.c: Likewise.
23593 * term/terminfo.c: Likewise.
23594 * term/ieee1275/ofconsole.c: Likewise.
23595 * term/i386/pc/serial.c: Likewise.
23596 * term/i386/pc/vesafb.c: Likewise.
23597 * term/i386/pc/vga.c: Likewise.
23598 * term/usb_keyboard.c: Likewise.
23599 * term/gfxterm.c: Likewise.
23600 * aclocal.m4: Likewise.
23601 * util/lvm.c: Likewise.
23602 * util/grub.d/30_os-prober.in: Likewise.
23603 * util/grub.d/10_hurd.in: Likewise.
23604 * util/console.c: Likewise.
23605 * util/grub-macho2img.c: Likewise.
23606 * util/grub-probe.c: Likewise.
23607 * util/hostfs.c: Likewise.
23608 * util/i386/pc/grub-mkimage.c: Likewise.
23609 * util/i386/pc/grub-setup.c: Likewise.
23610 * util/i386/efi/grub-mkimage.c: Likewise.
23611 * util/grub-mkconfig.in: Likewise.
23612 * util/raid.c: Likewise.
23613 * util/resolve.c: Likewise.
23614 * util/grub-mkdevicemap.c: Likewise.
23615 * util/grub-emu.c: Likewise.
23616 * util/getroot.c: Likewise.
23617 * util/hostdisk.c: Likewise.
23618 * util/usb.c: Likewise.
23619 * util/grub-editenv.c: Likewise.
23620 * util/misc.c: Likewise.
23621
23622 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23623
23624 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23625 `genparttoollist.sh'.
23626 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23627 Add `*.sh' to the list find searches for and change `mdate.sh'
23628 to `mdate-sh'.
23629
23630 2009-06-10 Pavel Roskin <proski@gnu.org>
23631
23632 * include/grub/multiboot2.h: Provide compatibility defines for
23633 multiboot2.h.
23634 * include/multiboot2.h: Include stdint.h only if needed, using
23635 angle brackets.
23636 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23637 grub/multiboot2.h.
23638 * loader/ieee1275/multiboot2.c: Likewise.
23639 * loader/multiboot2.c: Likewise.
23640 * loader/multiboot_loader.c: Likewise.
23641
23642 * configure.ac: Use -nostdlib when probing for the target. It
23643 should not be required to have libc for the target.
23644
23645 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23646 they fail without libc headers for the target.
23647 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23648 exports.
23649 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23650 preprocessor conditionals.
23651
23652 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23653 build system doesn't need to be aware of the tar.c internals.
23654
23655 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
23656
23657 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
23658
23659 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23660
23661 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23662 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23663
23664 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
23665
23666 * util/i386/pc/grub-install.in: Change the error message if UUIDs
23667 aren't available if ata.mod gets used.
23668
23669 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
23670
23671 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
23672 initialising controller.
23673 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23674
23675 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23676
23677 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23678 to choose between ata and biosdisk module on i386-pc.
23679
23680 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
23681
23682 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23683 Subclass and Programming Interface fields in terms of the 3 byte
23684 Class Code register.
23685 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23686
23687 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23688 interface is OHCI. Add grub_dprintf for symmetry with
23689 bus/usb/uhci.c.
23690 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23691 interface is UHCI. Add interf variable for programming
23692 interface. Print interface with class/subclass.
23693
23694 * bus/usb/ohci.c: Set interf with correct field.
23695
23696 * bus/usb/uhci.c: Remove unneeded doubled lines.
23697 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23698 Remove whitespace inside comment.
23699
23700 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23701
23702 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23703 as fallback an equivalent option without depth.
23704
23705 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 Not fail if unable to retrieve C/H/S on LBA disks
23708
23709 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
23710 if unable to retrieve C/H/S on LBA disks
23711
23712 2009-06-08 Pavel Roskin <proski@gnu.org>
23713
23714 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23715 about aliasing.
23716
23717 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23718
23719 * Makefile.in (uninstall): Remove all $lib_DATA files.
23720
23721 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23722
23723 Bugfix: install on partitionless device
23724
23725 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23726 is a whole disk
23727
23728 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23729
23730 * Makefile.in (uninstall): Remove all $include_DATA files.
23731
23732 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23733
23734 * commands/true.c: New file. Implement the true and false commands.
23735 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23736 (true_mod_SOURCES): New variable.
23737 (true_mod_CFLAGS): Likewise.
23738 (true_mod_LDFLAGS): Likewise.
23739
23740 2009-06-05 Colin D Bennett <colin@gibibit.com>
23741
23742 Optimized font character lookup using binary search instead of linear
23743 search. Fonts now are required to have the character index ordered by
23744 code point.
23745
23746 * font/font.c (load_font_index): Verify that fonts have ordered
23747 character indices.
23748 (find_glyph): Use binary search instead of linear search to find a
23749 character in a font.
23750
23751 2009-06-05 Michael Scherer <misc@mandriva.org>
23752
23753 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23754 uses case sensitive btree.
23755 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23756 only for case insensitive filesystems.
23757
23758 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23759
23760 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23761 * conf/common.rmk (search_mod_CFLAGS): likewise
23762
23763 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23764
23765 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
23766 compensate a compiler bug
23767
23768 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23769
23770 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
23771 instead of '\b'
23772
23773 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23774
23775 Definitions for creating asm symbols with Apple's CC
23776
23777 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23778 [APPLE_CC] (VARIABLE): likewise
23779
23780 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23781
23782 Disable lnxboot.img when compiled
23783 with Apple's CC
23784
23785 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23786 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23787 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23788 [! APPLE_CC] (CODE_LENG): skip
23789 [! APPLE_CC] (setup_sects): likewise
23790 [! APPLE_CC]: skip filling
23791
23792 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23793
23794 Address in trampolines based on 32-bit registers when compiled
23795 with Apple's CC
23796
23797 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
23798 for addresses
23799 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23800
23801 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23804
23805 * kern/misc.c [APPLE_CC] (memcpy): new function
23806 [APPLE_CC] (memmove): likewise
23807 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23808 (memcpy): define alias conditionally on !APPLE_CC
23809 (memset): likewise
23810 (abort): likewise
23811 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23812 APPLE_CC are defined
23813 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23814 (grub_assert_fail): make prototype conditional
23815
23816 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23817
23818 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23819
23820 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23821 grub-macho2img
23822 (CLEANFILES): add grub-macho2img
23823 (grub_macho2img_SOURCES): new variable
23824 * kern/i386/pc/startup.S (bss_start): new variable
23825 (bss_end): likewise
23826 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23827 * util/grub-macho2img.c: new file
23828
23829 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23830
23831 Use objconv when compiling with Apple's CC
23832
23833 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23834 (efiemu64.o): likewise
23835 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23836 when compiling with Apple's CC
23837 (efiemu64_s.o): likewise
23838 * configure.ac: check for objconv when compiling with Apple's CC
23839 * genmk.rb: use objconv for modules when compiled with Apple's CC
23840
23841 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23842
23843 Define segment as well as section when compiling with
23844 Apple's CC
23845
23846 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23847 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23848 (efiemu_convert_pointer): likewise
23849 (efiemu_set_virtual_address_map): likewise
23850 (efiemu_convert_pointer): likewise
23851 (efiemu_getcrc32): likewise
23852 (init_crc32_table): likewise
23853 (reflect): likewise
23854 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23855 (GRUB_MOD_DEP): likewise
23856
23857 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23858
23859 Allow a compilation without -mcmodel=large
23860
23861 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23862 when compiled without -mcmodel=large
23863 (filter_memory_map): remove memory post 4 GiB when compiled
23864 without -mcmodel=large
23865 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23866 TARGET_CFLAGS when -mcmodel=large isn't supported
23867
23868 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23869
23870 Remove nested functions in efiemu core
23871
23872 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23873
23874 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23875
23876 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23877
23878 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23879 temporary storage
23880 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23881 using Apple's CC
23882 (grub_cpu_is_tsc_supported): likewise
23883 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23884
23885 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23886
23887 Absolute addressing through constant with Apple's cc
23888
23889 * kern/i386/pc/startup.S: Define necessary constants
23890 and address through it when using ABS with Apple's CC
23891 * boot/i386/pc/diskboot.S: likewise
23892 * boot/i386/pc/boot.S: likewise
23893 * boot/i386/pc/lnxboot.S: likewise
23894 * boot/i386/pc/cdboot.S: likewise
23895 * mmap/i386/pc/mmap_helper.S: likewise
23896 * commands/i386/pc/drivemap_int13h.S: likewise
23897
23898 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23899
23900 Check if compiler is apple cc
23901
23902 * Makefile.in (ASFLAGS): new variable
23903 (TARGET_ASFLAGS): likewise
23904 (TARGET_MODULE_FORMAT): likewise
23905 (TARGET_APPLE_CC): likewise
23906 (OBJCONV): likewise
23907 (TARGET_IMG_CFLAGS): likewise
23908 (TARGET_CPPFLAGS): add includedir
23909 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23910 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23911 Check for linker script only if compiler isn't Apple's CC
23912 (TARGET_MODULE_FORMAT): set
23913 (TARGET_APPLE_CC): likewise
23914 (TARGET_ASFLAGS): likewise
23915 (ASFLAGS): likewise
23916 Check for objcopy only if compiler isn't Apple's CC
23917 Check for BSS symbol only if compiler isn't Apple's CC
23918 * genmk.rb: adapt nm options if we use Apple's utils
23919 * aclocal.m4 (grub_apple_cc): new test
23920 (grub_apple_target_cc): likewise
23921
23922 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23923
23924 Simplify sed expressions and improve awk
23925
23926 * Makefile.in (install-local): simplify sed expression
23927 * gencmdlist.sh: likewise
23928 * genmoddep.awk: avoid adding module as a dependency of itself
23929
23930 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23931
23932 Add missing start symbols
23933
23934 * boot/i386/pc/boot.S: add start
23935 * boot/i386/pc/pxeboot.S: likewise
23936
23937 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 Fix wrong assumptions with grub-mkimage on EFI
23940
23941 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23942 (relocate_addresses): consider both r_addend and value at offset
23943 (make_mods_section): zerofill modinfo and header
23944 (convert_elf): write prefix here
23945
23946 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 Use .asciz instead of .string
23949
23950 * i386/pc/diskboot.S: use .asciz instead of .string
23951 * i386/pc/boot.S: likewise
23952 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23953 (GRUB_MOD_NAME): likewise
23954
23955 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23956
23957 gfxpayload support
23958
23959 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23960 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23961 (grub_video_setup): remove
23962 (grub_video_set_mode): new prototype
23963 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23964 (vid_mode): remove
23965 (linux_vesafb_res): compile only on PCBIOS
23966 (grub_linux_boot): support gfxpayload
23967 * loader/i386/pc/xnu.c (video_hook): new function
23968 (grub_xnu_set_video): support gfxpayload
23969 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23970 (DEFAULT_VIDEO_HEIGHT): likewise
23971 (DEFAULT_VIDEO_FLAGS): likewise
23972 (DEFAULT_VIDEO_MODE): new definition
23973 (video_hook): new function
23974 (grub_gfxterm_init): use grub_video_set_mode
23975 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23976 loading xnu
23977 * video/video.c (grub_video_setup): removed
23978 (grub_video_set_mode): new function based on grub_gfxterm_init and
23979 grub_video_setup
23980
23981 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23982
23983 Avoid calling biosdisk in drivemap
23984
23985 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23986 (revparse_biosdisk): likewise
23987 (list_mappings): derive name from id directly
23988 (grub_cmd_drivemap): use tryparse_diskstring
23989
23990 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23991
23992 Script fixes
23993
23994 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23995 (grub_lexer_param): add tokenonhold
23996 (grub_script_create_cmdline): remove cmdline. All callers updated
23997 (grub_script_function_create): make functionname
23998 grub_script_arg. All callers updated
23999 (grub_script_execute_argument_to_string): new prototype
24000 * kern/parser.c (state_transitions): reorder
24001 (grub_parser_cmdline_state): fix a bug and make more compact
24002 * script/sh/execute.c (grub_script_execute_argument_to_string):
24003 make global
24004 (grub_script_execute_cmdline): use new format
24005 * script/sh/function.c (grub_script_function_create): make functionname
24006 grub_script_arg. All callers updated
24007 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
24008 (grub_script_yylex): remove
24009 (grub_script_yylex2): renamed to ...
24010 (grub_script_yylex): ...renamed
24011 parse the expressions like a${b}c
24012 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
24013 (GRUB_PARSER_TOKEN_VAR): remove
24014 (GRUB_PARSER_TOKEN_NAME): likewise
24015 ("if"): declare as typeless
24016 ("while"): likewise
24017 ("function"): likewise
24018 ("else"): likewise
24019 ("then"): likewise
24020 ("fi"): likewise
24021 (text): remove
24022 (argument): likewise
24023 (script): accept empty scripts and make exit on error
24024 (arguments): use GRUB_PARSER_TOKEN_ARG
24025 (function): likewise
24026 (command): move error handling to script
24027 (menuentry): move grub_script_lexer_ref before
24028 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
24029 argument. All callers updated
24030
24031 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24032
24033 Prevent GRUB from probing floppies during boot.
24034
24035 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
24036 * commands/search.c (options): Add --no-floppy.
24037 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
24038 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
24039 --no-floppy when searching for UUIDs.
24040
24041 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24042
24043 Simplify the code duplication in commands/search.c.
24044
24045 * commands/search.c (search_label, search_fs_uuid): Merge into ...
24046 (search_fs): ... this. Update all users.
24047
24048 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
24049
24050 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
24051
24052 2009-05-28 Pavel Roskin <proski@gnu.org>
24053
24054 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
24055 Remove the original symlink explicitly.
24056
24057 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
24058 just one slash. That's how grub_fshelp_find_file() does it.
24059
24060 2009-05-26 Pavel Roskin <proski@gnu.org>
24061
24062 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
24063 to `str'.
24064
24065 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
24066 possibly unused.
24067
24068 2009-05-25 Christian Franke <franke@computer.org>
24069
24070 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
24071 register.
24072 (grub_atapi_identify): Add wait after drive select.
24073 (grub_ata_identify): Do more strict status register check before
24074 calling grub_atapi_identify (). Suppress error message if status
24075 register is 0x00 after command failure. Add status register
24076 check after PIO read to avoid bogus identify due to stuck DRQ.
24077 Thanks to Pavel Roskin for testing.
24078 (grub_device_initialize): Remove unsafe status register check.
24079 Thanks to 'phcoder' for problem report and patch.
24080 Prevent sign extension in debug message.
24081
24082 2009-05-23 Colin D Bennett <colin@gibibit.com>
24083
24084 Cleaned up `include/grub/normal.h'. Grouped prototypes by
24085 definition file, and functions defined in `normal/menu.c' have had
24086 their prototypes moved to `include/grub/menu.h' for consistency.
24087
24088 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
24089 from normal.h.
24090 (grub_menu_get_entry): Likewise.
24091 (grub_menu_get_timeout): Likewise.
24092 (grub_menu_set_timeout): Likewise.
24093 (grub_menu_execute_entry): Likewise.
24094 (grub_menu_execute_with_fallback): Likewise.
24095 (grub_menu_entry_run): Likewise.
24096
24097 * include/grub/normal.h: Re-ordered and grouped function
24098 prototypes by file that the function is defined in.
24099 (grub_menu_execute_callback): Removed; moved to menu.h.
24100 (grub_menu_get_entry): Likewise.
24101 (grub_menu_get_timeout): Likewise.
24102 (grub_menu_set_timeout): Likewise.
24103 (grub_menu_execute_entry): Likewise.
24104 (grub_menu_execute_with_fallback): Likewise.
24105 (grub_menu_entry_run): Likewise.
24106 (grub_menu_addentry): Renamed from this ...
24107 (grub_normal_add_menu_entry): ... to this.
24108
24109 * normal/main.c (grub_menu_addentry): Renamed from this ...
24110 (grub_normal_add_menu_entry): ... to this.
24111
24112 * script/sh/execute.c (grub_script_execute_menuentry): Update
24113 reference to renamed grub_menu_addentry function.
24114
24115 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
24116
24117 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
24118
24119 2009-05-22 Pavel Roskin <proski@gnu.org>
24120
24121 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
24122 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
24123 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
24124 compiling for the i386 targets, but not for the utilities.
24125
24126 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
24127 to grub_uint8_t.
24128 (grub_root_drive): Likewise.
24129 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
24130 remove alignment.
24131 (grub_root_drive): Change size to byte.
24132 (grub_start_addr): Remove.
24133 (grub_end_addr): Likewise.
24134 (grub_apm_bios_info): Likewise.
24135
24136 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
24137
24138 * normal/i386: Remove.
24139 * normal/powerpc: Likewise.
24140 * normal/sparc64: Likewise.
24141 * normal/x86_64: Likewise.
24142
24143 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
24144
24145 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
24146 * loader/i386/linux_trampoline.S: Fix indentation
24147 * loader/i386/xnu_helper.S: Likewise
24148
24149 2009-05-18 Colin D Bennett <colin@gibibit.com>
24150
24151 Display error messages when parsing a Lua statement fails.
24152 Previously, executing a syntactically invalid statement like
24153 ")foo" or "bar;" would silently fail.
24154
24155 * script/lua/grub_main.c (handle_lua_error): New function.
24156 (grub_lua_parse_line): Improved reporting of Lua parser and
24157 execution errors.
24158
24159 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24160
24161 Remove -Werror which causes build to fail on some systems
24162
24163 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
24164 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
24165 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
24166
24167 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24168
24169 trampoline for linux on 64-bit platform
24170
24171 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
24172 loader/i386/efi/linux_trampoline.S
24173 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
24174 declaration
24175 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
24176 here
24177 * loader/i386/linux_trampoline.S: moved here
24178 * loader/i386/efi/linux.c (allocate_pages): reserve space for
24179 trampoline
24180 (jumpvector): removed
24181 (grub_linux_trampoline_start): new declaration
24182 (grub_linux_trampoline_end): likewise
24183 (grub_linux_boot): use trampoline when on 64-bit platform
24184 * loader/i386/linux.c: likewise
24185
24186 2009-05-16 Pavel Roskin <proski@gnu.org>
24187
24188 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
24189 const to avoid a warning.
24190 (grub_lua_setenv): Likewise.
24191 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
24192 lmsg to fix a warning.
24193
24194 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
24195
24196 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
24197 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24198 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
24199 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24200 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24201 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24202 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24203 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24204
24205 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
24206
24207 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
24208
24209 2009-05-16 Bean <bean123ch@gmail.com>
24210
24211 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
24212 (lua_mod_SOURCES): New variable.
24213 (lua_mod_CFLAGS): Likewise.
24214 (lua_mod_LDFLAGS): Likewise.
24215
24216 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
24217 (setjmp_mod_SOURCES): New variable.
24218 (setjmp_mod_CFLAGS): Likewise.
24219 (setjmp_LDFLAGS): Likewise.
24220
24221 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
24222 (setjmp_mod_SOURCES): New variable.
24223 (setjmp_mod_CFLAGS): Likewise.
24224 (setjmp_LDFLAGS): Likewise.
24225
24226 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24227 (setjmp_mod_SOURCES): New variable.
24228 (setjmp_mod_CFLAGS): Likewise.
24229 (setjmp_LDFLAGS): Likewise.
24230
24231 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24232 (setjmp_mod_SOURCES): New variable.
24233 (setjmp_mod_CFLAGS): Likewise.
24234 (setjmp_LDFLAGS): Likewise.
24235
24236 * normal/i386/setjmp.S: Moved from here ...
24237 * lib/i386/setjmp.S: ... Moved here
24238 * normal/x86_64/setjmp.S: Moved from here ...
24239 * lib/x86_64/setjmp.S: ... Moved here
24240 * normal/powerpc/setjmp.S: Moved from here ...
24241 * lib/powerpc/setjmp.S: ... Moved here
24242 * normal/sparc64/setjmp.S: Moved from here ...
24243 * lib/sparc64/setjmp.S: ... Moved here
24244
24245 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
24246 returns_twice in mingw.
24247
24248 * script/lua/grub_lib.c: New file.
24249 * script/lua/grub_lib.h: Likewise.
24250 * script/lua/grub_lua.h: Likewise.
24251 * script/lua/grub_main.c: Likewise.
24252 * script/lua/lapi.c: Likewise.
24253 * script/lua/lapi.h: Likewise.
24254 * script/lua/lauxlib.c: Likewise.
24255 * script/lua/lauxlib.h: Likewise.
24256 * script/lua/lbaselib.c: Likewise.
24257 * script/lua/lcode.c: Likewise.
24258 * script/lua/lcode.h: Likewise.
24259 * script/lua/ldblib.c: Likewise.
24260 * script/lua/ldebug.c: Likewise.
24261 * script/lua/ldebug.h: Likewise.
24262 * script/lua/ldo.c: Likewise.
24263 * script/lua/ldo.h: Likewise.
24264 * script/lua/ldump.c: Likewise.
24265 * script/lua/lfunc.c: Likewise.
24266 * script/lua/lfunc.h: Likewise.
24267 * script/lua/lgc.c: Likewise.
24268 * script/lua/lgc.h: Likewise.
24269 * script/lua/linit.c: Likewise.
24270 * script/lua/liolib.c: Likewise.
24271 * script/lua/llex.c: Likewise.
24272 * script/lua/llex.h: Likewise.
24273 * script/lua/llimits.h: Likewise.
24274 * script/lua/lmathlib.c: Likewise.
24275 * script/lua/lmem.c: Likewise.
24276 * script/lua/lmem.h: Likewise.
24277 * script/lua/loadlib.c: Likewise.
24278 * script/lua/lobject.c: Likewise.
24279 * script/lua/lobject.h: Likewise.
24280 * script/lua/lopcodes.c: Likewise.
24281 * script/lua/lopcodes.h: Likewise.
24282 * script/lua/loslib.c: Likewise.
24283 * script/lua/lparser.c: Likewise.
24284 * script/lua/lparser.h: Likewise.
24285 * script/lua/lstate.c: Likewise.
24286 * script/lua/lstate.h: Likewise.
24287 * script/lua/lstring.c: Likewise.
24288 * script/lua/lstring.h: Likewise.
24289 * script/lua/lstrlib.c: Likewise.
24290 * script/lua/ltable.c: Likewise.
24291 * script/lua/ltable.h: Likewise.
24292 * script/lua/ltablib.c: Likewise.
24293 * script/lua/ltm.c: Likewise.
24294 * script/lua/ltm.h: Likewise.
24295 * script/lua/lua.h: Likewise.
24296 * script/lua/luaconf.h: Likewise.
24297 * script/lua/lualib.h: Likewise.
24298 * script/lua/lundump.c: Likewise.
24299 * script/lua/lundump.h: Likewise.
24300 * script/lua/lvm.c: Likewise.
24301 * script/lua/lvm.h: Likewise.
24302 * script/lua/lzio.c: Likewise.
24303 * script/lua/lzio.h: Likewise.
24304
24305 2009-05-16 Bean <bean123ch@gmail.com>
24306
24307 * include/grub/kernel.h (grub_module_header_types): Add type
24308 OBJ_TYPE_CONFIG.
24309
24310 * kern/main.c (grub_load_config): New function.
24311 (grub_main): Call grub_load_config to read boot config.
24312
24313 * grub-mkimage (generate_image): New parameter config_path.
24314 (options): New option --config.
24315 (main): Parse --config option, and pass it to generate_image.
24316
24317 2009-05-14 Christian Franke <franke@computer.org>
24318
24319 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24320 This fixes build on Cygwin.
24321
24322 2009-05-14 Pavel Roskin <proski@gnu.org>
24323
24324 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24325 jump. This saves two bytes, so the typical case of 2 swapped
24326 drives would fit 32 bytes.
24327
24328 2009-05-13 Pavel Roskin <proski@gnu.org>
24329
24330 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24331 grub_uint32_t to avoid a warning.
24332
24333 * loader/i386/linux.c (allocate_pages): When assigning
24334 real_mode_mem, cast through grub_size_t to fix a warning. The
24335 code already makes sure that the value would fit a pointer.
24336 (grub_linux_setup_video): Cast render_target->data to
24337 grub_size_t to fix a warning.
24338
24339 2009-05-13 Javier Martín <lordhabbit@gmail.com>
24340
24341 * commands/i386/pc/drivemap.c: New file - implement drivemap
24342 command.
24343 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24344 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24345
24346 2009-05-13 Pavel Roskin <proski@gnu.org>
24347
24348 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24349 embedding_area_exists.
24350
24351 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24352
24353 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24354 it easier to understand / work with.
24355 Improve warning messages for cases where there's no embedding area,
24356 or when it is too small (or core.img too large).
24357
24358 2009-05-13 Pavel Roskin <proski@gnu.org>
24359
24360 * loader/i386/pc/multiboot2.c: Add necessary includes for
24361 grub_multiboot2_real_boot().
24362
24363 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24364 PX record is always little-endian. We only need the lower 2
24365 bytes of the mode.
24366
24367 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24368 facilitate code reuse.
24369 (grub_cpio_mount): Use "struct head", not a char buffer. This
24370 fixes a warning reported by gcc 4.4.
24371
24372 * kernel/disk.c (grub_disk_read): Use void pointer for the
24373 buffer.
24374 (grub_disk_write): Use const void pointer for the buffer.
24375 Adjust all callers. Remove unnecessary casts.
24376
24377 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24378
24379 * util/i386/pc/grub-install.in: Update copyright year.
24380
24381 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24382
24383 gptsync
24384
24385 * commands/gptsync.c: new file
24386 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24387 (gptsync_mod_SOURCES): new variable
24388 (gptsync_mod_CFLAGS): likewise
24389 (gptsync_mod_LDFLAGS): likewise
24390 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
24391 new definition
24392 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24394 * conf/i386-ieee1275.rmk: likewise
24395 * conf/i386-pc.rmk: likewise
24396 * conf/powerpc-ieee1275.rmk: likewise
24397
24398 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24399
24400 Fixed grub-emu
24401
24402 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24403 (grub_dl_ref): likewise
24404
24405 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24406
24407 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24408 split in two functions (one for msdos and one for gpt).
24409
24410 2009-05-08 Pavel Roskin <proski@gnu.org>
24411
24412 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24413 not modified.
24414
24415 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24416 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24417 Initialize them with -1. Add sanity check for bad1. Eliminate
24418 nerr variable.
24419
24420 2009-05-08 David S. Miller <davem@davemloft.net>
24421
24422 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24423
24424 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24425
24426 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
24427 existence.
24428
24429 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
24430
24431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24432 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
24433
24434 2009-05-05 David S. Miller <davem@davemloft.net>
24435
24436 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24437
24438 2009-05-05 Pavel Roskin <proski@gnu.org>
24439
24440 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24441 of grub_dl_ref() and grub_dl_unref().
24442 * commands/parttool.c: Remove preprocessor conditionals around
24443 grub_dl_ref() and grub_dl_unref().
24444 * fs/affs.c: Likewise.
24445 * fs/afs.c: Likewise.
24446 * fs/cpio.c: Likewise.
24447 * fs/ext2.c: Likewise.
24448 * fs/fat.c: Likewise.
24449 * fs/hfs.c: Likewise.
24450 * fs/hfsplus.c: Likewise.
24451 * fs/iso9660.c: Likewise.
24452 * fs/jfs.c: Likewise.
24453 * fs/minix.c: Likewise.
24454 * fs/ntfs.c: Likewise.
24455 * fs/reiserfs.c: Likewise.
24456 * fs/sfs.c: Likewise.
24457 * fs/udf.c: Likewise.
24458 * fs/ufs.c: Likewise.
24459 * fs/xfs.c: Likewise.
24460 * include/grub/dl.h: Likewise.
24461 * loader/xnu.c: Likewise.
24462
24463 2009-05-04 Pavel Roskin <proski@gnu.org>
24464
24465 * commands/acpi.c: Remove unused variable my_mod.
24466 * partmap/amiga.c: Likewise.
24467 * partmap/apple.c: Likewise.
24468 * partmap/gpt.c: Likewise.
24469 * partmap/pc.c: Likewise.
24470 * partmap/sun.c: Likewise.
24471 * term/gfxterm.c: Likewise.
24472 * term/i386/pc/vesafb.c: Likewise.
24473 * term/i386/pc/vga.c: Likewise.
24474
24475 2009-05-04 David S. Miller <davem@davemloft.net>
24476
24477 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24478 pointer args to grub_ieee1275_get_property().
24479
24480 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24481
24482 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24483 devices, and do not traverse down under controller nodes.
24484
24485 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24486 (grub_ofdisk_open): Use it to un-escape "," characters.
24487 * kern/disk.c (find_part_sep): New.
24488 (grub_disk_open): Use it to find the first non-escaped ','
24489 character in the disk name.
24490 * util/ieee1275/devicemap.c (escape_of_path): New.
24491 (grub_util_emit_devicemap_entry): Use it.
24492 * util/sparc64/ieee1275/grub-install.in: Update script to
24493 strip partition specifiers properly by not triggering on
24494 '\' escaped ',' characters.
24495
24496 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24497
24498 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24499 to 0x300.
24500 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24501 resolutions.
24502 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24503 on documentation from Wikipedia).
24504
24505 2009-05-04 Pavel Roskin <proski@gnu.org>
24506
24507 * disk/ata.c: Spelling fixes.
24508 * disk/raid.c: Likewise.
24509 * disk/usbms.c: Likewise.
24510 * disk/dmraid_nvidia.c: Likewise.
24511 * kern/ieee1275/openfw.c: Likewise.
24512 * kern/ieee1275/init.c: Likewise.
24513 * kern/ieee1275/cmain.c: Likewise.
24514 * boot/i386/pc/cdboot.S: Likewise.
24515 * video/readers/png.c: Likewise.
24516 * video/i386/pc/vbe.c: Likewise.
24517 * fs/udf.c: Likewise.
24518 * fs/hfs.c: Likewise.
24519 * fs/reiserfs.c: Likewise.
24520 * efiemu/runtime/efiemu.c: Likewise.
24521 * efiemu/main.c: Likewise.
24522 * efiemu/mm.c: Likewise.
24523 * include/grub/elf.h: Likewise.
24524 * include/grub/xnu.h: Likewise.
24525 * include/grub/usbdesc.h: Likewise.
24526 * include/grub/usb.h: Likewise.
24527 * include/grub/script_sh.h: Likewise.
24528 * include/grub/lib/LzmaEnc.h: Likewise.
24529 * include/grub/efiemu/efiemu.h: Likewise.
24530 * include/grub/command.h: Likewise.
24531 * normal/menu.c: Likewise.
24532 * normal/main.c: Likewise.
24533 * normal/datetime.c: Likewise.
24534 * bus/usb/uhci.c: Likewise.
24535 * mmap/i386/uppermem.c: Likewise.
24536 * mmap/mmap.c: Likewise.
24537 * commands/acpi.c: Likewise.
24538 * commands/test.c: Likewise.
24539 * partmap/apple.c: Likewise.
24540 * font/font.c: Likewise.
24541 * loader/sparc64/ieee1275/linux.c: Likewise.
24542 * loader/macho.c: Likewise.
24543 * loader/i386/bsd_trampoline.S: Likewise.
24544 * loader/i386/bsd.c: Likewise.
24545 * loader/xnu.c: Likewise.
24546 * term/i386/pc/vesafb.c: Likewise.
24547 * term/usb_keyboard.c: Likewise.
24548 * util/resolve.c: Likewise.
24549 * util/getroot.c: Likewise.
24550
24551 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24552
24553 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24554
24555 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24556
24557 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24558 build error.
24559
24560 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24561
24562 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24563 parameter only available on BIOS.
24564
24565 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24566
24567 Removed wrong semicolon in declaration
24568
24569 * grub/misc.h (grub_dprintf): remove semicolon
24570
24571 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24572
24573 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24574 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24575 is done by grub_cmd_linux() now).
24576 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24577 restore video to text mode.
24578 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24579 indicates lack of "vga=" parameter. "vga=0" is mapped to
24580 `GRUB_LINUX_VID_MODE_NORMAL'.
24581
24582 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24583
24584 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24585 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24586 and `normal/script.c'. Add `kern/rescue_reader.c',
24587 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
24588 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24589 `grub_script.tab.c'.
24590
24591 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24592 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24595 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24596
24597 * Makefile.in: Remove duplicated 2008 in Copyright line.
24598
24599 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24600
24601 * util/misc.c (grub_util_warn): New function. Emits a warning
24602 unconditionally.
24603 * include/grub/util/misc.h (grub_util_warn): New declaration.
24604
24605 * util/i386/pc/grub-install.in: Understand --force and pass it down
24606 to grub-setup.
24607
24608 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24609 down to setup().
24610 (setup): Improve error messages and add warnings when requested to
24611 install in odd layouts. Refuse to install using blocklists unless
24612 --force was set.
24613
24614 2009-05-04 martin f. krafft <madduck@madduck.net>
24615
24616 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24617
24618 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24619
24620 Updated copyright year
24621
24622 * fs/hfsplus.c: updated copyright year
24623
24624 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24625
24626 HFS+ UUID
24627
24628 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
24629 in the space previously used by unused3
24630 (grub_hfsplus_uuid): new function
24631 (grub_hfsplus_fs): added uuid field
24632
24633 2009-05-03 Pavel Roskin <proski@gnu.org>
24634
24635 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24636 suppress warnings. It's no longer needed.
24637 * disk/host.c: Likewise.
24638 * disk/ata_pthru.c: Likewise.
24639 * disk/loopback.c: Likewise.
24640 * hook/datehook.c: Likewise.
24641 * parttool/pcpart.c: Likewise.
24642 * fs/i386/pc/pxe.c: Likewise.
24643 * fs/ntfscomp.c: Likewise.
24644 * efiemu/main.c: Likewise.
24645 * mmap/mmap.c: Likewise.
24646 * commands/crc.c: Likewise.
24647 * commands/hexdump.c: Likewise.
24648 * commands/hdparm.c: Likewise.
24649 * commands/acpi.c: Likewise.
24650 * commands/echo.c: Likewise.
24651 * commands/minicmd.c: Likewise.
24652 * commands/blocklist.c: Likewise.
24653 * commands/memrw.c: Likewise.
24654 * commands/loadenv.c: Likewise.
24655 * commands/usbtest.c: Likewise.
24656 * commands/lsmmap.c: Likewise.
24657 * commands/boot.c: Likewise.
24658 * commands/parttool.c: Likewise.
24659 * commands/configfile.c: Likewise.
24660 * commands/search.c: Likewise.
24661 * commands/ieee1275/suspend.c: Likewise.
24662 * commands/cat.c: Likewise.
24663 * commands/i386/pc/pxecmd.c: Likewise.
24664 * commands/i386/pc/play.c: Likewise.
24665 * commands/i386/pc/halt.c: Likewise.
24666 * commands/i386/pc/vbeinfo.c: Likewise.
24667 * commands/i386/pc/vbetest.c: Likewise.
24668 * commands/lspci.c: Likewise.
24669 * commands/date.c: Likewise.
24670 * commands/handler.c: Likewise.
24671 * commands/ls.c: Likewise.
24672 * commands/test.c: Likewise.
24673 * commands/cmp.c: Likewise.
24674 * commands/efi/loadbios.c: Likewise.
24675 * commands/efi/fixvideo.c: Likewise.
24676 * commands/halt.c: Likewise.
24677 * commands/help.c: Likewise.
24678 * commands/reboot.c: Likewise.
24679 * hello/hello.c: Likewise.
24680 * script/sh/main.c: Likewise.
24681 * loader/xnu.c: Likewise.
24682 * term/terminfo.c: Likewise.
24683 * term/i386/pc/serial.c: Likewise.
24684 * term/usb_keyboard.c: Likewise.
24685
24686 2009-05-03 David S. Miller <davem@davemloft.net>
24687
24688 * normal/menu.c: Include grub/parser.h
24689
24690 2009-05-03 Pavel Roskin <proski@gnu.org>
24691
24692 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24693 not char*.
24694 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24695 Suggested by Javier Martín <lordhabbit@gmail.com>
24696
24697 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24698 efiemu??.o doesn't exist.
24699 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24700 copying.
24701
24702 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
24703
24704 FreeBSD 64-bit support
24705
24706 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
24707 and loader/i386/bsd_trampoline.S
24708 (bsd_mod_ASFLAGS): new variable
24709 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24710 (FREEBSD_MODTYPE_KERNEL64): likewise
24711 (grub_bsd64_trampoline_start): likewise
24712 (grub_bsd64_trampoline_end): likewise
24713 (grub_bsd64_trampoline_selfjump): likewise
24714 (grub_bsd64_trampoline_gdt): likewise
24715 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24716 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24717 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24718 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
24719 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24720 of "attrib" member
24721 * loader/i386/bsd_pagetable.c: new file
24722 * loader/i386/bsd_trampoline.S: likewise
24723 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24724 (ALIGN_VAR): likewise
24725 (entry_hi): new variable
24726 (kern_end_mdofs): likewise
24727 (is_64bit): likewise
24728 (grub_freebsd_add_meta): use ALIGN_VAR
24729 (grub_e820_mmap): new declaration
24730 (grub_freebsd_add_mmap): new function
24731 (grub_freebsd_add_meta_module): support 64 bit kernels
24732 (grub_freebsd_list_modules): use ALIGN_VAR
24733 (gdt_descriptor): new declaration
24734 (grub_freebsd_boot): support 64 bit kernels
24735 (grub_bsd_elf64_hook): new function
24736 (grub_bsd_load_elf): support elf64
24737
24738 2009-05-03 Bean <bean123ch@gmail.com>
24739
24740 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24741 after we get the result of if statement.
24742
24743 2009-05-03 Bean <bean123ch@gmail.com>
24744
24745 * Makefile.in (enable_efiemu): New variable.
24746
24747 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24748 set.
24749 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24750 path.
24751 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24752 path, add -mno-red-zone option.
24753 (efiemu64_s.o): Likewise.
24754 (efiemu64.o): Use macro $^ for source file.
24755
24756 * configure.ac (--enable-efiemu): New option.
24757
24758 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24759
24760 xnu support
24761
24762 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24763 (pkglib_MODULES): add xnu.mod
24764 (xnu_mod_SOURCES): new variable
24765 (xnu_mod_CFLAGS): likewise
24766 (xnu_mod_LDFLAGS): likewise
24767 (xnu_mod_ASFLAGS): likewise
24768 * conf/i386-pc.rmk: likewise
24769 * conf/x86_64-efi.rmk: likewise
24770 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
24771 new declaration
24772 * include/grub/i386/macho.h: new file
24773 * include/grub/i386/xnu.h: likewise
24774 * include/grub/macho.h: likewise
24775 * include/grub/machoload.h: likewise
24776 * include/grub/x86_64/macho.h: likewise
24777 * include/grub/x86_64/xnu.h: likewise
24778 * include/grub/xnu.h: likewise
24779 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24780 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24781 * loader/i386/efi/xnu.c: new file
24782 * loader/i386/pc/xnu.c: likewise
24783 * loader/i386/xnu.c: likewise
24784 * loader/i386/xnu_helper.S: likewise
24785 * loader/macho.c: likewise
24786 * loader/xnu.c: likewise
24787 * loader/xnu_resume.c: likewise
24788 * util/grub-dumpdevtree: likewise
24789 * include/grub/i386/pit.h: include grub/err.h
24790 (grub_pit_wait): export
24791 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
24792
24793 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24794
24795 Efiemu
24796
24797 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
24798 _linux_efi, linux_efi.
24799 new files in grub-emu
24800 new targets efiemu32.o and efiemu64.o
24801 * loader/linux_normal_efiemu.c: likewise
24802 * loader/i386/efi/linux.c: added preliminary efiemu support
24803 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24804 files to copy
24805 * include/grub/autoefi.h: new file
24806 * include/grub/i386/efiemu.h: likewise
24807 * include/grub/i386/pc/efiemu.h: likewise
24808 * include/grub/efi/api.h: add LL suffix when necessary
24809 new definitions relating to tables
24810 * include/grub/efiemu/efiemu.h: new file
24811 * include/grub/efiemu/runtime.h: likewise
24812 * efiemu/prepare.c: likewise
24813 * efiemu/loadcore_common.c: likewise
24814 * efiemu/loadcore64.c: likewise
24815 * efiemu/runtime/efiemu.sh: likewise
24816 * efiemu/runtime/efiemu.S: likewise
24817 * efiemu/runtime/efiemu.c: likewise
24818 * efiemu/runtime/config.h: likewise
24819 * efiemu/prepare32.c: likewise
24820 * efiemu/main.c: likewise
24821 * efiemu/modules/pnvram.c: likewise
24822 * efiemu/modules/i386: likewise
24823 * efiemu/modules/i386/pc: likewise
24824 * efiemu/modules/acpi.c: likewise
24825 * efiemu/i386/pc/cfgtables.c: likewise
24826 * efiemu/i386/loadcore64.c: likewise
24827 * efiemu/i386/loadcore32.c: likewise
24828 * efiemu/prepare64.c: likewise
24829 * efiemu/loadcore.c: likewise
24830 * efiemu/symbols.c: likewise
24831 * efiemu/mm.c: likewise
24832 * efiemu/loadcore32.c: likewise
24833
24834 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24835
24836 ACPI spoofing
24837
24838 * commands/acpi.c: new file
24839 * commands/i386/pc/acpi.c: likewise
24840 * commands/efi/acpi.c: likewise
24841 * include/grub/acpi.h: likewise
24842 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24843 (acpi_mod_SOURCES): new variable
24844 (acpi_mod_CFLAGS): likewise
24845 (acpi_mod_LDFLAGS): likewise
24846 * conf/i386-efi.rmk: likewise
24847 * conf/x86_64-efi.rmk: likewise
24848
24849 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24850
24851 Missing part from mmap patch
24852
24853 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24854 (grub_mmap_unregister)
24855 (grub_mmap_free_and_unregister): use grub_mmap_register
24856
24857 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24858
24859 Mmap services
24860
24861 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24862 * loader/i386/linux.c (find_mmap_size): likewise
24863 (allocate_pages): likewise
24864 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24865 (grub_fill_multiboot_mmap): likewise
24866 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24867 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24868 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24869 (OPENBSD_MMAP_RESERVED): likewise
24870 * include/grub/i386/pc/memory.h: include grub/memory.h
24871 (grub_lower_mem): removed
24872 (grub_upper_mem): likewise
24873 (GRUB_MACHINE_MEMORY_ACPI): new definition
24874 (GRUB_MACHINE_MEMORY_NVS): likewise
24875 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24876 (GRUB_MACHINE_MEMORY_HOLE): likewise
24877 (grub_machine_mmap_register): likewise
24878 (grub_machine_mmap_unregister): likewise
24879 (grub_machine_get_upper): likewise
24880 (grub_machine_get_lower): likewise
24881 (grub_machine_get_post64): likewise
24882 * include/grub/i386/efi/memory.h: new file
24883 * include/grub/x86_64/efi/memory.h: likewise
24884 * include/grub/efi/memory.h: likewise
24885 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24886 (mmap_mod_SOURCES): new variable
24887 (mmap_mod_LDFLAGS): likewise
24888 (mmap_mod_ASFLAGS): likewise
24889 * conf/i386-coreboot.rmk: likewise
24890 * conf/i386-ieee1275.rmk: likewise
24891 * conf/i386-efi.rmk: likewise
24892 * conf/x86_64-efi.rmk: likewise
24893 * include/grub/types.h (UINT_TO_PTR): new macro
24894 (PTR_TO_UINT32): likewise
24895 (PTR_TO_UINT64): likewise
24896 * include/grub/memory.h: new file
24897 * mmap/i386/pc/mmap.c: likewise
24898 * mmap/i386/pc/mmap_helper.S: likewise
24899 * mmap/i386/uppermem.c: likewise
24900 * mmap/mmap.c: likewise
24901 * mmap/efi/mmap.c: likewise
24902 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24903 grub_upper_mem
24904 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24905 (grub_upper_mem): likewise
24906 (grub_machine_init): don't use grub_upper_mem,
24907 make grub_lower_mem local
24908 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24909 grub_mmap_iterate and grub_mmap_get_upper
24910 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24911
24912 2009-05-02 Bean <bean123ch@gmail.com>
24913
24914 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24915 script/sh/parser.y.
24916 (pkglib_MODULES): Add normal.mod and sh.mod.
24917 (normal_SOURCES): New variable.
24918 (normal_mod_CFLAGS): Likewise.
24919 (normal_mod_LDFLAGS): Likewise.
24920 (sh_mod_SOURCES): Likewise.
24921 (sh_mod_CFLAGS): Likewise.
24922 (sh_mod_LDFLAGS): Likewise.
24923
24924 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24925 script/sh/lexer.c_DEPENDENCIES.
24926 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24927 kern/rescue_reader.c and kern/rescue_parser.c.
24928 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24929 (grub_emu_SOURCES): Change source files.
24930 (pkglib_MODULES): Remove normal.mod.
24931 (normal_SOURCES): Removed.
24932 (normal_mod_CFLAGS): Likewise.
24933 (normal_mod_LDFLAGS): Likewise.
24934 * conf/i386-coreboot.rmk: Likewise.
24935 * conf/i386-efi.rmk: Likewise.
24936 * conf/i386-ieee1276.rmk: Likewise.
24937 * conf/powerpc-ieee1275.rmk: Likewise.
24938 * conf/sparc64-ieee1275.rmk: Likewise.
24939 * conf/x86_64-efi.rmk: Likewise.
24940
24941 * include/grub/command.h (grub_command_execute): New inline function.
24942
24943 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24944
24945 * include/grub/normal.h: Remove <grub/setjmp.h>.
24946 (grub_fs_module_list): Moved to normal/autofs.c.
24947 (grub_exit_env): Removed.
24948 (grub_command_execute): Likewise.
24949 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24950 parameter script.
24951 (read_command_list): New function declaration.
24952 (read_fs_list): Likewise.
24953
24954 * include/parser.h: Include <grub/reader.h>.
24955 (grub_parser_split_cmdline): Change type of getline parameter.
24956 (grub_parser): New structure.
24957 (grub_parser_class): New variable.
24958 (grub_parser_execute): New function declaration.
24959 (grub_register_rescue_parser): Likewise.
24960 (grub_parser_register): New inline function.
24961 (grub_parser_unregister): Likewise.
24962 (grub_parser_get_current): Likewise.
24963 (grub_parser_set_current): Likewise.
24964
24965 * include/grub/reader.h: New file.
24966 * kern/reader.c: Likewise.
24967 * kern/rescue_parser.c: Likewise.
24968 * kern/rescue_reader.c: Likewise.
24969 * normal/autofs.c: Likewise.
24970 * normal/dyncmd.c: Likewise.
24971
24972 * include/grub/rescue.h: Removed.
24973 * normal/command.h: Likewise.
24974
24975 * include/grub/script.h: Moved to ...
24976 * include/grub/script_sh.h: ... Moved here.
24977 * normal/execute.c: Moved to ...
24978 * script/sh/execute.c: ... Moved here.
24979 * normal/function.c: Moved to ...
24980 * script/sh/function.c: ... Moved here.
24981 * normal/lexer.c: Moved to ...
24982 * script/sh/lexer.c: ... Moved here.
24983 * normal/parser.y: Moved to ...
24984 * script/sh/parser.y: ... Moved here.
24985 * normal/script.c: Moved to ...
24986 * script/sh/script.c: ... Moved here.
24987
24988 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24989 <grub/reader.h>.
24990 (grub_exit_env): Removed.
24991 (fs_module_list): Moved to normal/autofs.c.
24992 (grub_file_getline): Don't handle comment here.
24993 (free_menu): Skip removed field entry->commands.
24994 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24995 script parameter.
24996 (read_config_file): Removed nested parameter, change getline function.
24997 (grub_enter_normal_mode): Removed.
24998 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24999 (read_command_list): Likewise.
25000 (autoload_fs_module): Moved to normal/autofs.c.
25001 (read_fs_list): Likewise.
25002 (reader_nested): New variable.
25003 (grub_normal_execute): Run parser.sh to switch to sh parser.
25004 (grub_cmd_rescue): Removed.
25005 (cmd_normal): Removed.
25006 (grub_cmd_normal): Unregister itself at the beginning. Don't register
25007 rescue command.
25008 (grub_cmdline_run): New function.
25009 (grub_normal_reader_init): Likewise.
25010 (grub_normal_read_line): Likewise.
25011 (grub_env_write_pager): Likewise.
25012 (cmdline): New variable.
25013 (grub_normal_reader): Likewise.
25014 (GRUB_MOD_INIT): Register normal reader and set as current, register
25015 pager hook, register normal command with grub_register_command_prio,
25016 so that it won't show up in command.lst.
25017 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
25018 grub_fs_autoload_hook.
25019
25020 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
25021 (grub_menu_execute_entry): Replace grub_script_execute with
25022 grub_parser_execute, change parameter to grub_command_execute.
25023
25024 * normal/menu_text.c: Remove <grub/script.h>.
25025
25026 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
25027 and <grub/parser.h>.
25028 (run): Change editor_getline to use new parser interface. Change
25029 parameter to grub_command_execute.
25030
25031 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
25032 <grub/reader.h> and <grub/parser.h>.
25033 (grub_load_normal_mode): Execute normal command.
25034 (grub_main): Call grub_register_core_commands,
25035 grub_register_rescue_parser and grub_register_rescue_reader, use
25036 grub_reader_loop to enter input loop.
25037
25038 * kern/parser.c (grub_parser_split_cmdline): Change type of
25039 getline parameter.
25040 (grub_parser_class): New variable.
25041 (grub_parser_execute): New function.
25042
25043 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
25044 * loader/multiboot2.c: Likewise.
25045 * loader/sparc64/ieee1275/linux.c: Likewise.
25046
25047 * util/grub-emu.c (read_command_list): New dummy function.
25048
25049 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25050
25051 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
25052 count to 16 for CCISS and IDA.
25053
25054 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25055
25056 * normal/menu_text.c (grub_wait_after_message): Print a newline
25057 after waiting for user input.
25058
25059 * loader/i386/linux.c: Include `<grub/normal.h>'.
25060 (grub_cmd_linux): Improve the error message about `ask' mode, by
25061 waiting for user input so it's not missed (we can do this, since
25062 user requested interaction).
25063
25064 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25065
25066 Added missing lst to grub-mkrescue
25067
25068 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
25069 and ${input_dir}/parttool.lst
25070
25071 2009-04-30 David S. Miller <davem@davemloft.net>
25072
25073 * util/hostdisk.c (device_is_wholedisk): New function.
25074 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
25075 zero only if device_is_wholedisk() returns true.
25076
25077 * util/hostdisk.c (convert_system_partition_to_system_disk):
25078 Handle virtual disk devices named /dev/vdiskX as found on sparc
25079 and powerpc.
25080
25081 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
25082 lettered partition specifier is found, convert to numbered.
25083
25084 2009-04-29 David S. Miller <davem@davemloft.net>
25085
25086 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
25087 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25088
25089 * normal/command.c: Add missing newline at end of file.
25090
25091 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
25092 warnings.
25093 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
25094 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
25095 grub_ofdisk_read): Likewise, and deal similarly with the fact that
25096 ihandles have a 32-bit type but need to be stored in a "void *".
25097
25098 2009-04-28 Pavel Roskin <proski@gnu.org>
25099
25100 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
25101 not disk. Adjust all dependencies.
25102 (grub_fs_uuid_close): Use grub_device_close(), not
25103 grub_disk_close().
25104
25105 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
25106 parent's partition, don't copy it by reference, as it gets freed
25107 on close.
25108
25109 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25110
25111 Preboot hooks support
25112
25113 * commands/boot.c (struct grub_preboot_t): new declaration
25114 (preboots_head): new variable
25115 (preboots_tail): likewise
25116 (grub_loader_register_preboot_hook): new function
25117 (grub_loader_unregister_preboot_hook): likewise
25118 (grub_loader_set): launch preboot hooks
25119 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
25120 (grub_loader_register_preboot_hook): new declaration
25121 (grub_loader_unregister_preboot_hook): likewise
25122
25123 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25124
25125 Warning fix
25126
25127 * disk/scsi.c (grub_scsi_open): added missing cast when
25128 calling grub_dprintf
25129
25130 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
25131
25132 Bug and warning fixes
25133
25134 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
25135 declaration
25136 * commands/test.c (test_parse): fixed bug with file tests and corrected
25137 declaration of find_file
25138
25139 2009-04-26 Pavel Roskin <proski@gnu.org>
25140
25141 * Makefile.in: Don't install empty manual pages if help2man is
25142 missing. Use help2man option for output, not shell redirection.
25143
25144 2009-04-26 David S. Miller <davem@davemloft.net>
25145
25146 * util/grub-mkdevicemap.c (make_device_map): Add missing
25147 NESTED_FUNC_ATTR to process_device().
25148
25149 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25150
25151 Test command
25152
25153 * commands/test.c: rewritten to use bash-like test
25154
25155 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25156
25157 Parttool autoloading and improvements
25158
25159 * Makefile.in (pkglib_DATA): add parttool.lst
25160 (parttool.lst): new target
25161 * genmk.rb: generate parttool-*
25162 (CLEANFILES): add #{parttool}
25163 (PARTTOOLFILES): new variable
25164 * genparttoollist.sh: new file
25165 * parttool/pcpart.c (grub_pcpart_boot): more feedback
25166 (grub_pcpart_type): likewise
25167 * commands/parttool.c (helpmsg): new variable
25168 (grub_cmd_parttool): output help if not enough arguments are supplied
25169 autoload modules
25170 (GRUB_MOD_INIT(parttool)): use helpmsg
25171
25172 2009-04-24 David S. Miller <davem@davemloft.net>
25173
25174 Avoiding opening same device multiple times in device iterator.
25175
25176 * kern/device.c: (grub_device_iterate): Define struct part_ent,
25177 and use it to build a list of partitions in iterate_disk() and
25178 iterate_partition().
25179
25180 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
25181 on disk->data.
25182
25183 * disk/ieee1275/nand.c (grub_nand_iterate): Return
25184 grub_devalias_iterate() result instead of unconditional 0.
25185 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
25186 Also, capture hook return value, either directly or via
25187 grub_children_iterate(), and propagate to caller.
25188 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
25189 grub_children_iterate): Return value is now 'int' instead of
25190 'grub_err_t'.
25191 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
25192 like a proper iterator, stopping when hooks return non-zero.
25193 (grub_devalias_iterate): Likewise.
25194
25195 2009-04-23 David S. Miller <davem@davemloft.net>
25196
25197 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
25198
25199 2009-04-22 David S. Miller <davem@davemloft.net>
25200
25201 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
25202 is larger than address_cells, use that value for address_cells too.
25203
25204 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
25205 IEEE1275_MAX_PATH_LEN): Define.
25206 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
25207 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
25208 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
25209 'devtype'. Explicitly NULL terminate devalias expansion.
25210
25211 * util/sparc64/ieee1275/misc.c: New file.
25212 * util/sparc64/ieee1275/grub-setup.c: New file.
25213 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
25214 * util/sparc64/ieee1275/grub-mkimage.c: New file.
25215 * util/sparc64/ieee1275/grub-install.in: New file.
25216 * util/ieee1275/ofpath.c: New file.
25217 * util/ieee1275/devicemap.c: New file.
25218 * util/devicemap.c: New file.
25219 * util/deviceiter.c: New file.
25220 * kern/sparc64/ieee1275/init.c: New file.
25221 * include/grub/util/ofpath.h: New file.
25222 * include/grub/util/deviceiter.h: New file.
25223 * util/grub-mkdevicemap.c: Include deviceiter.h.
25224 Implement using grub_util_emit_devicemap_entry and
25225 grub_util_iterate_devices.
25226 * conf/i386-corebook.rmk: Build util/deviceiter.c and
25227 util/devicemap.c into grub-mkdevicemap
25228 * conf/i386-efi.rmk: Likewise.
25229 * conf/i386-ieee1275.rmk: Likewise.
25230 * conf/i386-pc.rmk: Likewise.
25231 * conf/powerpc-ieee1275.rmk: Likewise.
25232 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
25233 images and installation utilities. Build kernel as image
25234 instead of as elf binary. Use common rules as much as possible.
25235
25236 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25237
25238 Correct GPT definition
25239
25240 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
25241 of "attrib" member
25242
25243 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
25244
25245 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
25246
25247 2009-04-19 David S. Miller <davem@davemloft.net>
25248
25249 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
25250 (grub_rescue_cmd_linux): Rename to...
25251 (grub_cmd_linux): and fix prototype.
25252 (grub_rescue_cmd_initrd): Rename to...
25253 (grub_cmd_initrd): and fix prototype.
25254 (cmd_linux, cmd_initrd): New.
25255 (GRUB_MOD_INIT(linux)): Use grub_register_command().
25256 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
25257
25258 2009-04-17 Pavel Roskin <proski@gnu.org>
25259
25260 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
25261 format.
25262 (grub_ohci_transfer): Likewise.
25263
25264 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
25265
25266 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
25267 return without a value. Fix inconsistent indentation.
25268
25269 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
25270 match struct grub_fs.
25271
25272 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
25273 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
25274 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25275 * commands/lspci.c (grub_lspci_iter): Likewise.
25276
25277 2009-04-16 Bean <bean123ch@gmail.com>
25278
25279 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
25280 value.
25281
25282 2009-04-15 Pavel Roskin <proski@gnu.org>
25283
25284 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
25285 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
25286 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
25287 definitions.
25288
25289 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
25290
25291 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
25292 that no multiple data or metadata areas are supported and `Unknown
25293 metadata header'.
25294
25295 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25296
25297 Move loader out of the kernel
25298
25299 * kern/loader.c: moved to ...
25300 * commands/boot.c: ... moved here
25301 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25302 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25303 * include/grub/kernel.h (grub_machine_fini): export
25304 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25305 (grub_loader_set): likewise
25306 (grub_loader_unset): likewise
25307 (grub_loader_boot): likewise
25308 * conf/common.rmk: new module boot.mod
25309 (pkglib_MODULES): add boot.mod
25310 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25311 (grub_emu_SOURCES): likewise
25312 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25313 (grub_emu_SOURCES): likewise
25314 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25315 (grub_emu_SOURCES): likewise
25316 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25317 (grub_emu_SOURCES): likewise
25318 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25319 (grub_emu_SOURCES): likewise
25320 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25321 (grub_emu_SOURCES): likewise
25322 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
25323 (grub_emu_SOURCES): likewise
25324
25325 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25326
25327 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
25328
25329 * kern/misc.c (grub_itoa): Removed function
25330 (grub_ltoa): likewise
25331 (grub_vsprintf): use grub_lltoa
25332
25333 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25334
25335 Restore grub-emu
25336
25337 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25338 * conf/i386-coreboot.rmk: likewise
25339 * conf/i386-ieee1275.rmk: likewise
25340 * conf/powerpc-ieee1275.rmk: likewise
25341
25342 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
25343
25344 * INSTALL: Add that `./autogen.sh' needs to be run before
25345 `./configure.'.
25346
25347 2009-04-14 Bean <bean123ch@gmail.com>
25348
25349 * Makefile.in (pkglib_DATA): Add handler.lst.
25350 (handler.lst): New rule.
25351
25352 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25353 * conf/i386-coreboot.rmk: Likewise.
25354 * conf/i386-ieee1275.rmk: Likewise.
25355 * conf/i386-efi.rmk: Likewise.
25356 * conf/x86_64-efi.rmk: Likewise.
25357 * conf/powerpc-ieee1275.rmk: Likewise.
25358 * conf/sparc64-ieee1275.rmk: Likewise.
25359
25360 * genhandlerlist.sh: New file.
25361
25362 * genmk.rb: Add rules to generate handler.lst.
25363
25364 * include/grub/normal.h (grub_file_getline): New function definition.
25365 (read_handler_list): Likewise.
25366 (free_handler_list): Likewise.
25367
25368 * include/grub/term.h (grub_term_register_input): Add name parameter
25369 for auto generation of handler.lst.
25370 (grub_term_register_output): Likewise.
25371
25372 * normal/handler.c: New file.
25373
25374 * normal/main.c (get_line): Renamed to grub_file_getline.
25375 (read_config_file): Use the newly renamed grub_file_getline.
25376 (read_command_list): Likewise.
25377 (read_fs_list): Likewise.
25378 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25379 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25380
25381 * term/efi/console.c (grub_console_init): Add name parameter for auto
25382 generation of handler.lst.
25383 * term/gfxterm.c: Likewise.
25384 * term/i386/pc/at_keyboard.c: Likewise.
25385 * term/i386/pc/console.c: Likewise.
25386 * term/i386/pc/serial.c: Likewise.
25387 * term/i386/pc/vesafb.c: Likewise.
25388 * term/i386/pc/vga.c: Likewise.
25389 * term/i386/pc/vga_text.c: Likewise.
25390 * term/ieee1275/ofconsole.c: Likewise.
25391 * term/usb_keyboard.c: Likewise.
25392
25393 2009-04-14 Bean <bean123ch@gmail.com>
25394
25395 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25396 properly with null character.
25397
25398 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
25399
25400 * configure: Remove.
25401 * config.h.in: Likewise.
25402 * stamp-h.in: Likewise.
25403 * DISTLIST: Likewise.
25404 * conf/common.mk: Likewise.
25405 * conf/i386-coreboot.mk: Likewise.
25406 * conf/i386-efi.mk: Likewise.
25407 * conf/i386-ieee1275.mk: Likewise.
25408 * conf/i386.mk: Likewise.
25409 * conf/i386-pc.mk: Likewise.
25410 * conf/powerpc-ieee1275.mk: Likewise.
25411 * conf/sparc64-ieee1275.mk: Likewise.
25412 * conf/x86_64-efi.mk: Likewise.
25413
25414 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25415 develop on GRUB.
25416
25417 2009-04-14 John Stanley <jpsinthemix@verizon.net>
25418 David S. Miller <davem@davemloft.net>
25419
25420 * util/hostdisk.c (make_device_name): Fix buffer length
25421 calculations.
25422
25423 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
25424
25425 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25426 <sys/param.h> and <sys/sysctl.h>.
25427 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25428 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25429 opening the device and reset them afterwards.
25430
25431 2009-04-13 Pavel Roskin <proski@gnu.org>
25432
25433 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25434 Reported by John Stanley <jpsinthemix@verizon.net>
25435
25436 2009-04-13 Robert Millan <rmh@aybabtu.com>
25437
25438 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
25439 that name for menuentries when appropriate.
25440
25441 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25442
25443 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25444
25445 2009-04-13 Robert Millan <rmh@aybabtu.com>
25446
25447 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25448 to Linux, simply abort telling the user it's no longer supported.
25449
25450 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25451
25452 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
25453 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
25454 `freebsd_loadenv' only when devices.hints exist.
25455
25456 2009-04-13 Pavel Roskin <proski@gnu.org>
25457
25458 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25459
25460 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25461
25462 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25463 partition number.
25464 (grub_drive): Likewise.
25465
25466 2009-04-13 David S. Miller <davem@davemloft.net>
25467
25468 * kern/sparc64/ieee1275/ieee1275.c: New file.
25469 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25470 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25471 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25472 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25473 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25474 grub_ieee1275_alloc_physmem): Declare new exported functions.
25475
25476 * include/grub/sparc64/ieee1275/loader.h: New file.
25477 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25478 * include/grub/sparc64/kernel.h: Likewise.
25479 * loader/sparc64/ieee1275/linux.c: Likewise.
25480
25481 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25482 (grub_fstest_SOURCES): Likewise.
25483
25484 * util/hostdisk.c (make_device_name): Do not make any assumptions
25485 about the length of drive names.
25486
25487 * kern/dl.c (grub_dl_load_file): Close file immediately when
25488 we are done using it.
25489
25490 2009-04-12 David S. Miller <davem@davemloft.net>
25491
25492 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25493 values. Noticed by Pavel Roskin.
25494
25495 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25496 target compiler.
25497
25498 * genmk.rb: Add more flexible image type specification, also
25499 pass --strip-unneeded to objcopy.
25500 * conf/i386-pc.rmk: Use *_FORMAT.
25501 * conf/i386-pc.mk: Rebuilt.
25502
25503 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25504 (OFDISK_HASH_SZ): Define.
25505 (ofdisk_hash): New hash table.
25506 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25507 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25508 instead of device phandle which is not unique.
25509
25510 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25511 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25512 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25513 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25514 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25515 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25516 GRUB_KERNEL_MACHINE_DATA_END): Define.
25517 (grub_kernel_image_size, grub_total_module_size): Declare.
25518
25519 2009-04-12 Pavel Roskin <proski@gnu.org>
25520
25521 * configure.ac: Change the logic when we check for target tools.
25522 Do it when the target is specified and it's different from the
25523 specified value of the host.
25524
25525 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
25526
25527 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25528 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25529 GNU/kFreeBSD. Check if a device is a character device. Use
25530 DIOCGMEDIASIZE to get the size.
25531 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25532 support for GNU/kFreeBSD.
25533 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25534 is a character device instead of a block device. Add support for
25535 FreeBSD device names.
25536
25537 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25538 is a character device instead of a block device.
25539
25540 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25541 is a character device instead of a block device.
25542
25543 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25544
25545 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25546 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25547 FreeBSD. Check if a device is a character device. Use
25548 DIOCGMEDIASIZE to get the size.
25549 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25550 support for FreeBSD.
25551 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25552 is a character device instead of a block device. Add support for
25553 FreeBSD device names.
25554
25555 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25556 a character device instead of a block device.
25557 (grub_util_check_char_device): New function.
25558
25559 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25560 a character device instead of a block device.
25561
25562 * include/grub/util/getroot.h (grub_util_check_char_device): New
25563 prototype.
25564
25565 2009-04-11 David S. Miller <davem@davemloft.net>
25566
25567 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25568 static libgcc.
25569 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25570 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25571 function, if present.
25572 (__bswapdi2): Likewise.
25573
25574 * include/grub/sparc64/ieee1275/boot.h: New file.
25575 * boot/sparc64/ieee1275/boot.S: Likewise.
25576 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25577
25578 * kern/misc.c (grub_ltoa): New function.
25579 (grub_vsprintf): Use it to format 'long' integers.
25580
25581 2009-04-10 David S. Miller <davem@davemloft.net>
25582
25583 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25584 slots are of type grub_ieee1275_cell_t.
25585 (grub_nand_read): Likewise.
25586 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25587 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25588 macros are used to compare values in arg/ret block of the call.
25589 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25590 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25591 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25592 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25593 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25594 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25595 grub_ieee1275_close, grub_ieee1275_set_property,
25596 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25597 grub_ieee1275_cell_t.
25598 * kern/ieee1275/openfw.c (grub_map): Likewise.
25599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25600 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25601
25602 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25603 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25604 (grub_devalias_iterate): Likewise.
25605
25606 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25607
25608 UFS improvements
25609
25610 * fs/ufs.c (INODE_NBLOCKS): new definition
25611 (struct grub_ufs_dirent): added fields for non-BSD dirents
25612 (grub_ufs_get_file_block): fixed double indirect handling
25613 (grub_ufs_lookup_symlink): use more robust way to determine whether
25614 symlink is inline
25615 (grub_ufs_find_file): support for non-BSD dirents
25616 (grub_ufs_dir): support for non-BSD dirents
25617
25618 2009-04-10 Bean <bean123ch@gnail.com>
25619
25620 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25621 attribute, otherwise the size would be wrong for i386 platform.
25622
25623 * include/grub/pci.h (grub_pci_read_word): New inline function.
25624 (grub_pci_read_byte): Likewise.
25625 (grub_pci_write): Likewise.
25626 (grub_pci_write_word): Likewise.
25627 (grub_pci_write_byte): Likewise.
25628
25629 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25630
25631 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25632 (find_framebuf): Scan pci to locate the frame buffer address.
25633
25634 * commands/efi/fixvideo.c: New file.
25635
25636 * commands/efi/loadbios.c: Likewise.
25637
25638 * commands/memrw.c: Likewise.
25639
25640 * util/grub-dumpbios.in: Likewise.
25641
25642 * conf/common.rmk (grub-dumpbios): New utility.
25643 (pkglib_MODULES): New module memrw.mod.
25644 (memrw_mod_SOURCE): New macro.
25645 (memrw_mod_CFLAGS): Likewise.
25646 (memrw_mod_LDFLAGS): Likewise.
25647
25648 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
25649 fixvideo.mod.
25650 (loadbios_mod_SOURCE): New macro.
25651 (loadbios_mod_CFLAGS): Likewise.
25652 (loadbios_mod_LDFLAGS): Likewise.
25653 (fixvideo_mod_SOURCE): Likewise.
25654 (fixvideo_mod_CFLAGS): Likewise.
25655 (fixvideo_mod_LDFLAGS): Likewise.
25656
25657 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
25658 fixvideo.mod.
25659 (loadbios_mod_SOURCE): New macro.
25660 (loadbios_mod_CFLAGS): Likewise.
25661 (loadbios_mod_LDFLAGS): Likewise.
25662 (fixvideo_mod_SOURCE): Likewise.
25663 (fixvideo_mod_CFLAGS): Likewise.
25664 (fixvideo_mod_LDFLAGS): Likewise.
25665
25666 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
25667
25668 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25669
25670 2009-04-07 David S. Miller <davem@davemloft.net>
25671
25672 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25673 support for R_SPARC_OLO10 relocations. Fix compile warning for
25674 R_SPARC_WDISP30 case.
25675 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
25676
25677 2009-04-06 Pavel Roskin <proski@gnu.org>
25678
25679 * include/grub/misc.h (ARRAY_SIZE): New macro.
25680 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25681 New macro.
25682 * loader/i386/linux.c (allocate_pages): Use free_pages().
25683 (grub_linux_unload): Don't use free_pages().
25684 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25685 wrong index. Treat all other modes as text modes.
25686 (grub_cmd_linux): Initialize vid_mode unconditionally to
25687 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25688
25689 * commands/help.c (print_command_help): Use cmd->prio, not
25690 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25691
25692 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25693
25694 Parttool
25695
25696 * parttool/pcpart.c: new file
25697 * commands/parttool.c: likewise
25698 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25699 (parttool_mod_SOURCES): new variable
25700 (parttool_mod_CFLAGS): likewise
25701 (parttool_mod_LDFLAGS): likewise
25702 (pcpart_mod_SOURCES): likewise
25703 (pcpart_mod_CFLAGS): likewise
25704 (pcpart_mod_LDFLAGS): likewise
25705 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
25706 and parttool/pcpart.c
25707 * conf/i386-efi.rmk: likewise
25708 * conf/i386-ieee1275.rmk: likewise
25709 * conf/i386-pc.rmk: likewise
25710 * conf/powerpc-ieee1275.rmk: likewise
25711 * conf/sparc64-ieee1275.rmk: likewise
25712 * conf/x86_64-ieee1275.rmk: likewise
25713
25714 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25715
25716 Support for mtime and further expandability of dir command
25717
25718 * include/grub/lib/datetime.h: moved to ...
25719 * include/grub/datetime.h: ... moved here and added
25720 declaration of grub_unixtime2datetime. All users updated
25721 * include/grub/fs.h: new syntax for dir and mtime functions in
25722 struct grub_fs
25723 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25724 and GRUB_FSHELP_FLAGS_MASK
25725 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25726 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25727 (grub_ext2_mtime): new function
25728 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25729 (grub_hfsplus_mtime): new function
25730 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25731 (GRUB_UFS_ATTR_FILE): likewise
25732 (GRUB_UFS_ATTR_LNK): likewise
25733 (struct grub_ufs_sblock): new fields mtime
25734 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25735 all users updated
25736 (grub_ufs_dir): mtime support
25737 (grub_ufs_mtime): new function
25738 * fs/affs.c (grub_affs_dir): use new dir syntax
25739 * fs/afs.c (grub_afs_dir): likewise
25740 * fs/cpio.c (grub_cpio_dir): likewise
25741 * fs/fat.c (grub_fat_find_dir): likewise
25742 * fs/hfs.c (grub_hfs_dir): likewise
25743 * fs/iso9660.c (grub_iso9660_dir): likewise
25744 * fs/jfs.c (grub_jfs_dir): likewise
25745 * fs/minix.c (grub_minix_dir): likewise
25746 * fs/ntfs.c (grub_ntfs_dir): likewise
25747 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25748 * fs/sfs.c (grub_sfs_dir): likewise
25749 * fs/xfs.c (grub_xfs_dir): likewise
25750 * util/hostfs.c (grub_hostfs_dir): likewise
25751 * lib/datetime.c: moved to ...
25752 * normal/datetime.c: ... moved here
25753 (grub_unixtime2datetime): new function
25754 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
25755 * normal/completion.c (iterate_dir): use new dir syntax
25756 * normal/misc.c (grub_normal_print_device_info): tell the
25757 last modification time of a volume
25758 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
25759 * conf/common.rmk: added lib/datetime.c to ls.mod
25760 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
25761 (normal_mod_SOURCES): likewise
25762 (datetime_mod_SOURCES): Removed lib/datetime.c
25763 * conf/i386-efi.rmk: likewise
25764 * conf/i386-ieee1275.rmk: likewise
25765 * conf/i386-pc.rmk: likewise
25766 * conf/powerpc-ieee1275.rmk: likewise
25767 * conf/sparc64-ieee1275.rmk: likewise
25768 * conf/x86_64-efi.rmk: likewise
25769
25770 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25771
25772 Trim trailing spaces in FAT label and support mtools-like labels
25773
25774 * fs/fat.c (grub_fat_iterate_dir): New function based
25775 on grub_fat_find_dir
25776 (grub_fat_find_dir): use grub_fat_iterate_dir
25777 (grub_fat_label): likewise
25778
25779 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25780
25781 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
25782 and command.h
25783 remove extraneous kernel_elf_HEADERS
25784
25785 2009-04-04 Bean <bean123ch@gnail.com>
25786
25787 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25788
25789 * util/misc.c: Likewise.
25790
25791 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25792
25793 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25794 instead of grub_printf.
25795
25796 2009-04-03 Robert Millan <rmh@aybabtu.com>
25797
25798 * loader/i386/linux.c (grub_linux_setup_video): Fill
25799 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25800 values from `mode info' structure instead of hardcoded
25801 values.
25802
25803 2009-04-01 Pavel Roskin <proski@gnu.org>
25804
25805 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25806 unused now.
25807 * genmk.rb: Likewise.
25808 * configure.ac: Likewise.
25809
25810 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25811
25812 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25813 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25814
25815 2009-04-01 David S. Miller <davem@davemloft.net>
25816
25817 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25818 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25819 (grub_setjmp): Mark with 'returns_twice' attribute.
25820 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25821 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25822 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25823
25824 2009-04-01 Robert Millan <rmh@aybabtu.com>
25825
25826 Reapply fix from 2008-07-28 which was accidentally reverted; also
25827 perform the same fix to a similar check in same function.
25828
25829 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25830 with the same number are found, just use issue a warning with
25831 grub_dprintf(), as this error has been reported to be non-fatal.
25832
25833 2009-03-31 Pavel Roskin <proski@gnu.org>
25834
25835 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25836 for cross-compilation.
25837
25838 2009-03-30 Robert Millan <rmh@aybabtu.com>
25839
25840 Fix i386-ieee1275 build.
25841
25842 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25843 Remove declaration.
25844
25845 2009-03-30 Pavel Roskin <proski@gnu.org>
25846
25847 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25848 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25849 zero-terminated, rely only on the strlen value. Fix comparison
25850 of strings differing in length.
25851
25852 2009-03-30 Robert Millan <rmh@aybabtu.com>
25853
25854 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25855 checking for abi version. Improve error messages on BIOS to notify
25856 user about `linux16' command.
25857
25858 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25859
25860 Leak fixes
25861
25862 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25863 in case of collision
25864 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25865
25866 2009-03-29 Robert Millan <rmh@aybabtu.com>
25867
25868 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25869 set `vid_mode' accordingly.
25870 (grub_linux_boot): Process `vid_mode' and set video mode.
25871
25872 2009-03-29 Robert Millan <rmh@aybabtu.com>
25873
25874 * util/grub.d/10_linux.in (linux_entry): New function.
25875 Factorize generation of Linux boot entries.
25876
25877 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25878
25879 Make the format of Environment Block plain text. The boot loader
25880 part is not tested well yet.
25881
25882 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25883 (buffer): Removed.
25884 (envblk): Likewise.
25885 (usage): Remove "info" and "clear". Add "unset". Update the
25886 description of "set", as this does not delete variables any
25887 longer.
25888 (create_envblk_file): Complete rewrite.
25889 (open_envblk_file): Likewise.
25890 (cmd_info): Removed.
25891 (cmd_list): Likewise.
25892 (cmd_set): Likewise.
25893 (cmd_clear): Likewise.
25894 (list_variables): New function.
25895 (write_envblk): Likewise.
25896 (set_variables): Likewise.
25897 (unset_variables): Likewise.
25898 (main): Complete rewrite.
25899
25900 * commands/loadenv.c (buffer): Removed.
25901 (envblk): Likewise.
25902 (open_envblk_file): New function.
25903 (read_envblk_file): Complete rewrite.
25904 (grub_cmd_load_env): Likewise.
25905 (grub_cmd_list_env): Likewise.
25906 (struct blocklist): New struct.
25907 (free_blocklists): New function.
25908 (check_blocklists): Likewise.
25909 (write_blocklists): Likewise.
25910 (grub_cmd_save_env): Complete rewrite.
25911
25912 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25913 a plain text signature.
25914 (GRUB_ENVBLK_MAXLEN): Removed.
25915 (struct grub_envblk): Complete rewrite.
25916 (grub_envblk_find): Removed.
25917 (grub_envblk_insert): Likewise.
25918 (grub_envblk_open): New prototype.
25919 (grub_envblk_set): Likewise.
25920 (grub_envblk_delete): Put const to VALUE.
25921 (grub_envblk_iterate): Put const to NAME and VALUE.
25922 (grub_envblk_close): New prototype.
25923 (grub_envblk_buffer): New inline function.
25924 (grub_envblk_size): Likewise.
25925
25926 * lib/envblk.c: Include grub/mm.h.
25927 (grub_env_find): Removed.
25928 (grub_envblk_open): New function.
25929 (grub_envblk_close): Likewise.
25930 (escaped_value_len): Likewise.
25931 (find_next_line): Likewise.
25932 (grub_envblk_insert): Removed.
25933 (grub_envblk_set): New function.
25934 (grub_envblk_delete): Complete rewrite.
25935 (grub_envblk_iterate): Likewise.
25936
25937 2009-03-28 Robert Millan <rmh@aybabtu.com>
25938
25939 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25940 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25941 variables. Use 16-bit loader.
25942 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25943 loader.
25944 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25945 (grub_linux16_boot): ... this. Update all users.
25946 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25947 (grub_linux_boot): ... this. Update all users.
25948
25949 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25950 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25951 commands to `linux16' and `initrd16'.
25952 (GRUB_MOD_FINI(linux)): Rename to ...
25953 (GRUB_MOD_FINI(linux16)): ... this.
25954
25955 2009-03-24 Pavel Roskin <proski@gnu.org>
25956
25957 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25958 not just for compilation.
25959
25960 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25961
25962 Move multiboot helper out of kernel
25963
25964 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25965 `loader/i386/multiboot_helper.S'.
25966 * conf/i386-coreboot.rmk: Likewise
25967 * conf/i386-ieee1275.rmk: Likewise
25968
25969 * kern/i386/loader.S: Move multiboot helpers from here...
25970 * loader/i386/multiboot_helper.S: ...moved here
25971 * include/grub/i386/loader.h: Move declarations of multiboot
25972 helpers from here...
25973 * include/grub/i386/multiboot.h: ...moved here
25974 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25975
25976 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25977
25978 * kern/env.c (grub_env_context_open): Added an argument to specify
25979 whether a new context inherits exported variables from current
25980 one. This is useful when making a sandbox to interpret a config
25981 file.
25982 All callers updated.
25983
25984 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25985
25986 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25987
25988 * kern/env.c (grub_env_context_close): Fix memory leaks.
25989
25990 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25991
25992 * normal/main.c (grub_normal_execute): Added an argument
25993 BATCH to specify if an interactive interface should be provided
25994 after reading a config file.
25995 All callers updated.
25996 (read_command_list): Prevent being executed twice.
25997 (read_fs_list): Likewise.
25998
25999 * include/grub/normal.h (grub_normal_execute): Updated the
26000 prototype.
26001
26002 2009-03-22 Pavel Roskin <proski@gno.org>
26003
26004 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
26005 _start.
26006 * kern/i386/pc/startup.S: Likewise.
26007 * kern/i386/efi/startup.S: Likewise.
26008 * kern/i386/ieee1275/startup.S: Likewise.
26009 * kern/i386/coreboot/startup.S: Likewise.
26010 * kern/x86_64/efi/startup.S: Likewise.
26011
26012 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
26013 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
26014 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
26015
26016 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
26017
26018 Bugfixes in multiboot for bugs uncovered by solaris kernel.
26019
26020 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
26021 limit detection.
26022 Use vaddr of correct segment for entry_point.
26023
26024 2009-03-21 Bean <bean123ch@gmail.com>
26025
26026 * commands/blocklist.c: Add include file <grub/command.h>, remove
26027 <grub/normal.h> and <grub/arg.h>.
26028 (grub_cmd_blocklist): Use the new command interface.
26029 (GRUB_MOD_INIT): Likewise.
26030 (GRUB_MOD_FINI): Likewise.
26031 * commands/boot.c: Likewise.
26032 * commands/cat.c: Likewise.
26033 * commands/cmp.c: Likewise.
26034 * commands/configfile.c: Likewise.
26035 * commands/crc.c: Likewise.
26036 * commands/echo.c: Likewise.
26037 * commands/halt.c: Likewise.
26038 * commands/handler.c: Likewise.
26039 * commands/hdparm.c: Likewise.
26040 * commands/help.c: Likewise.
26041 * commands/hexdump.c: Likewise.
26042 * commands/loadenv.c: Likewise.
26043 * commands/ls.c: Likewise.
26044 * commands/lsmmap.c: Likewise.
26045 * commands/lspci.c: Likewise.
26046 * commands/loadenv.c: Likewise.
26047 * commands/read.c: Likewise.
26048 * commands/reboot.c: Likewise.
26049 * commands/search.c: Likewise.
26050 * commands/sleep.c: Likewise.
26051 * commands/test.c: Likewise.
26052 * commands/usbtest.c: Likewise.
26053 * commands/videotest.c: Likewise.
26054 * commands/i386/cpuid.c: Likewise.
26055 * commands/i386/pc/halt.c: Likewise.
26056 * commands/i386/pc/play.c: Likewise.
26057 * commands/i386/pc/pxecmd.c: Likewise.
26058 * commands/i386/pc/vbeinfo.c: Likewise.
26059 * commands/i386/pc/vbetest.c: Likewise.
26060 * commands/ieee1275/suspend.c: Likewise.
26061 * disk/loopback.c: Likewise.
26062 * font/font_cmd.c: Likewise.
26063 * hello/hello.c: Likewise.
26064 * loader/efi/appleloader.c: Likewise.
26065 * loader/efi/chainloader.c: Likewise.
26066 * loader/i386/bsd.c: Likewise.
26067 * loader/i386/efi/linux.c: Likewise.
26068 * loader/i386/ieee1275/linux.c: Likewise.
26069 * loader/i386/linux.c: Likewise.
26070 * loader/i386/pc/chainloader.c: Likewise.
26071 * loader/i386/pc/linux.c: Likewise.
26072 * loader/powerpc/ieee1275/linux.c: Likewise.
26073 * loader/multiboot_loader.c: Likewise.
26074 * term/gfxterm.c: Likewise.
26075 * term/i386/pc/serial.c: Likewise.
26076 * term/terminfo.c: Likewise.
26077
26078 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
26079 * term/i386/pc/vga.c: Likewise.
26080 * video/readers/jpeg.c: Likewise.
26081 * video/readers/png.c: Likewise.
26082 * video/readers/tga.c: Likewise.
26083
26084 * util/grub-fstest (cmd_loopback): Removed.
26085 (cmd_blocklist): Likewise.
26086 (cmd_ls): Likewise.
26087 (grub_register_command): Likewise.
26088 (grub_unregister_command): Likewise.
26089 (execute_command): Use grub_command_find to locate command and execute
26090 it.
26091
26092 * include/grub/efi/chainloader.h: Removed.
26093 * loader/efi/chainloader_normal.c: Likewise.
26094 * loader/i386/bsd_normal.c: Likewise.
26095 * loader/i386/pc/chainloader_normal.c: Likewise.
26096 * loader/i386/pc/multiboot_normal.c: Likewise.
26097 * loader/linux_normal.c: Likewise.
26098 * loader/multiboot_loader_normal.c: Likewise.
26099 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26100
26101 * gencmdlist.sh: Scan new registration command grub_register_extcmd
26102 and grub_register_command_p1.
26103
26104 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
26105 kern/command.c, lib/arg.c and commands/extcmd.c.
26106 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
26107 (minicmd_mod_SOURCES): New variable.
26108 (minicmd_mod_CFLAGS): Likewise.
26109 (minicmd_mod_LDFLAGS): Likewise.
26110 (extcmd_mod_SOURCES): Likewise.
26111 (extcmd_mod_CFLAGS): Likewise.
26112 (extcmd_mod_LDFLAGS): Likewise.
26113 (boot_mod_SOURCES): Removed.
26114 (boot_mod_CFLAGS): Likewise.
26115 (boot_mod_LDFLAGS): Likewise.
26116
26117 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
26118 kern/corecmd.c.
26119 (kernel_img_HEADERS): Add command.h.
26120 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
26121 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
26122 and lib/arg.c.
26123 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
26124 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
26125 remove the corresponding normal mode command.
26126 (normal_mod_SOURCES): Remove normal/arg.c.
26127 * conf/i386-coreboot.rmk: Likewise.
26128 * conf/i386-efi.rmk: Likewise.
26129 * conf/i386-ieee1275.rmk: Likewise.
26130 * conf/powerpc-ieee1275.rmk: Likewise.
26131 * conf/x86_64-efi.rmk: Likewise.
26132
26133 * include/grub/arg.h: Move from here ...
26134 * include/grub/lib/arg.h: ... to here.
26135
26136 * normal/arg.c: Move from here ...
26137 * lib/arg.c: ... to here.
26138
26139 * commands/extcmd.c: New file.
26140 * commands/minicmd.c: Likewise.
26141 * include/grub/command.h: Likewise.
26142 * include/grub/extcmd.h: Likewise.
26143 * kern/command.c: Likewise.
26144 * kern/corecmd.c: Likewise.
26145
26146 * kern/list.c (grub_list_iterate): Return int instead of void.
26147 (grub_list_insert): New function.
26148 (grub_prio_list_insert): Likewise.
26149
26150 * kern/rescue.c (grub_rescue_command): Removed.
26151 (grub_rescue_command_list): Likewise.
26152 (grub_rescue_register_command): Likewise.
26153 (grub_rescue_unregister_command): Likewise.
26154 (grub_rescue_cmd_boot): Move to minicmd.c
26155 (grub_rescue_cmd_help): Likewise.
26156 (grub_rescue_cmd_info): Likewise.
26157 (grub_rescue_cmd_boot): Likewise.
26158 (grub_rescue_cmd_testload): Likewise.
26159 (grub_rescue_cmd_dump): Likewise.
26160 (grub_rescue_cmd_rmmod): Likewise.
26161 (grub_rescue_cmd_lsmod): Likewise.
26162 (grub_rescue_cmd_exit): Likewise.
26163 (grub_rescue_print_devices): Moved to corecmd.c.
26164 (grub_rescue_print_files): Likewise.
26165 (grub_rescue_cmd_ls): Likewise.
26166 (grub_rescue_cmd_insmod): Likewise.
26167 (grub_rescue_cmd_set): Likewise.
26168 (grub_rescue_cmd_unset): Likewise.
26169 (attempt_normal_mode): Use grub_command_find to get normal module.
26170 (grub_enter_rescue_mode): Use grub_register_core_commands to register
26171 commands, remove grub_rescue_register_command calls.
26172
26173 * normal/command.c (grub_register_command): Removed.
26174 (grub_unregister_command): Likewise.
26175 (grub_command_find): Likewise.
26176 (grub_iterate_commands): Likewise.
26177 (rescue_command): Likewise.
26178 (export_command): Moved to corecmd.c.
26179 (set_command): Removed.
26180 (unset_command): Likewise.
26181 (insmod_command): Likewise.
26182 (rmmod_command): Likewise.
26183 (lsmod_command): Likewise.
26184 (grub_command_init): Likewise.
26185
26186 * normal/completion.c (iterate_command): Use cmd->prio to check for
26187 active command.
26188 (complete_arguments): Use grub_extcmd_t structure to find options.
26189 (grub_normal_do_completion): Change function grub_iterate_commands to
26190 grub_command_iterate.
26191
26192 * normal/execute.c (grub_script_execute_cmd): No need to parse
26193 argument here.
26194
26195 * normal/main.c (grub_dyncmd_dispatcher): New function.
26196 (read_command_list): Register unload commands as dyncmd.
26197 (grub_cmd_normal): Use new command interface, register rescue,
26198 unregister normal at entry, register normal, unregister rescue at exit.
26199
26200 * include/grub/list.h (grub_list_test_t): New type.
26201 (grub_list_iterate): Return int instead of void.
26202 (grub_list_insert): New function.
26203 (GRUB_AS_NAMED_LIST_P): New macro.
26204 (GRUB_AS_PRIO_LIST): Likewise.
26205 (GRUB_AS_PRIO_LIST_P): Likewise.
26206 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
26207 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
26208 (grub_prio_list): New structure.
26209 (grub_prio_list_insert): New function.
26210 (grub_prio_list_remove): New inline function.
26211
26212 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
26213 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
26214 (GRUB_COMMAND_FLAG_MENU): Likewise.
26215 (GRUB_COMMAND_FLAG_BOTH): Likewise.
26216 (GRUB_COMMAND_FLAG_TITLE): Likewise.
26217 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
26218 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
26219 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
26220 (grub_command): Likewise.
26221 (grub_register_command): Likewise.
26222 (grub_command_find): Likewise.
26223 (grub_iterate_commands): Likewise.
26224 (grub_command_init): Likewise.
26225 (grub_arg_parse): Likewise.
26226 (grub_arg_show_help): Likewise.
26227
26228 * include/grub/rescue.h (grub_rescue_register_command): Removed.
26229 (grub_rescue_unregister_command): Likewise.
26230
26231 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
26232 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
26233 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
26234
26235 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
26236 grub_rescue_cmd_initrd.
26237 * include/grub/i386/loader.h: Likewise.
26238 * include/grub/x86_64/loader.h: Likewise.
26239
26240 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
26241
26242 2009-03-21 Bean <bean123ch@gmail.com>
26243
26244 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
26245 instead of stat in mingw environment.
26246
26247 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
26248
26249 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
26250
26251 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
26252 AC_CONFIG_LINKS.
26253
26254 2009-03-21 Bean <bean123ch@gmail.com>
26255
26256 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
26257 out of range error.
26258
26259 2009-03-18 Michel Dänzer <michel@daenzer.net>
26260
26261 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
26262 checking inode flags for EXT4_EXTENTS_FLAG.
26263
26264 2009-03-18 Robert Millan <rmh@aybabtu.com>
26265
26266 * loader/i386/linux.c: Include `<grub/video.h>' and
26267 `<grub/i386/pc/vbe.h>'..
26268 (grub_linux_setup_video): New function. Loosely based on the EFI one.
26269 (grub_linux32_boot): Attempt to configure video settings with
26270 grub_linux_setup_video().
26271 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
26272 to avoid grub_console_fini() which would step out of graphical mode
26273 unconditionally.
26274
26275 2009-03-14 Robert Millan <rmh@aybabtu.com>
26276
26277 Fix build on powerpc.
26278 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
26279
26280 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
26281
26282 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
26283 background image command.
26284
26285 2009-03-12 Colin D Bennett <colin@gibibit.com>
26286
26287 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
26288 (grub_gfxterm_putchar): Extract pairs of identical calls to
26289 draw_cursor out of conditional blocks.
26290
26291 2009-03-11 Pavel Roskin <proski@gnu.org>
26292
26293 * fs/hfs.c (grub_hfs_strncasecmp): New function.
26294 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
26295
26296 2009-03-11 Robert Millan <rmh@aybabtu.com>
26297
26298 * loader/i386/multiboot_elfxx.c
26299 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26300
26301 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
26302
26303 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26304 `kern/handler.c'.
26305
26306 2009-03-11 Robert Millan <rmh@aybabtu.com>
26307
26308 * loader/i386/multiboot.c (code_size): New variable.
26309 (grub_multiboot): Define offsets by adding to `code_size' rather
26310 than subtracting from `grub_multiboot_payload_size'. Provide
26311 4-byte alignment to MBI and others by increasing
26312 `boot_loader_name_length' appropriately.
26313
26314 * loader/i386/multiboot_elfxx.c
26315 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26316
26317 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
26318
26319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26320 `fs/ext2.c'.
26321
26322 2009-03-08 Robert Millan <rmh@aybabtu.com>
26323
26324 Make loader/i386/linux.c usable on i386-pc again.
26325
26326 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26327 memory to heap.
26328 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26329 `#error' stanza.
26330
26331 2009-03-07 Bean <bean123ch@gmail.com>
26332
26333 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26334 allocation.
26335
26336 2009-03-06 Robert Millan <rmh@aybabtu.com>
26337
26338 Fix display issue on terminals with screen size other than 80x25
26339 (e.g. gfxterm with resolution higher than 640x480).
26340
26341 * normal/main.c (grub_normal_init_page): Display title text in a
26342 position relative to the center of the terminal instead of relying
26343 on a hardcoded offset.
26344
26345 2009-03-04 Robert Millan <rmh@aybabtu.com>
26346
26347 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26348 installed.
26349
26350 * Makefile.in (host_kernel): New variable.
26351 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26352 scripts instead of just the windows one.
26353 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26354
26355 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26356
26357 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26358 `kern/handler.c'.
26359 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26360 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26361 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26363 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26364 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26365
26366 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26367
26368 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26369 or if there's no space for the disk label and print the partition number on a
26370 invalid magic.
26371
26372 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26373
26374 * util/misc.c: Include <time.h>.
26375 (grub_millisleep): New function.
26376
26377 2009-03-04 Bean <bean123ch@gmail.com>
26378
26379 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26380 another option -mno-red-zone.
26381
26382 * commands/handler.c: Change module description.
26383
26384 * kern/handler.c: Add missing space at the end of description line.
26385
26386 * kern/list.c: Likewise.
26387
26388 2009-03-03 Robert Millan <rmh@aybabtu.com>
26389
26390 Move more components to the relocation area, and fix mbi pointer
26391 handling to use the destination rather than the origin (thanks to
26392 Vladimir Serbinenko for spotting).
26393
26394 * loader/i386/multiboot.c (mbi_dest): New variable.
26395 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26396 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26397 relocation area.
26398
26399 2009-03-01 Bean <bean123ch@gmail.com>
26400
26401 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
26402 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26403 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26404 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26405
26406 * loader/i386/efi/linux.c (acpi_guid): New variable.
26407 (acpi_guid): Likewise.
26408 (EBDA_SEG_ADDR): New constant.
26409 (LOW_MEM_ADDR): Likewise.
26410 (FAKE_EBDA_SEG): Likewise.
26411 (fake_bios_data): New function.
26412 (grub_linux_boot): Call fake_bios_data.
26413
26414 2009-03-01 Bean <bean123ch@gmail.com>
26415
26416 * commands/terminal.c: Removed.
26417
26418 * commands/handler.c: New file.
26419
26420 * include/grub/list.h: Likewise.
26421
26422 * include/grub/handler.h: Likewise.
26423
26424 * kern/list.c: Likewise.
26425
26426 * kern/handler.c: Likewise.
26427
26428 * kern/term.h: Include header file <grub/handler.h>.
26429 (grub_term_input): Move next field to the beginning.
26430 (grub_term_output): Likewise.
26431 (grub_term_input_class): New variable.
26432 (grub_term_output_class): Likewise.
26433 (grub_term_register_input): Changed to inline function.
26434 (grub_term_register_output): Likewise.
26435 (grub_term_unregister_input): Likewise.
26436 (grub_term_unregister_output): Likewise.
26437 (grub_term_set_current_input): Likewise.
26438 (grub_term_set_current_output): Likewise.
26439 (grub_term_get_current_input): Likewise.
26440 (grub_term_get_current_output): Likewise.
26441 (grub_term_iterate_input): Removed.
26442 (grub_term_iterate_output): Likewise.
26443
26444 * kern/term.c (grub_term_list_input): Removed.
26445 (grub_term_list_output): Likewise.
26446 (grub_term_input_class): New variable.
26447 (grub_term_output_class): Likewise.
26448 (grub_cur_term_input): Change variable as macro.
26449 (grub_cur_term_output): Likewise.
26450 (grub_term_register_input): Removed.
26451 (grub_term_register_output): Likewise.
26452 (grub_term_unregister_input): Likewise.
26453 (grub_term_unregister_output): Likewise.
26454 (grub_term_set_current_input): Likewise.
26455 (grub_term_set_current_output): Likewise.
26456 (grub_term_iterate_input): Likewise.
26457 (grub_term_iterate_output): Likewise.
26458 (grub_term_get_current_input): Likewise.
26459 (grub_term_get_current_output): Likewise.
26460
26461 * util/grub-editenv.c: Include header file <grub/handler.h>.
26462 (grub_term_get_current_input): Removed.
26463 (grub_term_get_current_output): Likewise.
26464 (grub_term_input_class): New variable.
26465 (grub_term_output_class): Likewise.
26466
26467 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26468 (grub_term_get_current_output): Likewise.
26469 (grub_term_input_class): New variable.
26470 (grub_term_output_class): Likewise.
26471
26472 * util/grub-probe.c (grub_term_get_current_input): Removed.
26473 (grub_term_get_current_output): Likewise.
26474 (grub_term_input_class): New variable.
26475 (grub_term_output_class): Likewise.
26476
26477 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26478 (grub_term_get_current_output): Likewise.
26479 (grub_term_input_class): New variable.
26480 (grub_term_output_class): Likewise.
26481
26482 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26483 (terminal_mod_SOURCES): Likewise.
26484 (terminal_mod_CFLAGS): Likewise.
26485 (terminal_mod_LDFLAGS): Likewise.
26486
26487 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26488 handler.c.
26489 (kernel_img_SOURCES): Add list.c and handler.c.
26490 (kernel_img_HEADERS): Add list.h and handler.h.
26491
26492 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26493 handler.c.
26494 (kernel_mod_SOURCES): Add list.c and handler.c.
26495 (kernel_mod_HEADERS): Add list.h and handler.h.
26496
26497 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26498 handler.c.
26499 (kernel_elf_SOURCES): Add list.c and handler.c.
26500 (kernel_elf_HEADERS): Add list.h and handler.h.
26501
26502 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26503 handler.c.
26504 (kernel_elf_SOURCES): Add list.c and handler.c.
26505 (kernel_elf_HEADERS): Add list.h and handler.h.
26506
26507 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26508 handler.c.
26509 (kernel_mod_SOURCES): Add list.c and handler.c.
26510 (kernel_mod_HEADERS): Add list.h and handler.h.
26511
26512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26513 handler.c.
26514 (kernel_elf_SOURCES): Add list.c and handler.c.
26515 (kernel_elf_HEADERS): Add list.h and handler.h.
26516
26517 2009-02-27 Robert Millan <rmh@aybabtu.com>
26518
26519 Factorize elf32 / elf64 code in Multiboot loader. This will
26520 prevent it from getting out of sync again.
26521
26522 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26523 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26524 grub_multiboot_load_elf64): Move from here ...
26525 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26526 grub_multiboot_load_elf): ... to here (new file).
26527
26528 2009-02-27 Robert Millan <rmh@aybabtu.com>
26529
26530 * util/grub.d/10_linux.in: Rename "single-user mode" to
26531 "recovery mode".
26532
26533 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26534
26535 Don't leak in SCSI code.
26536 * disk/scsi.c (grub_scsi_close): free `scsi'.
26537
26538 2009-02-27 Robert Millan <rmh@aybabtu.com>
26539
26540 * loader/i386/pc/multiboot.c: Move from here ...
26541 * loader/i386/multiboot.c: ... to here. Update all users.
26542
26543 2009-02-27 Robert Millan <rmh@aybabtu.com>
26544
26545 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26546 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26547
26548 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
26549
26550 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26551 b-tree.
26552
26553 2009-02-27 Robert Millan <rmh@aybabtu.com>
26554
26555 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26556 `0x' qualifier as 0 when base is specified as parameter).
26557
26558 2009-02-24 Bean <bean123ch@gmail.com>
26559
26560 * configure.ac: Check for -mcmodel=large in x86_64 target.
26561
26562 * include/grub/efi/api.h (efi_call_10): New macro.
26563 (efi_wrap_10): New function.
26564
26565 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26566 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26567 (GRUB_PE32_REL_BASED_LOW): Likewise.
26568 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26569 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26570 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26571 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26572 (GRUB_PE32_REL_BASED_REL): Likewise.
26573 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26574 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26575 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26576
26577 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26578 issue.
26579
26580 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26581 (efi_wrap_10): New function.
26582
26583 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26584
26585 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26586 MB/MBP model (NV chipset).
26587 (devdata_devs): Add devpath_5 to the list.
26588
26589 * load/i386/efi/linux.c (video_base): Remove variable.
26590 (RGB_MASK): New macro.
26591 (RGB_MAGIC): Likewise.
26592 (LINE_MIN): Likewise.
26593 (LINE_MAX): Likewise.
26594 (FBTEST_STEP): Likewise.
26595 (FBTEST_COUNT): Likewise.
26596 (fb_list): New variable.
26597 (grub_find_video_card): Remove function.
26598 (find_framebuf): New function.
26599 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26600 line length.
26601
26602 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26603 problem for x86_64.
26604
26605 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26606
26607 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26608
26609 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26610 coding tool name.
26611
26612 2009-02-22 Robert Millan <rmh@aybabtu.com>
26613
26614 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26615 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26616 in our relocation, instead of using it directly from heap. Also
26617 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26618
26619 2009-02-21 Robert Millan <rmh@aybabtu.com>
26620
26621 Implement USB keyboard support (based on patch by Marco Gerards)
26622
26623 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26624 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26625 (usb_keyboard_mod_LDFLAGS): New variables.
26626
26627 * term/usb_keyboard.c: New file.
26628
26629 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26630
26631 Corrected wrong declaration
26632
26633 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26634
26635 2009-02-14 Christian Franke <franke@computer.org>
26636
26637 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26638 (grub_lspci_iter): Print class code and programming interface byte.
26639
26640 2009-02-14 Christian Franke <franke@computer.org>
26641
26642 * gendistlist.sh: Ignore `.svn' directories.
26643
26644 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
26645
26646 * fs/fat.c: Add 2009 to Copyright line.
26647
26648 2009-02-14 Christian Franke <franke@computer.org>
26649
26650 * commands/hdparm.c: New file. Provides `hdparm' command
26651 which sends ATA commands via grub_disk_ata_pass_through ().
26652
26653 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26654
26655 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26656 and <grub/cpu/io.h> to include/grub/ata.h.
26657 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26658 (GRUB_CDROM_SECTOR_SIZE): Remove.
26659 (GRUB_ATA_*): Move to include/grub/ata.h.
26660 (GRUB_ATAPI_*): Likewise.
26661 (enum grub_ata_commands): Likewise.
26662 (enum grub_ata_timeout_milliseconds): Likewise.
26663 (struct grub_ata_device): Likewise.
26664 (grub_ata_regset): Likewise.
26665 (grub_ata_regget): Likewise.
26666 (grub_ata_regset2): Likewise.
26667 (grub_ata_regget2): Likewise.
26668 (grub_ata_check_ready): Likewise.
26669 (grub_ata_wait_not_busy): Remove static, exported in
26670 include/grub/ata.h.
26671 (grub_ata_wait_drq): Likewise.
26672 (grub_ata_pio_read): Likewise.
26673
26674 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26675 function for hdparm.mod.
26676
26677 * include/grub/ata.h: New file, contains declarations from
26678 disk/ata.c.
26679 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26680
26681 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26682 (grub_disk_ata_pass_through): New exported variable.
26683
26684 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26685
26686 2009-02-13 Colin D Bennett <colin@gibibit.com>
26687
26688 Support multiple fallback entries, and provide an API to support
26689 executing default+fallback menu entries. Renamed the `terminal' menu
26690 viewer to `text'.
26691
26692 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26693 variable declaration.
26694 (grub_menu_execute_callback): New structure declaration.
26695 (grub_menu_execute_callback_t): New typedef.
26696 (grub_menu_execute_with_fallback): New function declaration.
26697 (grub_menu_get_entry): Likewise.
26698 (grub_menu_get_timeout): Likewise.
26699 (grub_menu_set_timeout): Likewise.
26700
26701 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26702
26703 * normal/menu.c (grub_wait_after_message): Moved to
26704 `normal/menu_text.c'.
26705 (draw_border): Likewise.
26706 (print_message): Likewise.
26707 (print_entry): Likewise.
26708 (print_entries): Likewise.
26709 (grub_menu_init_page): Likewise.
26710 (get_entry_number): Likewise.
26711 (print_timeout): Likewise.
26712 (run_menu): Likewise.
26713 (grub_menu_execute_entry): Likewise.
26714 (show_text_menu): Likewise.
26715 (get_and_remove_first_entry_number): New function.
26716 (grub_menu_execute_with_fallback): Likewise.
26717 (get_entry): Renamed to ...
26718 (grub_menu_get_entry): .. this and made it global.
26719 (get_timeout): Renamed to ...
26720 (grub_menu_get_timeout): ... this and made it global.
26721 (set_timeout): Renamed to ...
26722 (grub_menu_set_timeout): ... this and made it global.
26723 (grub_normal_terminal_menu_viewer): Renamed to ...
26724 (grub_normal_text_menu_viewer): ... this.
26725
26726 * normal/menu_text.c: New file. Extracted text-menu-specific code
26727 from normal/menu.c.
26728
26729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26730 (normal_mod_SOURCES): Likewise.
26731
26732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26733 (normal_mod_SOURCES): Likewise.
26734
26735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26736 (normal_mod_SOURCES): Likewise.
26737
26738 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26739 (normal_mod_SOURCES): Likewise.
26740
26741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26742 (normal_mod_SOURCES): Likewise.
26743
26744 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26745 (normal_mod_SOURCES): Likewise.
26746
26747 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26748 (normal_mod_SOURCES): Likewise.
26749
26750 2009-02-11 Robert Millan <rmh@aybabtu.com>
26751
26752 * util/grub.d/00_header.in: Update old reference to `font' command.
26753
26754 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
26755
26756 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26757
26758 Based on patch from Javier Martín.
26759
26760 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26761
26762 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
26763 to avoid false positives with FAT.
26764 (grub_fstest_SOURCES): Likewise.
26765 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26766 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26768 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26769 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26770 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26771
26772 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26773
26774 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
26775 bpb.version_specific.fat12_or_fat16.fstype and
26776 bpb.version_specific.fat32.fstype.
26777
26778 2009-02-08 Robert Millan <rmh@aybabtu.com>
26779
26780 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
26781
26782 2009-02-08 Robert Millan <rmh@aybabtu.com>
26783
26784 * Makefile.in (host_os, host_cpu): New variables.
26785 (target_os): Remove. Update all users.
26786
26787 2009-02-08 Marco Gerards <marco@gnu.org>
26788
26789 * Makefile.in (enable_grub_emu_usb): New variable.
26790 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26791 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26792 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26793 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26794 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26795 `usbtest.mod' and `usbms.mod'.
26796 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26797 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26798 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26799 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26800 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26801 variables.
26802
26803 * disk/usbms.c: New file.
26804
26805 * include/grub/usb.h: Likewise.
26806
26807 * include/grub/usbtrans.h: Likewise.
26808
26809 * include/grub/usbdesc.h: Likewise.
26810
26811 * bus/usb/usbtrans.c: Likewise.
26812
26813 * bus/usb/ohci.c: Likewise.
26814
26815 * bus/usb/uhci.c: Likewise.
26816
26817 * bus/usb/usbhub.c: Likewise.
26818
26819 * bus/usb/usb.c: Likewise.
26820
26821 * commands/usbtest.c: Likewise.
26822
26823 * util/usb.c: Likewise.
26824
26825 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26826
26827 * configure.ac: Test for libusb presence.
26828
26829 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26830
26831 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26832
26833 * kern/mm.c: Add more comments.
26834
26835 2009-02-08 Robert Millan <rmh@aybabtu.com>
26836
26837 Patch from Javier Martín.
26838 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26839 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26840
26841 2009-02-08 Robert Millan <rmh@aybabtu.com>
26842
26843 * fs/cpio.c: Split tar functionality to ...
26844 * fs/tar.c: ... here (new file). Update all users.
26845
26846 2009-02-07 Robert Millan <rmh@aybabtu.com>
26847
26848 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26849 backward-incompatible features.
26850
26851 Based on patch from Javier Martín, with some adjustments.
26852
26853 2009-02-07 Michael Scherer <misc@mandriva.org>
26854
26855 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26856
26857 2009-02-07 Robert Millan <rmh@aybabtu.com>
26858
26859 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26860 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26861 after the RAID stuff.
26862
26863 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26864
26865 Fixes problem when running vbetest command as reported by
26866 Vladimir Serbinenko <phcoder@gmail.com>.
26867
26868 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26869
26870 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26871
26872 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26873 /dev/md/NpN style mdraid devices.
26874
26875 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26876
26877 * util/unifont2pff.rb: Remove.
26878
26879 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26880
26881 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26882 `#'.
26883
26884 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26885
26886 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26887 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26889 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26891 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26892 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26893
26894 2009-02-02 Christian Franke <franke@computer.org>
26895
26896 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26897
26898 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26899
26900 * INSTALL: Note that we now require at least autoconf 2.59 and
26901 that LZO is optional.
26902
26903 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26904
26905 Base on patch on bug #24154 created by Tomas Tintera
26906 <trosos@seznam.cz>.
26907
26908 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26909
26910 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26911
26912 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26913 <bero@arklinux.org>.
26914
26915 * normal/parser.y (script_init): Add missing semicolon.
26916
26917 2009-01-31 Colin D Bennett <colin@gibibit.com>
26918
26919 * normal/main.c: Add include to grub/menu_viewer.h.
26920 (free_menu_entry_classes): Added.
26921 (grub_normal_menu_addentry): Added class property handling.
26922 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26923 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26924
26925 * normal/menu_viewer.c: New file.
26926
26927 * normal/menu.c (run_menu_entry): Renamed to ...
26928 (grub_menu_execute_entry): ... this and made it as global.
26929 (grub_menu_run): Renamed to ...
26930 (show_text_menu): ... this and made it local.
26931 (show_text_menu): Adapt to new function names.
26932 (grub_normal_terminal_menu_viewer): New global variable.
26933
26934 * include/grub/menu.h: New file.
26935
26936 * include/grub/menu_viewer.h: New file.
26937
26938 * include/grub/normal.h: Added include to grub/menu.h.
26939 (grub_menu_entry): Moved to include/grub/menu.h.
26940 (grub_menu_entry_t): Likewise.
26941 (grub_menu): Likewise.
26942 (grub_menu_t): Likewise.
26943 (grub_normal_terminal_menu_viewer): Added.
26944 (grub_menu_execute_entry): Likewise.
26945 (grub_menu_run): Removed.
26946
26947 * DISTLIST: Added include/grub/menu.h.
26948 Added include/grub/menu_viewer.h.
26949 Added normal/menu_viewer.c.
26950
26951 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26952
26953 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26954 arglist for menutitle arguments.
26955
26956 * normal/main.c (grub_normal_menu_addentry): Likewise.
26957
26958 * normal/parser.y (menuentry): Likewise.
26959
26960 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26961
26962 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26963 (grub_script_create_cmdmenu): Likewise.
26964
26965 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26966
26967 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26968 changes.
26969
26970 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26971
26972 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26973
26974 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26975
26976 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26977
26978 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26979
26980 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26981
26982 2009-01-30 Christian Franke <franke@computer.org>
26983
26984 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26985 in option help text.
26986
26987 2009-01-27 Pavel Roskin <proski@gnu.org>
26988
26989 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26990
26991 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26992
26993 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26994
26995 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26996
26997 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26998 unregister function.
26999
27000 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27001
27002 * disk/scsi.c (grub_scsi_read): Fix sign problem.
27003
27004 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
27005
27006 * util/grub-mkfont.c (usage): Fix typo.
27007
27008 * util/elf/grub-mkimage.c (load_modules): Fix warning.
27009
27010 2009-01-26 Daniel Mierswa <impulze@impulze.org>
27011
27012 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
27013
27014 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
27015
27016 * kern/misc.c (grub_strcasecmp): New function.
27017 (grub_strcasecmp): Use grub_size_t instead of int for length.
27018 Fix return value.
27019 * include/grub/misc.h: Update function prototypes.
27020
27021 2009-01-26 Robert Millan <rmh@aybabtu.com>
27022
27023 * configure.ac: Fix cross-compilation check.
27024
27025 2009-01-22 Christian Franke <franke@computer.org>
27026
27027 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
27028 (precision) digit string. Allow `.format2' without `format1' (width).
27029 Limit input chars for `%s' output to `format2' if specified. This is
27030 compatible with standard printf ().
27031
27032 2009-01-22 Christian Franke <franke@computer.org>
27033
27034 * disk/ata.c (grub_ata_wait_status): Replace by ...
27035 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
27036 other status bits may be invalid while BSY is asserted.
27037 (grub_ata_check_ready): New function.
27038 (grub_ata_cmd): Removed.
27039 (grub_ata_wait_drq): New function.
27040 (grub_ata_strncpy): Remove inline.
27041 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
27042 and error check now done by grub_ata_wait_drq ().
27043 (grub_ata_pio_write): Likewise.
27044 (grub_atapi_identify): Set DEV before check for !BSY. Use
27045 grub_ata_wait_drq () to wait for data.
27046 (grub_ata_device_initialize): Add status register check to
27047 detect missing SATA slave devices. Add debug messages.
27048 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
27049 (grub_atapi_packet): Set DEV before check for !BSY. Replace
27050 transfer loop by grub_ata_pio_write ().
27051 (grub_ata_identify): Set DEV before check for !BSY. Use
27052 grub_ata_wait_drq () to wait for data.
27053 (grub_ata_setaddress): Set DEV before check for !BSY.
27054 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
27055 read/write in one loop. Fix invalid command on write. Fix incomplete
27056 command on (size % batch) == 0. Add missing error check after write of
27057 last block. Add debug messages.
27058 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
27059
27060 2009-01-19 Christian Franke <franke@computer.org>
27061
27062 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
27063 (GRUB_ATAPI_IREASON_*): Likewise.
27064 (grub_ata_pio_write): Fix timeout error return.
27065 (grub_atapi_identify): Add grub_ata_wait () after cmd.
27066 (grub_atapi_wait_drq): New function.
27067 (grub_atapi_packet): New parameter `size'.
27068 Use grub_atapi_wait_drq () and direct write instead of
27069 grub_ata_pio_write ().
27070 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
27071 reads the number of bytes requested by the device for each DRQ
27072 assertion.
27073 (grub_atapi_write): Remove old implementation, return not
27074 implemented instead.
27075
27076 2009-01-19 Christian Franke <franke@computer.org>
27077
27078 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
27079 of 512 to calculate data size.
27080 (grub_scsi_read12): Likewise.
27081 (grub_scsi_write10): Likewise.
27082 (grub_scsi_write12): Likewise.
27083 (grub_scsi_read): Adjust size according to blocksize.
27084 Add checks for invalid blocksize and unaligned transfer.
27085
27086 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
27087
27088 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
27089
27090 * term/gfxterm.c (write_char): Fix background rendering for wide
27091 width glyphs.
27092
27093 2009-01-19 Robert Millan <rmh@aybabtu.com>
27094
27095 * config.guess: Update to latest version from config git.
27096 * config.sub: Likewise.
27097
27098 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
27099
27100 * Makefile.in: Change font compilation to use new grub-mkfont instead
27101 of java version.
27102
27103 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
27104 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27105 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27106 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27107 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27108 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27109 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27110 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27111 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27112
27113 2009-01-16 Christian Franke <franke@computer.org>
27114
27115 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
27116 (enum grub_ata_timeout_milliseconds): New enum.
27117 (grub_ata_wait_status): Add parameter milliseconds.
27118 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
27119 recovery from timed-out commands.
27120 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
27121 return grub_errno instead of REG_ERROR.
27122 (grub_ata_pio_write): Add parameter milliseconds.
27123 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
27124 Pass milliseconds to grub_ata_wait_status () and
27125 grub_ata_pio_read ().
27126 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
27127 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
27128 grub_ata_wait_status (). Fix IDENTIFY timeout check.
27129 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
27130 It is not suitable for device detection, because DEV bit is ignored,
27131 the command may run too long, and not all devices set the signature
27132 properly.
27133 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
27134 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
27135 Fix device selection, DEV bit must be set first to address the registers
27136 of the correct device.
27137 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
27138 grub_ata_pio_read/write ().
27139 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
27140 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
27141
27142 2009-01-13 Carles Pina i Estany <carles@pina.cat>
27143
27144 * util/grub-editenv.c (main): Use fseeko(), not fseek().
27145
27146 2009-01-13 Bean <bean123ch@gmail.com>
27147
27148 * util/grub-mkfont.c (write_font): forget to remove some debug code.
27149
27150 2009-01-13 Bean <bean123ch@gmail.com>
27151
27152 * Makefile.in: (enable_grub_mkfont): New variable.
27153 (freetype_cflags): Likewise.
27154 (freetype_libs): Likewise.
27155
27156 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
27157 (grub_mkfont_SOURCES): New variable.
27158 (grub_mkfont_CFLAGS): Likewise.
27159 (grub_mkfont_LDFLAGS): Likewise.
27160
27161 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
27162 library if `--enable-grub-mkfont' is requested.
27163 (enable_grub_mkfont): New variable.
27164 (freetype_cflags): Likewise.
27165 (freetype_libs): Likewise.
27166
27167 * util/grub-mkfont.c: New file.
27168
27169 2009-01-12 Christian Franke <franke@computer.org>
27170
27171 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
27172 mode check. Fix setting of compat_use[].
27173
27174 2009-01-10 Robert Millan <rmh@aybabtu.com>
27175
27176 Update a few copyright years which we forgot to do in 2008 (only for
27177 files whose changes made in 2008 were copyright-significant)
27178
27179 * Makefile.in: Add 2008 to Copyright line.
27180 * disk/ieee1275/ofdisk.c: Likewise.
27181 * disk/efi/efidisk.c: Likewise.
27182 * kern/dl.c: Likewise.
27183 * kern/sparc64/ieee1275/init.c: Likewise.
27184 * kern/mm.c: Likewise.
27185 * kern/efi/mm.c: Likewise.
27186 * boot/i386/pc/boot.S: Likewise.
27187 * genfslist.sh: Likewise.
27188 * fs/iso9660.c: Likewise.
27189 * fs/hfs.c: Likewise.
27190 * fs/jfs.c: Likewise.
27191 * fs/minix.c: Likewise.
27192 * fs/ufs.c: Likewise.
27193 * gensymlist.sh.in: Likewise.
27194 * genkernsyms.sh.in: Likewise.
27195 * include/grub/misc.h: Likewise.
27196 * include/grub/types.h: Likewise.
27197 * include/grub/symbol.h: Likewise.
27198 * include/grub/elf.h: Likewise.
27199 * include/grub/kernel.h: Likewise.
27200 * include/grub/disk.h: Likewise.
27201 * include/grub/dl.h: Likewise.
27202 * include/grub/i386/linux.h: Likewise.
27203 * include/grub/i386/pc/biosdisk.h: Likewise.
27204 * include/grub/efi/api.h: Likewise.
27205 * include/grub/efi/pe32.h: Likewise.
27206 * include/grub/util/misc.h: Likewise.
27207 * normal/execute.c: Likewise.
27208 * normal/arg.c: Likewise.
27209 * normal/completion.c: Likewise.
27210 * normal/lexer.c: Likewise.
27211 * normal/parser.y: Likewise.
27212 * normal/misc.c: Likewise.
27213 * commands/i386/pc/vbeinfo.c: Likewise.
27214 * commands/hexdump.c: Likewise.
27215 * commands/terminal.c: Likewise.
27216 * commands/ls.c: Likewise.
27217 * commands/help.c: Likewise.
27218 * partmap/pc.c: Likewise.
27219 * loader/efi/chainloader.c: Likewise.
27220 * loader/multiboot_loader.c: Likewise.
27221 * loader/i386/pc/multiboot2.c: Likewise.
27222 * term/efi/console.c: Likewise.
27223 * term/i386/pc/serial.c: Likewise.
27224 * util/lvm.c: Likewise.
27225 * util/console.c: Likewise.
27226 * util/i386/efi/grub-mkimage.c: Likewise.
27227 * util/raid.c: Likewise.
27228
27229 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
27230
27231 * commands/videotest.c: Removed include to grub/machine/memory.h.
27232
27233 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
27234 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
27235 (video_mod_SOURCES): Removed.
27236 (video_mod_CFLAGS): Likewise.
27237 (video_mod_LDFLAGS): Likewise.
27238 (gfxterm_mod_SOURCES): Likewise.
27239 (gfxterm_mod_CFLAGS): Likewise.
27240 (gfxterm_mod_LDFLAGS): Likewise.
27241 (videotest_mod_SOURCES): Likewise.
27242 (videotest_mod_CFLAGS): Likewise.
27243 (videotest_mod_LDFLAGS): Likewise.
27244 (bitmap_mod_SOURCES): Likewise.
27245 (bitmap_mod_CFLAGS): Likewise.
27246 (bitmap_mod_LDFLAGS): Likewise.
27247 (tga_mod_SOURCES): Likewise.
27248 (tga_mod_CFLAGS): Likewise.
27249 (tga_mod_LDFLAGS): Likewise.
27250 (jpeg_mod_SOURCES): Likewise.
27251 (jpeg_mod_CFLAGS): Likewise.
27252 (jpeg_mod_LDFLAGS): Likewise.
27253 (png_mod_SOURCES): Likewise.
27254 (png_mod_CFLAGS): Likewise.
27255 (png_mod_LDFLAGS): Likewise.
27256
27257 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
27258 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
27259 (video_mod_SOURCES): Added.
27260 (video_mod_CFLAGS): Likewise.
27261 (video_mod_LDFLAGS): Likewise.
27262 (videotest_mod_SOURCES): Likewise.
27263 (videotest_mod_CFLAGS): Likewise.
27264 (videotest_mod_LDFLAGS): Likewise.
27265 (bitmap_mod_SOURCES): Likewise.
27266 (bitmap_mod_CFLAGS): Likewise.
27267 (bitmap_mod_LDFLAGS): Likewise.
27268 (tga_mod_SOURCES): Likewise.
27269 (tga_mod_CFLAGS): Likewise.
27270 (tga_mod_LDFLAGS): Likewise.
27271 (jpeg_mod_SOURCES): Likewise.
27272 (jpeg_mod_CFLAGS): Likewise.
27273 (jpeg_mod_LDFLAGS): Likewise.
27274 (png_mod_SOURCES): Likewise.
27275 (png_mod_CFLAGS): Likewise.
27276 (png_mod_LDFLAGS): Likewise.
27277 (gfxterm_mod_SOURCES): Likewise.
27278 (gfxterm_mod_CFLAGS): Likewise.
27279 (gfxterm_mod_LDFLAGS): Likewise.
27280
27281 * term/gfxterm.c: Removed include to grub/machine/memory.h,
27282 grub/machine/console.h.
27283
27284 2009-01-04 Jerone Young <jerone@gmail.com>
27285
27286 Make on screen instructions clearer
27287
27288 Based on patch created by Jidanni <jidanni@jidanni.org>
27289
27290 * normal/menu.c: print clearer instructions on the screen
27291
27292 2009-01-02 Colin D Bennett <colin@gibibit.com>
27293
27294 New font engine.
27295
27296 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27297 build system and fixed gfxterm.c to work with different sized fonts.
27298
27299 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
27300
27301 * configure: Re-generated.
27302
27303 * DISTLIST: Removed font/manager.c.
27304 Added font/font.c.
27305 Added font/font_cmd.c.
27306
27307 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27308 compilation.
27309
27310 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
27311
27312 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
27313
27314 * kern/term.c: Changed users of grub_utf8_to_ucs4.
27315
27316 * normal/menu.c: Likewise.
27317
27318 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27319 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
27320
27321 * include/grub/font.h: Replaced with new file.
27322
27323 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27324 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27325 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27326 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27327 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
27328 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
27329 fg_red, fg_green, fg_blue, fg_alpha.
27330 (grub_video_adapter): Removed blit_glyph.
27331 (grub_video_blit_glyph): Removed.
27332
27333 * font/manager.c: Removed file.
27334
27335 * font/font.c: New file.
27336
27337 * font/font_cmd.c: Likewise.
27338
27339 * video/video.c (grub_video_blit_glyph): Removed.
27340
27341 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27342 (grub_video_vbe_map_rgba): Likewise.
27343 (grub_video_vbe_unmap_color_int): Likewise.
27344 (grub_video_vbe_blit_glyph): Removed.
27345 (grub_video_vbe_adapter): Removed blit_glyph.
27346
27347 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27348 (get_pixel): Likewise.
27349 (set_pixel): Likewise.
27350
27351 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
27352
27353 * term/gfxterm.c: Adapted to new font engine.
27354
27355 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
27356
27357 * term/i386/pc/vga.c: Likewise.
27358
27359 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
27360
27361 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27362
27363 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27364
27365 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27366
27367 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27368
27369 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27370
27371 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27372
27373 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27374
27375 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27376
27377 * util/grub.d/00_header.in: Changed to use new loadfont command.
27378
27379 * util/grub-mkconfig_lib.in: Changed font extension.
27380
27381 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
27382
27383 * util/getroot.c (grub_util_get_grub_dev): Add support for
27384 /dev/md/dNNpNN style partitionable mdraid devices.
27385
27386 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
27387
27388 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27389 at a time limit of the PXE TFTP API correctly.
27390 (grub_pxefs_close): Likewise.
27391
27392 2008-11-29 Robert Millan <rmh@aybabtu.com>
27393
27394 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
27395 grub_ata_device_initialize() calls.
27396
27397 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
27398
27399 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27400 iteration failed.
27401 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27402
27403 2008-11-28 Robert Millan <rmh@aybabtu.com>
27404
27405 Fix build on powerpc-ieee1275. Based on patch created by
27406 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27407 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27408 `kern/ieee1275/mmap.c'.
27409 * include/grub/powerpc/ieee1275/memory.h: New file.
27410
27411 Provide grub-install on coreboot.
27412 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27413 (grub_install_SOURCES): New variable.
27414 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27415 usable on coreboot.
27416
27417 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
27418
27419 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27420 to `grub_term_input_t'.
27421 (grub_term_get_current_output): Change return type to
27422 `grub_term_output_t'.
27423
27424 2008-11-22 Robert Millan <rmh@aybabtu.com>
27425
27426 Fix breakage on coreboot due to declaration mismatch.
27427 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27428 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27429 grub_vga_text_cls().
27430
27431 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
27432 comments. Avoid copying one more byte than necessary (just in case).
27433
27434 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27435 to 0x200000 (avoids trouble with some OFW implementations, and matches
27436 with the one in Yaboot).
27437 Reported by Manoel Abranches
27438
27439 2008-11-20 Robert Millan <rmh@aybabtu.com>
27440
27441 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27442 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27443
27444 * util/grub-mkconfig_lib.in (grub_warn): New function.
27445 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27446 warnings, to obtain consistent formatting.
27447 * util/grub.d/00_header.in: Likewise.
27448 * util/update-grub_lib.in: Likewise.
27449
27450 * loader/i386/linux.c (allocate_pages): Fix a warning.
27451 Move comment text to `#error' stanza.
27452
27453 Harmonize ieee1275's grub_available_iterate() with the generic
27454 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27455 build problem on i386-ieee1275):
27456 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27457 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27458 parameter `type'. Update all users of this function.
27459 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27460 `kern/ieee1275/mmap.c'.
27461 * kern/ieee1275/init.c
27462 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27463 with ...
27464 (grub_machine_mmap_iterate): ... this.
27465 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27466 return type to `grub_err_t'. Update all implementations of this
27467 function prototype.
27468 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27469 Likewise.
27470
27471 Add `lsmmap' command (lists firmware-provided memory map):
27472 * commands/lsmmap.c: New file.
27473 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27474 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27475 variables.
27476 * conf/powerpc-ieee1275.rmk: Likewise.
27477 * conf/i386-coreboot.rmk: Likewise.
27478 * conf/i386-ieee1275.rmk: Likewise.
27479
27480 2008-11-19 Robert Millan <rmh@aybabtu.com>
27481
27482 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
27483 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27484 constraints to initrd allocation (based on code from
27485 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27486 for Linux to find it.
27487
27488 2008-11-14 Robert Millan <rmh@aybabtu.com>
27489
27490 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27491 order to cope with duplicate slashes.
27492
27493 2008-11-14 Robert Millan <rmh@aybabtu.com>
27494
27495 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27496 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27497 don't want to mess with lower memory, because it is used in the Linux
27498 loader.
27499
27500 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
27501 an appropriate place in lower memory, between 0x10000 and 0x90000,
27502 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27503 is in our heap (probably as a result of it being corrupted during
27504 decompression). Add #error instance with comment to explain why this
27505 loader isn't currently usable on PC/BIOS.
27506
27507 2008-11-14 Robert Millan <rmh@aybabtu.com>
27508
27509 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
27510 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
27511
27512 2008-11-12 Robert Millan <rmh@aybabtu.com>
27513
27514 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27515
27516 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27517 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27518 from here ...
27519 * include/grub/i386/pc/memory.h: ... to here.
27520
27521 2008-11-12 Robert Millan <rmh@aybabtu.com>
27522
27523 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27524 split).
27525
27526 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27527 (grub_console_cur_color, grub_console_real_putchar)
27528 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27529 (grub_console_setcolorstate, grub_console_setcolor)
27530 (grub_console_getcolor): Move from here ...
27531 * include/grub/i386/vga_common.h: ... to here (new file).
27532
27533 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27534 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27535 `<grub/i386/io.h>'.
27536 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27537 `<grub/i386/vga_common.h>'.
27538
27539 2008-11-12 Robert Millan <rmh@aybabtu.com>
27540
27541 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27542 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27543 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27544 variables.
27545 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27546 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27547
27548 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27549 grub_console_init() with call to grub_vga_text_init().
27550 (grub_machine_fini): Replace call to
27551 grub_console_fini() with call to grub_vga_text_fini() and
27552 grub_at_keyboard_fini().
27553
27554 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27555 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27556 (grub_console_setcolorstate, grub_console_setcolor)
27557 (grub_console_getcolor): New function prototypes.
27558
27559 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27560 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27561 (grub_vga_text_setcursor): Static-ize.
27562 (grub_vga_text_term): New structure.
27563 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27564
27565 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27566 (grub_console_cur_color, grub_console_standard_color)
27567 (grub_console_normal_color, grub_console_highlight_color)
27568 (map_char, grub_console_putchar, grub_console_getcharwidth)
27569 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27570 (grub_console_getcolor): Move from here ...
27571 * term/i386/vga_common.c: ... to here (same function names).
27572
27573 2008-11-12 Robert Millan <rmh@aybabtu.com>
27574
27575 Use newly-added Multiboot support in coreboot.
27576
27577 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27578 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27579
27580 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27581 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27582 (codestart): Store the MBI in `startup_multiboot_info' when we're
27583 being loaded using Multiboot.
27584
27585 * kern/i386/coreboot/init.c (grub_machine_init): Move
27586 grub_at_keyboard_init() call to beginning of function (useful for
27587 debugging). Call grub_machine_mmap_init() before attempting to use
27588 grub_machine_mmap_iterate().
27589 (grub_lower_mem, grub_upper_mem): Move from here ...
27590 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27591 here (new file).
27592
27593 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27594 function prototype.
27595
27596 2008-11-12 Robert Millan <rmh@aybabtu.com>
27597
27598 Fix a regression introduced by the at_keyboard.mod split. Because
27599 some terminals are default on some platforms and non-default on
27600 others, the first terminal being registered determines which is
27601 going to be default.
27602
27603 * kern/term.c (grub_term_register_input): If this is the first
27604 terminal being registered, set it as the current one.
27605 (grub_term_register_output): Likewise.
27606
27607 * term/efi/console.c (grub_console_init): Do not call
27608 grub_term_set_current_output() or grub_term_set_current_input().
27609 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27610 * term/i386/pc/console.c (grub_console_init): Likewise.
27611 (grub_console_fini): Do not call grub_term_set_current_input()
27612 (but leave grub_term_set_current_output() to restore text mode).
27613
27614 2008-11-10 Robert Millan <rmh@aybabtu.com>
27615
27616 * util/grub.d/00_header.in: Add backward compatibility check for
27617 versions of terminal.mod that don't understand `terminal_input' or
27618 `terminal_output'.
27619
27620 2008-11-09 Robert Millan <rmh@aybabtu.com>
27621
27622 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27623 `terminal_input' / `terminal_output', not `terminal'.
27624
27625 2008-11-08 Robert Millan <rmh@aybabtu.com>
27626
27627 * Makefile.in (include_DATA): Fix srcdir=. assumption.
27628 (DISTCLEANFILES): Add `build_env.mk'.
27629
27630 2008-11-08 Robert Millan <rmh@aybabtu.com>
27631
27632 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
27633 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27634 members. Update all users.
27635 * util/console.c (grub_ncurses_term): Split in ...
27636 (grub_ncurses_term_input): ... this, and ...
27637 (grub_ncurses_term_output): ... this. Update all users.
27638 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
27639
27640 2008-11-08 Robert Millan <rmh@aybabtu.com>
27641
27642 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27643 (PKGDATA): Add $(pkgdata_SRCDIR).
27644 (pkglib_BUILDDIR): New variable.
27645 (pkgdata_SRCDIR): New variable.
27646 (build_env.mk): New target.
27647 (include_DATA): New variable.
27648 (install-local): Install $(include_DATA) files in $(includedir).
27649
27650 2008-11-07 Pavel Roskin <proski@gnu.org>
27651
27652 * gendistlist.sh: Use C locale for sorting to ensure consistent
27653 output on all systems.
27654
27655 * util/grub.d/00_header.in: Remove incorrect space before
27656 "serial".
27657
27658 2008-11-07 Robert Millan <rmh@aybabtu.com>
27659
27660 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27661 per specification.
27662 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27663 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27664 (based on find_multi_boot1_header).
27665 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27666 using find_multi_boot2_header(), and abort if neither Multiboot or
27667 Multiboot headers were found.
27668
27669 2008-11-07 Robert Millan <rmh@aybabtu.com>
27670
27671 Modularize at_keyboard.mod:
27672
27673 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27674 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27675 (at_keyboard_mod_LDFLAGS): New variables.
27676
27677 Actual terminal split:
27678
27679 * include/grub/term.h (struct grub_term): Split in ...
27680 (struct grub_term_input): ... this, and ...
27681 (struct grub_term_output): ... this. Update all users.
27682 (grub_term_set_current): Split in ...
27683 (grub_term_set_current_input): ... this, and ...
27684 (grub_term_set_current_output): ... this.
27685 (grub_term_get_current): Split in ...
27686 (grub_term_get_current_input): ... this, and ...
27687 (grub_term_get_current_output): ... this.
27688 (grub_term_register): Split in ...
27689 (grub_term_register_input): ... this, and ...
27690 (grub_term_register_output): ... this.
27691 (grub_term_unregister): Split in ...
27692 (grub_term_unregister_input): ... this, and ...
27693 (grub_term_unregister_output): ... this.
27694 (grub_term_iterate): Split in ...
27695 (grub_term_iterate_input): ... this, and ...
27696 (grub_term_iterate_output): ... this.
27697
27698 * kern/term.c (grub_term_list): Split in ...
27699 (grub_term_list_input): ... this, and ...
27700 (grub_term_list_output): ... this. Update all users.
27701 (grub_cur_term): Split in ...
27702 (grub_cur_term_input): ... this, and ...
27703 (grub_cur_term_output): ... this. Update all users.
27704 (grub_term_set_current): Split in ...
27705 (grub_term_set_current_input): ... this, and ...
27706 (grub_term_set_current_output): ... this.
27707 (grub_term_get_current): Split in ...
27708 (grub_term_get_current_input): ... this, and ...
27709 (grub_term_get_current_output): ... this.
27710 (grub_term_register): Split in ...
27711 (grub_term_register_input): ... this, and ...
27712 (grub_term_register_output): ... this.
27713 (grub_term_unregister): Split in ...
27714 (grub_term_unregister_input): ... this, and ...
27715 (grub_term_unregister_output): ... this.
27716 (grub_term_iterate): Split in ...
27717 (grub_term_iterate_input): ... this, and ...
27718 (grub_term_iterate_output): ... this.
27719
27720 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27721 a check for input and one for output (and only attempt to get keys
27722 from user when input works).
27723
27724 * util/grub-probe.c (grub_term_get_current): Split in ...
27725 (grub_term_get_current_input): ... this, and ...
27726 (grub_term_get_current_output): ... this.
27727 * util/grub-fstest.c: Likewise.
27728 * util/i386/pc/grub-setup.c: Likewise.
27729 * util/grub-editenv.c: Likewise.
27730
27731 Portability adjustments:
27732
27733 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27734 `term/i386/pc/at_keyboard.c'.
27735 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27736 grub_keyboard_controller_init() (now handled by terminal .init).
27737 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27738 grub_at_keyboard_init().
27739 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27740 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27741 at_keyboard.mod via input terminal interface).
27742 * include/grub/i386/coreboot/console.h: Convert into a stub for
27743 `<grub/i386/pc/console.h>'.
27744
27745 Migrate full terminals to new API:
27746
27747 * term/efi/console.c (grub_console_term): Split into ...
27748 (grub_console_term_input): ... this, and ...
27749 (grub_console_term_output): ... this. Update all users.
27750 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27751 (grub_ofconsole_init): Split into ...
27752 (grub_ofconsole_init_input): ... this, and ...
27753 (grub_ofconsole_init_output): ... this.
27754 (grub_ofconsole_term): Split into ...
27755 (grub_ofconsole_term_input): ... this, and ...
27756 (grub_ofconsole_term_output): ... this. Update all users.
27757 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27758 (grub_serial_term_input): ... this, and ...
27759 (grub_serial_term_output): ... this. Update all users.
27760 * term/i386/pc/console.c (grub_console_term): Split into ...
27761 (grub_console_term_input): ... this, and ...
27762 (grub_console_term_output): ... this. Update all users.
27763 (grub_console_term_input): Only enable it on PC/BIOS platform.
27764 (grub_console_init): Remove grub_keyboard_controller_init() call.
27765
27766 Migrate input terminals to new API:
27767
27768 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27769 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27770 i386-specific anyway).
27771 (grub_console_checkkey): Rename to ...
27772 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27773 users.
27774 (grub_keyboard_controller_orig): New variable.
27775 (grub_console_getkey): Rename to ...
27776 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27777 users.
27778 (grub_keyboard_controller_init): Static-ize. Save original
27779 controller value so that it can be restored ...
27780 (grub_keyboard_controller_fini): ... here (new function).
27781 (grub_at_keyboard_term): New structure.
27782 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27783 functions.
27784
27785 Migrate output terminals to new API:
27786
27787 * term/i386/pc/vga.c (grub_vga_term): Change type to
27788 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27789 members. Update all users.
27790 * term/gfxterm.c (grub_video_term): Change type to
27791 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27792 members. Update all users.
27793 * include/grub/i386/pc/console.h (grub_console_checkkey)
27794 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27795 etc).
27796
27797 Migrate `terminal' command and userland tools to new API:
27798
27799 * commands/terminal.c (grub_cmd_terminal): Split into ...
27800 (grub_cmd_terminal_input): ... this, and ...
27801 (grub_cmd_terminal_output): ... this.
27802 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27803 `terminal_input' and `terminal_output'.
27804 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27805 `terminal_input' / `terminal_output' API.
27806 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27807 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27808 provided ${GRUB_TERMINAL}, convert it).
27809
27810 2008-11-04 Robert Millan <rmh@aybabtu.com>
27811
27812 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27813 for FreeBSD.
27814 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27815
27816 2008-11-03 Bean <bean123ch@gmail.com>
27817
27818 * kern/elf.c (grub_elf32_load): Revert to previous code.
27819 (grub_elf64_load): Likewise.
27820
27821 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27822
27823 2008-11-01 Robert Millan <rmh@aybabtu.com>
27824
27825 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27826 (TARGET_CPPFLAGS): Likewise.
27827 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27828
27829 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27830
27831 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27832
27833 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27834
27835 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27836 addition of objects until the code is not going to be able to fail.
27837
27838 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27839
27840 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27841 (add a missing NULL check, and correct them by moving the pointer
27842 operations after the actual check).
27843
27844 2008-10-29 Robert Millan <rmh@aybabtu.com>
27845
27846 * util/i386/pc/grub-install.in: Handle empty string as output from
27847 make_system_path_relative_to_its_root().
27848
27849 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27850
27851 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27852 circular metadata worst case scenario. If the metadata is circular
27853 then copy the wrap in place.
27854 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27855 project lib/format_text/layout.h
27856 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27857
27858 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27859
27860 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27861
27862 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27863
27864 * util/update-grub_lib.in: Mention filename in warning message.
27865
27866 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27867
27868 * NEWS: Update for rename of update-grub to grub-mkconfig.
27869
27870 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27871
27872 * util/update-grub_lib.in: Copy to ...
27873 * util/grub-mkconfig_lib.in: ... this. Update all users.
27874 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27875 * util/update-grub.in: Rename to ...
27876 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27877 option. Add `--output' option to allow users to specify the generated
27878 configuration file. Default to stdout.
27879 (update_grub_dir): Rename to ...
27880 (grub_mkconfig_dir): ... this.
27881 (grub_cfg): Default to an empty string.
27882 * conf/common.rmk (update-grub): Rename to ...
27883 (grub-mkconfig): ... this.
27884 (update-grub_lib): Copy to ...
27885 (grub-mkconfig_lib): ... this.
27886 (update-grub_SCRIPTS): Copy to ...
27887 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27888 (update-grub_DATA): Rename to ...
27889 (grub-mkconfig_DATA): ... this.
27890
27891 2008-09-28 Robert Millan <rmh@aybabtu.com>
27892
27893 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27894 to `modified'. Add the real `created' field.
27895 (grub_iso9660_uuid): Use `modified' rather than `created' for
27896 constructing the UUID.
27897
27898 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27899
27900 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27901 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27902
27903 2008-09-28 Bean <bean123ch@gmail.com>
27904
27905 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27906 Thanks to Christian Franke for finding this bug.
27907
27908 2008-09-25 Robert Millan <rmh@aybabtu.com>
27909
27910 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27911 instances of grub_util_get_disk_name() (see previous commit).
27912
27913 2008-09-25 Robert Millan <rmh@aybabtu.com>
27914
27915 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27916 `util/i386/get_disk_name.c'.
27917 * conf/i386-efi.rmk: Likewise.
27918 * conf/x86_64-efi.rmk: Likewise.
27919 * conf/i386-coreboot.rmk: Likewise.
27920 * conf/i386-ieee1275.rmk: Likewise.
27921 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27922 `util/ieee1275/get_disk_name.c'.
27923 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27924 * util/ieee1275/get_disk_name.c: Remove file.
27925 * util/i386/get_disk_name.c: Remove file.
27926 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27927 "hd%d" for device.map entries, rather than using
27928 grub_util_get_disk_name().
27929
27930 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27931
27932 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27933 warning.
27934 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27935
27936 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27937
27938 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27939 Changed to 0x5100.
27940 (GRUB_TERM_PPAGE): Changed to 0x4900.
27941
27942 2008-09-24 Robert Millan <rmh@aybabtu.com>
27943
27944 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27945 macros (they were i386-pc specific).
27946 * include/grub/sparc64/ieee1275/console.h: Likewise.
27947 * include/grub/efi/console.h: Likewise.
27948
27949 2008-09-22 Bean <bean123ch@gmail.com>
27950
27951 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27952 resident and in attribute list.
27953
27954 * include/grub/ntfs.h (BMP_LEN): Removed.
27955
27956 2008-09-22 Bean <bean123ch@gmail.com>
27957
27958 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27959 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27960
27961 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27962 error occurs, as grub_disk_open will call grub_disk_close, which will
27963 call p->close (scsi).
27964
27965 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27966
27967 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27968 (AC_PREREQ): Bumped to 2.59.
27969 (AC_TRY_COMPILE): Replace obsolete macro with ...
27970 (AC_COMPILE_IFELSE): ... this.
27971 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27972 (AC_LINK_IFELSE): ... this.
27973
27974 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27975
27976 * autogen.sh: Add a call to `gendistlist.sh'.
27977
27978 2008-09-19 Christian Franke <franke@computer.org>
27979
27980 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27981 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27982 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27983 Export __enable_execute_stack() to modules.
27984 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27985 New function.
27986
27987 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27988
27989 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27990 Sort the list.
27991
27992 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27993
27994 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27995 #include <grub/util/hostdisk.h>.
27996
27997 2008-09-08 Robert Millan <rmh@aybabtu.com>
27998
27999 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
28000 segments when their filesz is zero (grub_file_read() interprets
28001 zero-size as "read until EOF", which results in memory corruption).
28002 Use `lowest_segment' rather than 0 for calculating the current
28003 segment load address.
28004
28005 2008-09-08 Robert Millan <rmh@aybabtu.com>
28006
28007 * util/hostdisk.c (open_device): Replace a grub_util_info() call
28008 with grub_dprintf("hostdisk", ...), as it was so verbose that it
28009 clobbered useful information.
28010
28011 2008-09-08 Robert Millan <rmh@aybabtu.com>
28012
28013 * include/grub/util/biosdisk.h: Move to ...
28014 * include/grub/util/hostdisk.h: ... here. Update all users.
28015 * util/biosdisk.c: Move to ...
28016 * util/hostdisk.c: ... here. Update all users.
28017
28018 2008-09-07 Robert Millan <rmh@aybabtu.com>
28019
28020 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
28021 variables.
28022 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
28023 and length can be stored directly in the `mbi->mmap_addr' and
28024 `mbi->mmap_length' struct fields.
28025
28026 2008-09-07 Robert Millan <rmh@aybabtu.com>
28027
28028 * conf/i386.rmk: New file. Provides declaration for building
28029 `cpuid.mod'.
28030 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
28031 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
28032 variables.
28033 Include `conf/i386.mk'.
28034 * conf/i386-efi.rmk: Likewise.
28035 * conf/x86_64-efi.rmk: Likewise.
28036 * conf/i386-coreboot.rmk: Likewise.
28037 * conf/i386-ieee1275.rmk: Likewise.
28038
28039 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
28040
28041 Based on patch created by Colin D Bennett <colin@gibibit.com>.
28042 Adds optimization support for BGR based modes.
28043
28044 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
28045 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28046 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28047 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28048 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28049 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28050 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28051 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28052 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28053 (grub_video_i386_vbeblit_index_index): Likewise.
28054 (grub_video_i386_vbeblit_replace_directN): Added.
28055 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28056 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28057 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28058 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28059 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28060 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
28061 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
28062 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28063 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28064 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28065 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28066 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28067 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
28068
28069 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
28070 (grub_video_i386_vbefill_R8G8B8): Likewise.
28071 (grub_video_i386_vbefill_index): Likewise.
28072 (grub_video_i386_vbefill_direct32): Added.
28073 (grub_video_i386_vbefill_direct24): Likewise.
28074 (grub_video_i386_vbefill_direct16): Likewise.
28075 (grub_video_i386_vbefill_direct8): Likewise.
28076
28077 * include/grub/video.h (grub_video_blit_format): Removed
28078 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
28079 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
28080 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
28081 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
28082 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
28083
28084 * video/video.c (grub_video_get_blit_format): Updated to use new
28085 blit formats. Added handling for 16 bit color modes.
28086
28087 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
28088 fillers.
28089 (common_blitter): Updated to use new blitters.
28090
28091 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
28092 Removed.
28093 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28094 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28095 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28096 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28097 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28098 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28099 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28100 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28101 (grub_video_i386_vbeblit_index_index): Likewise.
28102 (grub_video_i386_vbeblit_replace_directN): Added.
28103 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28104 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28105 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28106 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28107 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28108 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
28109 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
28110 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28111 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28112 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28113 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28114 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28115 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
28116
28117 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
28118 (grub_video_i386_vbefill_R8G8B8): Likewise.
28119 (grub_video_i386_vbefill_index): Likewise.
28120 (grub_video_i386_vbefill_direct32): Added.
28121 (grub_video_i386_vbefill_direct24): Likewise.
28122 (grub_video_i386_vbefill_direct16): Likewise.
28123 (grub_video_i386_vbefill_direct8): Likewise.
28124
28125 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
28126 types.
28127
28128 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
28129 types.
28130
28131 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
28132 blitter types.
28133
28134 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
28135 types.
28136
28137 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
28138
28139 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
28140 RAID level 1.
28141
28142 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
28143
28144 * fs/iso9660.c (grub_iso9660_date): New structure.
28145 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
28146 (grub_iso9660_uuid): New function.
28147
28148 2008-09-05 Bean <bean123ch@gmail.com>
28149
28150 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
28151
28152 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
28153 insensitive bit for names in Win32 and Win32 & DOS namespace.
28154
28155 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
28156
28157 * include/grub/types.h (LONG_MAX): Likewise.
28158
28159 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
28160
28161 * util/getroot.c: Include <config.h>.
28162 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
28163 add support for /dev/md/N devices and handle LVM double dash escaping.
28164
28165 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
28166
28167 * config.guess: Update to latest version from config git.
28168 * config.sub: Likewise.
28169
28170 2008-09-03 Robert Millan <rmh@aybabtu.com>
28171
28172 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
28173 `disk->total_sectors'.
28174
28175 2008-09-01 Colin D Bennett <colin@gibibit.com>
28176
28177 * include/grub/normal.h: Fixed incorrect comment for
28178 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
28179
28180 2008-09-01 Colin D Bennett <colin@gibibit.com>
28181
28182 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
28183 values with defines.
28184
28185 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
28186 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
28187 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
28188 (GRUB_VBE_MODEATTR_COLOR): Likewise.
28189 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
28190 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
28191 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
28192 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
28193 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
28194 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
28195 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
28196 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
28197 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
28198 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
28199 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
28200 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
28201 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
28202 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
28203 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
28204
28205 2008-08-31 Robert Millan <rmh@aybabtu.com>
28206
28207 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
28208 declaration.
28209 (grub_multiboot): Fix a few warnings.
28210
28211 2008-08-31 Robert Millan <rmh@aybabtu.com>
28212
28213 * loader/i386/pc/multiboot.c: Update comment not to say that
28214 boot_device support is unimplemented.
28215
28216 2008-08-31 Robert Millan <rmh@aybabtu.com>
28217
28218 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
28219 or memory map support are unimplemented.
28220
28221 2008-08-31 Colin D Bennett <colin@gibibit.com>
28222
28223 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
28224
28225 2008-08-31 Colin D Bennett <colin@gibibit.com>
28226
28227 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
28228 total video memory in 'vbeinfo' output; show color format details for
28229 each video mode.
28230
28231 2008-08-30 Pavel Roskin <proski@gnu.org>
28232
28233 * util/genmoddep.c: Remove for real this time.
28234 * DISTLIST: Remove util/genmoddep.c.
28235
28236 2008-08-30 Robert Millan <rmh@aybabtu.com>
28237
28238 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
28239 as required by Multiboot spec (it was already 4-byte aligned, but
28240 only by chance).
28241
28242 2008-08-29 Pavel Roskin <proski@gnu.org>
28243
28244 * kern/powerpc/ieee1275/crt0.S: Rename to ...
28245 * kern/powerpc/ieee1275/startup.S: ... this.
28246 * conf/powerpc-ieee1275.rmk: Adjust for the above.
28247 * DISTLIST: Likewise.
28248
28249 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
28250 grub/cpu/kernel.h. Add start label for consistency with other
28251 platforms. Add grub_prefix immediately after start. Add jump
28252 to the code after grub_prefix.
28253 * include/grub/powerpc/kernel.h: Provide valid values for
28254 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
28255
28256 2008-08-29 Bean <bean123ch@gmail.com>
28257
28258 * configure.ac: Change host_os to cygwin for mingw.
28259 (asprintf): New check for function.
28260
28261 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
28262 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
28263
28264 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
28265 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
28266 sync, sleep and grub_util_get_disk_size for mingw.
28267
28268 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
28269 to get size in mingw.
28270 (open_device): Use flag O_BINARY if it's defined.
28271 (find_root_device): Add dummy code for mingw.
28272
28273 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
28274 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
28275 (get_scsi_disk_name): Return 0 for mingw.
28276
28277 * util/hostfs.c: #include <grub/util/misc.h>.
28278 (grub_hostfs_open): Use "rb" flag to open file, use
28279 grub_util_get_disk_size to get disk size for mingw.
28280
28281 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
28282 (asprintf): New function if HAVE_ASPRINTF is not set.
28283 (sync): New function for mingw.
28284 (sleep): Likewise.
28285 (grub_util_get_disk_size): Likewise.
28286
28287 2008-08-28 Pavel Roskin <proski@gnu.org>
28288
28289 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28290 kern/time.c.
28291
28292 2008-08-28 Robert Millan <rmh@aybabtu.com>
28293
28294 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
28295
28296 2008-08-28 Robert Millan <rmh@aybabtu.com>
28297
28298 Change find_grub_drive() syntax so it doesn't prevent it from
28299 detecting NULL names as errors.
28300
28301 * util/biosdisk.c (find_grub_drive): Move free slot search code
28302 from here ...
28303 (find_free_slot): ... to here.
28304 (read_device_map): Use find_free_slot() to search for free slots.
28305
28306 2008-08-27 Marco Gerards <marco@gnu.org>
28307
28308 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28309 (scsi_mod_SOURCES): New variable.
28310 (scsi_mod_CFLAGS): Likewise
28311 (scsi_mod_LDFLAGS): Likewise.
28312
28313 * disk/scsi.c: New file.
28314
28315 * include/grub/scsi.h: Likewise.
28316
28317 * include/grub/scsicmd.h: Likewise.
28318
28319 * disk/ata.c: Include <grub/scsi.h>.
28320 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28321 instead.
28322 (grub_ata_iterate): Skip ATAPI devices.
28323 (grub_ata_open): Only handle ATAPI devices.
28324 (struct grub_atapi_read): Removed.
28325 (grub_atapi_readsector): Likewise.
28326 (grub_ata_read): No longer handle ATAPI devices.
28327 (grub_ata_write): Likewise.
28328 (grub_atapi_iterate): New function.
28329 (grub_atapi_read): Likewise.
28330 (grub_atapi_write): Likewise.
28331 (grub_atapi_open): Likewise.
28332 (grub_atapi_close): Likewise.
28333 (grub_atapi_dev): New variable.
28334 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28335 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28336
28337 * include/grub/disk.h (enum grub_disk_dev_id): Add
28338 `GRUB_DISK_DEVICE_SCSI_ID'.
28339
28340 2008-08-26 Robert Millan <rmh@aybabtu.com>
28341
28342 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28343 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28344 descriptive.
28345
28346 2008-08-23 Bean <bean123ch@gmail.com>
28347
28348 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28349 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28350 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28351 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28352 dm_nv.mod.
28353 (raid5rec_mod_SOURCES): New macro.
28354 (raid5rec_mod_CFLAGS): Likewise.
28355 (raid5rec_mod_LDFLAGS): Likewise.
28356 (raid6rec_mod_SOURCES): Likewise.
28357 (raid6rec_mod_CFLAGS): Likewise.
28358 (raid6rec_mod_LDFLAGS): Likewise.
28359 (mdraid_mod_SOURCES): Likewise.
28360 (mdraid_mod_CFLAGS): Likewise.
28361 (mdraid_mod_LDFLAGS): Likewise.
28362 (dm_nv_mod_SOURCES): Likewise.
28363 (dm_nv_mod_CFLAGS): Likewise.
28364 (dm_nv_mod_LDFLAGS): Likewise.
28365
28366 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28367 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28368 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28369
28370 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28371 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28372
28373 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28374
28375 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28376
28377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28378
28379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28380
28381 * disk/raid5_recover.c: New file.
28382
28383 * disk/raid6_recover.c: Likewise.
28384
28385 * disk/mdraid_linux.c: Likewise.
28386
28387 * disk/dmraid_nvidia.c: Likewise.
28388
28389 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28390 ULONG_MAX.
28391
28392 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28393 calculate the size of raid device.
28394 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28395 different layout of raid5.
28396 (grub_raid_scan_device): Remove code specific to mdraid.
28397 (grub_raid_list): New variable.
28398 (free_array): New function.
28399 (grub_raid_register): Likewise.
28400 (grub_raid_unregister): Likewise.
28401 (grub_raid_rescan): Likewise.
28402 (GRUB_MOD_INIT): Don't iterate device here.
28403 (GRUB_MOD_FINI): Use free_array to release resource.
28404
28405 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28406 (grub_raid5_recover_func_t): New function variable type.
28407 (grub_raid6_recover_func_t): Likewise.
28408 (grub_raid5_recover_func): New variable.
28409 (grub_raid6_recover_func): Likewise.
28410 (grub_raid_register): New function.
28411 (grub_raid_unregister): Likewise.
28412 (grub_raid_rescan): Likewise.
28413 (grub_raid_block_xor): Likewise.
28414
28415 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28416 (CMD_CRC): New macro.
28417 (part): Removed.
28418 (read_file): Handle device as well as file.
28419 (cmd_crc): New function.
28420 (fstest): Handle multiple disks.
28421 (options): Remove part, raw and long, add root and diskcount.
28422 (usage): Add crc, remove -p, -r, -l, add -r and -c.
28423 (main): Find the first non option entry and ignore subsequent options,
28424 add handling for the new options, support multiple disks.
28425
28426 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28427
28428 2008-08-23 Bean <bean123ch@gmail.com>
28429
28430 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28431
28432 * genfslist.sh: Ignore kernel.mod.
28433
28434 * genpartmaplist.sh: Likewise.
28435
28436 2008-08-23 Robert Millan <rmh@aybabtu.com>
28437
28438 * util/getroot.c (find_root_device): Skip anything that starts with
28439 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28440
28441 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
28442
28443 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28444 * util/grub.d/00_header.in: Allow the administrator to change default
28445 gfxmode via ${GRUB_GFXMODE}.
28446
28447 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
28448
28449 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28450
28451 2008-08-21 Robert Millan <rmh@aybabtu.com>
28452
28453 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28454 loader.
28455 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28456 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28457
28458 2008-08-20 Carles Pina i Estany <carles@pina.cat>
28459
28460 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28461 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28462
28463 2008-08-19 Robert Millan <rmh@aybabtu.com>
28464
28465 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28466 (struct grub_virtual_screen): Remove `cursor_color'.
28467 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28468 initialization.
28469 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28470
28471 2008-08-18 Robert Millan <rmh@aybabtu.com>
28472
28473 Unify (identical) linux_normal.c files.
28474 * loader/i386/efi/linux_normal.c: Move from here ...
28475 * loader/linux_normal.c: ... to here. Update all users.
28476 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28477 * loader/i386/ieee1275/linux_normal.c: Likewise.
28478
28479 2008-08-18 Robert Millan <rmh@aybabtu.com>
28480
28481 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28482 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28483 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28484 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28485 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28486 New macros.
28487 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28488 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28489 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28490 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28491 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28492 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28493 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28494 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28495 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28496 portably using grub_getxy().
28497 Replace `-EFI' with `-bzImage' in boot message.
28498
28499 2008-08-17 Robert Millan <rmh@aybabtu.com>
28500
28501 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28502
28503 2008-08-17 Robert Millan <rmh@aybabtu.com>
28504
28505 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28506
28507 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28508 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28509 (grub_machine_mmap_iterate): New function declaration.
28510 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28511 structure.
28512 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28513 macros.
28514
28515 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28516 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28517 Move e820 parsing from here ...
28518 * kern/i386/pc/mmap.c: New file.
28519 (grub_machine_mmap_iterate): ... to here.
28520
28521 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28522 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28523 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28524 (grub_available_iterate): Redeclare to return `void', and redeclare
28525 its hook to use grub_uint64_t as addr and size parameters, and rename
28526 to ...
28527 (grub_machine_mmap_iterate): ... this. Update all users.
28528
28529 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28530 to make it more readable. Rename to ...
28531 (grub_machine_mmap_iterate): ... this.
28532
28533 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28534 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28535 (grub_multiboot): Allocate an extra region after the payload, and fill
28536 it with a Multiboot memory map. Adjust a.out loader to calculate size
28537 with the extra space.
28538 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28539 with the extra space.
28540
28541 2008-08-17 Carles Pina i Estany <carles@pina.cat>
28542
28543 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
28544
28545 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
28546
28547 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28548 mdate-sh to the list `find' searches for.
28549 * DISTLIST: Regenerated.
28550
28551 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
28552
28553 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28554 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
28555 genmoddep.awk, gensymlist.sh.in.
28556 (DISTDIRS): Add bus, docs, hook, lib.
28557 * DISTLIST: Regenerated.
28558 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
28559
28560 2008-08-16 Robert Millan <rmh@aybabtu.com>
28561
28562 * disk/raid.c (grub_raid_init): Handle/report errors set by
28563 grub_device_iterate().
28564 * disk/lvm.c (grub_lvm_init): Likewise.
28565
28566 2008-08-15 Bean <bean123ch@gmail.com>
28567
28568 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28569 and datehook.mod.
28570 (datetime_mod_SOURCES): New macro.
28571 (datetime_mod_CFLAGS): Likewise.
28572 (datetime_mod_LDFLAGS): Likewise.
28573 (date_mod_SOURCES): Likewise.
28574 (date_mod_CFLAGS): Likewise.
28575 (date_mod_LDFLAGS): Likewise.
28576 (datehook_mod_SOURCES): Likewise.
28577 (datehook_mod_CFLAGS): Likewise.
28578 (datehook_mod_LDFLAGS): Likewise.
28579
28580 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28581 and datehook.mod.
28582 (datetime_mod_SOURCES): New macro.
28583 (datetime_mod_CFLAGS): Likewise.
28584 (datetime_mod_LDFLAGS): Likewise.
28585 (date_mod_SOURCES): Likewise.
28586 (date_mod_CFLAGS): Likewise.
28587 (date_mod_LDFLAGS): Likewise.
28588 (datehook_mod_SOURCES): Likewise.
28589 (datehook_mod_CFLAGS): Likewise.
28590 (datehook_mod_LDFLAGS): Likewise.
28591
28592 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28593 and datehook.mod.
28594 (datetime_mod_SOURCES): New macro.
28595 (datetime_mod_CFLAGS): Likewise.
28596 (datetime_mod_LDFLAGS): Likewise.
28597 (date_mod_SOURCES): Likewise.
28598 (date_mod_CFLAGS): Likewise.
28599 (date_mod_LDFLAGS): Likewise.
28600 (datehook_mod_SOURCES): Likewise.
28601 (datehook_mod_CFLAGS): Likewise.
28602 (datehook_mod_LDFLAGS): Likewise.
28603
28604 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28605 and datehook.mod.
28606 (datetime_mod_SOURCES): New macro.
28607 (datetime_mod_CFLAGS): Likewise.
28608 (datetime_mod_LDFLAGS): Likewise.
28609 (date_mod_SOURCES): Likewise.
28610 (date_mod_CFLAGS): Likewise.
28611 (date_mod_LDFLAGS): Likewise.
28612 (datehook_mod_SOURCES): Likewise.
28613 (datehook_mod_CFLAGS): Likewise.
28614 (datehook_mod_LDFLAGS): Likewise.
28615
28616 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28617 and datehook.mod.
28618 (datetime_mod_SOURCES): New macro.
28619 (datetime_mod_CFLAGS): Likewise.
28620 (datetime_mod_LDFLAGS): Likewise.
28621 (date_mod_SOURCES): Likewise.
28622 (date_mod_CFLAGS): Likewise.
28623 (date_mod_LDFLAGS): Likewise.
28624 (datehook_mod_SOURCES): Likewise.
28625 (datehook_mod_CFLAGS): Likewise.
28626 (datehook_mod_LDFLAGS): Likewise.
28627
28628 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28629
28630 * commands/date.c: New file.
28631
28632 * hook/datehook.c: Likewise.
28633
28634 * include/grub/lib/datetime.h: Likewise.
28635
28636 * include/grub/i386/cmos.h: Likewise.
28637
28638 * lib/datetime.c: Likewise.
28639
28640 * lib/i386/datetime.c: Likewise.
28641
28642 * lib/efi/datetime.c: Likewise.
28643
28644 2008-08-14 Robert Millan <rmh@aybabtu.com>
28645
28646 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28647 (grub_mkelfimage_SOURCES): New variable.
28648 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28649
28650 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28651 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28652 * conf/powerpc-ieee1275.rmk: Likewise.
28653 * conf/i386-ieee1275.rmk: Likewise.
28654
28655 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28656 * kern/i386/coreboot/init.c: Likewise.
28657
28658 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28659 with `<grub/cpu/kernel.h>'.
28660 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28661 to ...
28662 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28663 * kern/i386/coreboot/startup.S: Likewise.
28664
28665 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28666 (GRUB_MOD_GAP): Remove.
28667 * include/grub/powerpc/kernel.h: New file.
28668 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28669 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28670 * include/grub/i386/kernel.h: New file.
28671 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28672 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28673 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28674
28675 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28676 `grub-mkelfimage'.
28677 Use --directory when invoking grub_mkimage.
28678
28679 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28680 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28681 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28682 and GRUB_KERNEL_CPU_PREFIX.
28683
28684 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
28685
28686 * include/grub/err.h (grub_err_printf): New function prototype.
28687 * util/misc.c (grub_err_printf): New function.
28688 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28689 grub_printf.
28690 * kern/err.c (grub_print_error): Use grub_err_printf.
28691
28692 2008-08-13 Robert Millan <rmh@aybabtu.com>
28693
28694 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28695
28696 2008-08-13 Robert Millan <rmh@aybabtu.com>
28697
28698 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28699 boot entry.
28700
28701 2008-08-12 Robert Millan <rmh@aybabtu.com>
28702
28703 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28704 of the relocation code from here ...
28705 (grub_multiboot): ... to here.
28706 (forward_relocator, backward_relocator): Move from here ...
28707 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28708 (grub_multiboot_backward_relocator): ... to here.
28709 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28710 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28711 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28712 (grub_multiboot_forward_relocator_end)
28713 (grub_multiboot_backward_relocator)
28714 (grub_multiboot_backward_relocator_end): New variables.
28715
28716 2008-08-12 Bean <bean123ch@gmail.com>
28717
28718 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28719
28720 2008-08-11 Robert Millan <rmh@aybabtu.com>
28721
28722 * kern/i386/linuxbios/startup.S: Move from here ...
28723 * kern/i386/coreboot/startup.S: ... to here.
28724
28725 * kern/i386/linuxbios/init.c: Move from here ...
28726 * kern/i386/coreboot/init.c: ... to here.
28727
28728 * kern/i386/linuxbios/table.c: Move from here ...
28729 * kern/i386/coreboot/mmap.c: ... to here.
28730
28731 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28732
28733 2008-08-11 Robert Millan <rmh@aybabtu.com>
28734
28735 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28736 errors. Leave it to the upper layer to handle them.
28737
28738 2008-08-09 Christian Franke <franke@computer.org>
28739
28740 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28741 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28742 Install `grub.d/10_windows' only on Cygwin.
28743 * configure.ac: Add subst of `target_os'.
28744 Check `target_os' also before setting TARGET_OBJ2ELF.
28745 Add `--enable-grub-pe2elf'.
28746
28747 2008-08-08 Robert Millan <rmh@aybabtu.com>
28748
28749 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28750 (grub_last_time): Change type to grub_uint64_t.
28751 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28752 (grub_disk_close): Likewise.
28753
28754 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28755 (run_menu): Migrate code from to using grub_get_time_ms().
28756
28757 * util/misc.c (grub_get_time_ms): New function.
28758
28759 2008-08-08 Marco Gerards <marco@gnu.org>
28760
28761 * disk/ata.c (grub_ata_regget): Change return type to
28762 `grub_uint8_t'.
28763 (grub_ata_regget2): Likewise.
28764 (grub_ata_wait_status): New function.
28765 (grub_ata_wait_busy): Removed function, updated all users to use
28766 `grub_ata_wait_status'.
28767 (grub_ata_wait_drq): Likewise.
28768 (grub_ata_cmd): New function.
28769 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28770 error handling.
28771 (grub_ata_pio_write): Add error handling.
28772 (grub_atapi_identify): Likewise.
28773 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28774 handling.
28775 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28776 handling. Actually use the detected registers. Reorder the
28777 detection logic such that it is easier to read.
28778 (grub_ata_pciinit): Do not assign the same ID to each controller.
28779 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28780 handling.
28781 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28782
28783 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28784
28785 2008-08-08 Marco Gerards <marco@gnu.org>
28786
28787 * NEWS: Update.
28788
28789 2008-08-07 Bean <bean123ch@gmail.com>
28790
28791 * include/grub/x86_64/pci.h: New file.
28792
28793 2008-08-07 Christian Franke <franke@computer.org>
28794
28795 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28796 (TIMER2_GATE): Likewise.
28797 (grub_pit_wait): Add enable/disable of the timer2 gate
28798 bit of port 0x61. This fixes a possible infinite loop.
28799
28800 2008-08-07 Bean <bean123ch@gmail.com>
28801
28802 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28803 kern/i386/tsc.c and kern/i386/pit.c.
28804
28805 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28806 x86_64 platform.
28807
28808 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28809 <grub/i386/tsc.h>.
28810
28811 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28812
28813 2008-08-07 Bean <bean123ch@gmail.com>
28814
28815 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28816
28817 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28818
28819 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28820 multiple inclusion. Add #include <grub/types.h>.
28821
28822 2008-08-06 Christian Franke <franke@computer.org>
28823
28824 * conf/common.rmk: Build and install `10_windows'.
28825 * util/grub.d/10_windows.in: New script.
28826
28827 2008-08-06 Pavel Roskin <proski@gnu.org>
28828
28829 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28830
28831 2008-08-06 Robert Millan <rmh@aybabtu.com>
28832
28833 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28834 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28835
28836 2008-08-06 Bean <bean123ch@gmail.com>
28837
28838 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28839 (grub_pxefs_fs_int): Remove dummy definition.
28840 (grub_pxefs_open): Use data->block_size to store the current block
28841 size setting.
28842 (grub_pxefs_read): Use block size stored in data->block_size. As the
28843 value of grub_pxe_blksize can be changed after the file is opened.
28844
28845 2008-08-06 Bean <bean123ch@gmail.com>
28846
28847 * fs/i386/pc/pxe.c (curr_file): new variable.
28848 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28849 require the dummy internal file system anymore.
28850 (grub_pxefs_read): Removed.
28851 (grub_pxefs_close): Likewise.
28852 (grub_pxefs_fs_int): Likewise.
28853 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28854 connection when we switch file.
28855 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28856
28857 2008-08-06 Robert Millan <rmh@aybabtu.com>
28858
28859 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28860 `halt.mod'.
28861 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28862 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28863
28864 * kern/i386/halt.c: New file.
28865 * kern/i386/reboot.c: Likewise.
28866 * include/grub/i386/reboot.h: Likewise.
28867 * include/grub/i386/halt.h: Likewise.
28868
28869 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28870 Include `<grub/cpu/halt.h>'.
28871 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28872 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28873
28874 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28875 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28876 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28877 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28878 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28879 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28880 from here ...
28881 * include/grub/i386/at_keyboard.h: ... to here.
28882
28883 2008-08-05 Robert Millan <rmh@aybabtu.com>
28884
28885 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28886 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28887 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28888 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28889 `kern/generic/millisleep.c'.
28890
28891 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28892 instead of grub_get_rtc().
28893 (grub_tsc_init): Initialize `tsc_boot_time'.
28894
28895 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28896 (grub_machine_init): Use grub_tsc_init() rather than
28897 installing an RTC-based handler via grub_install_get_time_ms().
28898
28899 * kern/i386/pit.c: New file.
28900 * include/grub/i386/pit.h: Likewise.
28901
28902 2008-08-05 Bean <bean123ch@gmail.com>
28903
28904 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28905
28906 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28907 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28908 (pxe_mod_SOURCES): New macro.
28909 (pxe_mod_CFLAGS): Likewise.
28910 (pxe_mod_LDFLAGS): Likewise.
28911 (pxecmd_mod_SOURCES): Likewise.
28912 (pxecmd_mod_CFLAGS): Likewise.
28913 (pxecmd_mod_LDFLAGS): Likewise.
28914
28915 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28916 (grub_pxe_call): Likewise.
28917
28918 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28919
28920 * commands/i386/pc/pxecmd.c: New file.
28921
28922 * fs/i386/pc/pxe.c: Likewise.
28923
28924 * include/grub/i386/pc/pxe.h: Likewise.
28925
28926 2008-08-05 Bean <bean123ch@gmail.com>
28927
28928 * util/console.c (grub_console_cur_color): New variable.
28929 (grub_console_standard_color): Likewise.
28930 (grub_console_normal_color): Likewise.
28931 (grub_console_highlight_color): Likewise.
28932 (color_map): Likewise.
28933 (use_color): Likewise.
28934 (NUM_COLORS): New macro.
28935 (grub_ncurses_setcolorstate): Handle color properly.
28936 (grub_ncurses_setcolor): Don't change color here, just remember the
28937 settings, color will be set in grub_ncurses_setcolorstate.
28938 (grub_ncurses_getcolor): New function.
28939 (grub_ncurses_init): Initialize color pairs.
28940 (grub_ncurses_term): New member grub_ncurses_getcolor.
28941
28942 2008-08-05 Colin D Bennett <colin@gibibit.com>
28943
28944 High resolution timer support. Implemented for x86 CPUs using TSC.
28945 Extracted generic grub_millisleep() so it's linked in only as needed.
28946 This requires a Pentium compatible CPU; if the RDTSC instruction is
28947 not supported, then it falls back on the generic grub_get_time_ms()
28948 implementation that uses the machine's RTC.
28949
28950 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28951 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28952 `kern/generic/millisleep.c'.
28953
28954 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28955 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28956
28957 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28958 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28959
28960 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28961
28962 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28963 `kern/generic/millisleep.c'.
28964
28965 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28966
28967 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28968
28969 * kern/generic/rtc_get_time_ms.c: New file.
28970
28971 * kern/generic/millisleep.c: New file.
28972
28973 * kern/misc.c: Don't include
28974 <kern/time.h> anymore.
28975 (grub_millisleep_generic): Removed.
28976
28977 * commands/sleep.c (grub_interruptible_millisleep): Uses
28978 grub_get_time_ms() instead of grub_get_rtc().
28979
28980 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28981 function.
28982 (grub_cpu_is_cpuid_supported): New inline function.
28983 (grub_cpu_is_tsc_supported): New inline function.
28984 (grub_tsc_init): New function prototype.
28985 (grub_tsc_get_time_ms): New function prototype.
28986
28987 * kern/i386/tsc.c (grub_get_time_ms): New file.
28988
28989 * include/grub/time.h: Include <grub/types.h.
28990 (grub_millisleep_generic): Removed.
28991 (grub_get_time_ms): New prototype.
28992 (grub_install_get_time_ms): New prototype.
28993 (grub_rtc_get_time_ms): New prototype.
28994
28995 * kern/time.c (grub_get_time_ms): New function.
28996 (grub_install_get_time_ms): New function.
28997
28998 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28999 <grub/time.h> anymore.
29000 (grub_millisleep): Removed.
29001 (grub_machine_init): Call grub_tsc_init.
29002
29003 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
29004 get_time_ms() implementation.
29005
29006 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
29007 (ieee1275_get_time_ms): New function.
29008 (grub_machine_init): Install get_time_ms() implementation.
29009
29010 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
29011 (grub_machine_init): Call grub_tsc_init().
29012 (grub_millisleep): Removed.
29013
29014 * kern/ieee1275/init.c (grub_millisleep): Removed.
29015 (grub_machine_init): Install ieee1275_get_time_ms()
29016 implementation.
29017 (ieee1275_get_time_ms): New function.
29018 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
29019 real work.
29020
29021 2008-08-05 Marco Gerards <marco@gnu.org>
29022
29023 * disk/ata.c: Include <grub/pci.h>.
29024 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
29025 (grub_ata_initialize): Rewritten.
29026 (grub_ata_device_initialize): New function.
29027
29028 2008-08-04 Pavel Roskin <proski@gnu.org>
29029
29030 * kern/main.c: Include grub/mm.h.
29031
29032 2008-08-04 Robert Millan <rmh@aybabtu.com>
29033
29034 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
29035 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
29036 corruption problem).
29037
29038 2008-08-04 Robert Millan <rmh@aybabtu.com>
29039
29040 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
29041 warnings introduced in my last commit.
29042
29043 2008-08-03 Robert Millan <rmh@aybabtu.com>
29044
29045 Make PCI available on all i386 architectures.
29046
29047 * include/grub/i386/pc/pci.h: Move from here ...
29048 * include/grub/i386/pci.h: ... to here.
29049
29050 * include/grub/i386/pc/pci.h: Remove.
29051 * include/grub/i386/efi/pci.h: Remove.
29052 * include/grub/x86_64/efi/pci.h: Remove.
29053
29054 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
29055 `<grub/cpu/pci.h>'.
29056
29057 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
29058 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
29059 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
29060
29061 * conf/i386-ieee1275.rmk: Likewise.
29062
29063 2008-08-03 Robert Millan <rmh@aybabtu.com>
29064
29065 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
29066 (grub_console_setcursor): Make it possible to set cursor off.
29067
29068 2008-08-03 Robert Millan <rmh@aybabtu.com>
29069
29070 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
29071 of modules instead of assuming which platform provides what.
29072 * util/update-grub.in: Likewise.
29073
29074 2008-08-03 Robert Millan <rmh@aybabtu.com>
29075
29076 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
29077 instead of `grub_install_dos_part' to determine whether a drive needs
29078 to be prepended to prefix (`grub_install_dos_part' is not reliable,
29079 because it can be overridden when loading GRUB via Multiboot).
29080
29081 2008-08-02 Robert Millan <rmh@aybabtu.com>
29082
29083 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
29084
29085 2008-08-02 Robert Millan <rmh@aybabtu.com>
29086
29087 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
29088 of informational grub_dprintf() calls.
29089
29090 2008-08-02 Robert Millan <rmh@aybabtu.com>
29091
29092 * disk/memdisk.c (memdisk_size): Don't initialize.
29093 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
29094
29095 * include/grub/i386/pc/kernel.h
29096 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
29097 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
29098 (grub_memdisk_image_size, grub_arch_memdisk_addr)
29099 (grub_arch_memdisk_size): Remove.
29100
29101 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
29102 field (was only used to transfer a constant). Add `type' field to
29103 support multiple module types.
29104 (grub_module_iterate): New function.
29105
29106 * kern/device.c (grub_device_open): Do not hide error messages
29107 when grub_disk_open() fails. Use grub_print_error() instead.
29108
29109 * kern/i386/pc/init.c (grub_arch_modules_addr)
29110 (grub_arch_memdisk_size): Remove functions.
29111 (grub_arch_modules_addr): Return the module address in high memory
29112 (now that it isn't copied anymore).
29113
29114 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
29115 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
29116 decompression routine (grub_total_module_size already includes that
29117 now). Don't copy modules back to low memory.
29118
29119 * kern/main.c: Include `<grub/mm.h>'.
29120 (grub_load_modules): Split out (and use) ...
29121 (grub_module_iterate): ... this function, which iterates through
29122 module objects and runs a hook.
29123 Comment out grub_mm_init_region() call, as it would cause non-ELF
29124 modules to be overwritten.
29125
29126 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
29127 the memdisk image in its own region, make it part of the module list.
29128 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
29129 (main): Parse --memdisk|-m option, and pass user-provided path as
29130 parameter to generate_image().
29131 (add_segments): Pass `memdisk_path' down to load_modules().
29132 (load_modules): Embed memdisk image in module section when requested.
29133 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
29134 `header.type' instead of `header.offset'.
29135
29136 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
29137 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
29138 (memdisk_mod_LDFLAGS): New variables.
29139 * conf/i386-coreboot.rmk: Likewise.
29140 * conf/i386-ieee1275.rmk: Likewise.
29141
29142 2008-08-02 Robert Millan <rmh@aybabtu.com>
29143
29144 * loader/i386/pc/multiboot.c (playground, forward_relocator)
29145 (backward_relocator): New variables. Used to allocate and relocate
29146 the payload, respectively.
29147 (grub_multiboot_load_elf32): Load into heap instead of requested
29148 address, install the appropriate relocator code in each bound of
29149 the payload, and set the entry point such that
29150 grub_multiboot_real_boot() will jump to one of them.
29151
29152 * kern/i386/loader.S (grub_multiboot_payload_size)
29153 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29154 (grub_multiboot_payload_entry_offset): New variables.
29155 (grub_multiboot_real_boot): Set cpu context to what the relocator
29156 expects, and jump to the relocator instead of the payload.
29157
29158 * include/grub/i386/loader.h (grub_multiboot_payload_size)
29159 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29160 (grub_multiboot_payload_entry_offset): Export.
29161
29162 2008-08-01 Bean <bean123ch@gmail.com>
29163
29164 * normal/menu_entry.c (editor_getline): Don't return the original
29165 string as result, as it will be released by lexer once it has done
29166 using it.
29167
29168 2008-08-01 Robert Millan <rmh@aybabtu.com>
29169
29170 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
29171 within menuentries, not before them.
29172 util/grub.d/10_hurd.in: Likewise.
29173
29174 2008-08-01 Bean <bean123ch@gmail.com>
29175
29176 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
29177 (bufio_mod_SOURCES): New macro.
29178 (bufio_mod_CFLAGS): Likewise.
29179 (bufio_mod_LDFLAGS): Likewise.
29180
29181 * include/grub/bufio.h: New file.
29182
29183 * io/bufio.c: Likewise.
29184
29185 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
29186 (grub_video_reader_png): Use grub_buffile_open to open file.
29187
29188 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
29189 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
29190
29191 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
29192 (grub_video_reader_tga): Use grub_buffile_open to open file.
29193
29194 * font/manager.c: Include <grub/bufio.h>.
29195 (add_font): Use grub_buffile_open to open file.
29196
29197 2008-07-31 Robert Millan <rmh@aybabtu.com>
29198
29199 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
29200 ELF segments, use a macro for arbitrarily accessing any of them instead
29201 of preparing a pointer that allows access to one at a time.
29202 (grub_multiboot_load_elf64): Likewise.
29203
29204 2008-07-31 Bean <bean123ch@gmail.com>
29205
29206 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
29207 GRUB_KERNEL_MACHINE_DATA_END.
29208
29209 2008-07-30 Robert Millan <rmh@aybabtu.com>
29210
29211 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
29212 Increase from 0x50 to 0x60.
29213 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
29214 use UUIDs to identify the root drive for them. If that's not
29215 possible, abort.
29216 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
29217 check, for cross-disk installs.
29218
29219 2008-07-30 Robert Millan <rmh@aybabtu.com>
29220
29221 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
29222 is non-empty, use it to set the `prefix' environment variable instead
29223 of the usual approach.
29224 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
29225 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
29226 environment variable instead of dummy make_install_device().
29227
29228 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
29229 (start): Insert a data section, with `grub_prefix' variable.
29230 * kern/i386/linuxbios/startup.S: Likewise.
29231
29232 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
29233 New variable reference.
29234 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
29235 New macro. Defines offset of `grub_prefix' within startup.S (relative
29236 to `start').
29237 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
29238 section within startup.S (relative to `start').
29239 * include/grub/i386/coreboot/kernel.h: Likewise.
29240
29241 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
29242 Overwrite grub_prefix with its contents, at the beginning of the
29243 first segment.
29244 (main): Understand -p|--prefix.
29245
29246 2008-07-30 Robert Millan <rmh@aybabtu.com>
29247
29248 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
29249
29250 2008-07-30 Robert Millan <rmh@aybabtu.com>
29251
29252 * term/i386/pc/vga_text.c (grub_console_cls): Use
29253 grub_console_gotoxy() to go back to beginning of the screen.
29254 Found by Patrick Georgi <patrick.georgi@coresystems.de>
29255
29256 2008-07-29 Christian Franke <franke@computer.org>
29257
29258 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29259 Add conversion of emulated mount points on Cygwin.
29260
29261 2008-07-29 Christian Franke <franke@computer.org>
29262
29263 * util/update-grub.in: Add a check for admin
29264 group on Cygwin.
29265 Remove old `grub.cfg.new' before creation.
29266 Add `-f' to `mv' to handle the different filesystem
29267 semantics of Windows.
29268
29269 2008-07-29 Bean <bean123ch@gmail.com>
29270
29271 * normal/main.c (get_line): Fix buffer overflow bug.
29272
29273 2008-07-28 Robert Millan <rmh@aybabtu.com>
29274
29275 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
29276 (struct grub_apple_header): New struct. Describes the layout of
29277 the partmap header.
29278 (apple_partition_map_iterate): Check the header magic as well as the
29279 partition magic (which was already being checked).
29280
29281 2008-07-28 Pavel Roskin <proski@gnu.org>
29282
29283 * genmk.rb: Add a warning to the beginning of the output that
29284 it's a generated file and should not be edited.
29285
29286 2008-07-28 Robert Millan <rmh@aybabtu.com>
29287
29288 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29289 with the same number are found, just use issue a warning with
29290 grub_dprintf(), as this error has been reported to be non-fatal.
29291
29292 2008-07-27 Robert Millan <rmh@aybabtu.com>
29293
29294 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
29295 information.
29296
29297 2008-07-27 Bean <bean123ch@gmail.com>
29298
29299 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29300 (grub_fat_find_dir): Ignore case when comparing filename.
29301
29302 2008-07-27 Bean <bean123ch@gmail.com>
29303
29304 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29305 smallino, as it's more descriptive, and i8count can be confused with
29306 the other field count.
29307 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29308 inode type.
29309
29310 2008-07-27 Bean <bean123ch@gmail.com>
29311
29312 * commands/crc.c: New file.
29313
29314 * lib/crc.c: Likewise.
29315
29316 * include/grub/lib/crc.h: Likewise.
29317
29318 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29319
29320 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29321 (hexdump): Move this function to ...
29322
29323 * lib/hexdump.c: ... here.
29324
29325 * include/grub/hexdump.h: Renamed to ...
29326
29327 * include/grub/lib/hexdump.h: ... this.
29328
29329 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29330
29331 * util/grub-editenv.c: Likewise.
29332
29333 * include/envblk.h: Renamed to ...
29334
29335 * include/lib/envblk.h: ... this.
29336
29337 * util/envblk.c: Renamed to ...
29338
29339 * lib/envblk.c: ... this.
29340
29341 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29342 lib/hexdump.c.
29343 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29344 (pkglib_MODULES): Add crc.mod.
29345 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29346 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29347 (crc_mod_SOURCES): New macro.
29348 (crc_mod_CFLAGS): Likewise.
29349 (crc_mod_LDFLAGS): Likewise.
29350
29351 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29352
29353 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29354
29355 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29356
29357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29358
29359 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29360
29361 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
29362
29363 * commands/help.c: Include <grub/term.h>.
29364 (TERM_WIDTH): Removed. Updated all users.
29365
29366 2008-07-27 Pavel Roskin <proski@gnu.org>
29367
29368 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29369 spurious warnings about a comment within a comment.
29370
29371 2008-07-25 Robert Millan <rmh@aybabtu.com>
29372
29373 * util/getroot.c (find_root_device): Skip devices that match
29374 /dev/dm-[0-9]. This lets the real device be found for any type of
29375 abstraction (LVM, EVMS, RAID..).
29376 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29377 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29378 device is found first, find_root_device() will now skip it.
29379
29380 2008-07-24 Pavel Roskin <proski@gnu.org>
29381
29382 * include/grub/types.h: Use __builtin_bswap32() and
29383 __builtin_bswap64() with gcc 4.3 and newer.
29384
29385 2008-07-24 Christian Franke <franke@computer.org>
29386
29387 * util/i386/pc/grub-install.in: If `--debug' is specified,
29388 pass `--verbose' to grub-setup.
29389 Abort script if make_system_path_relative_to_its_root() fails.
29390
29391 2008-07-24 Bean <bean123ch@gmail.com>
29392
29393 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29394 variable `target_platform' should be `platform'.
29395
29396 2008-07-24 Bean <bean123ch@gmail.com>
29397
29398 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
29399 (grub_png_init_fixed_block): New function.
29400 (grub_png_decode_image_data): Handle fixed huffman code compression.
29401
29402 2008-07-24 Bean <bean123ch@gmail.com>
29403
29404 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29405 (grub_pe2elf_SOURCES): New macro.
29406 (CLEANFILES): Add grub-pe2elf.
29407
29408 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29409 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29410 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29411 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29412 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29413 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29414 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29415 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29416 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29417 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29418 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29419 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29420 (GRUB_PE32_DT_FUNCTION): Likewise.
29421 (GRUB_PE32_REL_I386_DIR32): Likewise.
29422 (GRUB_PE32_REL_I386_REL32): Likewise.
29423 (grub_pe32_symbol): New structure.
29424 (grub_pe32_reloc): Likewise.
29425
29426 * util/grub-pe2elf.c: New file.
29427
29428 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29429 start symbol in non pc platform.
29430
29431 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29432
29433 The following patches are from Christian Franke.
29434
29435 * include/grub/dl.h: Remove .previous, gas supports this only
29436 for ELF format.
29437
29438 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29439 Remove .type, gas supports this only for ELF format.
29440
29441 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29442 nullbytes in symbol table. This fixes an infinite loop if table is
29443 zero filled.
29444
29445 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29446 TARGET_IMG_LDFLAGS and EXEEXT.
29447
29448 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29449 TARGET_IMG_LDFLAGS_AC.
29450 (grub_CHECK_STACK_ARG_PROBE): New function.
29451
29452 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29453
29454 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29455
29456 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29457 to set TARGET_IMG_LD* accordingly.
29458 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29459 Add call to grub_CHECK_STACK_ARG_PROBE.
29460 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29461
29462 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29463
29464 * genmk.rb: Add EXEEXT to CLEANFILES.
29465
29466 2008-07-23 Robert Millan <rmh@aybabtu.com>
29467
29468 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29469 define the codes for arrows and lines used for the menu).
29470 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29471 as well.
29472
29473 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29474 fonts, because the latter are too slow.
29475
29476 2008-07-21 Bean <bean123ch@gmail.com>
29477
29478 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29479 a20. Run keyboard test last, as it will cause macbook to halt.
29480
29481 2008-07-18 Pavel Roskin <proski@gnu.org>
29482
29483 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29484 load foreign architecture modules correctly anyway. Keep
29485 support for loading host architecture modules, whether we
29486 compile them or not.
29487
29488 2008-07-17 Pavel Roskin <proski@gnu.org>
29489
29490 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29491 change target_cpu. The compiler default can mismatch target_cpu
29492 in any case.
29493
29494 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29495 * kern/efi/efi.c: Likewise.
29496
29497 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29498 target compiler is functional.
29499 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29500 are set up.
29501
29502 * configure.ac: Default to efi platform for x86_64-apple. Allow
29503 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29504 adjustments from the rest, only do them if target is not
29505 explicitly given. Merge other adjustments with the final sanity
29506 check. Remove an extraneous check for supported CPU. Be
29507 specific which CPU and which platform is not supported.
29508
29509 * configure.ac: Default to pc platform for x86_64.
29510
29511 2008-07-17 Robert Millan <rmh@aybabtu.com>
29512
29513 Partial LinuxBIOS -> Coreboot rename.
29514
29515 * conf/i386-linuxbios.rmk: Renamed to ...
29516 * conf/i386-coreboot.rmk: ... this.
29517 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29518 * configure.ac: Accept "coreboot" as input platform (but maintain
29519 compatibility with "linuxbios").
29520 * include/grub/i386/linuxbios: Renamed to ...
29521 * include/grub/i386/coreboot: ... this.
29522
29523 2008-07-17 Bean <bean123ch@gmail.com>
29524
29525 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
29526 (appleldr_mod_SOURCE): New variable.
29527 (appleldr_mod_CFLAGS): Likewise.
29528 (appleldr_mod_LDFLAGS): Likewise.
29529 (pci_mod_SOURCES): Likewise.
29530 (pci_mod_CFLAGS): Likewise.
29531 (pci_mod_LDFLAGS): Likewise.
29532 (lspci_mod_SOURCES): Likewise.
29533 (lspci_mod_CFLAGS): Likewise.
29534 (lspci_mod_LDFLAGS): Likewise.
29535
29536 * conf/x86_64-efi.rmk: New file.
29537
29538 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29539 macro.
29540 (grub_efidisk_write): Likewise.
29541
29542 * include/efi/api.h (efi_call_0): New macro.
29543 (efi_call_1): Likewise.
29544 (efi_call_2): Likewise.
29545 (efi_call_3): Likewise.
29546 (efi_call_4): Likewise.
29547 (efi_call_5): Likewise.
29548 (efi_call_6): Likewise.
29549
29550 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29551 grub_rescue_cmd_chainloader.
29552
29553 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29554 (grub_pe32_optional_header): Change some fields based on i386 or
29555 x86_64 platform.
29556 (GRUB_PE32_PE32_MAGIC): Likewise.
29557
29558 * include/grub/efi/uga_draw.h: New file.
29559
29560 * include/grub/elf.h (STN_ABS): New constant.
29561 (R_X86_64_NONE): Relocation constant for x86_64.
29562 (R_X86_64_64): Likewise.
29563 (R_X86_64_PC32): Likewise.
29564 (R_X86_64_GOT32): Likewise.
29565 (R_X86_64_PLT32): Likewise.
29566 (R_X86_64_COPY): Likewise.
29567 (R_X86_64_GLOB_DAT): Likewise.
29568 (R_X86_64_JUMP_SLOT): Likewise.
29569 (R_X86_64_RELATIVE): Likewise.
29570 (R_X86_64_GOTPCREL): Likewise.
29571 (R_X86_64_32): Likewise.
29572 (R_X86_64_32S): Likewise.
29573 (R_X86_64_16): Likewise.
29574 (R_X86_64_PC16): Likewise.
29575 (R_X86_64_8): Likewise.
29576 (R_X86_64_PC8): Likewise.
29577
29578 * include/grub/i386/efi/pci.h: New file.
29579
29580 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29581 Change it value based on platform.
29582 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29583 (GRUB_E820_RAM): Likewise.
29584 (GRUB_E820_RESERVED): Likewise.
29585 (GRUB_E820_ACPI): Likewise.
29586 (GRUB_E820_NVS): Likewise.
29587 (GRUB_E820_EXEC_CODE): Likewise.
29588 (GRUB_E820_MAX_ENTRY): Likewise.
29589 (grub_e820_mmap): New structure.
29590 (linux_kernel_header): Change the efi field according to different
29591 kernel version, also field from linux_kernel_header.
29592
29593 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29594
29595 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29596 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29597 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29598 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29599 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29600 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29601 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29602 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29603 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29604 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29605
29606 * include/grub/x86_64/efi/kernel.h: New file.
29607
29608 * include/grub/x86_64/efi/loader.h: Likewise.
29609
29610 * include/grub/x86_64/efi/machine.h: Likewise.
29611
29612 * include/grub/x86_64/efi/pci.h: Likewise.
29613
29614 * include/grub/x86_64/efi/time.h: Likewise.
29615
29616 * include/grub/x86_64/linux.h: Likewise.
29617
29618 * include/grub/x86_64/setjmp.h: Likewise.
29619
29620 * include/grub/x86_64/time.h: Likewise.
29621
29622 * include/grub/x86_64/types.h: Likewise.
29623
29624 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29625 GRUB_TARGET_SIZEOF_VOID_P.
29626
29627 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29628 (grub_efi_locate_handle): Likewise.
29629 (grub_efi_open_protocol): Likewise.
29630 (grub_efi_set_text_mode): Likewise.
29631 (grub_efi_stall): Likewise.
29632 (grub_exit): Likewise.
29633 (grub_reboot): Likewise.
29634 (grub_halt): Likewise.
29635 (grub_efi_exit_boot_services): Likewise.
29636 (grub_get_rtc): Likewise.
29637
29638 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29639 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29640 (grub_efi_allocate_pages): Wrap efi calls.
29641 (grub_efi_free_pages): Wrap efi calls.
29642 (grub_efi_get_memory_map): Wrap efi calls.
29643
29644 * kern/x86_64/dl.c: New file.
29645
29646 * kern/x86_64/efi/callwrap.S: Likewise.
29647
29648 * kern/x86_64/efi/startup.S: Likewise.
29649
29650 * loader/efi/appleloader.c: Likewise.
29651
29652 * loader/efi/chainloader.c (cmdline): New variable.
29653 (grub_chainloader_unload): Wrap efi calls.
29654 (grub_chainloader_boot): Likewise.
29655 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29656 command line.
29657
29658 * loader/efi/chainloader_normal.c (chainloader_command):
29659 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29660 command line.
29661
29662 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29663 method.
29664 (grub_e820_add_region): New function.
29665 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29666 booting.
29667 (grub_find_video_card): New function.
29668 (grub_linux_setup_video): New function.
29669 (grub_rescue_cmd_linux): Probe for video information.
29670
29671 * normal/x86_64/setjmp.S: New file.
29672
29673 * term/efi/console.c (map_char): New function.
29674 (grub_console_putchar): Map unicode char.
29675 (grub_console_checkkey): Wrap efi calls.
29676 (grub_console_getkey): Likewise.
29677 (grub_console_getwh): Likewise.
29678 (grub_console_gotoxy): Likewise.
29679 (grub_console_cls): Likewise.
29680 (grub_console_setcolorstate): Likewise.
29681 (grub_console_setcursor): Likewise.
29682
29683 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29684
29685 2008-07-16 Pavel Roskin <proski@gnu.org>
29686
29687 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29688 format strings.
29689
29690 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29691 pointer, not an integer. This fixes a warning and prevents
29692 precision loss on 64-bit systems.
29693 (relocate_addresses): Remove unneeded cast.
29694
29695 2008-07-15 Pavel Roskin <proski@gnu.org>
29696
29697 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29698
29699 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29700
29701 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29702 Fix comparison between signed and unsigned.
29703
29704 * include/grub/i386/ieee1275/console.h: Declare
29705 grub_console_init() and grub_console_fini().
29706
29707 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29708 It's empty and unused.
29709
29710 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29711 beginning to avoid warnings with some compilers.
29712
29713 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29714 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29715
29716 2008-07-14 Pavel Roskin <proski@gnu.org>
29717
29718 * kern/env.c (grub_register_variable_hook): Don't copy empty
29719 string, it leaks memory. Pass "" to grub_env_set(), it should
29720 handle constant strings.
29721
29722 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29723 * commands/cmp.c (grub_cmd_cmp): Likewise.
29724 * kern/dl.c (grub_dl_flush_cache): Likewise.
29725 (grub_dl_load_core): Likewise.
29726 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29727 (grub_elf64_load_phdrs): Likewise.
29728
29729 2008-07-13 Pavel Roskin <proski@gnu.org>
29730
29731 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29732 between signed and unsigned.
29733 (LzmaEnc_Finish): Fix warning about an unused parameter.
29734
29735 2008-07-13 Bean <bean123ch@gmail.com>
29736
29737 * Makefile.in (enable_lzo): New rule.
29738
29739 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29740
29741 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29742
29743 * boot/i386/pc/lnxboot.S: #include <config.h>.
29744
29745 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
29746 its value according to the compression algorithm used, lzo or lzma.
29747
29748 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29749 compression algorithm according to configure macro.
29750
29751 * kern/i386/pc/startup.S (codestart): Likewise.
29752
29753 * kern/i386/pc/lzma_decode.S: New file.
29754
29755 * include/grub/lib/LzFind.h: Likewise.
29756
29757 * include/grub/lib/LzHash.h: Likewise.
29758
29759 * include/grub/lib/LzmaDec.h: Likewise.
29760
29761 * include/grub/lib/LzmaEnc.h: Likewise.
29762
29763 * include/grub/lib/LzmaTypes.h: Likewise.
29764
29765 * lib/LzFind.c: Likewise.
29766
29767 * lib/LzmaDec.c: Likewise.
29768
29769 * lib/LzmaEnc.c: Likewise.
29770
29771 2008-07-13 Bean <bean123ch@gmail.com>
29772
29773 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29774 (grub_ext4_extent_header): New structure.
29775 (grub_ext4_extent): Likewise.
29776 (grub_ext4_extent_idx): Likewise.
29777 (grub_ext4_find_leaf): New function.
29778 (grub_ext2_read_block): Handle extents.
29779
29780 2008-07-12 Robert Millan <rmh@aybabtu.com>
29781
29782 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29783
29784 2008-07-11 Robert Millan <rmh@aybabtu.com>
29785
29786 * util/grub.d/40_custom.in: New file. Example on how to add custom
29787 entries to /etc/grub.d.
29788 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29789 40_custom (implicitly, by merging all the grub.d rules).
29790
29791 2008-07-11 Pavel Roskin <proski@gnu.org>
29792
29793 * commands/read.c (grub_getline): Fix invalid memory access.
29794 Don't add newline to the variable value.
29795
29796 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29797 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29798 (serial_hw_get_port): Check validity of the port number.
29799 (grub_cmd_serial): Check return value of serial_hw_get_port().
29800
29801 2008-07-07 Pavel Roskin <proski@gnu.org>
29802
29803 * boot/i386/pc/diskboot.S (notification_string): Replace
29804 "Loading kernel" with just "loading". This is shorter, less
29805 confusing and saves a few bytes for possible future changes.
29806
29807 2008-07-05 Pavel Roskin <proski@gnu.org>
29808
29809 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29810 size for ATAPI devices, they are undefined. Output sector
29811 number in decimal form.
29812
29813 * disk/ata.c: Use named constants for status bits.
29814
29815 2008-07-04 Pavel Roskin <proski@gnu.org>
29816
29817 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29818 grub_addr_t before casting it to the void pointer to fix a
29819 warning. Non-addressable regions are discarded earlier.
29820 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29821 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29822 (check_signature): Don't shadow table_header.
29823 (grub_linuxbios_table_iterate): Cast numeric constants to
29824 grub_linuxbios_table_header_t.
29825 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29826 grub_stop().
29827
29828 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29829 prevent warnings.
29830
29831 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29832 pointer, which can cause warnings. Support 64-bit addresses.
29833
29834 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29835 of sizeof(long). This fixes PowerPC image generation on x86_64.
29836
29837 2008-07-04 Robert Millan <rmh@aybabtu.com>
29838
29839 This fixes a performance issue when pc & gpt partmap iterators
29840 didn't abort iteration even after our hook found what it was
29841 looking for (often causing expensive probes of non-existent drives).
29842
29843 Some callers relied on previous buggy behaviour, since they would
29844 raise an error when their own hooks caused early abortion of its
29845 iteration.
29846
29847 * kern/device.c (grub_device_open): Improve error message.
29848 * disk/lvm.c (grub_lvm_open): Likewise.
29849 * disk/raid.c (grub_raid_open): Likewise.
29850
29851 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29852 when hook requests it, independently of grub_errno.
29853 (pc_partition_map_probe): Do not fail when find_func() caused
29854 early abortion of pc_partition_map_iterate().
29855
29856 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29857 when hook requests it, independently of grub_errno.
29858 (gpt_partition_map_probe): Do not fail when find_func() caused
29859 early abortion of gpt_partition_map_iterate().
29860
29861 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29862 when hook requests it, independently of grub_errno. Do not fail when
29863 part_map_iterate_hook() caused early abortion of p->iterate().
29864
29865 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29866 when grub_partition_iterate() returned with non-zero.
29867
29868 2008-07-03 Pavel Roskin <proski@gnu.org>
29869
29870 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29871 like we do in grub_ata_pio_read().
29872 (grub_ata_readwrite): Always write individual sectors. Fix the
29873 sector count for the remainder.
29874 (grub_ata_write): Enable writing to ATA devices. Correctly
29875 report error for ATAPI devices.
29876
29877 2008-07-02 Pavel Roskin <proski@gnu.org>
29878
29879 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29880 warning.
29881
29882 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29883 for every read sector, we already increment it for the whole
29884 batch. This fixes reading more than 256 sectors at once.
29885
29886 * util/grub-editenv.c (cmd_info): Cast argument to long
29887 explicitly. ptrdiff_t reduces to int on i386.
29888
29889 * util/grub-editenv.c (main): Be specific which parameter is
29890 missing.
29891
29892 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29893 (memdisk): Make memdisk_orig_addr a pointer.
29894
29895 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29896 for file offsets, use grub_off_t instead. Fix printf format
29897 warnings.
29898
29899 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29900 there. Real unexpected warnings should not drown in the noise
29901 about known problems.
29902
29903 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29904 grub_disk_addr_t for memory addresses.
29905
29906 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29907 explicitly to fix a warning.
29908
29909 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29910
29911 * Makefile.in (MODULE_LDFLAGS): New variable.
29912 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29913 the linker accepts --build-id=none.
29914 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29915 MODULE_LDFLAGS.
29916 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29917
29918 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29919 those in Linux XFS code. Provide a way to access 64-bit parent
29920 inode.
29921 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29922 the end of struct grub_xfs_dir_header.
29923
29924 2008-07-02 Bean <bean123ch@gmail.com>
29925
29926 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29927 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29928 and GRUB_IEEE1275_FLAG_NO_ANSI.
29929
29930 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29931 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29932 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29933
29934 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29935 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29936
29937 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29938 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29939
29940 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29941 esc sequence on non ANSI terminal.
29942 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29943
29944 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29945 beginning of file.
29946
29947 2008-07-02 Bean <bean123ch@gmail.com>
29948
29949 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29950 (grub_editenv_SOURCES): New variable.
29951 (pkglib_MODULES): Add loadenv.mod.
29952 (loadenv_mod_SOURCES): New variable.
29953 (loadenv_mod_CFLAGS): Likewise.
29954 (loadenv_mod_LDFLAGS): Likewise.
29955
29956 * include/grub/envblk.h: New file.
29957
29958 * util/envblk.c: New file.
29959
29960 * util/grub-editenv.c: New file.
29961
29962 * commands/loadenv.c: New file.
29963
29964 2008-07-01 Pavel Roskin <proski@gnu.org>
29965
29966 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29967 not unsigned char. This fixes warnings and is consistent with
29968 other tags.
29969
29970 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29971
29972 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29973
29974 * term/tparm.c (analyze): Always set *popcount.
29975
29976 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29977 cast to fix a warning.
29978
29979 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29980 cast to suppress a warning.
29981
29982 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29983 grub_fshelp_read_file() expects.
29984
29985 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29986 write uuid as a 32-bit value in CPU byte order, so declare and
29987 use it as such.
29988
29989 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29990 long if the format specifier expects it.
29991 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29992 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29993 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29994 long to fix a warning.
29995 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29996 grub_dprintf() arguments to fix warnings.
29997
29998 2008-06-30 Pavel Roskin <proski@gnu.org>
29999
30000 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
30001 install_bsd_part immediately before core.img is embedded or
30002 modified on disk. This fixes core.img verification if core.img
30003 cannot be embedded.
30004
30005 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
30006 core_path to calculate the blocklist.
30007 Patch from Javier Martín <lordhabbit@gmail.com>
30008
30009 2008-06-29 Robert Millan <rmh@aybabtu.com>
30010
30011 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
30012 block to disk block.
30013 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
30014 Patch from Niels Böhm <bitbucket@arcor.de>
30015
30016 2008-06-29 Robert Millan <rmh@aybabtu.com>
30017
30018 * util/update-grub_lib.in (font_path): Search for fonts in
30019 /boot/grub first, which is more likely to be readable (we aren't
30020 deciding where fonts live, just looking for them).
30021
30022 2008-06-26 Pavel Roskin <proski@gnu.org>
30023
30024 * util/biosdisk.c (read_device_map): Don't leave dead map
30025 entries for devices failing stat() check.
30026
30027 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
30028 core_path_dev for the core.img path on the target device.
30029
30030 2008-06-26 Robert Millan <rmh@aybabtu.com>
30031
30032 * disk/fs_uuid.c: New file.
30033 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
30034 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
30035 (fs_uuid_mod_LDFLAGS): New variables.
30036 * include/grub/disk.h (grub_disk_dev_id): Add
30037 `GRUB_DISK_DEVICE_UUID_ID'.
30038 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
30039 implement iterate().
30040
30041 2008-06-26 Robert Millan <rmh@aybabtu.com>
30042
30043 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
30044 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
30045 Linux image includes no initrd.
30046
30047 2008-06-21 Javier Martín <lordhabbit@gmail.com>
30048
30049 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
30050 call to resolve the core image location that effectively appended the
30051 name twice.
30052
30053 2008-06-21 Robert Millan <rmh@aybabtu.com>
30054
30055 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
30056 call from here ...
30057
30058 * util/grub.d/10_hurd.in: ... to here ...
30059 * util/grub.d/10_linux.in: ... and here.
30060
30061 2008-06-19 Robert Millan <rmh@aybabtu.com>
30062
30063 * kern/main.c (grub_main): Export `prefix' variable immediately
30064 after it has been set by grub_machine_set_prefix().
30065
30066 2008-06-19 Robert Millan <rmh@aybabtu.com>
30067
30068 * commands/search.c (search_label, search_fs_uuid, search_file): Print
30069 search result when not saving to variable, not the other way around.
30070 When saving to variable, abort iteration as soon as a match is found.
30071
30072 2008-06-19 Robert Millan <rmh@aybabtu.com>
30073
30074 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
30075 check for partition that provides /boot/grub. Its logic is flawed,
30076 as it prevents prepare_grub_to_access_device() from being called
30077 multiple times.
30078
30079 2008-06-19 Robert Millan <rmh@aybabtu.com>
30080
30081 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
30082 "insmod" command directly when abstraction modules are needed,
30083 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
30084 since it had already been processed).
30085
30086 2008-06-19 Pavel Roskin <proski@gnu.org>
30087
30088 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
30089 changed. This is needed in case GRUB_LIBDIR changes.
30090 * conf/i386-ieee1275.rmk: Likewise.
30091 * conf/i386-linuxbios.rmk: Likewise.
30092 * conf/i386-pc.rmk: Likewise.
30093 * conf/powerpc-ieee1275.rmk: Likewise.
30094
30095 2008-06-18 Pavel Roskin <proski@gnu.org>
30096
30097 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
30098 kernel_elf_symlist.c to symlist.c for consistency with other
30099 architectures. Update all users.
30100 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30101
30102 2008-06-18 Robert Millan <rmh@aybabtu.com>
30103
30104 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
30105 it in prefix.
30106
30107 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
30108 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
30109 a RAID device, run setup() for all members independently on whether
30110 LVM abstraction is being used.
30111 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
30112 If grub-mkimage has set `*install_dos_part == -2', don't override this
30113 value.
30114 Perform *install_dos_part adjustments independently on whether
30115 we're embedding or not.
30116 Clarify error message when image is too big for embedding.
30117 Remove duplicate *install_dos_part stanza.
30118
30119 2008-06-17 Robert Millan <rmh@aybabtu.com>
30120
30121 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
30122 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
30123 variables.
30124 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
30125 values in grub_ofconsole_normal_color and
30126 grub_ofconsole_highlight_color (they're not directly related to
30127 background and foreground).
30128 (grub_ofconsole_setcolorstate): Extract background and foreground
30129 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
30130
30131 2008-06-17 Robert Millan <rmh@aybabtu.com>
30132
30133 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
30134 /boot/grub for the check in last commit, not /boot (they could be
30135 different partitions).
30136
30137 2008-06-16 Robert Millan <rmh@aybabtu.com>
30138
30139 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
30140 asked to setup access for the same partition that provides /boot,
30141 don't bother using UUIDs since our root already has the value we
30142 want.
30143
30144 2008-06-16 Robert Millan <rmh@aybabtu.com>
30145
30146 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
30147 I2O devices.
30148 Patch from Sven Mueller <sven@debian.org>.
30149
30150 2008-06-16 Robert Millan <rmh@aybabtu.com>
30151
30152 * util/update-grub.in: Check for $EUID instead of $UID.
30153 Reported by Vincent Zweije.
30154
30155 2008-06-16 Bean <bean123ch@gmail.com>
30156
30157 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
30158 (grub_ext2_read_block): Likewise.
30159 (grub_ext2_read_inode): Likewise.
30160 (grub_ext2_mount): Likewise.
30161 (grub_ext2_close): Likewise.
30162 (grub_ext3_get_journal): Removed.
30163
30164 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
30165 (grub_reiserfs_read_symlink): Likewise.
30166 (grub_reiserfs_mount): Likewise.
30167 (grub_reiserfs_open): Likewise.
30168 (grub_reiserfs_read): Likewise.
30169 (grub_reiserfs_close): Likewise.
30170 (grub_reiserfs_get_journal): Removed.
30171
30172 * fs/fshelp.c (grub_fshelp_read): Removed.
30173 (grub_fshelp_map_block): Likewise.
30174
30175 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
30176 (grub_fshelp_journal): Likewise.
30177 (grub_fshelp_read): Likewise.
30178 (grub_fshelp_map_block): Likewise.
30179
30180 2008-06-16 Pavel Roskin <proski@gnu.org>
30181
30182 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
30183 floating point anymore.
30184 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
30185
30186 2008-06-15 Pavel Roskin <proski@gnu.org>
30187
30188 * commands/ls.c (grub_ls_list_files): Use integer calculations
30189 for human readable format, avoid floating point use.
30190 * kern/misc.c (grub_ftoa): Remove.
30191 (grub_vsprintf): Remove floating point support.
30192
30193 2008-06-15 Robert Millan <rmh@aybabtu.com>
30194
30195 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
30196 devices.
30197 Reported by Max Vozeler.
30198
30199 2008-06-15 Robert Millan <rmh@aybabtu.com>
30200
30201 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
30202 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
30203 skipped later.
30204 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
30205 the beginning of the prefix.
30206
30207 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
30208 It is assumed that if we have a memdisk, grub-mkimage has set
30209 grub_prefix to include the "(memdisk)" drive in it.
30210
30211 2008-06-15 Robert Millan <rmh@aybabtu.com>
30212
30213 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
30214 Initialize keyboard controller after registering the terminal, so that
30215 grub_printf() can be called from grub_keyboard_controller_init().
30216
30217 2008-06-15 Robert Millan <rmh@aybabtu.com>
30218
30219 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
30220 extent-btree which is written as big endian on disk.
30221 Reported by Alain Greppin <al@chilibi.org>.
30222
30223 2008-06-14 Robert Millan <rmh@aybabtu.com>
30224
30225 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
30226 * util/i386/pc/grub-install.in (modules): Likewise.
30227
30228 2008-06-13 Pavel Roskin <proski@gnu.org>
30229
30230 * commands/ls.c (grub_ls_list_files): Fix format warnings.
30231
30232 2008-06-13 Bean <bean123ch@gmail.com>
30233
30234 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
30235
30236 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
30237
30238 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
30239 to indicate sparse block.
30240
30241 2008-06-12 Pavel Roskin <proski@gnu.org>
30242
30243 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
30244 number, grub_fshelp_read() does it for us.
30245
30246 * fs/fshelp.c (grub_fshelp_read): New function. Implement
30247 linear disk read with journal translation.
30248 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
30249 * include/grub/fshelp.h: Declare grub_fshelp_read().
30250
30251 2008-06-09 Pavel Roskin <proski@gnu.org>
30252
30253 * fs/minix.c (grub_minix_mount): Handle error reading
30254 superblock.
30255
30256 2008-06-08 Robert Millan <rmh@aybabtu.com>
30257
30258 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
30259 don't append the RAID prefix afterwards.
30260 Reported by Clint Adams.
30261
30262 2008-06-08 Robert Millan <rmh@aybabtu.com>
30263
30264 Based on description from Pavel:
30265 * kern/disk.c (grub_disk_check_range): Rename to ...
30266 (grub_disk_adjust_range): ... this. Add a comment explaining the
30267 tasks performed by this function.
30268
30269 2008-06-08 Robert Millan <rmh@aybabtu.com>
30270
30271 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
30272 `num_serial' (for consistency with other variables).
30273 (struct grub_ntfs_data): Add `uuid' member.
30274 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
30275 (grub_ntfs_uuid): New function.
30276 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
30277
30278 2008-06-07 Pavel Roskin <proski@gnu.org>
30279
30280 * util/biosdisk.c (open_device): Revert last change to the
30281 function, it broke installation. The sector needs to be
30282 different dependent on which device is opened.
30283
30284 2008-06-06 Robert Millan <rmh@aybabtu.com>
30285
30286 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
30287 rest of GRUB, and breakage doesn't happen if its value were modified.
30288
30289 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30290 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
30291 a constant (same value).
30292 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
30293 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
30294
30295 2008-06-06 Robert Millan <rmh@aybabtu.com>
30296
30297 * util/biosdisk.c (open_device): Do not modify sector offset when
30298 accessing a partition. kern/disk.c already handles this for us.
30299
30300 2008-06-06 Robert Millan <rmh@aybabtu.com>
30301
30302 * util/grub-emu.c (grub_machine_init): Move code in this function from
30303 here ...
30304 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30305 segfault in case grub_printf() is called).
30306
30307 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30308 grub_probe. Update all users not to explicitly add it again.
30309 (grub_device): New variable; contains corresponding device for grubdir.
30310 (fs_module, partmap_module, devabstraction_module): Pass
30311 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30312 every time.
30313
30314 2008-06-05 Robert Millan <rmh@aybabtu.com>
30315
30316 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30317 is found, print it (same layout as with labels).
30318
30319 2008-06-04 Robert Millan <rmh@aybabtu.com>
30320
30321 * util/biosdisk.c (get_drive): Rename to ...
30322 (find_grub_drive): ... this. Update all users.
30323
30324 (get_os_disk): Rename to ...
30325 (convert_system_partition_to_system_disk): ... this. Update all users.
30326
30327 (find_drive): Rename to ...
30328 (find_system_device): ... this. Update all users.
30329
30330 2008-06-04 Robert Millan <rmh@aybabtu.com>
30331
30332 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30333 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30334 (make_device_map): Likewise.
30335
30336 2008-06-01 Robert Millan <rmh@aybabtu.com>
30337
30338 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30339 before dereferencing it.
30340
30341 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30342 union with fat12/fat16-specific ones. Add some new fields, including
30343 `num_serial' for both versions.
30344 (struct grub_fat_data): Add `uuid' member.
30345 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30346 names. Initialize `data->uuid' using `num_serial'.
30347 (grub_fat_uuid): New function.
30348 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30349
30350 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30351 (grub_reiserfs_uuid): New function.
30352 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30353 member.
30354
30355 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30356 (grub_xfs_uuid): New function.
30357 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30358
30359 2008-06-01 Robert Millan <rmh@aybabtu.com>
30360
30361 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30362 code that is backward compatible with pre-uuid search command.
30363
30364 2008-05-31 Robert Millan <rmh@aybabtu.com>
30365
30366 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30367 floppies after everything else, to ensure floppy drive isn't accessed
30368 unnecessarily (patch from Bean).
30369
30370 2008-05-31 Robert Millan <rmh@aybabtu.com>
30371
30372 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30373 not print device names when we were asked to set a variable.
30374
30375 2008-05-31 Robert Millan <rmh@aybabtu.com>
30376
30377 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30378 using "cursor-on" and "cursor-off" commands (understood at least by
30379 the Open Firmware flavour on OLPC).
30380
30381 2008-05-31 Michael Gorven <michael@gorven.za.net>
30382
30383 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30384 on and off sequences.
30385
30386 2008-05-31 Robert Millan <rmh@aybabtu.com>
30387
30388 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30389 * util/update-grub.in: Likewise.
30390
30391 2008-05-30 Pavel Roskin <proski@gnu.org>
30392
30393 * util/biosdisk.c (linux_find_partition): Simplify logic and
30394 make the code more universal. Keep special processing for
30395 devfs, but use a simple rule for all other devices. If the
30396 device ends with a number, append 'p' and the partition number.
30397 Otherwise, append only the partition number.
30398
30399 2008-05-30 Robert Millan <rmh@aybabtu.com>
30400
30401 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30402 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30403 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30404 the `root' parameter to Linux.
30405
30406 2008-05-30 Robert Millan <rmh@aybabtu.com>
30407
30408 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30409 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30410 --fs_uuid with --fs-uuid.
30411 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30412 all filesystems support them).
30413
30414 2008-05-30 Robert Millan <rmh@aybabtu.com>
30415
30416 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
30417 grub_printf() flags, since we're printing in units of 2 bytes.
30418
30419 2008-05-30 Robert Millan <rmh@aybabtu.com>
30420
30421 * util/grub.d/00_header.in: Remove obsolete comment referencing
30422 convert_system_path_to_grub_path().
30423 * util/update-grub.in: Likewise.
30424 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30425 (convert_system_path_to_grub_path): Add a warning message explaining
30426 that this function is deprecated. Rely on is_path_readable_by_grub()
30427 for the readability checks.
30428 (font_path): Use is_path_readable_by_grub() for the readability
30429 check rather than convert_system_path_to_grub_path().
30430
30431 2008-05-30 Robert Millan <rmh@aybabtu.com>
30432
30433 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30434 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30435 converting it first.
30436 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30437 grub.cfg for access to font file, and afterwards call it again to set
30438 the root device.
30439
30440 2008-05-30 Robert Millan <rmh@aybabtu.com>
30441
30442 * commands/search.c (options): Add --fs_uuid option.
30443 (search_fs_uuid): New function.
30444 (grub_cmd_search): Fix --set argument passing.
30445 Use search_fs_uuid() when requested via --fs_uuid.
30446 (grub_search_init): Update help message.
30447 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30448 and redeclare it as an array of 16-bit words.
30449 (grub_ext2_uuid): New function.
30450 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30451 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30452 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30453 (GRUB_DEVICE_BOOT_UUID): New variables.
30454 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30455 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30456 whenever possible.
30457 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30458 just assume `root' variable has the right value.
30459 * util/grub.d/10_linux.in: Likewise.
30460 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30461 via PRINT_FS_UUID.
30462 (main): Recognise `-t fs_uuid' argument.
30463
30464 2008-05-30 Robert Millan <rmh@aybabtu.com>
30465
30466 * util/biosdisk.c (map): Redefine structure to hold information
30467 about GRUB drive name.
30468 (get_drive): Reimplement without assuming (and verifying) BIOS-like
30469 drive names.
30470 (call_hook): Remove.
30471 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30472 member. Assume drive has partitions.
30473 (grub_util_biosdisk_open): Access device names via `.device' struct
30474 member.
30475 (open_device): Likewise.
30476 (find_drive): Likewise.
30477 (read_device_map): Adjust map[] usage to match the new struct
30478 definition. Don't check for duplicates (still possible, but not cheap
30479 anymore).
30480 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30481 (make_device_name): Remove assumption of BIOS-like drive names.
30482
30483 2008-05-30 Pavel Roskin <proski@gnu.org>
30484
30485 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30486 compiling execute.c doesn't need grub_script.tab.h anymore.
30487 (normal/command.c_DEPENDENCIES): Likewise.
30488 (normal/function.c_DEPENDENCIES): Likewise.
30489 * conf/i386-ieee1275.rmk: Likewise.
30490 * conf/i386-linuxbios.rmk: Likewise.
30491 * conf/i386-pc.rmk: Likewise.
30492 * conf/powerpc-ieee1275.rmk: Likewise.
30493 * conf/sparc64-ieee1275.rmk: Likewise.
30494
30495 2008-05-29 Pavel Roskin <proski@gnu.org>
30496
30497 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30498 when scanning metadata for volume group name.
30499
30500 * include/grub/script.h: Don't include grub_script.tab.h. It's
30501 a generated file, which may only be included from the files with
30502 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30503 use union YYSTYPE, as the later allows forward declaration.
30504 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30505
30506 2008-05-29 Robert Millan <rmh@aybabtu.com>
30507
30508 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30509 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30510 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30511 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30512 scan codes.
30513
30514 2008-05-29 Robert Millan <rmh@aybabtu.com>
30515
30516 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30517 control key combinations.
30518
30519 2008-05-29 Robert Millan <rmh@aybabtu.com>
30520
30521 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30522 * util/ieee1275/grub-install.in: ... to here.
30523 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30524 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30525 (grub_install_SOURCES): Likewise.
30526
30527 2008-05-29 Robert Millan <rmh@aybabtu.com>
30528
30529 * fs/affs.c: Update copyright year.
30530 * fs/ext2.c: Likewise.
30531 * fs/fshelp.c: Likewise.
30532 * fs/hfsplus.c: Likewise.
30533 * fs/ntfs.c: Likewise.
30534 * fs/xfs.c: Likewise.
30535 * include/grub/fshelp.h: Likewise.
30536 * util/grub-mkdevicemap.c: Likewise.
30537
30538 2008-05-28 Robert Millan <rmh@aybabtu.com>
30539
30540 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30541 might need to be fatfs to support some firmware implementations
30542 (e.g. OFW or EFI).
30543
30544 2008-05-28 Robert Millan <rmh@aybabtu.com>
30545
30546 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30547 devices.
30548 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30549 (make_device_map): Likewise.
30550
30551 2008-05-20 Bean <bean123ch@gmail.com>
30552
30553 * fs/fshelp.c (grub_fshelp_map_block): New function.
30554 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30555 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30556
30557 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30558 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30559 (grub_fshelp_journal): New structure.
30560 (grub_fshelp_map_block): New function prototype.
30561 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30562 (grub_fshelp_map_block): Likewise.
30563
30564 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30565 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30566 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30567 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30568 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30569 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30570 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30571 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30572 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30573 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30574 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30575 (grub_ext2_sblock): New members for journal support.
30576 (grub_ext3_journal_header): New structure.
30577 (grub_ext3_journal_revoke_header): Likewise.
30578 (grub_ext3_journal_block_tag): Likewise.
30579 (grub_ext3_journal_sblock): Likewise.
30580 (grub_fshelp_node): New members logfile and journal.
30581 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30582 grub_fshelp_map_block to get real block number.
30583 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30584 number.
30585 (grub_ext2_read_inode): Likewise.
30586 (grub_ext3_get_journal): New function.
30587 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30588 (grub_ext2_close): Release memory used by journal.
30589
30590 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30591 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30592 (grub_reiserfs_transaction_header): Renamed to
30593 grub_reiserfs_description_block, replace field data with real_blocks.
30594 (grub_reiserfs_commit_block): New structure.
30595 (grub_reiserfs_data): New member journal.
30596 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30597 number.
30598 (grub_reiserfs_read_symlink): Likewise.
30599 (grub_reiserfs_iterate_dir): Likewise.
30600 (grub_reiserfs_open): Likewise.
30601 (grub_reiserfs_read): Likewise.
30602 (grub_reiserfs_get_journal): New function.
30603 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30604 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30605 using grub_reiserfs_get_journal.
30606 (grub_reiserfs_close): Release memory used by journal.
30607
30608 * fs/affs.c (grub_affs_read_block): Change block type to
30609 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30610
30611 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30612
30613 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30614
30615 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30616
30617 * fs/udf.c (grub_udf_read_block): Change block type to
30618 grub_disk_addr_t. Use type cast to avoid warning.
30619
30620 * fs/xfs.c (grub_xfs_read_block): Likewise.
30621
30622 2008-05-16 Christian Franke <franke@computer.org>
30623
30624 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30625 to ensure that break with ESC will always work.
30626 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30627 Remove ESC from keyboard queue.
30628
30629 2008-05-16 Christian Franke <franke@computer.org>
30630
30631 * util/biosdisk.c: [__CYGWIN__] Add includes.
30632 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30633 (get_os_disk): Move variable declarations to OS specific
30634 parts to avoid warning.
30635 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30636 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30637 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30638 Cygwin.
30639 * util/getroot.c: [__CYGWIN__] Add includes.
30640 (strip_extra_slashes): Fix "/" case.
30641 [__CYGWIN__] (get_win32_path): New function.
30642 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30643 [__CYGWIN__] (find_root_device): Disable.
30644 [__CYGWIN__] (get_bootsec_serial): New function.
30645 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30646 [__linux__] (grub_guess_root_device): Add early returns to simplify
30647 structure.
30648 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30649 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30650 check for Linux only.
30651
30652 2008-05-15 Bean <bean123ch@gmail.com>
30653
30654 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30655 keyboard hang problem in apple's intel mac.
30656
30657 2008-05-09 Robert Millan <rmh@aybabtu.com>
30658
30659 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30660 devices.
30661 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30662 (make_device_map): Likewise.
30663 Reported by Aurelien Jarno <aurel32@debian.org>
30664
30665 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
30666
30667 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30668 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30669 (make_device_map): Output entries for xvd type disks.
30670
30671 2008-05-07 Robert Millan <rmh@aybabtu.com>
30672
30673 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30674 devices.
30675 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30676 (make_device_map): Likewise.
30677 Reported by Roland Dreier <rdreier@cisco.com>
30678
30679 2008-05-07 Robert Millan <rmh@aybabtu.com>
30680
30681 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30682 grub_strstr() call. Correct a few mistakes in failure path handling.
30683
30684 2008-05-06 Robert Millan <rmh@aybabtu.com>
30685
30686 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30687 Do not print a trailing slash (therefore, the root directory is an
30688 empty string).
30689 (convert_system_path_to_grub_path): Do not remove trailing slash
30690 from make_system_path_relative_to_its_root() output.
30691
30692 * util/i386/pc/grub-install.in: Add trailing slash to output from
30693 make_system_path_relative_to_its_root().
30694
30695 2008-05-06 Robert Millan <rmh@aybabtu.com>
30696
30697 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30698 ensures that output lines aren't intermangled with those sent to
30699 stderr (via grub_util_info()).
30700 * util/grub-probe.c (grub_refresh): Likewise.
30701 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30702
30703 2008-05-05 Christian Franke <franke@computer.org>
30704
30705 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30706 Add Cygwin device names.
30707 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30708 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30709 (check_device): Return error instead of success on empty name.
30710 (make_device_map): Move label inside linux specific code to
30711 prevent compiler warning.
30712
30713 2008-04-30 Robert Millan <rmh@aybabtu.com>
30714
30715 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30716 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30717 first boot option.
30718 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30719
30720 2008-04-29 Robert Millan <rmh@aybabtu.com>
30721
30722 * docs/grub.cfg: New file (example GRUB configuration).
30723
30724 2008-04-26 Robert Millan <rmh@aybabtu.com>
30725
30726 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30727 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30728 and `disk/ieee1275/nand.c'.
30729
30730 2008-04-25 Bean <bean123ch@gmail.com>
30731
30732 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30733 i386-linuxbios.
30734
30735 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30736 change the buffer size to 4096 for cdrom device.
30737
30738 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30739 and nand.mod.
30740 (_linux_mod_SOURCES): New variable.
30741 (_linux_mod_CFLAGS): Likewise.
30742 (_linux_mod_LDFLAGS): Likewise.
30743 (linux_mod_SOURCES): Likewise.
30744 (linux_mod_CFLAGS): Likewise.
30745 (linux_mod_LDFLAGS): Likewise.
30746 (nand_mod_SOURCES): Likewise.
30747 (nand_mod_CFLAGS): Likewise.
30748 (nand_mod_LDFLAGS): Likewise.
30749
30750 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30751 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30752 type property. (nand device in olpc don't have this property)
30753
30754 * include/grub/disk.h (grub_disk_dev_id): New macro
30755 GRUB_DISK_DEVICE_NAND_ID.
30756
30757 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30758 function prototype.
30759 (grub_rescue_cmd_initrd): Likewise.
30760
30761 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30762 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30763 ofw_cif_handler and ofw_idt, adjust padding number.
30764
30765 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30766 GRUB_MACHINE_IEEE1275 is defined.
30767
30768 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30769 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30770
30771 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30772 on nested function heap_init.
30773 (grub_upper_mem): New variable for i386-ieee1275.
30774 (grub_get_extended_memory): New function for i386-ieee1275.
30775 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30776
30777 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30778 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30779 property.
30780
30781 * loader/i386/ieee1275/linux.c: New file.
30782
30783 * loader/i386/ieee1275/linux_normal.c: New file.
30784
30785 * disk/ieee1275/nand.c: New file.
30786
30787 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30788
30789 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30790 value.
30791 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30792
30793 2008-04-18 Robert Millan <rmh@aybabtu.com>
30794
30795 Restructures early code path on ieee1275 to unify grub_main() as
30796 the first C function that is executed in every platform.
30797
30798 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30799 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30800 cmain().
30801 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30802 * kern/ieee1275/cmain.c (cmain): Rename to ...
30803 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30804 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30805 at the beginning.
30806
30807 2008-04-18 Robert Millan <rmh@aybabtu.com>
30808
30809 * util/update-grub.in: Fix syntax error when setting
30810 `GRUB_PRELOAD_MODULES'.
30811 Reported by Stephane Chazelas <stephane@artesyncp.com>
30812
30813 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30814
30815 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30816 section into account, newer toolchains generate unique build ids
30817 * configure.ac: remove the test for --build-id=none acceptance,
30818 we want build ids to be preserved
30819 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30820 far from other sections don't cause the raw binary images grow
30821 size
30822
30823 2008-04-15 Robert Millan <rmh@aybabtu.com>
30824
30825 * disk/lvm.c: Update copyright year.
30826 * kern/misc.c: Likewise.
30827
30828 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30829
30830 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30831 there is no memory left for physical volume name.
30832
30833 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30834
30835 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30836 volume name mapping to support bigger than 9 character names properly.
30837
30838 2008-04-13 Robert Millan <rmh@aybabtu.com>
30839
30840 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30841 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30842
30843 2008-04-13 Christian Franke <franke@computer.org>
30844
30845 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30846 to create a floppy emulation boot CD when non emulation mode
30847 does not work.
30848 Enable Joliet CD filesystem extension.
30849
30850 2008-04-13 Robert Millan <rmh@aybabtu.com>
30851
30852 * kern/misc.c (grub_strncat): Fix off-by-one error.
30853 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30854
30855 * kern/env.c (grub_env_context_close): Clear current context, not
30856 previous one.
30857 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30858
30859 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30860
30861 2008-04-13 Robert Millan <rmh@aybabtu.com>
30862
30863 Improve robustness when handling LVM.
30864
30865 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30866 (and leave `*p' unmodified).
30867 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30868 through it.
30869 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30870 iterating through it.
30871 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30872 through it.
30873 (grub_lvm_scan_device): Check the return value (and fail gracefully
30874 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30875 Don't assume `vg->pvs != NULL' when iterating through it.
30876
30877 2008-04-13 Robert Millan <rmh@aybabtu.com>
30878
30879 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30880 * genmk.rb (partmap): New variable.
30881 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30882 (#{partmap}): New target rule.
30883 * genpartmaplist.sh: New file.
30884 * Makefile.in (pkglib_DATA): Add partmap.lst.
30885 (partmap.lst): New target rule.
30886 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30887 modules (including all partition maps), instead of preloading them.
30888
30889 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30890
30891 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30892 `linux-boot-prober' (if installed) to detect other operating
30893 systems which are installed on the computer and add them to
30894 the boot menu.
30895 * conf/common.rmk: Build and install 30_os-prober.
30896
30897 2008-04-12 Robert Millan <rmh@aybabtu.com>
30898
30899 * kern/powerpc/ieee1275/init.c: Move from here ...
30900 * kern/ieee1275/init.c: ... to here. Update all users.
30901
30902 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30903 * kern/ieee1275/cmain.c: ... to here. Update all users.
30904
30905 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30906 * kern/ieee1275/openfw.c: ... to here. Update all users.
30907
30908 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30909 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30910
30911 2008-04-10 Pavel Roskin <proski@gnu.org>
30912
30913 * configure.ac: Always use "_cv_" in cache variables for
30914 compatibility with Autoconf 2.62.
30915
30916 2008-04-07 Robert Millan <rmh@aybabtu.com>
30917
30918 Revert grub/machine/init.h addition by Pavel (since it breaks on
30919 i386-ieee1275 and others):
30920 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30921 * util/powerpc/ieee1275/misc.c: Likewise.
30922
30923 2008-04-07 Robert Millan <rmh@aybabtu.com>
30924
30925 * util/grub-probe.c (probe): Improve error message.
30926
30927 2008-04-07 Robert Millan <rmh@aybabtu.com>
30928
30929 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30930 (this prevents the presence of a bogus entry from ruining the whole
30931 thing).
30932
30933 2008-04-06 Pavel Roskin <proski@gnu.org>
30934
30935 * util/biosdisk.c: Include grub/util/biosdisk.h.
30936 * util/grub-fstest.c (execute_command): Make static.
30937 * util/grub-mkdevicemap.c (check_device): Likewise.
30938 * util/i386/pc/misc.c: Include grub/machine/init.h.
30939 * util/powerpc/ieee1275/misc.c: Likewise.
30940 * util/lvm.c: Include grub/util/lvm.h.
30941 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30942 grub/cache.h.
30943 * util/raid.c: Include grub/util/raid.h.
30944 (grub_util_getdiskname): Make static.
30945
30946 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30947 grub_hostfs_fini(), as they are called from grub_init_all() and
30948 grub_fini_all() respectively. This fixes an infinite loop in
30949 grub-fstest due to double registration of hostfs.
30950 Reported by Christian Franke <Christian.Franke@t-online.de>
30951
30952 2008-04-05 Pavel Roskin <proski@gnu.org>
30953
30954 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30955 all 8 functions. Otherwise, probe function 0 only.
30956
30957 2008-04-04 Pavel Roskin <proski@gnu.org>
30958
30959 * commands/lspci.c (grub_lspci_iter): Print the bus number
30960 correctly.
30961
30962 * commands/lspci.c (grub_pci_classes): Fix typos.
30963 (grub_lspci_iter): Don't print func twice. Print vendor ID
30964 before device ID, as it's normally done.
30965
30966 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30967 Fix signedness warnings.
30968 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30969 Likewise.
30970 * util/ieee1275/get_disk_name.c: Include config.h so that
30971 _GNU_SOURCE is defined and getline() is declared. Mark an
30972 unused argument as such. Fix a signedness warning.
30973
30974 2008-04-02 Pavel Roskin <proski@gnu.org>
30975
30976 * genkernsyms.sh.in: Use more robust assignments for CC and
30977 srcdir. Quote srcdir.
30978 * gensymlist.sh.in: Likewise. Assert at the compile time that
30979 the symbol table is not empty.
30980
30981 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30982 * fs/cpio.c (grub_cpio_read): Likewise.
30983
30984 2008-04-01 Pavel Roskin <proski@gnu.org>
30985
30986 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30987 * disk/host.c (grub_host_open): Likewise.
30988 * disk/loopback.c (grub_loopback_open): Likewise.
30989 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30990 disk->id as in disk/host.c, not a multi-character constant.
30991
30992 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30993 later is obsolete, potentially dangerous and sets a bad example.
30994 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30995 * util/misc.c (grub_util_get_image_size): Likewise.
30996
30997 * disk/loopback.c (options): Improve help for "--partitions".
30998
30999 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
31000 options to align them with the short options, e.g. "echo -e".
31001
31002 2008-03-31 Bean <bean123ch@gmail.com>
31003
31004 * video/reader/png.c (grub_png_data): New member is_16bit and
31005 image_data.
31006 (grub_png_decode_image_header): Detect 16 bit png image.
31007 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
31008 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
31009 (grub_video_reader_png): Release memory occupied by image_data.
31010
31011 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
31012 4096 bytes.
31013 (grub_nfs_mount): Skip the test for sector per cluster.
31014
31015 * include/grub/ntfs.h (MAX_SPC): Removed.
31016
31017 2008-03-31 Bean <bean123ch@gmail.com>
31018
31019 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
31020 (grub_probe_SOURCES): Add fs/afs.c.
31021 (grub_fstest_SOURCES): Likewise.
31022 (afs_mod_SOURCES): New variable.
31023 (afs_mod_CFLAGS): Likewise.
31024 (afs_mod_LDFLAGS): Likewise.
31025
31026 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
31027 (grub_emu_SOURCES): Likewise.
31028
31029 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31030
31031 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31032
31033 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31034
31035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31036
31037 * fs/afs.c: New file.
31038
31039 2008-03-30 Pavel Roskin <proski@gnu.org>
31040
31041 * disk/host.c: Include grub/misc.h to fix a warning.
31042 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
31043 warnings about implicit declarations.
31044
31045 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
31046 variable.
31047 * include/grub/i386/loader.h: Change declaration of
31048 grub_linux_boot() to match what grub_loader_set() expects.
31049 * util/getroot.c (grub_guess_root_device): Return const char* to
31050 fix a warning.
31051 * util/grub-probe.c (probe): Fix a warning about uninitialized
31052 abstraction_name variable.
31053 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
31054 second argument as unused to fix a warning.
31055
31056 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
31057 missing grub_error() call.
31058
31059 * util/update-grub_lib.in: Define datarootdir, since Autoconf
31060 2.60 and newer uses it to define datadir.
31061
31062 * commands/sleep.c: Fix warning about implicit declaration.
31063 * disk/memdisk.c: Likewise.
31064 * loader/aout.c: Likewise.
31065 * loader/i386/bsd_normal.c: Likewise.
31066 * util/grub-probe.c: Likewise.
31067
31068 * commands/i386/cpuid.c (has_longmode): Make static.
31069 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
31070 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
31071
31072 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
31073 GDT. This is more robust, as %ds can change.
31074 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
31075 calling real_to_prot().
31076 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
31077
31078 2008-03-28 Pavel Roskin <proski@gnu.org>
31079
31080 * kern/i386/pc/startup.S: Assert that uncompressed functions
31081 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
31082 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
31083 code, as they push parts of the code (error handlers) beyond
31084 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
31085 code as correctness and size.
31086
31087 2008-03-28 Pavel Roskin <proski@gnu.org>
31088
31089 * kern/i386/pc/startup.S
31090 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
31091 data block address to the real mode, keep offset minimal. This
31092 works around a bug in AWARD BIOS on old Athlon systems, which
31093 makes CD detection hang.
31094
31095 2008-03-26 Pavel Roskin <proski@gnu.org>
31096
31097 * normal/color.c (grub_parse_color_name_pair): Make `name' a
31098 const.
31099 * include/grub/normal.h: Add grub_parse_color_name_pair()
31100 declaration.
31101
31102 2008-03-24 Bean <bean123ch@gmail.com>
31103
31104 * disk/i386/pc/biosdisk.c (cd_start): Removed.
31105 (cd_count): Removed.
31106 (cd_drive): New variable.
31107 (grub_biosdisk_get_drive): Don't check for (cdN) device.
31108 (grub_biosdisk_call_hook): Likewise.
31109 (grub_biosdisk_iterate): Change cdrom detection method.
31110 (grub_biosdisk_open): Replace cd_start with cd_drive.
31111 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
31112 detect cdrom device.
31113
31114 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
31115 Removed.
31116 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
31117 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
31118 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
31119 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
31120 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
31121 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
31122 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
31123 (grub_biosdisk_cdrp): New structure.
31124 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
31125
31126 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
31127
31128 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
31129 device.
31130
31131 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
31132 New function.
31133
31134 2008-03-20 Robert Millan <rmh@aybabtu.com>
31135
31136 Remove 2 TiB limit in ata.mod.
31137 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
31138 (grub_ata_dumpinfo): Print sector count with 0x%llx.
31139 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
31140 grub_uint64_t instead of grub_uint32_t.
31141
31142 2008-03-05 Bean <bean123ch@gmail.com>
31143
31144 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
31145 (grub_multiboot): Set boot device.
31146
31147 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
31148
31149 2008-03-02 Bean <bean123ch@gmail.com>
31150
31151 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
31152 symlink_buffer.
31153
31154 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
31155
31156 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
31157 texinfo.tex.
31158
31159 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
31160 modified.
31161
31162 * docs/fdl.texi: New file.
31163
31164 * docs/mdate-sh: New file. Copied from gnulib.
31165 * docs/texinfo.tex: Likewise.
31166
31167 * config.guess: Updated from gnulib.
31168 * install-sh: Likewise.
31169
31170 2008-02-28 Robert Millan <rmh@aybabtu.com>
31171
31172 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
31173 (aout_mod_SOURCES): New variable.
31174 (aout_mod_CFLAGS): Likewise.
31175 (aout_mod_LDFLAGS): Likewise.
31176
31177 * conf/i386-ieee1275.rmk: Likewise.
31178
31179 2008-02-28 Robert Millan <rmh@aybabtu.com>
31180
31181 * util/update-grub.in: Reorganise terminal validity check. Accept
31182 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
31183 Based on suggestion by Franklin PIAT.
31184
31185 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
31186
31187 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
31188 function.
31189 * util/getroot.c (grub_util_check_block_device): New function that
31190 returns the given argument if it is a block device and returns NULL else.
31191 * util/grub-probe.c (argument_is_device): New variable.
31192 (probe): Promote device_name from a variable to an argument. Receive
31193 device_name from grub_util_check_block_device() if path is NULL and from
31194 grub_guess_root_device() else. Do not free() device_name anymore.
31195 (options): Introduce new parameter '-d, --device'.
31196 (main): Add description of the new parameter to the help screen.
31197 Rename path variable to argument. Set argument_is_device if the '-d'
31198 option is given. Pass argument to probe() depending on
31199 argument_is_device.
31200
31201 2008-02-24 Bean <bean123ch@gmail.com>
31202
31203 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
31204 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
31205 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
31206 (GRUB_ISO9660_VOLDESC_PART): Likewise.
31207 (GRUB_ISO9660_VOLDESC_END): Likewise.
31208 (grub_iso9660_primary_voldesc): New member escape.
31209 (grub_iso9660_data): New member joliet.
31210 (grub_iso9660_convert_string): New function.
31211 (grub_iso9660_mount): Detect joliet extension.
31212 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
31213 (grub_iso9660_iso9660_label): Likewise.
31214
31215 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
31216 (grub_setup_SOURCES): Add fs/udf.c.
31217 (grub_fstest_SOURCES): Likewise.
31218 (udf_mod_SOURCES): New variable.
31219 (udf_mod_CFLAGS): Likewise.
31220 (udf_mod_LDFLAGS): Likewise.
31221
31222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
31223 (grub_emu_SOURCES): Likewise.
31224
31225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31226
31227 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31228
31229 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31230
31231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31232
31233 * fs/udf.c: New file.
31234
31235 2008-02-24 Robert Millan <rmh@aybabtu.com>
31236
31237 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
31238 (normal/lexer.c_DEPENDENCIES): New variables.
31239 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31240 (normal/lexer.c_DEPENDENCIES): Likewise.
31241 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
31242 (normal/lexer.c_DEPENDENCIES): Likewise.
31243 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
31244 (normal/lexer.c_DEPENDENCIES): Likewise.
31245 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31246 (normal/lexer.c_DEPENDENCIES): Likewise.
31247 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31248 (normal/lexer.c_DEPENDENCIES): Likewise.
31249
31250 2008-02-23 Robert Millan <rmh@aybabtu.com>
31251
31252 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
31253 since they were intended to be in hex. This didn't break previously
31254 because of a bug in gpt_partition_map_iterate() (see below).
31255
31256 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
31257 when checking the validity of GPT header.
31258 Remove `partno', since it always provides the same information as `i'.
31259
31260 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
31261
31262 * include/grub/efi/time.h: Fix a wrong comment.
31263
31264 2008-02-19 Pavel Roskin <proski@gnu.org>
31265
31266 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
31267 message.
31268
31269 2008-02-19 Bean <bean123ch@gmail.com>
31270
31271 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
31272 (aout_mod_SOURCES): New variable.
31273 (aout_mod_CFLAGS): Likewise.
31274 (aout_mod_LDFLAGS): Likewise.
31275 (_bsd_mod_SOURCES): New variable.
31276 (_bsd_mod_CFLAGS): Likewise.
31277 (_bsd_mod_LDFLAGS): Likewise.
31278 (bsd_mod_SOURCES): New variable.
31279 (bsd_mod_CFLAGS): Likewise.
31280 (bsd_mod_LDFLAGS): Likewise.
31281
31282 * include/grub/aout.h: New file.
31283
31284 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
31285
31286 * include/grub/i386/bsd.h: New file.
31287
31288 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
31289 to make it public.
31290
31291 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
31292 function is called, so that it's possible to change it inside the hook.
31293 (grub_elf64_load): Likewise.
31294 (grub_elf_file): Don't close the file if elf header is not found.
31295 (grub_elf_close): Close the file if grub_elf_file fails (The new
31296 grub_elf_file won't close it).
31297 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31298 (grub_elf64_size): Likewise.
31299
31300 * kern/i386/loader.S (grub_unix_real_boot): New function.
31301
31302 * loader/aout.c: New file.
31303
31304 * loader/i386/bsd.c: New file.
31305
31306 * loader/i386/bsd_normal.c: New file.
31307
31308 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31309
31310 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
31311 can test other formats.
31312
31313 2008-02-19 Robert Millan <rmh@aybabtu.com>
31314
31315 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31316 (grub_gpt_partition_type_empty): Redefine with macro from
31317 `<grub/gpt_partition.h>'.
31318 (gpt_partition_map_iterate): Adjust partition type comparison.
31319
31320 Export `entry' as partmap-specific `part.data' struct.
31321 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31322
31323 * include/grub/gpt_partition.h (grub_gpt_header)
31324 (grub_gpt_partentry): ... to here (new file).
31325
31326 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31327
31328 (grub_gpt_partition_type_bios_boot): New const variable, defined
31329 with macro from `<grub/gpt_partition.h>'.
31330
31331 (setup): Replace `first_start' with `embed_region', which keeps
31332 track of the embed region (and is partmap-agnostic).
31333
31334 Replace find_first_partition_start() with find_usable_region(),
31335 which finds a usable region for embedding using partmap-specific
31336 knowledge (supports PC/MSDOS and GPT).
31337
31338 Fix all assumptions that the embed region start at sector 1, using
31339 `embed_region.start' from now on. Similarly, use `embed_region.end'
31340 rather than `first_start' to calculate available size.
31341
31342 In grub_util_info() message, replace "into after the MBR" with an
31343 indication of the specific sector our embed region starts at.
31344
31345 2008-02-19 Robert Millan <rmh@aybabtu.com>
31346
31347 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31348 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31349 `commands/reboot.c'.
31350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31351 (halt_mod_SOURCES): Likewise.
31352 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31353 (halt_mod_SOURCES): Likewise.
31354
31355 2008-02-17 Christian Franke <franke@computer.org>
31356
31357 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31358
31359 2008-02-17 Robert Millan <rmh@aybabtu.com>
31360
31361 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31362 set `first_start' to 0 for non-PC/MSDOS partition maps.
31363
31364 2008-02-16 Robert Millan <rmh@aybabtu.com>
31365
31366 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31367 do not assume partition map is PC/MSDOS before performing checks that
31368 are specific to that layout.
31369
31370 2008-02-13 Robert Millan <rmh@aybabtu.com>
31371
31372 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31373 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31374 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31375
31376 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31377
31378 * configure.ac: Only a cosmetic change on the handling of
31379 -fno-stack-protector.
31380
31381 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
31382
31383 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31384 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31385 reboot.c.
31386 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31387 (halt_mod_SOURCES): New variable.
31388 (halt_mod_CFLAGS): Likewise.
31389 (halt_mod_LDFLAGS): Likewise.
31390 (reboot_mod_SOURCES): Likewise.
31391 (reboot_mod_CFLAGS): Likewise.
31392 (reboot_mod_LDFLAGS): Likewise.
31393
31394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31395 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31396 reboot.c.
31397 (halt_mod_SOURCES): Likewise.
31398 (reboot_mod_SOURCES): Likewise.
31399
31400 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31401 commands/i386/pc/reboot.c by commands/reboot.c.
31402 (reboot_mod_SOURCES): Likewise.
31403
31404 * commands/i386/pc/reboot.c: merge this file ...
31405
31406 * commands/ieee1275/reboot.c: ... and this file ...
31407
31408 * commands/reboot.c: ... to this file.
31409 Add some precompiler directive to include the correct header for
31410 each machine.
31411
31412 * commands/ieee1275/halt.c: move this file ...
31413
31414 * commands/halt.c: ... to here.
31415 Add some precompiler directive to include the correct header for
31416 each machine.
31417
31418 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31419 (grub_halt): Likewise.
31420
31421 * kern/efi/efi.c (grub_reboot): New function.
31422 (grub_halt): Likewise.
31423
31424 2008-02-12 Robert Millan <rmh@aybabtu.com>
31425
31426 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31427 /dev (like it is done for /dev/mapper). This doesn't provide support
31428 for EVMS, but at least it is now easy to identify the problem when it
31429 arises.
31430
31431 2008-02-11 Robert Millan <rmh@aybabtu.com>
31432
31433 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31434 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31435 comparing it with -1, not 0.
31436
31437 2008-02-10 Robert Millan <rmh@aybabtu.com>
31438
31439 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31440 `disk/lvm.c'.
31441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31442 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31443
31444 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31445 `disk/lvm.c' to the end of the list.
31446 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31447 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31448
31449 2008-02-10 Robert Millan <rmh@aybabtu.com>
31450
31451 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31452 grub_print_error() instead. This will let user know why we're entering
31453 rescue mode.
31454 Based on suggestions from Sam Morris.
31455
31456 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
31457
31458 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31459 on remaining N args, instead of "--" arg N times.
31460
31461 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31462
31463 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31464 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31465 pattern for unknown glyphs.
31466
31467 2008-02-09 Robert Millan <rmh@aybabtu.com>
31468
31469 * configure.ac: Probe for `help2man'.
31470 * Makefile.in (builddir): New variable.
31471 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31472 or otherwise add a few flags/options to it.
31473 (install-local): For every executable utility or script that is
31474 installed, invoke $(HELP2MAN) to install a manpage based on --help
31475 output.
31476
31477 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31478 that it doesn't prevent --help from working in build tree.
31479
31480 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31481 with `bug-grub@gnu.org'.
31482 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31483 * util/update-grub.in (usage): New function.
31484 Implement proper argument check, with support for --help and --version
31485 (as well as existing -y).
31486
31487 2008-02-09 Christian Franke <franke@computer.org>
31488
31489 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31490 avoid overwriting previous output.
31491 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31492
31493 2008-02-09 Robert Millan <rmh@aybabtu.com>
31494
31495 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31496 drawing the menu.
31497
31498 2008-02-09 Robert Millan <rmh@aybabtu.com>
31499
31500 * commands/sleep.c: New file.
31501 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31502 (sleep_mod_SOURCES): New variable.
31503 (sleep_mod_CFLAGS): Likewise.
31504 (sleep_mod_LDFLAGS): Likewise.
31505
31506 2008-02-09 Robert Millan <rmh@aybabtu.com>
31507
31508 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31509 situations in which we can deduce the RAID size and the superblock
31510 doesn't match it.
31511
31512 2008-02-09 Robert Millan <rmh@aybabtu.com>
31513
31514 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31515 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31516 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31517
31518 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31519 and return a grub_diskmemberlist_t composed of physical array members.
31520 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31521
31522 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31523 prototype.
31524 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31525 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31526 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31527
31528 * util/grub-probe.c (probe): Move partmap probing code from here ...
31529 (probe_partmap): ... to here.
31530 (probe): Use probe_partmap() once for the disk we're probing, and
31531 additionally, when such disk contains a memberlist() struct member,
31532 once for each disk that is contained in the structure returned by
31533 memberlist().
31534
31535 2008-02-09 Robert Millan <rmh@aybabtu.com>
31536
31537 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31538 environment variable to 'all' in order to obtain debug output from
31539 non-util/ code.
31540 * util/i386/pc/grub-setup.c (main): Likewise.
31541
31542 2008-02-08 Robert Millan <rmh@aybabtu.com>
31543
31544 * disk/raid.c (grub_raid_scan_device): Check for
31545 `array->device[sb.this_disk.number]' rather than for
31546 `array->device[sb.this_disk.number]->name', since the latter is not
31547 guaranteed to be accessible.
31548
31549 2008-02-08 Robert Millan <rmh@aybabtu.com>
31550
31551 * disk/raid.c: Update copyright.
31552 * fs/cpio.c: Likewise.
31553 * include/grub/raid.h: Likewise.
31554 * loader/i386/pc/multiboot.c: Likewise.
31555 * util/hostfs.c: Likewise.
31556
31557 2008-02-08 Robert Millan <rmh@aybabtu.com>
31558
31559 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31560 to a grub_disk_t array.
31561 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31562 `device[x]'.
31563 (grub_raid_scan_device): Replace `device[x].name' accesses with
31564 `device[x]->name'. Simplify initialization of `array->device[x]'.
31565
31566 2008-02-08 Robert Millan <rmh@aybabtu.com>
31567
31568 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31569 grub_dprintf() calls.
31570 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31571 error message.
31572
31573 2008-02-07 Christian Franke <franke@computer.org>
31574
31575 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31576 instead of fseek and ftell to support large files.
31577 (grub_hostfs_read): Likewise.
31578
31579 2008-02-07 Robert Millan <rmh@aybabtu.com>
31580
31581 Patch from Jeroen Dekkers.
31582 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
31583 failure, since successfully reading all array members might not be
31584 required.
31585
31586 2008-02-06 Robert Millan <rmh@aybabtu.com>
31587
31588 * util/grub-probe.c (probe): Simplify partmap probing (with the
31589 assumption that the first word up to the underscore equals to
31590 the module name).
31591
31592 2008-02-06 Christian Franke <franke@computer.org>
31593
31594 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31595 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31596 last block of a cpio or tar stream.
31597 Check for "TRAILER!!!" instead of any empty data
31598 block to detect last block of a cpio stream.
31599 (grub_cpio_dir): Fix constness of variable np.
31600 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31601 cpio or tar trailer is detected. This fixes a crash
31602 on open of a non existing file.
31603
31604 2008-02-05 Bean <bean123ch@gmail.com>
31605
31606 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31607 address of entry.
31608 (grub_multiboot_load_elf64): Likewise.
31609 (grub_multiboot): Initialize mbi structure.
31610
31611 * util/grub-fstest.c: Don't include unused header file script.h.
31612
31613 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
31614 of file.
31615 (grub_fstest_SOURCES): Likewise.
31616
31617 2008-02-05 Robert Millan <rmh@aybabtu.com>
31618
31619 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31620 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31621 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31622 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31623
31624 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31625 (translation_table): Replace hardcoded values with macros
31626 provided by `<grub/term.h>'.
31627
31628 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31629 (keyboard_map): Correct/add a few values, with macros provided
31630 by `<grub/term.h>'.
31631 (keyboard_map_shift): Zero values that don't differ from their
31632 `keyboard_map' equivalents.
31633 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31634 Discard the second scan code that is always sent by Caps lock.
31635 Only use `keyboard_map_shift' when it provides a non-zero value,
31636 otherwise fallback to `keyboard_map'.
31637
31638 2008-02-04 Bean <bean123ch@gmail.com>
31639
31640 * Makefile.in (enable_grub_fstest): New variable.
31641
31642 * conf/common.rmk (grub_fstest_init.lst): New rule.
31643 (grub_fstest_init.h): Likewise.
31644 (grub_fstest_init.c): Likewise.
31645 (util/grub-fstest.c_DEPENDENCIES): New variable.
31646 (grub_fstest_SOURCES): Likewise.
31647
31648 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31649
31650 * util/grub-fstest.c: New file.
31651
31652 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31653
31654 Make grub-setup handle a separate root device.
31655
31656 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31657 so that the root device can be compared with the destination
31658 device.
31659 When embedding the core image, if the root and destination devices
31660 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31661 0xFF.
31662 When not embedding, set ROOT_DRIVE to 0xFF.
31663
31664 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31665
31666 Add support for having a grub directory in a different drive. This
31667 is still only the data handling part.
31668
31669 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31670 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31671 (grub_root_drive): New variable.
31672
31673 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31674 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31675 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31676 as it was.
31677
31678 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31679
31680 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31681 macro.
31682 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31683
31684 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31685 is bogus, because PXE booting does not specify any drive
31686 correctly.
31687
31688 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31689 am not sure if this is really correct.
31690
31691 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31692 is always identical to the boot drive when booting from a CD.
31693
31694 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31695 longer.
31696 (root_drive): New variable.
31697 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31698 (setup_sectors): Push %dx right after popping it, because %dh will
31699 be modified later.
31700 (copy_buffer): Restore %dx.
31701
31702 2008-02-03 Robert Millan <rmh@aybabtu.com>
31703
31704 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31705 use `cdboot.img' for cdrom images.
31706
31707 2008-02-03 Robert Millan <rmh@aybabtu.com>
31708
31709 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31710 only setup gfxterm when `font' command has succeeded.
31711
31712 2008-02-03 Robert Millan <rmh@aybabtu.com>
31713
31714 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31715 (grub_rescue_cmd_multiboot_loader)
31716 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31717
31718 2008-02-03 Pavel Roskin <proski@gnu.org>
31719
31720 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
31721 %edx and %esi from stack only after grub_gate_a20() is called.
31722 grub_gate_a20() clobbers %edx.
31723
31724 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31725
31726 * configure.ac (AC_INIT): Bumped to 1.96.
31727
31728 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31729 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31730 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31731 video/readers/png.c.
31732
31733 2008-02-03 Bean <bean123ch@gmail.com>
31734
31735 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31736 (cdboot_img_SOURCES): New variable.
31737 (cdboot_img_ASFLAGS): New variable.
31738 (cdboot_img_LDFLAGS): New variable.
31739
31740 * boot/i386/pc/cdboot.S: New file.
31741
31742 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31743 (cd_count): Likewise.
31744 (grub_biosdisk_get_drive): Add support for cd device.
31745 (grub_biosdisk_call_hook): Likewise.
31746 (grub_biosdisk_iterate): Likewise.
31747 (grub_biosdisk_open): Likewise.
31748 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31749 (grub_biosdisk_rw): Support reading from cd device.
31750 (GRUB_MOD_INIT): Iterate cd devices.
31751
31752 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31753 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31754 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31755
31756 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31757
31758 2008-02-02 Robert Millan <rmh@aybabtu.com>
31759
31760 * commands/read.c: New file.
31761 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31762 (read_mod_SOURCES): New variable.
31763 (read_mod_CFLAGS): Likewise.
31764 (read_mod_LDFLAGS): Likewise.
31765
31766 2008-02-02 Robert Millan <rmh@aybabtu.com>
31767
31768 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31769 determining whether menu has to be displayed.
31770
31771 2008-02-02 Marco Gerards <marco@gnu.org>
31772
31773 * bus/pci.c: New file.
31774
31775 * include/grub/pci.h: Likewise.
31776
31777 * include/grub/i386/pc/pci.h: Likewise.
31778
31779 * commands/lspci.c: Likewise.
31780
31781 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31782 `lspci.mod'.
31783 (pci_mod_SOURCES): New variable.
31784 (pci_mod_CFLAGS): Likewise.
31785 (pci_mod_LDFLAGS): Likewise.
31786 (lspci_mod_SOURCES): Likewise.
31787 (lspci_mod_CFLAGS): Likewise.
31788 (lspci_mod_LDFLAGS): Likewise.
31789
31790 2008-02-02 Bean <bean123ch@gmail.com>
31791
31792 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31793 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31794
31795 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31796 (grub_xfs_btree_node): New structure.
31797 (grub_xfs_btree_root): New structure.
31798 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31799 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31800 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31801 (GRUB_XFS_EXTENT_SIZE): Likewise.
31802 (grub_xfs_read_block): Support btree format type.
31803 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31804 Use directory block as basic unit.
31805
31806 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31807
31808 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31809 __attribute__ ((__regparm__ (1))).
31810
31811 2008-02-01 Robert Millan <rmh@aybabtu.com>
31812
31813 Correct a mistake in previous commit.
31814
31815 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31816 top.
31817 (normal/command.c_DEPENDENCIES): New variable.
31818
31819 2008-02-01 Robert Millan <rmh@aybabtu.com>
31820
31821 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31822 top.
31823 (normal/command.c_DEPENDENCIES): New variable.
31824 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31825 * conf/i386-ieee1275.rmk: Likewise.
31826 * conf/i386-linuxbios.rmk: Likewise.
31827 * conf/i386-pc.rmk: Likewise.
31828 * conf/sparc64-ieee1275.rmk: Likewise.
31829 * conf/powerpc-ieee1275.rmk: Likewise.
31830 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31831
31832 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31833
31834 2008-02-01 Robert Millan <rmh@aybabtu.com>
31835
31836 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31837 call at beginning of function.
31838
31839 2008-01-31 Pavel Roskin <proski@gnu.org>
31840
31841 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31842 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31843 (grub_mkrescue_SOURCES): Likewise.
31844 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31845
31846 2008-01-30 Robert Millan <rmh@aybabtu.com>
31847
31848 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31849 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31850 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31851 (grub_probe_SOURCES): ... to here.
31852
31853 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31854 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31855 * conf/i386-ieee1275.rmk: Likewise.
31856 * conf/i386-linuxbios.rmk: Likewise.
31857 * conf/powerpc-ieee1275.rmk: Likewise.
31858
31859 2008-01-30 Tristan Gingold <gingold@free.fr>
31860
31861 * kern/rescue.c: Silently accept empty lines.
31862
31863 2008-01-29 Bean <bean123ch@gmail.com>
31864
31865 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31866 (real_code_2): Code cleanup and change comment style.
31867 (move_memory): Avoid using 32-bit address mode.
31868
31869 2008-01-29 Bean <bean123ch@gmail.com>
31870
31871 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31872 (png_mod_SOURCES): New variable.
31873 (png_mod_CFLAGS): Likewise.
31874 (png_mod_LDFLAGS): Likewise.
31875
31876 * video/readers/png.c: New file.
31877
31878 2008-01-28 Robert Millan <rmh@aybabtu.com>
31879
31880 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31881 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31882 `ifndef GRUB_MOD_GAP' hack.
31883 * util/elf/grub-mkimage.c (add_segments): Likewise.
31884
31885 2008-01-27 Robert Millan <rmh@aybabtu.com>
31886
31887 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31888 `GRUB_MOD_GAP' for platforms in which it's not defined.
31889 * util/elf/grub-mkimage.c (add_segments): Likewise.
31890
31891 2008-01-27 Robert Millan <rmh@aybabtu.com>
31892
31893 Get grub-emu to build again (including parallel builds).
31894
31895 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31896 Split into ...
31897 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31898 (normal/execute.c_DEPENDENCIES): ... this, ...
31899 (grub-emu_DEPENDENCIES): ... and this.
31900
31901 * conf/i386-efi.rmk: Likewise.
31902 * conf/i386-linuxbios.rmk: Likewise.
31903 * conf/i386-ieee1275.rmk: Likewise.
31904 * conf/powerpc-ieee1275.rmk: Likewise.
31905 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31906
31907 2008-01-27 Robert Millan <rmh@aybabtu.com>
31908
31909 * NEWS: Add a few items.
31910
31911 2008-01-27 Robert Millan <rmh@aybabtu.com>
31912
31913 Fix parallel builds with grub-emu. Based on earlier commit for
31914 grub-probe and grub-setup.
31915
31916 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31917 (util/grub-emu.c_DEPENDENCIES): ... this.
31918 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31919 (util/grub-emu.c_DEPENDENCIES): ... this.
31920 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31921 (util/grub-emu.c_DEPENDENCIES): ... this.
31922 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31923 (util/grub-emu.c_DEPENDENCIES): ... this.
31924 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31925 (util/grub-emu.c_DEPENDENCIES): ... this.
31926
31927 2008-01-27 Pavel Roskin <proski@gnu.org>
31928
31929 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31930 to create a gap between _end and the modules added to the image
31931 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31932 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31933 * util/elf/grub-mkimage.c (add_segments): Likewise.
31934
31935 2008-01-26 Pavel Roskin <proski@gnu.org>
31936
31937 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31938 just return an error.
31939
31940 2008-01-26 Bean <bean123ch@gmail.com>
31941
31942 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31943 (grub_reiserfs_get_item): Save offset of the next item.
31944 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31945
31946 2008-01-25 Robert Millan <rmh@aybabtu.com>
31947
31948 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31949 make all filesystem sources appear together (possibly fixing omissions
31950 while at it).
31951 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31952 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31953 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31955
31956 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31957 add `kern/file.c'.
31958 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31959 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31960 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31961 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31962
31963 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31964 (probe): Add a sanity check to make sure of our ability to read
31965 requested files when probing for filesystem type.
31966
31967 * genmk.rb: Update copyright year (2007).
31968
31969 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31970 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31971 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31972 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31973 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31974 : Remove function prototypes.
31975
31976 2008-01-25 Robert Millan <rmh@aybabtu.com>
31977
31978 Revert my previous commits (based on wrong assumption of how grub_errno
31979 works).
31980
31981 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31982 * kern/file.c (grub_file_open): Likewise.
31983
31984 2008-01-24 Pavel Roskin <proski@gnu.org>
31985
31986 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31987 that hang if GRUB tries to setup colors.
31988 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31989 colors for firmwares that don't support it.
31990 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31991 Recognize Open Hack'Ware, set flags to work around its
31992 limitations.
31993
31994 2008-01-24 Robert Millan <rmh@aybabtu.com>
31995
31996 * kern/file.c (grub_file_open): Do not account previous failures of
31997 unrelated functions when grub_errno is checked for.
31998 Reported by Oleg Strikov.
31999
32000 2008-01-24 Bean <bean123ch@gmail.com>
32001
32002 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
32003 (grub_ufs_sblock): New member volume name.
32004 (grub_ufs_find_file): Fix string copy bug.
32005 (grub_ufs_label): Implement this function properly.
32006
32007 * fs/hfs.c (grub_hfs_cnid_type): New enum.
32008 (grub_hfs_iterate_records): Use the correct file number for extents
32009 and catalog file. Fix problem in next index calculation.
32010 (grub_hfs_find_node): Replace recursive function call with loop.
32011 (grub_hfs_iterate_dir): Replace recursive function call with loop.
32012
32013 2008-01-23 Robert Millan <rmh@aybabtu.com>
32014
32015 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
32016 `<grub/symbol.h>' and `<grub/multiboot.h>'.
32017 (grub_multiboot2_real_boot): New function prototype.
32018
32019 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
32020 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
32021
32022 * kern/i386/ieee1275/init.c (grub_os_area_addr)
32023 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
32024
32025 2008-01-23 Robert Millan <rmh@aybabtu.com>
32026
32027 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
32028 #ifdef'ed out grub_printf().
32029
32030 2008-01-23 Robert Millan <rmh@aybabtu.com>
32031
32032 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
32033 grub_dprintf calls, since they make "debug=all" mode unusable.
32034 (grub_console_checkkey): Likewise.
32035
32036 2008-01-23 Robert Millan <rmh@aybabtu.com>
32037
32038 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32039 `term/i386/pc/at_keyboard.c'.
32040 (pkglib_MODULES): Add `serial.mod'.
32041 (serial_mod_SOURCES): New variable.
32042 (serial_mod_CFLAGS): Likewise.
32043 (serial_mod_LDFLAGS): Likewise.
32044
32045 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
32046 `<grub/powerpc/ieee1275/console.h>'.
32047 (grub_keyboard_controller_init): New function prototype.
32048 (grub_console_checkkey): Likewise.
32049 (grub_console_getkey): Likewise.
32050
32051 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
32052 keyboard on i386.
32053
32054 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
32055 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
32056
32057 2008-01-23 Robert Millan <rmh@aybabtu.com>
32058
32059 * kern/i386/pc/init.c (make_install_device): When memdisk image is
32060 present, "(memdisk)/boot/grub" becomes the default prefix.
32061
32062 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
32063 a memdisk tarball with all the modules. Add --overlay=DIR option that
32064 allows users to overlay additional files into the image.
32065
32066 2008-01-23 Robert Millan <rmh@aybabtu.com>
32067
32068 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
32069 and `machine/memory.h'.
32070 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
32071 (_multiboot_mod_SOURCES): New variable.
32072 (_multiboot_mod_CFLAGS): Likewise.
32073 (_multiboot_mod_LDFLAGS): Likewise.
32074 (multiboot_mod_SOURCES): Likewise.
32075 (multiboot_mod_CFLAGS): Likewise.
32076 (multiboot_mod_LDFLAGS): Likewise.
32077
32078 * include/grub/i386/ieee1275/loader.h: New file.
32079
32080 * include/grub/i386/ieee1275/machine.h: Likewise.
32081
32082 * include/grub/i386/ieee1275/memory.h: Likewise.
32083
32084 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
32085 variable declaration.
32086 (grub_os_area_size): Likewise.
32087
32088 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
32089 (grub_lower_mem, grub_upper_mem): New variables.
32090 (grub_stop_floppy): New function (just to make
32091 grub_multiboot2_real_boot() happy).
32092
32093 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
32094 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
32095 (grub_stop): New function.
32096 Include `"../realmode.S"' and `"../loader.S"'.
32097
32098 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
32099 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
32100
32101 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
32102 rely on grub_multiboot2_real_boot() for final boot.
32103
32104 2008-01-22 Robert Millan <rmh@aybabtu.com>
32105
32106 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
32107 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
32108 device that doesn't look like an SD card.
32109 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32110 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
32111 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
32112 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
32113 found.
32114
32115 2008-01-22 Robert Millan <rmh@aybabtu.com>
32116
32117 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
32118 avoid claiming over our own code.
32119
32120 2008-01-22 Bean <bean123ch@gmail.com>
32121
32122 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
32123 (jpeg_mod_SOURCES): New variable.
32124 (jpeg_mod_CFLAGS): Likewise.
32125 (jpeg_mod_LDFLAGS): Likewise.
32126
32127 * video/readers/jpeg.c : New file.
32128
32129 2008-01-22 Bean <bean123ch@gmail.com>
32130
32131 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
32132 there are no more items.
32133
32134 2008-01-21 Robert Millan <rmh@aybabtu.com>
32135
32136 * kern/mm.c (grub_mm_init_region): Improve debug message.
32137
32138 2008-01-21 Robert Millan <rmh@aybabtu.com>
32139
32140 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
32141 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
32142 address.
32143 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
32144 a C macro.
32145 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
32146 Indicates start of upper memory.
32147 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
32148 (generate_image): Abort when image size is big enough to corrupt
32149 upper memory.
32150
32151 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
32152 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
32153 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32154 instead of hardcoding 0xA0000.
32155 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
32156 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32157 instead of hardcoding 0xA0000.
32158
32159 2008-01-21 Robert Millan <rmh@aybabtu.com>
32160
32161 * disk/memdisk.c (memdisk_size): New variable.
32162 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
32163 `memdisk_size'.
32164 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
32165 image to dynamic memory.
32166 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
32167 `memdisk_size'. Free memdisk block.
32168
32169 2008-01-21 Robert Millan <rmh@aybabtu.com>
32170
32171 Fix detection of very small filesystems (like tar).
32172
32173 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
32174 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
32175 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
32176 a problem with this disk).
32177
32178 2008-01-21 Robert Millan <rmh@aybabtu.com>
32179
32180 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
32181 on grub_biosdisk_rw_standard() error.
32182
32183 2008-01-21 Robert Millan <rmh@aybabtu.com>
32184
32185 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
32186 recent changes.
32187 * kern/elf.c: Likewise.
32188 * kern/ieee1275/ieee1275.c: Likewise.
32189 * kern/powerpc/ieee1275/openfw.c: Likewise.
32190 * term/ieee1275/ofconsole.c: Likewise.
32191
32192 2008-01-21 Robert Millan <rmh@aybabtu.com>
32193
32194 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
32195
32196 * include/grub/kernel.h (grub_arch_memdisk_addr)
32197 (grub_arch_memdisk_size): Moved from here ...
32198
32199 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
32200 (grub_arch_memdisk_size): ... to here.
32201
32202 2008-01-21 Robert Millan <rmh@aybabtu.com>
32203
32204 Mostly based on bugfix from Bean.
32205
32206 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
32207 attribute with hook() parameter.
32208 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
32209 declaration.
32210 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
32211 attribute with hook() parameter.
32212 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
32213 declaration.
32214
32215 2008-01-21 Robert Millan <rmh@aybabtu.com>
32216
32217 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
32218 (pkglib_MODULES): Add `memdisk.mod'.
32219 (memdisk_mod_SOURCES): New variable.
32220 (memdisk_mod_CFLAGS): Likewise.
32221 (memdisk_mod_LDFLAGS): Likewise.
32222
32223 * disk/memdisk.c: New file.
32224
32225 * include/grub/disk.h (grub_disk_dev_id): Add
32226 `GRUB_DISK_DEVICE_MEMDISK_ID'.
32227
32228 * include/grub/i386/pc/kernel.h
32229 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
32230 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
32231 (grub_kernel_image_size): New variable declaration.
32232 (grub_total_module_size): Likewise.
32233 (grub_memdisk_image_size): Likewise.
32234
32235 * include/grub/i386/pc/memory.h
32236 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
32237
32238 * include/grub/kernel.h: Include `<grub/symbol.h>'.
32239 (grub_arch_memdisk_addr): New variable declaration.
32240 (grub_arch_memdisk_size): Likewise.
32241
32242 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
32243 (grub_arch_memdisk_size): Likewise.
32244
32245 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
32246 (codestart): Replace hardcoded `0x100000' with
32247 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
32248
32249 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
32250 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
32251 not NULL, append the contents of the file it refers to, at the end of
32252 the compressed kernel image. Initialize `grub_memdisk_image_size'
32253 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
32254 (options): Add "memdisk"|'m' option.
32255 (main): Parse --memdisk|-m option, and pass user-provided path as
32256 parameter to generate_image().
32257
32258 2008-01-20 Robert Millan <rmh@aybabtu.com>
32259
32260 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
32261 grub_dprintf() calls from here ...
32262 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
32263
32264 2008-01-20 Robert Millan <rmh@aybabtu.com>
32265
32266 Fix detection of "real mode" when /options/real-mode? doesn't exist.
32267
32268 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
32269 declaration.
32270 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
32271 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
32272 `GRUB_IEEE1275_FLAG_REAL_MODE'.
32273 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
32274 property).
32275 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
32276 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
32277
32278 2008-01-19 Robert Millan <rmh@aybabtu.com>
32279
32280 Get rid of confusing function (superseded by
32281 `grub_ieee1275_get_integer_property')
32282 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
32283 prototype.
32284 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
32285 function.
32286 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
32287 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
32288 in native endianness from grub_ieee1275_get_integer_property().
32289
32290 2008-01-19 Robert Millan <rmh@aybabtu.com>
32291
32292 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
32293 command after "shut-down", since implementations differ on which
32294 the command for halt is.
32295
32296 2008-01-19 Robert Millan <rmh@aybabtu.com>
32297
32298 * include/grub/i386/linuxbios/console.h: Add header protection.
32299 (grub_keyboard_controller_init): New function prototype.
32300 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32301 (KEYBOARD_COMMAND_READ): Likewise.
32302 (KEYBOARD_COMMAND_WRITE): Likewise.
32303 (KEYBOARD_SCANCODE_SET1): Likewise.
32304 (grub_keyboard_controller_write): New function.
32305 (grub_keyboard_controller_read): Likewise.
32306 (grub_keyboard_controller_init): Likewise.
32307
32308 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32309 (grub_console_init): On coreboot/LinuxBIOS, call
32310 grub_keyboard_controller_init().
32311
32312 2008-01-19 Robert Millan <rmh@aybabtu.com>
32313
32314 PowerPC changes provided by Pavel Roskin.
32315
32316 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32317 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32318 don't rely on cmain() doing it.
32319 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32320 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32321
32322 2008-01-16 Robert Millan <rmh@aybabtu.com>
32323
32324 * include/grub/i386/linuxbios/memory.h
32325 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32326 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32327 receive `table_header' as argument. Instead, probe for it in the
32328 known memory ranges where it can be present.
32329 (grub_available_iterate): Do not pass a fixed `table_header' address
32330 to grub_linuxbios_table_iterate().
32331
32332 2008-01-15 Robert Millan <rmh@aybabtu.com>
32333
32334 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32335 * conf/i386-ieee1275.rmk: New file.
32336 * include/grub/i386/ieee1275/console.h: Likewise.
32337 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32338 * include/grub/i386/ieee1275/kernel.h: Likewise.
32339 * include/grub/i386/ieee1275/time.h: Likewise.
32340 * kern/i386/ieee1275/init.c: Likewise.
32341 * kern/i386/ieee1275/startup.S: Likewise.
32342
32343 2008-01-15 Robert Millan <rmh@aybabtu.com>
32344
32345 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32346 when pointers are 32-bit (but still do set it to one when they are
32347 64-bit).
32348
32349 2008-01-15 Robert Millan <rmh@aybabtu.com>
32350
32351 * include/grub/ieee1275/ieee1275.h
32352 (grub_ieee1275_get_integer_property): New function prototype.
32353
32354 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32355 (grub_ieee1275_get_integer_property): New function. Wraps around
32356 grub_ieee1275_get_property() to handle endianness.
32357
32358 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32359 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
32360 where appropriate.
32361 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32362 (grub_map): Likewise.
32363 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32364
32365 2008-01-15 Bean <bean123ch@gmail.com>
32366
32367 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32368 (grub_script_execute_cmdline): Reset grub_errno.
32369
32370 * normal/main.c (read_config_file): Reset grub_errno.
32371
32372 * normal/parse.y (script_init): New.
32373 (script): Move function and menuentry here.
32374 (delimiter): New.
32375 (command): Add delimiter at the end of command.
32376 (commands): Adjust to match the new command.
32377 (commandblock): Remove grub_script_lexer_record_start.
32378 (menuentry): Add grub_script_lexer_record_start, use the new commands.
32379 (if): Use the new commands.
32380
32381 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32382
32383 2008-01-15 Robert Millan <rmh@aybabtu.com>
32384
32385 * normal/menu.c (run_menu): Move timeout message from here ...
32386 (print_timeout): ... to here.
32387 (run_menu): Use print_timeout() once during initial draw to print
32388 the whole message, and again in every clock tick to update only
32389 the number of seconds.
32390
32391 2008-01-15 Robert Millan <rmh@aybabtu.com>
32392
32393 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32394 actual size of `available' from grub_ieee1275_get_property(), and
32395 restrict parsing to that bound.
32396
32397 2008-01-15 Christian Franke <franke@computer.org>
32398
32399 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32400 (argp_program_version): Remove variable.
32401 (argp_program_bug_address): Likewise.
32402 (options): Convert from struct argp_option to struct option.
32403 (struct arguments): Remove.
32404 (parse_opt): Remove.
32405 (usage): New function.
32406 (main): Replace struct args members by simple variables.
32407 Replace argp_parse() by getopt_long().
32408 Add switch to evaluate options.
32409 Add missing "(...)" around root_dev in prefix string.
32410
32411 2008-01-14 Robert Millan <rmh@aybabtu.com>
32412
32413 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32414 for grub_ieee1275_exit(), in order to improve portability.
32415
32416 2008-01-14 Robert Millan <rmh@aybabtu.com>
32417
32418 * util/grub.d/10_linux.in (prefix): Define.
32419 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32420
32421 2008-01-13 Pavel Roskin <proski@gnu.org>
32422
32423 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32424 grub_errno if no errors have been detected.
32425
32426 2008-01-12 Robert Millan <rmh@aybabtu.com>
32427
32428 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32429 (grub_util_get_dev_abstraction): New function prototype.
32430
32431 * util/getroot.c: Include `<grub/util/getroot.h>'
32432 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32433 (grub_util_get_dev_abstraction): ... here (new function).
32434
32435 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32436 `PRINT_ABSTRACTION'.
32437 (probe): Probe for abstraction type when requested.
32438 (main): Understand `--target=abstraction'.
32439
32440 * util/i386/efi/grub-install.in: Add abstraction module to core
32441 image when it is found to be necessary.
32442 * util/i386/pc/grub-install.in: Likewise.
32443 * util/powerpc/ieee1275/grub-install.in: Likewise.
32444
32445 * util/update-grub_lib.in (font_path): Return system path without
32446 converting to GRUB path.
32447 * util/update-grub.in: Convert system path returned by font_path()
32448 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32449 abstraction module is needed for loading fonts (if any). Export
32450 that as `GRUB_PRELOAD_MODULES'.
32451 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32452 insmod commands).
32453
32454 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32455
32456 Remove some unused code from reiserfs.
32457
32458 * fs/reiserfs.c (struct grub_reiserfs_key)
32459 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32460 (struct grub_reiserfs_node_body): Removed.
32461 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32462 Likewise.
32463 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32464 Likewise.
32465 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32466 Likewise.
32467 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32468 Likewise.
32469 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32470 Likewise.
32471 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32472 Likewise.
32473 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32474 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32475 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32476
32477 2008-01-10 Robert Millan <rmh@aybabtu.com>
32478
32479 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32480 Determines if a file is garbage left by packaging systems, etc.
32481 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32482 for processing /etc/grub.d scripts.
32483 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32484 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32485 as a condition for processing Linux images.
32486
32487 2008-01-10 Pavel Roskin <proski@gnu.org>
32488
32489 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32490 to compile reiserfs.c on PowerPC.
32491
32492 2008-01-10 Robert Millan <rmh@aybabtu.com>
32493
32494 * kern/device.c (grub_device_iterate): Do not abort device iteration
32495 when one of the devices cannot be opened.
32496 * kern/disk.c (grub_disk_open): Do not account previous failures of
32497 unrelated functions when grub_errno is checked for.
32498
32499 2008-01-08 Robert Millan <rmh@aybabtu.com>
32500
32501 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32502 `! grub_linux_is_bzimage', change order of address comparison to make
32503 it more intuitive, and improve "too big zImage" error message.
32504
32505 2008-01-08 Robert Millan <rmh@aybabtu.com>
32506
32507 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32508 `$(update-grub_DATA)'.
32509 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32510 targets.
32511
32512 2008-01-07 Robert Millan <rmh@aybabtu.com>
32513
32514 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32515 which instruction is modified by grub-setup during installation
32516 (since it wasn't obvious by only looking at this file).
32517
32518 2008-01-07 Robert Millan <rmh@aybabtu.com>
32519
32520 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32521 listing actual TODO items.
32522
32523 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32524
32525 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32526 correctly.
32527 (grub_reiserfs_get_key_offset): Likewise.
32528 (grub_reiserfs_set_key_offset): Likewise.
32529 (grub_reiserfs_set_key_type): Likewise.
32530 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
32531
32532 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32533 better to remove the bitfield version completely.
32534
32535 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32536
32537 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32538 allocated from the heap, due to the fshelp implementation.
32539 (grub_reiserfs_dir): Free NODE, due to the same reason.
32540
32541 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32542
32543 Mostly from Vincent Pelletier:
32544
32545 * fs/reiserfs.c: New file.
32546
32547 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32548 (reiserfs_mod_SOURCES): New variable.
32549 (reiserfs_mod_CFLAGS): Likewise.
32550 (reiserfs_mod_LDFLAGS): Likewise.
32551
32552 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32553 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32554 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32555 normal/color.c.
32556
32557 2008-01-06 Robert Millan <rmh@aybabtu.com>
32558
32559 * normal/color.c: Remove `<grub/env.h>'.
32560
32561 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32562
32563 * include/grub/normal.h: Include <grub/env.h>.
32564
32565 2008-01-05 Robert Millan <rmh@aybabtu.com>
32566
32567 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32568 usage example with `(hd0,1)'.
32569 Reported by Samuel Thibault.
32570
32571 2008-01-05 Robert Millan <rmh@aybabtu.com>
32572
32573 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32574 (grub_linux_boot_zimage): Rename to ...
32575 (grub_linux_boot): ... this.
32576 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32577 (grub_linux_boot_zimage): Conditionalize zImage copy.
32578
32579 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32580 (grub_linux_boot_bzimage): Remove prototype.
32581 (grub_linux_boot_zimage): Rename to ...
32582 (grub_linux_boot): ... this.
32583
32584 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32585 (grub_linux_boot): Remove function.
32586
32587 2008-01-05 Robert Millan <rmh@aybabtu.com>
32588
32589 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32590 (grub_env_write_color_highlight): Likewise.
32591 (grub_wait_after_message): Likewise.
32592
32593 * normal/color.c: New file.
32594
32595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32596 (normal_mod_DEPENDENCIES): Likewise.
32597
32598 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32599 (normal_mod_DEPENDENCIES): Likewise.
32600
32601 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32602 (normal_mod_DEPENDENCIES): Likewise.
32603
32604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32605 (normal_mod_DEPENDENCIES): Likewise.
32606
32607 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32608 for waiting after a message is printed.
32609 * normal/main.c (read_config_file): Likewise.
32610 (grub_normal_init): Register grub_env_write_color_normal() and
32611 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32612 `color_highlight' variables as global.
32613
32614 * normal/menu.c (grub_wait_after_message): New function.
32615 (grub_color_menu_normal): New variable. Replaces ...
32616 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32617 (grub_color_menu_highlight): New variable. Replaces ...
32618 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32619 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32620 `GRUB_TERM_COLOR_STANDARD'.
32621 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32622 `normal_code' and `highlight_code' to `old_color_normal' and
32623 `old_color_highlight', respectively.
32624 (grub_menu_init_page): Update colors when drawing the menu, based on
32625 `menu_color_normal' and `menu_color_highlight' variables.
32626 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32627 a message is printed.
32628
32629 2008-01-05 Robert Millan <rmh@aybabtu.com>
32630
32631 * kern/env.c (grub_env_context_open): Propagate hooks for global
32632 variables to new context.
32633
32634 * kern/main.c (grub_set_root_dev): Export `root' variable.
32635
32636 2008-01-05 Robert Millan <rmh@aybabtu.com>
32637
32638 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
32639 discs unconditionally, since udev and others have options to provide
32640 them.
32641
32642 2008-01-05 Robert Millan <rmh@aybabtu.com>
32643
32644 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32645
32646 2008-01-04 Christian Franke <franke@computer.org>
32647
32648 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32649 of eisa_mmap.
32650
32651 2008-01-03 Pavel Roskin <proski@gnu.org>
32652
32653 * kern/i386/linuxbios/init.c: Put "void" to all function
32654 declarations with no arguments.
32655 * kern/powerpc/ieee1275/init.c: Likewise.
32656 * term/i386/pc/at_keyboard.c: Likewise.
32657 * term/i386/pc/vga_text.c: Likewise.
32658 * util/grub-mkdevicemap.c: Likewise.
32659
32660 2008-01-02 Robert Millan <rmh@aybabtu.com>
32661
32662 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32663 message when loaded image is out of bounds.
32664 (grub_multiboot_load_elf64): Likewise.
32665
32666 2008-01-02 Pavel Roskin <proski@gnu.org>
32667
32668 * util/grub.d/10_linux.in: Try version without ".old" when
32669 looking for initrd. It's better to use initrd from the newer
32670 kernel of the same version than no initrd at all.
32671
32672 2008-01-01 Robert Millan <rmh@aybabtu.com>
32673
32674 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32675
32676 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32677
32678 * include/grub/video.h: Added grub_video_unmap_color and
32679 grub_video_get_active_render_target.
32680 (grub_video_adapter): Added unmap_color and get_active_render_target.
32681
32682 * video/video.c: Added grub_video_unmap_color and
32683 grub_video_get_active_render_target.
32684 (grub_video_get_info): Changed method to accept NULL pointer as an
32685 argument to allow detection of active video adapter.
32686
32687 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32688 grub_video_vbe_unmap_color_int.
32689 Added grub_video_vbe_unmap_color and
32690 grub_video_vbe_get_active_render_target.
32691 (grub_video_vbe_adapter): Added unmap_color and
32692 get_active_render_target.
32693
32694 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
32695 with grub_video_vbe_unmap_color_int.
32696
32697 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32698 (DEFAULT_NORMAL_COLOR): Likewise.
32699 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32700 (DEFAULT_FG_COLOR): Removed.
32701 (DEFAULT_BG_COLOR): Likewise.
32702 (DEFAULT_CURSOR_COLOR): Changed value.
32703 (grub_virtual_screen): Added standard_color_setting,
32704 normal_color_setting, highlight_color_setting and term_color.
32705 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32706 (bitmap_width): Added.
32707 (bitmap_height): Likewise.
32708 (bitmap): Likewise.
32709 (set_term_color): Likewise.
32710 (grub_virtual_screen_setup): Changed to use new terminal coloring
32711 settings.
32712 (grub_gfxterm_init): Added init for bitmap.
32713 (grub_gfxterm_fini): Added destroy for bitmap.
32714 (redraw_screen_rect): Updated to use background bitmap and new
32715 terminal coloring.
32716 (scroll_up): Added optimization for case when there is no bitmap.
32717 (grub_gfxterm_cls): Fixed to use correct background color.
32718 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32719 coloring.
32720 (grub_virtual_screen_setcolor): Likewise.
32721 (grub_virtual_screen_getcolor): Added.
32722 (grub_gfxterm_background_image_cmd): Likewise.
32723 (grub_video_term): Added setcolor and getcolor.
32724 (MOD_INIT): Added registration of background_image command.
32725 (MOD_TERM): Added unregistration for background_image command.
32726
32727 2007-12-30 Pavel Roskin <proski@gnu.org>
32728
32729 * loader/multiboot_loader.c: Fix multiboot command
32730 unregistration. Fix all typos in the word "multiboot".
32731
32732 2007-12-29 Pavel Roskin <proski@gnu.org>
32733
32734 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32735 support for initrd names used in Fedora.
32736
32737 2007-12-26 Bean <bean123ch@gmail.com>
32738
32739 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32740 (cpio_mod_SOURCES): New variable.
32741 (cpio_mod_CFLAGS): Likewise.
32742 (cpio_mod_LDFLAGS): Likewise.
32743
32744 * fs/cpio.c: New file.
32745
32746 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32747
32748 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32749
32750 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32751
32752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32753
32754 2007-12-25 Robert Millan <rmh@aybabtu.com>
32755
32756 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32757 (grub_getcolor): New function.
32758
32759 * kern/term.c (grub_getcolor): New function.
32760 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32761 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32762 (print_entry): Set normal and highlight colors to
32763 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32764 respectively, before printing and restore them to old
32765 values afterwards.
32766 (grub_menu_init_page): Likewise. Fill an additional colored space
32767 that would otherwise be left blank.
32768
32769 * term/efi/console.c (grub_console_getcolor): New function.
32770 (struct grub_console_term.getcolor): New variable.
32771 * term/i386/pc/console.c (grub_console_getcolor): New function.
32772 (struct grub_console_term.getcolor): New variable.
32773 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32774 (struct grub_console_term.getcolor): New variable.
32775
32776 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32777 (struct grub_console_term.setcolor): Remove variable.
32778 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32779 (struct grub_console_term.setcolor): Remove variable.
32780 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32781 (struct grub_console_term.setcolor): Remove variable.
32782 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32783 (struct grub_console_term.setcolor): Remove variable.
32784
32785 2007-12-25 Robert Millan <rmh@aybabtu.com>
32786
32787 * configure.ac: Search for possible unifont.hex locations, and
32788 define UNIFONT_HEX if found.
32789
32790 * Makefile.in (UNIFONT_HEX): Define variable.
32791 (DATA): Rename to ...
32792 (PKGLIB): ... this. Update all users.
32793 (PKGDATA): New variable.
32794 (pkgdata_IMAGES): Rename to ...
32795 (pkglib_IMAGES): ... this. Update all users.
32796 (pkgdata_MODULES): Rename to ...
32797 (pkglib_MODULES): ... this. Update all users.
32798 (pkgdata_PROGRAMS): Rename to ...
32799 (pkglib_PROGRAMS): ... this. Update all users.
32800 (pkgdata_DATA): Rename to ...
32801 (pkglib_DATA): ... this. Update all users.
32802 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32803 (unicode.pff, ascii.pff): New rules.
32804 (all-local): Add `$(PKGDATA)' dependency.
32805 (install-local): Process `$(PKGDATA)'.
32806
32807 * util/update-grub_lib.in (font_path): Search for *.pff files in
32808 a few more locations, including `${pkgdata}'.
32809
32810 2007-12-23 Robert Millan <rmh@aybabtu.com>
32811
32812 Patch from Bean <bean123ch@gmail.com>:
32813 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32814 `size'.
32815
32816 2007-12-21 Bean <bean123ch@gmail.com>
32817
32818 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32819 (ntfscomp_mod_SOURCES): New variable.
32820 (ntfscomp_mod_CFLAGS): Likewise.
32821 (ntfscomp_mod_LDFLAGS): Likewise.
32822
32823 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32824 (grub_probe_SOURCES): Likewise.
32825 (grub_emu_SOURCES): Likewise.
32826
32827 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32828 (grub_emu_SOURCES): Likewise.
32829
32830 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32831 (grub_emu_SOURCES): Likewise.
32832
32833 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32834 (grub_emu_SOURCES): Likewise.
32835
32836 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32837 (read_run_list): Renamed to grub_ntfs_read_run_list.
32838 (decomp_nextvcn): Moved to ntfscomp.c.
32839 (decomp_getch): Likewise.
32840 (decomp_get16): Likewise.
32841 (decomp_block): Likewise.
32842 (read_block): Likewise.
32843 (read_data): Partially moved to ntfscomp.c.
32844 (fixup): Change unsigned to grub_uint16_t.
32845 (read_mft): Change unsigned long to grub_uint32_t.
32846 (read_attr): Likewise.
32847 (read_data): Likewise.
32848 (read_run_data): Likewise.
32849 (read_run_list): Likewise.
32850 (read_mft): Likewise.
32851
32852 * fs/ntfscomp.c: New file.
32853
32854 * include/grub/ntfs.h: New file.
32855
32856 2007-12-16 Robert Millan <rmh@aybabtu.com>
32857
32858 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32859 IDE disk check, since Linux is known to support 20 IDE disks.
32860 Reported by Colin Watson.
32861
32862 2007-12-15 Bean <bean123ch@gmail.com>
32863
32864 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32865 (lnxboot_img_SOURCES): New variable.
32866 (lnxboot_img_ASFLAGS): Likewise.
32867 (lnxboot_img_LDFLAGS): Likewise.
32868
32869 * boot/i386/pc/lnxboot.S: New file.
32870
32871 2007-11-24 Pavel Roskin <proski@gnu.org>
32872
32873 * configure.ac: Test if '--build-id=none' is supported by the
32874 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32875 objcopy to generate incorrect binary files (binutils
32876 2.17.50.0.18-1 as shipped by Fedora 8).
32877 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32878 linking, so that build ID doesn't break the test.
32879
32880 2007-11-24 Pavel Roskin <proski@gnu.org>
32881
32882 * include/grub/i386/time.h: use "void" in the argument list
32883 of grub_cpu_idle().
32884 * include/grub/powerpc/time.h: Likewise.
32885 * include/grub/sparc64/time.h: Likewise.
32886
32887 2007-11-18 Christian Franke <franke@computer.org>
32888
32889 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32890 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32891 This fixes the problem that function keys did not work in grub-emu.
32892
32893 2007-11-18 Christian Franke <franke@computer.org>
32894
32895 * disk/host.c (grub_host_open): Remove attribute unused from
32896 name parameter. Add check for "host". This fixes the problem
32897 that grub-emu does not find partitions.
32898
32899 2007-11-18 Christian Franke <franke@computer.org>
32900
32901 * util/hostfs.c (is_dir): New function.
32902 (grub_hostfs_dir): Handle missing dirent.d_type case.
32903 (grub_hostfs_read): Add missing fseek().
32904 (grub_hostfs_label): Clear label pointer. This fixes a crash
32905 of grub-emu on "ls (host)".
32906
32907 2007-11-18 Christian Franke <franke@computer.org>
32908
32909 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32910 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32911 to 64 bit boundary by default.
32912
32913 2007-11-18 Bean <bean123ch@gmail.com>
32914
32915 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32916 (hexdump_mod_SOURCES): New variable.
32917 (hexdump_mod_CFLAGS): Likewise.
32918 (hexdump_mod_LDFLAGS): Likewise.
32919
32920 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32921
32922 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32923
32924 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32925
32926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32927
32928 * include/grub/hexdump.h: New file.
32929
32930 * commands/hexdump.c: New file.
32931
32932 2007-11-10 Robert Millan <rmh@aybabtu.com>
32933
32934 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32935 in grub_outb() calls.
32936 (beep_on): Likewise.
32937
32938 2007-11-10 Christian Franke <franke@computer.org>
32939
32940 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32941 (grub_menu_run): Likewise.
32942
32943 2007-11-10 Robert Millan <rmh@aybabtu.com>
32944
32945 * include/grub/i386/efi/machine.h: New file.
32946 * include/grub/i386/linuxbios/machine.h: Likewise.
32947 * include/grub/i386/pc/machine.h: Likewise.
32948 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32949 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32950
32951 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32952 (serial_hw_io_addr): New variable.
32953 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32954 instead of `(unsigned short *) 0x400'.
32955
32956 2007-11-10 Bean <bean123ch@gmail.com>
32957
32958 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32959
32960 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32961
32962 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32963 (vga_mod_SOURCES): Added.
32964 (vga_mod_CFLAGS): Likewise.
32965 (vga_mod_LDFLAGS): Likewise.
32966
32967 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32968 grub_outb() calls.
32969 (set_map_mask): Likewise.
32970 (set_read_map): Likewise.
32971 (set_read_address): Likewise.
32972 (vga_font): Removed variable.
32973 (get_vga_glyph): Removed function.
32974 (invalidate_char): Likewise.
32975 (write_char): Changed to use grub_font_get_glyph() for font
32976 information.
32977 (grub_vga_putchar): Likewise.
32978 (grub_vga_getcharwidth): Likewise.
32979
32980 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32981
32982 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32983 flags.
32984 (pxeboot_img_LDFLAGS): Likewise.
32985 (diskboot_img_LDFLAGS): Likewise.
32986 (kernel_img_LDFLAGS): Likewise.
32987
32988 2007-11-06 Robert Millan <rmh@aybabtu.com>
32989
32990 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32991 in grub_outb() calls.
32992 (serial_hw_init): Likewise.
32993
32994 2007-11-05 Robert Millan <rmh@aybabtu.com>
32995
32996 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32997 spaces. Skip non-regular files.
32998
32999 2007-11-05 Robert Millan <rmh@aybabtu.com>
33000
33001 * kern/disk.c (grub_disk_firmware_fini)
33002 (grub_disk_firmware_is_tainted): New variables.
33003
33004 * include/grub/disk.h (grub_disk_firmware_fini)
33005 (grub_disk_firmware_is_tainted): Likewise.
33006
33007 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
33008 (grub_disk_biosdisk_fini): ... to here.
33009 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
33010 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
33011 is set. Register grub_disk_biosdisk_fini() in
33012 `grub_disk_firmware_fini'.
33013
33014 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
33015 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
33016 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
33017 to finish existing firmware disk interface.
33018
33019 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
33020 (ata_mod_SOURCES): New variable.
33021 (ata_mod_CFLAGS): Likewise.
33022 (ata_mod_LDFLAGS): Likewise.
33023
33024 2007-11-05 Robert Millan <rmh@aybabtu.com>
33025
33026 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
33027 (grub_ata_wait): Reimplement using grub_millisleep().
33028
33029 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
33030 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
33031
33032 2007-11-03 Marco Gerards <marco@gnu.org>
33033
33034 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
33035 (CRTC_ADDR_PORT): New macro.
33036 (CRTC_DATA_PORT): Likewise.
33037 (CRTC_CURSOR): Likewise.
33038 (CRTC_CURSOR_ADDR_HIGH): Likewise.
33039 (CRTC_CURSOR_ADDR_LOW): Likewise.
33040 (update_cursor): New function.
33041 (grub_console_real_putchar): Call `update_cursor'.
33042 (grub_console_gotoxy): Likewise.
33043 (grub_console_cls): Set the default color when clearing the
33044 screen.
33045 (grub_console_setcursor): Implemented.
33046
33047 2007-11-03 Marco Gerards <marco@gnu.org>
33048
33049 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
33050 become activate.
33051 (grub_ata_pio_write): Likewise.
33052
33053 (grub_atapi_identify): Wait after issuing an ATA command.
33054 (grub_atapi_packet): Likewise.
33055 (grub_ata_identify): Likewise.
33056 (grub_ata_readwrite): Likewise.
33057
33058 2007-11-03 Marco Gerards <marco@gnu.org>
33059
33060 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
33061 (grub_ata_pio_write): Likewise.
33062 (grub_ata_readwrite): Use `grub_error', instead of
33063 returning `grub_errno'.
33064
33065 2007-11-03 Marco Gerards <marco@gnu.org>
33066
33067 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
33068 grub_ata_pio_write once for every single sector, instead of for
33069 multiple sectors.
33070
33071 2007-10-31 Robert Millan <rmh@aybabtu.com>
33072
33073 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
33074
33075 * conf/i386-linuxbios.rmk: New file.
33076
33077 * kern/i386/pc/hardware.c: Likewise.
33078 * term/i386/pc/at_keyboard.c: Likewise.
33079 * term/i386/pc/vga_text.c: Likewise.
33080
33081 * include/grub/i386/linuxbios/boot.h: Likewise.
33082 * include/grub/i386/linuxbios/console.h: Likewise.
33083 * include/grub/i386/linuxbios/init.h: Likewise.
33084 * include/grub/i386/linuxbios/kernel.h: Likewise.
33085 * include/grub/i386/linuxbios/loader.h: Likewise.
33086 * include/grub/i386/linuxbios/memory.h: Likewise.
33087 * include/grub/i386/linuxbios/serial.h: Likewise.
33088 * include/grub/i386/linuxbios/time.h: Likewise.
33089
33090 * kern/i386/linuxbios/init.c: Likewise.
33091 * kern/i386/linuxbios/startup.S: Likewise.
33092 * kern/i386/linuxbios/table.c: Likewise.
33093
33094 2007-10-31 Marco Gerards <marco@gnu.org>
33095
33096 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
33097 (ata_mod_SOURCES): New variable.
33098 (ata_mod_CFLAGS): Likewise.
33099 (ata_mod_LDFLAGS): Likewise.
33100
33101 * disk/ata.c: New file.
33102
33103 * include/grub/disk.h (grub_disk_dev_id): Add
33104 `GRUB_DISK_DEV_ATA_ID'.
33105
33106 2007-10-31 Robert Millan <rmh@aybabtu.com>
33107
33108 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
33109 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
33110
33111 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
33112 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
33113
33114 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
33115 `<grub/types.h>'.
33116
33117 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
33118
33119 2007-10-27 Robert Millan <rmh@aybabtu.com>
33120
33121 * include/grub/types.h (ULONG_MAX): Define macro.
33122
33123 2007-10-22 Robert Millan <rmh@aybabtu.com>
33124
33125 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
33126 `"../realmode.S"'.
33127 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
33128
33129 2007-10-22 Robert Millan <rmh@aybabtu.com>
33130
33131 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
33132 (pkgdata_MODULES): Add `biosdisk.mod'.
33133 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
33134 variables.
33135
33136 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
33137 (grub_biosdisk_init): Replace with ...
33138 (GRUB_MOD_INIT(biosdisk)): ... this.
33139 (grub_biosdisk_fini): Replace with ...
33140 (GRUB_MOD_FINI(biosdisk)): ... this.
33141
33142 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
33143 (grub_machine_init): Remove call to grub_biosdisk_init().
33144 (grub_machine_fini): Remove call to grub_machine_fini().
33145
33146 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
33147
33148 2007-10-22 Robert Millan <rmh@aybabtu.com>
33149
33150 * include/grub/time.h: New file.
33151 * include/grub/i386/time.h: Likewise.
33152 * include/grub/powerpc/time.h: Likewise.
33153 * include/grub/sparc64/time.h: Likewise.
33154
33155 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
33156 instances to ...
33157 (KERNEL_MACHINE_TIME_HEADER): ... this.
33158 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33159 instances to ...
33160 (KERNEL_MACHINE_TIME_HEADER): ... this.
33161 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33162 instances to ...
33163 (KERNEL_MACHINE_TIME_HEADER): ... this.
33164
33165 * kern/i386/efi/init.c: Include `<grub/time.h>'.
33166 (grub_millisleep): New function.
33167 * kern/i386/pc/init.c: Include `<grub/time.h>'.
33168 (grub_millisleep): New function.
33169 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
33170 Remove `grub/machine/time.h' include.
33171 (grub_millisleep): New function.
33172 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
33173 Remove `grub/machine/time.h' include.
33174 (grub_millisleep): New function.
33175
33176 * include/grub/misc.h (grub_div_roundup): New function.
33177
33178 * kern/misc.c: Include `<grub/time.h>'.
33179 (grub_millisleep_generic): New function.
33180
33181 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
33182 Add `time.h'.
33183 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
33184 Add `time.h'.
33185 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
33186 `machine/time.h'. Add `time.h'.
33187 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33188
33189 2007-10-21 Robert Millan <rmh@aybabtu.com>
33190
33191 * include/grub/misc.h (grub_max): New function.
33192
33193 2007-10-21 Robert Millan <rmh@aybabtu.com>
33194
33195 * util/misc.c (grub_util_info): Call fflush() before returning.
33196
33197 2007-10-20 Robert Millan <rmh@aybabtu.com>
33198
33199 * genmk.rb (Image): Copy `extra_flags' from here ...
33200 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
33201
33202 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
33203 to `argc' and `args' arguments.
33204
33205 2007-10-17 Robert Millan <rmh@aybabtu.com>
33206
33207 * kern/i386/loader.S: New file.
33208
33209 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
33210 * kern/i386/loader.S (grub_linux_prot_size)... to here.
33211 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
33212 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
33213 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
33214 * kern/i386/loader.S (grub_linux_real_addr)... to here.
33215 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
33216 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
33217 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
33218 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
33219 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
33220 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
33221 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
33222 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
33223
33224 * kern/i386/realmode.S: New file.
33225
33226 * kern/i386/pc/startup.S (protstack): Moved from here ...
33227 * kern/i386/realmode.S (protstack)... to here.
33228 * kern/i386/pc/startup.S (gdt): Moved from here ...
33229 * kern/i386/realmode.S (gdt)... to here.
33230 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
33231 * kern/i386/realmode.S (prot_to_real)... to here.
33232
33233 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
33234 `kern/i386/realmode.S'.
33235
33236 2007-10-17 Robert Millan <rmh@aybabtu.com>
33237
33238 * include/grub/i386/loader.h: New file.
33239
33240 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
33241 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33242 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33243 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33244 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
33245 * include/grub/i386/loader.h (grub_linux_prot_size)
33246 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33247 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33248 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33249 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
33250
33251 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
33252
33253 2007-10-15 Robert Millan <rmh@aybabtu.com>
33254
33255 * normal/misc.c (grub_normal_print_device_info): Do not probe for
33256 filesystem when dev->disk is unset.
33257 Do probe for filesystem even when dev->disk->has_partitions is set.
33258 In case a filesystem is found, always report it.
33259 In case it isn't, if dev->disk->has_partitions is set, report that
33260 a partition table was found instead of reporting that no filesystem
33261 could be identified.
33262
33263 2007-10-12 Robert Millan <rmh@aybabtu.com>
33264
33265 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
33266 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
33267
33268 * include/grub/types.h (grub_host_to_target16): New macro.
33269 (grub_host_to_target32): Likewise.
33270 (grub_host_to_target64): Likewise.
33271 (grub_target_to_host16): Likewise.
33272 (grub_target_to_host32): Likewise.
33273 (grub_target_to_host64): Likewise.
33274
33275 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33276 Renamed from to ...
33277 (GRUB_MOD_ALIGN): ...this. Update all users.
33278
33279 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
33280 grub_host_to_target32.
33281 Replace grub_be_to_cpu32 with grub_target_to_host32.
33282 (load_modules): Likewise.
33283 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
33284 Replace grub_be_to_cpu32 with grub_target_to_host32.
33285 Replace grub_cpu_to_be16 with grub_host_to_target16.
33286 Replace grub_cpu_to_be32 grub_host_to_target32.
33287
33288 2007-10-12 Robert Millan <rmh@aybabtu.com>
33289
33290 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
33291 * util/elf/grub-mkimage.c: ... here.
33292
33293 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
33294 `util/powerpc/ieee1275/grub-mkimage.c'.
33295
33296 2007-10-07 Robert Millan <rmh@aybabtu.com>
33297
33298 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33299 and make it easier to figure out.
33300 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33301 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33302 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33303 leave us with less than HEAP_MIN_SIZE total heap.
33304 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
33305
33306 2007-10-03 Robert Millan <rmh@aybabtu.com>
33307
33308 * include/grub/i386/io.h: New file.
33309 * commands/i386/pc/play.c (inb): Removed.
33310 (outb): Removed.
33311 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33312 with grub_outb().
33313 * term/i386/pc/serial.c (inb): Removed.
33314 (outb): Removed.
33315 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33316 with grub_outb().
33317 * term/i386/pc/vga.c (inb): Removed.
33318 (outb): Removed.
33319 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33320 with grub_outb().
33321
33322 2007-10-02 Robert Millan <rmh@aybabtu.com>
33323
33324 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33326 Reported by Marcin Kurek.
33327
33328 2007-09-07 Robert Millan <rmh@aybabtu.com>
33329
33330 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33331 SmartFirmware version updates (as released by Sven Luther), and avoid
33332 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33333 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33334 known broken.
33335
33336 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33337
33338 From Hitoshi Ozeki:
33339 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33340 when merging two regions.
33341
33342 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33343
33344 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33345 * normal/completion.c (grub_normal_do_completion): Likewise.
33346 Reported by Hitoshi Ozeki.
33347
33348 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33349
33350 Do not use devices at boot in chainloading.
33351
33352 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33353 (boot_part_addr): Likewise.
33354 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33355 with BOOT_DRIVE and BOOT_PART_ADDR.
33356 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33357 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33358
33359 2007-08-29 Robert Millan <rmh@aybabtu.com>
33360
33361 Patch from Simon Peter <dn.tlp@gmx.net>:
33362 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33363 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33364 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33365 util/i386/pc/grub-setup.c_DEPENDENCIES.
33366 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33367 util/grub-probe.c_DEPENDENCIES.
33368 * conf/powerpc-ieee1275.rmk: Likewise.
33369
33370 2007-08-28 Robert Millan <rmh@aybabtu.com>
33371
33372 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33373 to tell grub-mkdevicemap how to name devices.
33374 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33375 feature).
33376
33377 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33378 util/i386/get_disk_name.c.
33379 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33380 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33381 util/ieee1275/get_disk_name.c.
33382
33383 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33384
33385 * DISTLIST: Add util/i386/get_disk_name.c and
33386 util/ieee1275/get_disk_name.c.
33387
33388 * util/grub-mkdevicemap.c: Replace device naming logic with
33389 grub_util_get_disk_name() calls.
33390
33391 2007-08-20 Robert Millan <rmh@aybabtu.com>
33392
33393 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33394 (so that it works for both plural and singular quantities).
33395
33396 2007-08-05 Robert Millan <rmh@aybabtu.com>
33397
33398 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33399 so that [xz] isn't taken into account when determining order.
33400
33401 2007-08-02 Marco Gerards <marco@gnu.org>
33402
33403 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33404 `include/multiboot2.h', `include/grub/elfload.h',
33405 `include/multiboot.h', `include/grub/multiboot.h',
33406 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33407 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33408 `kern/elf.c', `loader/multiboot_loader.c',
33409 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33410 `loader/i386/pc/multiboot2.c',
33411 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33412 `util/i386/pc/grub-mkrescue.in'. Remove
33413 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33414 `include/grub/i386/pc/util/biosdisk.h' and
33415 `include/grub/powerpc/ieee1275/multiboot.h'.
33416
33417 2007-08-02 Bean <bean123ch@gmail.com>
33418
33419 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33420 (ntfs_mod_SOURCES): New variable.
33421 (ntfs_mod_CFLAGS): Likewise.
33422 (ntfs_mod_LDFLAGS): Likewise.
33423
33424 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33425 (grub_probe_SOURCES): Likewise.
33426 (grub_emu_SOURCES): Likewise.
33427
33428 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33429 (grub_emu_SOURCES): Likewise.
33430
33431 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33432 (grub_emu_SOURCES): Likewise.
33433
33434 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33435
33436 * fs/ntfs.c: New file.
33437
33438 2007-08-02 Bean <bean123ch@gmail.com>
33439
33440 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33441
33442 * file.h (grub_file): Likewise.
33443
33444 * fshelp.h (grub_fshelp_read_file): Likewise.
33445
33446 * util/i386/pc/grub-setup.c (setup): Likewise.
33447 (save_first_sector): Likewise.
33448 (save_blocklists): Likewise.
33449
33450 * fs/affs.c (grub_affs_read_file): Likewise.
33451
33452 * fs/ext2.c (grub_ext2_read_file): Likewise.
33453
33454 * fs/fat.c (grub_fat_read_data): Likewise.
33455
33456 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33457
33458 * fs/hfs.c (grub_hfs_read_file): Likewise.
33459
33460 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33461
33462 * fs/jfs.c (grub_jfs_read_file): Likewise.
33463
33464 * fs/minix.c (grub_minix_read_file): Likewise.
33465
33466 * fs/sfs.c (grub_sfs_read_file): Likewise.
33467
33468 * fs/ufs.c (grub_ufs_read_file): Likewise.
33469
33470 * fs/xfs.c (grub_xfs_read_file): Likewise.
33471
33472 * command/blocklist.c (read_blocklist): Likewise.
33473 (print_blocklist): Likewise.
33474
33475 2007-08-02 Marco Gerards <marco@gnu.org>
33476
33477 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33478 `util/hostfs.c'.
33479
33480 * disk/host.c: New file.
33481
33482 * util/hostfs.c: Likewise.
33483
33484 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33485 return `GRUB_ERR_BAD_FS'.
33486 * fs/sfs.c (grub_sfs_mount): Likewise.
33487 * fs/xfs.c (grub_xfs_mount): Likewise.
33488
33489 * include/grub/disk.h (enum grub_disk_dev_id): Add
33490 `GRUB_DISK_DEVICE_HOST_ID'.
33491
33492 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33493
33494 2007-07-24 Jerone Young <jerone@gmail.com>
33495
33496 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
33497 modules for compilation.
33498 * conf/powerpc-ieee1275.rmk: Likewise.
33499
33500 * include/multiboot.h: Move multiboot definitions to one file. Rename
33501 many definitions to not get grub specific.
33502 * include/multiboot2.h: Create header with multiboot 2 definitions.
33503 * include/grub/multiboot.h: Header for grub specific function
33504 prototypes and definitions.
33505 * include/grub/multiboot2.h: Likewise.
33506 * include/grub/multiboot_loader.h: Likewise.
33507 * include/grub/i386/pc/multiboot.h: Removed.
33508 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33509
33510 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33511 and 2 to allow for one multiboot and module commands.
33512 * loader/multiboot2.c: Add multiboot2 functionality.
33513 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33514 and definition names.
33515 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33516 2 functions.
33517 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33518 ieee1275 specific multiboot2 code.
33519
33520 * kern/i386/pc/startup.S: Change headers and definition names for
33521 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33522
33523 2007-07-22 Robert Millan <rmh@aybabtu.com>
33524
33525 * geninitheader.sh: Process file specified in first parameter rather
33526 than hardcoding grub_modules_init.lst.
33527 * geninit.sh: Likewise. Also, construct header name dynamically rather
33528 than hardcoding grub_modules_init.h.
33529
33530 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33531 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33532 grub_probe_init.[ch] and grub_setup_init.[ch].
33533
33534 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33535 grub_modules_init.h with grub_emu_init.h.
33536 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33537 grub_probe_init.[ch] files.
33538 * conf/i386-efi.rmk: Likewise.
33539 * conf/i386-pc.rmk: Likewise.
33540 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33541 grub_setup_init.[ch] files.
33542
33543 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33544 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33545 to initialize modules rather than a list of hardcoded functions.
33546 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33547 grub_init_all() to initialize modules rather than a list of hardcoded
33548 functions.
33549
33550 2007-07-22 Robert Millan <rmh@aybabtu.com>
33551
33552 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33553 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33554
33555 2007-07-22 Robert Millan <rmh@aybabtu.com>
33556
33557 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33558 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33559 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33560 flag when running on SmartFirmware.
33561 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33562 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33563 was set.
33564
33565 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33566 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33567 rather than decreasing it.
33568
33569 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33570 there's not enough space to do it, fail in the same way as when it
33571 can't be done because there are no partitions.
33572
33573 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33574 when nvsetenv failed.
33575
33576 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33577
33578 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33579 because this rule is automatically generated.
33580 (grub-mkrescue): Removed for the same reason as above.
33581
33582 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33583
33584 Migrate to GNU General Public License Version 3.
33585
33586 * COPYING: Replaced with the plain text version of GPLv3.
33587
33588 * config.guess: Updated from gnulib.
33589 * config.sub: Likewise.
33590
33591 * geninit.sh: Output a GPLv3 copyright notice.
33592 * geninitheader.sh: Likewise.
33593 * genmodsrc.sh: Likewise.
33594 * gensymlist.sh.in: Likewise.
33595
33596 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33597 * boot/i386/pc/diskboot.S: Likewise.
33598 * boot/i386/pc/pxeboot.S: Likewise.
33599 * commands/blocklist.c: Likewise.
33600 * commands/boot.c: Likewise.
33601 * commands/cat.c: Likewise.
33602 * commands/cmp.c: Likewise.
33603 * commands/configfile.c: Likewise.
33604 * commands/echo.c: Likewise.
33605 * commands/help.c: Likewise.
33606 * commands/ls.c: Likewise.
33607 * commands/search.c: Likewise.
33608 * commands/terminal.c: Likewise.
33609 * commands/test.c: Likewise.
33610 * commands/videotest.c: Likewise.
33611 * commands/i386/cpuid.c: Likewise.
33612 * commands/i386/pc/halt.c: Likewise.
33613 * commands/i386/pc/play.c: Likewise.
33614 * commands/i386/pc/reboot.c: Likewise.
33615 * commands/i386/pc/vbeinfo.c: Likewise.
33616 * commands/i386/pc/vbetest.c: Likewise.
33617 * commands/ieee1275/halt.c: Likewise.
33618 * commands/ieee1275/reboot.c: Likewise.
33619 * commands/ieee1275/suspend.c: Likewise.
33620 * disk/loopback.c: Likewise.
33621 * disk/lvm.c: Likewise.
33622 * disk/raid.c: Likewise.
33623 * disk/efi/efidisk.c: Likewise.
33624 * disk/i386/pc/biosdisk.c: Likewise.
33625 * disk/ieee1275/ofdisk.c: Likewise.
33626 * font/manager.c: Likewise.
33627 * fs/affs.c: Likewise.
33628 * fs/ext2.c: Likewise.
33629 * fs/fat.c: Likewise.
33630 * fs/fshelp.c: Likewise.
33631 * fs/hfs.c: Likewise.
33632 * fs/hfsplus.c: Likewise.
33633 * fs/iso9660.c: Likewise.
33634 * fs/jfs.c: Likewise.
33635 * fs/minix.c: Likewise.
33636 * fs/sfs.c: Likewise.
33637 * fs/ufs.c: Likewise.
33638 * fs/xfs.c: Likewise.
33639 * hello/hello.c: Likewise.
33640 * include/grub/acorn_filecore.h: Likewise.
33641 * include/grub/arg.h: Likewise.
33642 * include/grub/bitmap.h: Likewise.
33643 * include/grub/boot.h: Likewise.
33644 * include/grub/cache.h: Likewise.
33645 * include/grub/device.h: Likewise.
33646 * include/grub/disk.h: Likewise.
33647 * include/grub/dl.h: Likewise.
33648 * include/grub/elfload.h: Likewise.
33649 * include/grub/env.h: Likewise.
33650 * include/grub/err.h: Likewise.
33651 * include/grub/file.h: Likewise.
33652 * include/grub/font.h: Likewise.
33653 * include/grub/fs.h: Likewise.
33654 * include/grub/fshelp.h: Likewise.
33655 * include/grub/gzio.h: Likewise.
33656 * include/grub/hfs.h: Likewise.
33657 * include/grub/kernel.h: Likewise.
33658 * include/grub/loader.h: Likewise.
33659 * include/grub/lvm.h: Likewise.
33660 * include/grub/misc.h: Likewise.
33661 * include/grub/mm.h: Likewise.
33662 * include/grub/net.h: Likewise.
33663 * include/grub/normal.h: Likewise.
33664 * include/grub/parser.h: Likewise.
33665 * include/grub/partition.h: Likewise.
33666 * include/grub/pc_partition.h: Likewise.
33667 * include/grub/raid.h: Likewise.
33668 * include/grub/rescue.h: Likewise.
33669 * include/grub/script.h: Likewise.
33670 * include/grub/setjmp.h: Likewise.
33671 * include/grub/symbol.h: Likewise.
33672 * include/grub/term.h: Likewise.
33673 * include/grub/terminfo.h: Likewise.
33674 * include/grub/tparm.h: Likewise.
33675 * include/grub/types.h: Likewise.
33676 * include/grub/video.h: Likewise.
33677 * include/grub/efi/api.h: Likewise.
33678 * include/grub/efi/chainloader.h: Likewise.
33679 * include/grub/efi/console.h: Likewise.
33680 * include/grub/efi/console_control.h: Likewise.
33681 * include/grub/efi/disk.h: Likewise.
33682 * include/grub/efi/efi.h: Likewise.
33683 * include/grub/efi/pe32.h: Likewise.
33684 * include/grub/efi/time.h: Likewise.
33685 * include/grub/i386/linux.h: Likewise.
33686 * include/grub/i386/setjmp.h: Likewise.
33687 * include/grub/i386/types.h: Likewise.
33688 * include/grub/i386/efi/kernel.h: Likewise.
33689 * include/grub/i386/efi/loader.h: Likewise.
33690 * include/grub/i386/efi/time.h: Likewise.
33691 * include/grub/i386/pc/biosdisk.h: Likewise.
33692 * include/grub/i386/pc/boot.h: Likewise.
33693 * include/grub/i386/pc/chainloader.h: Likewise.
33694 * include/grub/i386/pc/console.h: Likewise.
33695 * include/grub/i386/pc/init.h: Likewise.
33696 * include/grub/i386/pc/kernel.h: Likewise.
33697 * include/grub/i386/pc/loader.h: Likewise.
33698 * include/grub/i386/pc/memory.h: Likewise.
33699 * include/grub/i386/pc/multiboot.h: Likewise.
33700 * include/grub/i386/pc/serial.h: Likewise.
33701 * include/grub/i386/pc/time.h: Likewise.
33702 * include/grub/i386/pc/vbe.h: Likewise.
33703 * include/grub/i386/pc/vbeblit.h: Likewise.
33704 * include/grub/i386/pc/vbefill.h: Likewise.
33705 * include/grub/i386/pc/vbeutil.h: Likewise.
33706 * include/grub/i386/pc/vga.h: Likewise.
33707 * include/grub/ieee1275/ieee1275.h: Likewise.
33708 * include/grub/ieee1275/ofdisk.h: Likewise.
33709 * include/grub/powerpc/libgcc.h: Likewise.
33710 * include/grub/powerpc/setjmp.h: Likewise.
33711 * include/grub/powerpc/types.h: Likewise.
33712 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33713 * include/grub/powerpc/ieee1275/console.h: Likewise.
33714 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33715 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33716 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33717 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33718 * include/grub/powerpc/ieee1275/time.h: Likewise.
33719 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33720 * include/grub/sparc64/libgcc.h: Likewise.
33721 * include/grub/sparc64/setjmp.h: Likewise.
33722 * include/grub/sparc64/types.h: Likewise.
33723 * include/grub/sparc64/ieee1275/console.h: Likewise.
33724 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33725 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33726 * include/grub/sparc64/ieee1275/time.h: Likewise.
33727 * include/grub/util/biosdisk.h: Likewise.
33728 * include/grub/util/getroot.h: Likewise.
33729 * include/grub/util/lvm.h: Likewise.
33730 * include/grub/util/misc.h: Likewise.
33731 * include/grub/util/raid.h: Likewise.
33732 * include/grub/util/resolve.h: Likewise.
33733 * io/gzio.c: Likewise.
33734 * kern/device.c: Likewise.
33735 * kern/disk.c: Likewise.
33736 * kern/dl.c: Likewise.
33737 * kern/elf.c: Likewise.
33738 * kern/env.c: Likewise.
33739 * kern/err.c: Likewise.
33740 * kern/file.c: Likewise.
33741 * kern/fs.c: Likewise.
33742 * kern/loader.c: Likewise.
33743 * kern/main.c: Likewise.
33744 * kern/misc.c: Likewise.
33745 * kern/mm.c: Likewise.
33746 * kern/parser.c: Likewise.
33747 * kern/partition.c: Likewise.
33748 * kern/rescue.c: Likewise.
33749 * kern/term.c: Likewise.
33750 * kern/efi/efi.c: Likewise.
33751 * kern/efi/init.c: Likewise.
33752 * kern/efi/mm.c: Likewise.
33753 * kern/i386/dl.c: Likewise.
33754 * kern/i386/efi/init.c: Likewise.
33755 * kern/i386/efi/startup.S: Likewise.
33756 * kern/i386/pc/init.c: Likewise.
33757 * kern/i386/pc/lzo1x.S: Likewise.
33758 * kern/i386/pc/startup.S: Likewise.
33759 * kern/ieee1275/ieee1275.c: Likewise.
33760 * kern/powerpc/cache.S: Likewise.
33761 * kern/powerpc/dl.c: Likewise.
33762 * kern/powerpc/ieee1275/cmain.c: Likewise.
33763 * kern/powerpc/ieee1275/crt0.S: Likewise.
33764 * kern/powerpc/ieee1275/init.c: Likewise.
33765 * kern/powerpc/ieee1275/openfw.c: Likewise.
33766 * kern/sparc64/cache.S: Likewise.
33767 * kern/sparc64/dl.c: Likewise.
33768 * kern/sparc64/ieee1275/init.c: Likewise.
33769 * kern/sparc64/ieee1275/openfw.c: Likewise.
33770 * loader/efi/chainloader.c: Likewise.
33771 * loader/efi/chainloader_normal.c: Likewise.
33772 * loader/i386/efi/linux.c: Likewise.
33773 * loader/i386/efi/linux_normal.c: Likewise.
33774 * loader/i386/pc/chainloader.c: Likewise.
33775 * loader/i386/pc/chainloader_normal.c: Likewise.
33776 * loader/i386/pc/linux.c: Likewise.
33777 * loader/i386/pc/linux_normal.c: Likewise.
33778 * loader/i386/pc/multiboot.c: Likewise.
33779 * loader/i386/pc/multiboot_normal.c: Likewise.
33780 * loader/powerpc/ieee1275/linux.c: Likewise.
33781 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33782 * normal/arg.c: Likewise.
33783 * normal/cmdline.c: Likewise.
33784 * normal/command.c: Likewise.
33785 * normal/completion.c: Likewise.
33786 * normal/execute.c: Likewise.
33787 * normal/function.c: Likewise.
33788 * normal/lexer.c: Likewise.
33789 * normal/main.c: Likewise.
33790 * normal/menu.c: Likewise.
33791 * normal/menu_entry.c: Likewise.
33792 * normal/misc.c: Likewise.
33793 * normal/parser.y: Likewise.
33794 * normal/script.c: Likewise.
33795 * normal/i386/setjmp.S: Likewise.
33796 * normal/powerpc/setjmp.S: Likewise.
33797 * normal/sparc64/setjmp.S: Likewise.
33798 * partmap/acorn.c: Likewise.
33799 * partmap/amiga.c: Likewise.
33800 * partmap/apple.c: Likewise.
33801 * partmap/gpt.c: Likewise.
33802 * partmap/pc.c: Likewise.
33803 * partmap/sun.c: Likewise.
33804 * term/gfxterm.c: Likewise.
33805 * term/terminfo.c: Likewise.
33806 * term/efi/console.c: Likewise.
33807 * term/i386/pc/console.c: Likewise.
33808 * term/i386/pc/serial.c: Likewise.
33809 * term/i386/pc/vesafb.c: Likewise.
33810 * term/i386/pc/vga.c: Likewise.
33811 * term/ieee1275/ofconsole.c: Likewise.
33812 * util/biosdisk.c: Likewise.
33813 * util/console.c: Likewise.
33814 * util/genmoddep.c: Likewise.
33815 * util/getroot.c: Likewise.
33816 * util/grub-emu.c: Likewise.
33817 * util/grub-mkdevicemap.c: Likewise.
33818 * util/grub-probe.c: Likewise.
33819 * util/lvm.c: Likewise.
33820 * util/misc.c: Likewise.
33821 * util/raid.c: Likewise.
33822 * util/resolve.c: Likewise.
33823 * util/update-grub.in: Likewise.
33824 * util/update-grub_lib.in: Likewise.
33825 * util/grub.d/00_header.in: Likewise.
33826 * util/grub.d/10_hurd.in: Likewise.
33827 * util/grub.d/10_linux.in: Likewise.
33828 * util/i386/efi/grub-install.in: Likewise.
33829 * util/i386/efi/grub-mkimage.c: Likewise.
33830 * util/i386/pc/grub-install.in: Likewise.
33831 * util/i386/pc/grub-mkimage.c: Likewise.
33832 * util/i386/pc/grub-mkrescue.in: Likewise.
33833 * util/i386/pc/grub-setup.c: Likewise.
33834 * util/i386/pc/misc.c: Likewise.
33835 * util/powerpc/ieee1275/grub-install.in: Likewise.
33836 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33837 * util/powerpc/ieee1275/misc.c: Likewise.
33838 * video/bitmap.c: Likewise.
33839 * video/video.c: Likewise.
33840 * video/i386/pc/vbe.c: Likewise.
33841 * video/i386/pc/vbeblit.c: Likewise.
33842 * video/i386/pc/vbefill.c: Likewise.
33843 * video/i386/pc/vbeutil.c: Likewise.
33844 * video/readers/tga.c: Likewise.
33845
33846 2007-07-02 Robert Millan <rmh@aybabtu.com>
33847
33848 * conf/i386-efi.rmk: Replace obsolete reference to
33849 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33850 with util/getroot.c.
33851 * conf/powerpc-ieee1275.rmk: Likewise.
33852 * conf/sparc64-ieee1275.rmk: Likewise.
33853
33854 * util/grub-emu.c (main): Fix unchecked pointer handling.
33855
33856 2007-07-02 Robert Millan <rmh@aybabtu.com>
33857
33858 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33859 invocation to fail, in order to support partition-less media.
33860
33861 * util/i386/pc/grub-install.in: Likewise.
33862
33863 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33864 which fs or partmap modules are needed (akin to its sister scripts).
33865
33866 Also use grub-probe to get rid of unportable /proc/mounts check.
33867
33868 Print the same informational message that the other scripts do, before
33869 exiting.
33870
33871 2007-06-23 Robert Millan <rmh@aybabtu.com>
33872
33873 * util/update-grub_lib.in (font_path): New function. Determine whether
33874 a font file can be found and, if so, echo the GRUB path to it.
33875
33876 * util/update-grub.in: Handle multiple terminals depending on user
33877 input, platform availability and font file presence. Propagate
33878 variables of our findings to /etc/grub.d/ children.
33879
33880 * util/grub.d/00_header.in: Handle multiple terminals, based on
33881 environment setup by update-grub.
33882
33883 2007-06-23 Robert Millan <rmh@aybabtu.com>
33884
33885 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33886
33887 2007-06-21 Robert Millan <rmh@aybabtu.com>
33888
33889 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33890 indicate end of data section in kernel image.
33891 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33892 GRUB_KERNEL_MACHINE_DATA_END.
33893
33894 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33895 space for it.
33896 * kern/i386/efi/startup.S: Likewise.
33897
33898 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33899 during image generation. Implement --prefix option to override this
33900 patch.
33901 * util/i386/efi/grub-mkimage.c: Likewise.
33902
33903 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33904 code to make path relative to its root into a separate function.
33905
33906 * util/i386/pc/grub-install.in: Use newly provided
33907 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33908 pass the result to grub-install --prefix.
33909
33910 2007-06-13 Robert Millan <rmh@aybabtu.com>
33911
33912 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33913 DEFAULT_DEVICE_MAP.
33914 * util/grub-emu.c: Use above definitions from misc.h instead of
33915 defining them.
33916 * util/grub-mkdevicemap.c: Likewise.
33917 * util/i386/pc/grub-setup.c: Likewise.
33918 * util/grub-probe.c: Likewise.
33919 (probe): Abort with grub_util_error() when either
33920 grub_guess_root_device or grub_util_get_grub_dev fails.
33921
33922 2007-06-12 Robert Millan <rmh@aybabtu.com>
33923
33924 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33925 "pager" assignment.
33926 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33927 "pcdata".
33928 * util/grub-probe.c (probe): Likewise for "drive_name".
33929
33930 2007-06-11 Robert Millan <rmh@aybabtu.com>
33931
33932 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33933 not just the cdrom one.
33934
33935 2007-06-11 Robert Millan <rmh@aybabtu.com>
33936
33937 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33938 Add --pkglibdir=DIR option to override pkglibdir.
33939 Mention --image-type=TYPE in help output.
33940 Fix --grub-mkimage (it was a no-op).
33941 Abort gracefully when no parameter is given.
33942
33943 2007-06-11 Robert Millan <rmh@aybabtu.com>
33944
33945 * util/i386/pc/grub-mkrescue.in: New file.
33946 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33947 * Makefile.in: Handle bin_SCRIPTS.
33948
33949 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33950
33951 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33952 list of video modes.
33953
33954 2007-06-06 Robert Millan <rmh@aybabtu.com>
33955
33956 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33957 file doesn't exist, or if it is in a filesystem grub can't read.
33958
33959 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33960 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33961 header comment to fit in 80 columns when the variables are resolved.
33962
33963 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33964 could be identified by update-grub. Remove redundant check for
33965 unifont.pff existence (since convert_system_path_to_grub_path now
33966 handles that).
33967
33968 2007-06-04 Robert Millan <rmh@aybabtu.com>
33969
33970 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33971
33972 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33973
33974 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33975
33976 2007-06-04 Robert Millan <rmh@aybabtu.com>
33977
33978 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33979
33980 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33981 grub_apple_partition_map_fini.
33982
33983 * util/biosdisk.c
33984 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33985 to access >2 TiB disks).
33986
33987 Print disk->total_sectors with %llu instead of %lu, since this
33988 variable is always 64-bit (prevents wrong disk size from being displayed
33989 on either >2 TiB disk or big-endian CPU).
33990
33991 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33992 into a generic case that supports all (sane) partition maps.
33993
33994 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33995 breaks big-endian.
33996
33997 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33998 and grub_apple_partition_map_fini() after that.
33999
34000 2007-06-01 Robert Millan <rmh@aybabtu.com>
34001
34002 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
34003
34004 * util/grub.d/00_header.in: Only enable gfxterm when
34005 convert_system_path_to_grub_path() succeeds.
34006
34007 2007-05-20 Robert Millan <rmh@aybabtu.com>
34008
34009 * util/update-grub_lib.in: New file.
34010 * DISTLIST: Add update-grub_lib.in.
34011 * conf/common.rmk: Generate update-grub_lib and install it in
34012 $(lib_DATA).
34013 * Makefile.in: Add install routine for $(lib_DATA).
34014
34015 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
34016 function provided by update-grub_lib to support arbitrary paths of
34017 unifont.pff.
34018 * util/update-grub.in: Use convert_system_path_to_grub_path() to
34019 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
34020
34021 2007-05-19 Robert Millan <rmh@aybabtu.com>
34022
34023 * commands/i386/cpuid.c: New module.
34024 * DISTLIST: Add it.
34025 * conf/i386-efi.rmk: Enable cpuid.mod.
34026 * conf/i386-pc.rmk: Likewise.
34027
34028 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34029
34030 * kern/disk.c (grub_disk_read): Check return value of
34031 grub_realloc().
34032
34033 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34034
34035 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
34036 arrays.
34037 * disk/raid.c (grub_raid_open): Likewise.
34038
34039 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34040
34041 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
34042 stack instead of on the heap.
34043
34044 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
34045 before doing a read on it.
34046
34047 * configure.ac: Only use -fno-stack-protector for the target
34048 environment.
34049
34050 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34051
34052 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
34053 __attribute_ ((unused)) to mode_type argument.
34054
34055 * util/getroot.c (grub_guess_root_device): Fix #endif.
34056
34057 * kern/misc.c (memcmp): Fix prototype.
34058
34059 * include/grub/partition.h [GRUB_UTIL]
34060 (grub_gpt_partition_map_init): Add prototype.
34061 (grub_gpt_partition_map_fini): Likewise.
34062
34063 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
34064 at the right place.
34065
34066 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
34067 (grub_fat_read_data): Likewise.
34068 (grub_fat_find_dir): Likewise.
34069
34070 * font/manager.c (find_glyph): Make table a const.
34071 (grub_font_get_glyph): Remove bitmap from if statement.
34072
34073 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
34074
34075 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
34076 code, first search for device in /dev/mapper, then in /dev.
34077 (grub_util_get_grub_dev): New function.
34078 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
34079 prototype.
34080 * util/grub-probe.c (probe): Remove check for RAID, call
34081 grub_util_get_grub_dev() instead of
34082 grub_util_biosdisk_get_grub_dev().
34083 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
34084 grub_util_biosdisk_get_grub_dev().
34085 * util/i386/pc/grub-setup.c (main): Likewise.
34086
34087 2007-05-16 Robert Millan <rmh@aybabtu.com>
34088
34089 * DISTLIST: Update for the latest changes.
34090 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
34091 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
34092 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
34093 grub/util/biosdisk.h.
34094 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
34095 grub/util/biosdisk.h.
34096
34097 2007-05-16 Robert Millan <rmh@aybabtu.com>
34098
34099 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
34100
34101 2007-05-16 Robert Millan <rmh@aybabtu.com>
34102
34103 * util/i386/efi/grub-install.in: New.
34104 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
34105 newly added grub-install.
34106 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
34107 include.
34108 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
34109 grub/util/biosdisk.h.
34110 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
34111 grub/util/biosdisk.h.
34112
34113 2007-05-16 Robert Millan <rmh@aybabtu.com>
34114
34115 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
34116 * include/grub/util/biosdisk.h: ... here.
34117 * util/i386/pc/biosdisk.c: Moved to ...
34118 * util/biosdisk.c: ... here.
34119 * util/i386/pc/getroot.c: Moved to ...
34120 * util/getroot.c: ... here.
34121 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
34122 * util/grub-mkdevicemap.c: ... here.
34123 * util/i386/pc/grub-probe.c: Moved to ...
34124 * util/grub-probe.c: ... here.
34125
34126 2007-05-15 Robert Millan <rmh@aybabtu.com>
34127
34128 * util/update-grub.in: Remove duplicated line in grub.cfg header
34129 message.
34130
34131 2007-05-13 Robert Millan <rmh@aybabtu.com>
34132
34133 * util/update-grub.in: Fix a few assumptions about the devices holding
34134 /, /boot and /boot/grub being the same.
34135 * util/grub.d/00_header.in: Likewise.
34136 * util/grub.d/10_hurd.in: Likewise.
34137 * util/grub.d/10_linux.in: Likewise.
34138
34139 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
34140 patterns. Use that to define the `.old' suffix as older than `'.
34141
34142 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
34143
34144 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
34145 the grub.cfg header message.
34146
34147 2007-05-11 Robert Millan <rmh@aybabtu.com>
34148
34149 * util/update-grub.in: Create device.map if it doesn't already exist,
34150 before attempting to run grub-probe.
34151 Check for grub-probe and grub-mkdevicemap with the same code
34152 grub-install is using.
34153 Remove test mode.
34154
34155 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
34156
34157 * Makefile.in: Add the datarootdir autoconf variable.
34158
34159 2007-05-09 Robert Millan <rmh@aybabtu.com>
34160
34161 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
34162 fail gracefully if dev->disk->partition == NULL.
34163
34164 2007-05-07 Robert Millan <rmh@aybabtu.com>
34165
34166 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
34167 determine partition map module.
34168 * util/i386/pc/grub-install.in: Use this feature to decide which
34169 partition module to load, instead of hardcoding pc and gpt.
34170
34171 2007-05-07 Robert Millan <rmh@aybabtu.com>
34172
34173 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
34174 source directory differs from build directory.
34175
34176 2007-05-05 Robert Millan <rmh@aybabtu.com>
34177
34178 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
34179 initialisation.
34180
34181 2007-05-05 Robert Millan <rmh@aybabtu.com>
34182
34183 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
34184
34185 2007-05-05 Robert Millan <rmh@aybabtu.com>
34186
34187 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
34188 command-line arguments via ${GRUB_CMDLINE_LINUX}.
34189
34190 2007-05-05 Robert Millan <rmh@aybabtu.com>
34191
34192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
34193 (grub_probe_SOURCES): Likewise.
34194 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
34195 GPT and initialize dos_part and bsd_part accordingly.
34196 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
34197 install_bsd_part.
34198 (main): Activate gpt module for use during partition identification,
34199 and deactivate it afterwards.
34200 * util/i386/pc/grub-install.in: Add gpt module to core.img.
34201 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
34202 partition identification, and deactivate it afterwards.
34203
34204 2007-05-05 Robert Millan <rmh@aybabtu.com>
34205
34206 * term/i386/pc/console.c (grub_console_fini): Call
34207 grub_term_set_current() before grub_term_unregister().
34208
34209 2007-05-04 Robert Millan <rmh@aybabtu.com>
34210
34211 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
34212 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
34213 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
34214 and update-grub_DATA.
34215 * conf/common.rmk: Build and install update-grub components.
34216 * conf/common.mk: Regenerate.
34217 * util/update-grub.in: New. Core of update-grub.
34218 * util/grub.d/00_header.in: New. Generates grub.cfg header.
34219 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
34220 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
34221 * util/grub.d/README: New. Document grub.d directory layout.
34222
34223 2007-05-01 Robert Millan <rmh@aybabtu.com>
34224
34225 * util/grub-emu.c: Move initialization functions
34226 grub_util_biosdisk_init() and grub_init_all() before
34227 grub_util_biosdisk_get_grub_dev(), which relies on them.
34228
34229 2007-04-19 Robert Millan <rmh@aybabtu.com>
34230
34231 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
34232 it is used later.
34233
34234 2007-04-18 Jerone Young <jerone@gmail.com>
34235
34236 * kernel/elf.c: Add missing parenthesis for conditional statement
34237 stanza.
34238
34239 2007-04-10 Jerone Young <jerone@gmail.com>
34240
34241 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
34242 continue on and look for device node with real device name.
34243
34244 2007-04-10 Jerone Young <jerone@gmail.com>
34245
34246 * configure.ac: Add argument for autoconf to use transformation
34247 ability.
34248 * Makefile.in: Add autoconf package transformation code.
34249 * util/i386/pc/grub-install.in: Likewise.
34250 * util/powerpc/ieee1275/grub-install.in: Likewise.
34251
34252 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34253
34254 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
34255 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
34256 (EXT2_REVISION): Likewise.
34257 (EXT2_INODE_SIZE): Likewise.
34258 (struct grub_ext2_block_group): Added a missing member
34259 "used_dirs".
34260 (grub_ext2_read_inode): Divide by the inode size in a superblock
34261 instead of 128 to obtain INODES_PER_BLOCK.
34262 Use the macro EXT2_INODE_SIZE instead of directly using
34263 SBLOCK->INODE_SIZE.
34264
34265 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34266
34267 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
34268 superblock instead of the structure size to compute an
34269 offset. This fixes the problem that GRUB could not read a
34270 filesystem when inode size is different from 128-byte.
34271
34272 2007-03-05 Marco Gerards <marco@gnu.org>
34273
34274 * normal/main.c (read_config_file): When "menu" is not set, create
34275 an initial context.
34276
34277 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34278
34279 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
34280 (HEAP_LIMIT): New macro.
34281 (grub_claim_heap): Claim memory up to `heaplimit'.
34282
34283 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34284
34285 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
34286 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
34287 (_start): Likewise.
34288 (grub_arch_modules_addr): Return address after `_end'.
34289 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
34290 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
34291 (add_segments): Calculate `_end' from phdr size and location.
34292 (ALIGN_UP): Moved to ...
34293 * include/grub/misc.h: here.
34294 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34295 New macro.
34296 (GRUB_IEEE1275_MODULE_BASE): Removed.
34297
34298 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34299
34300 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34301 loop boundary.
34302
34303 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34304
34305 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34306 All users updated.
34307 (grub_elf64_load_hook_t): Likewise.
34308 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34309 debug output.
34310
34311 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34312
34313 * kern/mm.c: Update copyright.
34314 (grub_mm_debug): Correct syntax error.
34315 (grub_mm_dump_free): New function.
34316 (grub_debug_free): Call `grub_free'.
34317 * include/grub/mm.h: Update copyright.
34318 (grub_mm_dump_free): Add declaration.
34319
34320 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34321
34322 * include/grub/ieee1275/ieee1275.h: Update copyright.
34323 * kern/powerpc/ieee1275/init.c: Likewise.
34324 * kern/powerpc/ieee1275/openfw.c: Likewise.
34325
34326 * loader/powerpc/ieee1275/linux.c: Likewise.
34327 * include/grub/elfload.h: Likewise.
34328 * kern/elf.c: Likewise.
34329 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34330 callers.
34331 (grub_elf64_load): Likewise.
34332 (grub_elf32_load_segment): Move to a nested function.
34333 (grub_elf64_load_segment): Likewise.
34334
34335 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34336
34337 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34338 prototype.
34339 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34340 (grub_heap_len): Likewise.
34341 (HEAP_SIZE): New macro.
34342 (grub_claim_heap): New function.
34343 (grub_machine_init): Don't claim heap directly. Call
34344 `grub_claim_heap'.
34345 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34346 (grub_available_iterate): New function.
34347
34348 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34349
34350 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34351 * configure.ac: Use it for testing the HOST and TARGET compilers.
34352
34353 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34354
34355 * Makefile.in (enable_grub_emu): New variable.
34356 * configure.ac (--enable-grub-emu): New option.
34357 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34358 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34359 * conf/i386-pc.rmk: Likewise.
34360 * conf/powerpc-ieee1275.rmk: Likewise.
34361 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34362
34363 2006-12-12 Marco Gerards <marco@gnu.org>
34364
34365 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34366
34367 * kern/env.c (grub_env_unset): Don't free the member `value' when
34368 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34369 pointer.
34370
34371 * normal/main.c (current_menu): Removed.
34372 (free_menu): Unset the `menu' environment variable.
34373 (grub_normal_menu_addentry): Make use of the environment variable
34374 `menu', instead of using the global `current_menu'. Allocate
34375 memory for the sourcecode of this entry.
34376 (read_config_file): New argument `nested', changed all callers.
34377 Only in the case of a new context, initialize a new menu. Set the
34378 `menu' environment variable.
34379 (grub_normal_execute): Don't set and unset the environment
34380 variable `menu' here anymore. Only free the menu when leaving the
34381 context.
34382
34383 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34384 leak.
34385
34386 2006-12-11 Marco Gerards <marco@gnu.org>
34387
34388 * normal/menu_entry.c (run): Fix off by one bug so the last line
34389 is executed. Move the loader check to outside the loop.
34390
34391 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34392
34393 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34394
34395 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34396
34397 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34398 the number of sectors. Reported by Andrey Shuvikov
34399 <mr_hyro@yahoo.com>.
34400
34401 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34402
34403 * kern/disk.c (grub_disk_read): When there is a read error, always
34404 try to read only the necessary data.
34405
34406 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34407 disk/raid.c.
34408 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34409 prototype.
34410 [GRUB_UTIL] (grub_raid_fini): Likewise.
34411 [GRUB_UTIL] (grub_lvm_init): Likewise.
34412 [GRUB_UTIL] (grub_lvm_fini): Likewise.
34413 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34414 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34415 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34416 and grub_raid_fini().
34417
34418 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34419
34420 * include/grub/types.h (__unused): Rename to UNUSED.
34421 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34422 (grub_elf64_size): Likewise.
34423
34424 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34425
34426 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34427 grub_error_push and grub_error_pop in the error-handling path.
34428 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34429 length.
34430
34431 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34432
34433 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34434 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34436 (kernel_elf_SOURCES): Likewise.
34437 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34438 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34439 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34440 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34441 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34442 (elf_mod_SOURCES): New variable.
34443 (elf_mod_CFLAGS): Likewise.
34444 (elf_mod_LDFLAGS): Likewise.
34445 * include/grub/types.h (__unused): New macro.
34446 * include/grub/elfload.h: New file.
34447 * kern/elf.c: Likewise.
34448 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34449 (ELF32_LOADMASK): New macro.
34450 (ELF64_LOADMASK): Likewise.
34451 (vmlinux): Removed.
34452 (grub_linux_load32): New function.
34453 (grub_linux_load64): Likewise.
34454 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34455 Use grub_elf_t instead of grub_file_t.
34456
34457 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34458
34459 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34460 `catch_result' to struct set_color_args.
34461
34462 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34463
34464 * normal/menu.c: Include grub/script.h.
34465 * normal/menu_entry.c: Likewise.
34466 * include/grub/normal.h: Do not include grub/script.h.
34467
34468 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34469
34470 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34471
34472 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34473
34474 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34475 disk.
34476 (grub_disk_close): Print debug messages when closing a disk.
34477 (grub_disk_read): Print debug messages when disk read fails.
34478 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34479 filesystem type.
34480 * kern/partition.c: Include misc.h.
34481 (grub_partition_iterate): Print debug messages when detecting
34482 partition type.
34483
34484 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34485
34486 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34487 is negative.
34488 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34489
34490 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34491
34492 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34493 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34494
34495 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34496
34497 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34498 instead of sizeof(lv). Patch by Michael Guntsche.
34499
34500 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34501
34502 * disk/lvm.c: Rename VGS to VG_LIST.
34503 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34504 (grub_lvm_open): Likewise.
34505 Thanks to Michael Guntsche for finding this bug.
34506
34507 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34508
34509 * configure.ac (AC_INIT): Bumped to 1.95.
34510
34511 2006-10-14 Robert Millan <rmh@aybabtu.com>
34512
34513 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34514 with "/dev/.static/dev/md".
34515
34516 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34517
34518 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34519 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34520 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34521 DRIVE_NAME are always freed.
34522
34523 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34524 DOS_PART, as a DOS partition is counted from one instead of zero
34525 now. Reported by Robert Millan.
34526
34527 2006-10-14 Robert Millan <rmh@aybabtu.com>
34528
34529 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34530 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34531 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34532 string returned by grub_guess_root_device.
34533 * util/i386/pc/grub-setup.c: Likewise.
34534 * util/i386/pc/grub-probefs.c: Likewise.
34535
34536 * util/i386/pc/grub-probefs.c: Rename to ...
34537 * util/i386/pc/grub-probe.c: ... this.
34538 * DISTLIST: Remove grub-probefs, add grub-probe.
34539 * conf/i386-efi.rmk: Likewise.
34540 * conf/i386-pc.rmk: Likewise.
34541 * util/i386/pc/grub-install.in: Likewise.
34542
34543 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34544 choose which information we want to print.
34545
34546 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34547
34548 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34549 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34550 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34551 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34552 video/readers/tga.c and video/i386/pc/vbeutil.c.
34553
34554 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34555
34556 Added support for RAID and LVM.
34557
34558 * disk/lvm.c: New file.
34559 * disk/raid.c: Likewise.
34560 * include/grub/lvm.h: Likewise.
34561 * include/grub/raid.h: Likewise.
34562 * include/grub/util/lvm.h: Likewise.
34563 * include/grub/util/raid.h: Likewise.
34564 * util/lvm.c: Likewise.
34565 * util/raid.c: Likewise.
34566
34567 * include/grub/disk.h (grub_disk_dev_id): Add
34568 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34569 (grub_disk_get_size): New prototype.
34570 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34571 returns a partition.
34572 (grub_disk_get_size): New function.
34573
34574 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34575 verbatim if grub_install_dos_part is -2.
34576
34577 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34578 and LVM devices.
34579
34580 * util/i386/pc/grub-setup.c (setup): New argument
34581 MUST_EMBED. Force embedding of GRUB when the argument is
34582 true. Close FILE before returning.
34583 (main): Add support for RAID and LVM.
34584
34585 * conf/common.rmk: Add RAID and LVM modules.
34586 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34587 util/lvm.c.
34588 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34589
34590 * kern/misc.c (grub_strstr): New function.
34591 * include/grub/misc.h (grub_strstr): New prototype.
34592
34593 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34594
34595 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34596
34597 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34598
34599 * kern/misc.c (grub_strtoull): Guess the base only if not
34600 specified.
34601
34602 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34603
34604 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34605 PowerMac support.
34606
34607 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34608
34609 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34610
34611 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34612 Remove `flags' argument. All callers changed.
34613 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34614 (IEEE1275_IHANDLE_INVALID): New variable.
34615 (IEEE1275_CELL_INVALID): New variable.
34616 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34617 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34618 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34619 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34620 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34621 codes from Open Firmware. All callers updated.
34622 (grub_ieee1275_next_property): Directly return Open Firmware return
34623 code.
34624 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34625 Standardize error checking from `grub_ieee1275_get_property'.
34626 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34627 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34628
34629 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34630
34631 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34632 `instance_to_package_args' to `instance_to_path_args'.
34633
34634 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34635 `grub_ieee1275_chosen'.
34636
34637 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34638 `grub_ieee1275_interpret'.
34639
34640 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34641
34642 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34643
34644 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34645
34646 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34647 (__cmpdi): Likewise.
34648
34649 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34650 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34651 `grub_ssize_t'.
34652
34653 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
34654
34655 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34656 to type `grub_ssize_t'.
34657 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34658
34659 2006-09-22 Marco Gerards <marco@gnu.org>
34660
34661 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34662 newlines.
34663
34664 2006-09-22 Marco Gerards <marco@gnu.org>
34665
34666 * commands/echo.c: New file.
34667
34668 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34669
34670 * conf/common.rmk (echo_mod_SOURCES): New variable.
34671 (echo_mod_CFLAGS): Likewise.
34672 (echo_mod_LDFLAGS): Likewise.
34673
34674 2006-09-22 Marco Gerards <marco@gnu.org>
34675
34676 * normal/main.c (get_line): Malloc memory instead of using
34677 preallocated memory. Removed the arguments `cmdline' and
34678 `max_len'. Updated all callers.
34679
34680 2006-09-22 Marco Gerards <marco@gnu.org>
34681
34682 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34683 (normal_mod_DEPENDENCIES): Likewise.
34684
34685 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34686 (normal_mod_DEPENDENCIES): Likewise.
34687
34688 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34689
34690 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
34691
34692 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34693 programs.
34694 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34695 (normal_mod_DEPENDENCIES): Likewise.
34696 * conf/i386-pc.mk: Regenerate.
34697 * conf/i386-efi.mk: Likewise
34698 * conf/common.mk: Likewise.
34699 * conf/powerpc-ieee1275.mk: Likewise.
34700 * conf/sparc64-ieee1275.mk: Likewise.
34701
34702 2006-09-22 Robert Millan <rmh@aybabtu.com>
34703
34704 Sync with i386 version.
34705 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34706 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34707
34708 2006-09-21 Robert Millan <rmh@aybabtu.com>
34709
34710 Import from GRUB Legacy (lib/device.c):
34711 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34712 (init_device_map) [__linux__]: Add support for I2O devices.
34713
34714 2006-09-14 Marco Gerards <marco@gnu.org>
34715
34716 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34717 `-melf_i386'.
34718
34719 2006-09-14 Robert Millan <rmh@aybabtu.com>
34720
34721 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34722 /boot/grub/*.lst.
34723
34724 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
34725
34726 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34727 before adding it to device.map.
34728
34729 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
34730
34731 * genmk.rb: Let GCC generate dependencies the first time it
34732 compiles a file; using the -MD option.
34733 * conf/common.mk: Regenerate.
34734 * conf/i386-pc.mk: Likewise.
34735 * conf/i386-efi.mk: Likewise.
34736 * conf/powerpc-ieee1275.mk: Likewise.
34737 * conf/sparc64-ieee1275.mk: Likewise.
34738
34739 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34740
34741 Move the prototypes of grub_setjmp and grub_longjmp to
34742 cpu/setjmp.h, so that each architecture may specify different
34743 attributes.
34744
34745 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34746 (grub_longjmp): Likewise.
34747 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34748 (grub_longjmp): Likewise.
34749 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34750 (grub_longjmp): Likewise.
34751
34752 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34753 [!GRUB_UTIL] (grub_longjmp): Removed.
34754
34755 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34756
34757 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34758 "color!" method does not return any value.
34759
34760 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34761
34762 * include/grub/bitmap.h: New file.
34763
34764 * include/grub/i386/pc/vbeutil.h: Likewise.
34765
34766 * video/bitmap.c: Likewise.
34767
34768 * video/readers/tga.c: Likewise.
34769
34770 * video/i386/pc/vbeutil.c: Likewise.
34771
34772 * commands/videotest.c: Code cleanup and updated to reflect to new
34773 video API.
34774
34775 * term/gfxterm.c: Likewise.
34776
34777 * video/video.c: Likewise.
34778
34779 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34780 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34781 (bitmap_mod_SOURCES): New entry.
34782 (bitmap_mod_CFLAGS): Likewise.
34783 (bitmap_mod_LDFLAGS): Likewise.
34784 (tga_mod_SOURCES): Likewise.
34785 (tga_mod_CFLAGS): Likewise.
34786 (tga_mod_LDFLAGS): Likewise.
34787
34788 * include/grub/video.h (grub_video_blit_operators): New enum type.
34789 (grub_video_render_target): Changed as forward declaration and moved
34790 actual definition to be video driver specific.
34791 (grub_video_adapter.blit_bitmap): Added blitting operator.
34792 (grub_video_adapter.blit_render_target): Likewise.
34793 (grub_video_blit_bitmap): Likewise.
34794 (grub_video_blit_render_target): Likewise.
34795
34796 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34797 driver specific render target definition.
34798 (grub_video_vbe_map_rgba): Added driver internal helper.
34799 (grub_video_vbe_unmap_color): Updated to use
34800 grub_video_i386_vbeblit_info.
34801 (grub_video_vbe_get_video_ptr): Likewise.
34802
34803 * include/grub/i386/pc/vbeblit.h
34804 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34805 grub_video_i386_vbeblit_info.
34806 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34807 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34808 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34809 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34810 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34811 (grub_video_i386_vbeblit_index_index): Likewise.
34812 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34813 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34814 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34815 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34816 operator.
34817 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34818 operator.
34819
34820 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34821 include/grub/i386/pc/vbeblit.h.
34822
34823 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34824 Updated to use grub_video_i386_vbeblit_info.
34825 (grub_video_i386_vbefill_R8G8B8): Likewise.
34826 (grub_video_i386_vbefill_index): Likewise.
34827 (grub_video_i386_vbefill): Added generic filler.
34828
34829 * video/i386/pc/vbefill.c: Updated to reflect changes on
34830 include/grub/i386/pc/vbefill.h.
34831
34832 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34833 grub_video_i386_vbeblit_info.
34834 (grub_video_vbe_unmap_color): Likewise.
34835 (grub_video_vbe_blit_glyph): Likewise.
34836 (grub_video_vbe_scroll): Likewise.
34837 (grub_video_vbe_draw_pixel): Removed function.
34838 (grub_video_vbe_get_pixel): Likewise.
34839 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34840 updated code to use it.
34841 (common_blitter): Added common blitter for render target and bitmap.
34842 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34843 (grub_video_vbe_blit_render_target): Likewise.
34844
34845 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34846
34847 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34848 is in text mode if there is no console control protocol instance
34849 available.
34850
34851 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34852
34853 * include/grub/video.h: Code cleanup.
34854
34855 * include/grub/i386/pc/vbe.h: Likewise.
34856
34857 * video/i386/pc/vbe.c: Likewise.
34858
34859 * video/i386/pc/vbeblit.c: Likewise.
34860
34861 * video/i386/pc/vbefill.c: Likewise.
34862
34863 * video/video.c: Likewise. Also added more comments.
34864
34865 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34866
34867 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34868 (struct grub_biosdisk_dap): Likewise.
34869
34870 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34871 linkage settings for all functions.
34872
34873 2006-07-12 Marco Gerards <marco@gnu.org>
34874
34875 * configure.ac (--enable-mm-debug): Fix typo.
34876
34877 * genkernsyms.sh.in: Use proper quoting for `CC'.
34878
34879 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34880
34881 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34882 (normal_mod_ASFLAGS): Remove "-m32".
34883
34884 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34885
34886 * util/misc.c: Include config.h.
34887 [!HAVE_MEMALIGN]: Do not include malloc.h.
34888 (grub_memalign): Use posix_memalign, if present. Then, use
34889 memalign, if present. Otherwise, emit an error.
34890
34891 * util/grub-emu.c: Do not include malloc.h.
34892
34893 * include/grub/util/misc.h: Include unistd.h. This is required for
34894 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34895 D. Eades III <hde@foobar-qux.org>.
34896
34897 * configure.ac (AC_GNU_SOURCE): Added.
34898 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34899 type.
34900
34901 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34902
34903 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34904 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34905
34906 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34907
34908 * include/grub/types.h (grub_host_addr_t): Rename to
34909 grub_target_addr_t.
34910 (grub_host_off_t): Rename to grub_target_off_t.
34911 (grub_host_size_t): Rename to grub_target_size_t.
34912 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34913 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34914
34915 * include/grub/kernel.h (struct grub_module_header): Change type
34916 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34917 (grub_module_info): Likewise.
34918
34919 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34920
34921 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34922 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34923 Velazquez <jesus.velazquez@gmail.com>.
34924
34925 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34926
34927 Count partitions from 1 instead of 0 in the string representation
34928 of partitions. Still use 0-based internally.
34929
34930 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34931 (sun_partition_map_iterate): Use grub_partition_t instead of
34932 struct grub_partition *. Cast DESC->START_CYLINDER to
34933 grub_uint64_t after converting the endian.
34934 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34935 (sun_partition_map_get_name): Add 1 to P->INDEX.
34936
34937 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34938 PCDATA->DOS_PART.
34939 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34940
34941 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34942 zero instead of one.
34943 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34944 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34945
34946 * partmap/apple.c (apple_partition_map_iterate): Change the type
34947 of POS to unsigned.
34948 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34949 (apple_partition_map_get_name): Add 1 into P->INDEX.
34950
34951 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34952 of POS to unsigned.
34953 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34954 calculate the offset of a partition.
34955 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34956 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34957
34958 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34959 SECTOR to grub_disk_addr_t.
34960 (acorn_partition_map_iterate): Likewise.
34961 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34962 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34963 top.
34964 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34965
34966 * kern/i386/pc/init.c (make_install_device): Add 1 into
34967 GRUB_INSTALL_DOS_PART.
34968
34969 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34970 conditional.
34971
34972 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34973
34974 Clean up the code to support 64-bit addressing in disks and
34975 files. This change is not enough for filesystems yet.
34976
34977 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34978 type of "start" to grub_uint64_t.
34979 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34980 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34981 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34982 convert addresses.
34983
34984 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34985 to grub_disk_addr_t.
34986
34987 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34988 string.
34989
34990 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34991
34992 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34993 to char *.
34994
34995 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34996
34997 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34998
34999 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
35000
35001 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
35002 to grub_off_t, to detect an error from grub_file_seek.
35003 (grub_multiboot_load_elf32): Likewise.
35004
35005 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
35006 maximum unsigned long value when an overflow is detected.
35007 (grub_strtoull): New function.
35008 (grub_divmod64): Likewise.
35009 (grub_lltoa): use grub_divmod64.
35010
35011 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
35012 grub_disk_addr_t.
35013 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
35014 the pointer to next character. Use grub_strtoull instead of
35015 grub_strtoul.
35016 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
35017 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
35018 respectively.
35019
35020 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
35021 return value is signed.
35022 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
35023 test if OFFSET is less than zero, as OFFSET is unsigned now.
35024
35025 * kern/disk.c (struct grub_disk_cache): Change the type of
35026 "sector" to grub_disk_addr_t.
35027 (grub_disk_cache_get_index): Change the type of SECTOR to
35028 grub_disk_addr_t. Calculate the hash with SECTOR casted to
35029 unsigned after shifting.
35030 (grub_disk_cache_invalidate): Change the type of SECTOR to
35031 grub_disk_addr_t.
35032 (grub_disk_cache_unlock): Likewise.
35033 (grub_disk_cache_store): Likewise.
35034 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
35035 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
35036 grub_disk_addr_t and grub_uint64_t, respectively.
35037 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
35038 body, as the value of OFFSET is tweaked by
35039 grub_disk_check_range. Change the types of START_SECTOR, LEN and
35040 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
35041 respectively.
35042 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
35043 body, as the value of OFFSET is tweaked by
35044 grub_disk_check_range. Change the types of LEN and N to
35045 grub_size_t.
35046
35047 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
35048 and "saved_offset" to grub_off_t.
35049 (test_header): Cast BUF to char *.
35050 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
35051 to char *.
35052 (grub_gzio_read): Change the types of OFFSET and SIZE to
35053 grub_off_t and grub_size_t, respectively.
35054
35055 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
35056 Removed.
35057 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
35058 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
35059 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
35060 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
35061 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
35062
35063 * include/grub/types.h (grub_off_t): Unconditionally set to
35064 grub_uint64_t.
35065 (grub_disk_addr_t): Changed to grub_uint64_t.
35066
35067 * include/grub/partition.h (struct grub_partition): Change the
35068 types of "start", "len" and "offset" to grub_disk_addr_t,
35069 grub_uint64_t and grub_disk_addr_t, respectively.
35070 (grub_partition_get_start): Return grub_disk_addr_t.
35071 (grub_partition_get_len): Return grub_uint64_t.
35072
35073 * include/grub/misc.h (grub_strtoull): New prototype.
35074 (grub_divmod64): Likewise.
35075
35076 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
35077 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
35078 grub_off_t, respectively.
35079 All callers and references changed.
35080
35081 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
35082 grub_size_t in "read".
35083 All callers and references changed.
35084
35085 * include/grub/file.h (struct grub_file): Change the types of
35086 "offset" and "size" to grub_off_t and grub_off_t,
35087 respectively. Change the type of SECTOR to grub_disk_addr_t in
35088 "read_hook".
35089 (grub_file_read): Change the type of LEN to grub_size_t.
35090 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
35091 grub_off_t.
35092 (grub_file_size): Return grub_off_t.
35093 (grub_file_tell): Likewise.
35094 All callers and references changed.
35095
35096 * include/grub/disk.h (struct grub_disk_dev): Change the types of
35097 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
35098 "write".
35099 (struct grub_disk): Change the type of "total_sectors" to
35100 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
35101 "read_hook".
35102 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
35103 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
35104 (grub_disk_write): Likewise.
35105 All callers and references changed.
35106
35107 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
35108 char * for grub_strncmp to silence gcc.
35109 (grub_iso9660_mount): Likewise.
35110 (grub_iso9660_mount): Likewise.
35111 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
35112 return statement.
35113 (grub_iso9660_iterate_dir): Likewise.
35114 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
35115
35116 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
35117 LEN to grub_disk_addr_t and grub_size_t, respectively.
35118
35119 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35120
35121 * fs/jfs.c (grub_jfs_read_file): Likewise.
35122
35123 * fs/minix.c (grub_jfs_read_file): Likewise.
35124
35125 * fs/sfs.c (grub_jfs_read_file): Likewise.
35126
35127 * fs/ufs.c (grub_jfs_read_file): Likewise.
35128
35129 * fs/xfs.c (grub_jfs_read_file): Likewise.
35130
35131 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
35132 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
35133 respectively.
35134
35135 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
35136 BLKNR to -1 instead of returning GRUB_ERRNO.
35137 (grub_ext2_read_file): Change the types of SECTOR and
35138 LEN to grub_disk_addr_t and grub_size_t, respectively.
35139
35140 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
35141 LEN to grub_disk_addr_t and grub_size_t, respectively.
35142
35143 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
35144 grub_file_read.
35145
35146 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
35147 string. Do not cast SECTOR explicitly.
35148
35149 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
35150 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
35151 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
35152 grub_disk_addr_t and grub_size_t, respectively. If the sector is
35153 over 2TB and LBA mode is not supported, raise an error.
35154 (get_safe_sectors): New function.
35155 (grub_biosdisk_read): Use get_safe_sectors.
35156 (grub_biosdisk_write): Likewise.
35157
35158 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
35159 (grub_efidisk_write): Likewise.
35160
35161 * disk/loopback.c (delete_loopback): Cosmetic changes.
35162 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
35163 correctly.
35164 (grub_loopback_open): Likewise.
35165 (grub_loopback_read): Likewise. Also, change the type of POS to
35166 grub_off_t, and fix the usage of grub_memset.
35167
35168 * commands/i386/pc/play.c: Include grub/machine/time.h.
35169
35170 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
35171 print FILE->SIZE.
35172
35173 * commands/configfile.c: Include grub/env.h.
35174
35175 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
35176 GRUB_ERRNO directly instead. Change the type of POS to
35177 grub_off_t. Follow the coding standard.
35178
35179 * commands/blocklist.c: Include grub/partition.h.
35180 (grub_cmd_blocklist): Return an error if the underlying device is
35181 not a disk. Take the starting sector of a partition into account,
35182 if a partition is used.
35183
35184 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
35185 a length field.
35186 (lba_mode): Support 64-bit addresses.
35187 (chs_mode): Likewise.
35188 (copy_buffer): Adapted to the new offsets of a length field and a
35189 segment field.
35190 (blocklist_default_start): Allocate 64-bit space.
35191
35192 * boot/i386/pc/boot.S (force_lba): Removed.
35193 (boot_drive): Moved to under KERNEL_SECTOR.
35194 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
35195 space.
35196 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
35197 is useless.
35198 (lba_mode): Refactored to support a 64-bit address. More size
35199 optimization.
35200 (setup_sectors): Likewise.
35201
35202 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35203
35204 * DISTLIST: Added include/grub/i386/linux.h. Removed
35205 include/grub/i386/pc/linux.h
35206
35207 * configure.ac (AC_INIT): Bumped to 1.94.
35208
35209 * config.guess: Updated from gnulib.
35210 * config.sub: Likewise.
35211 * install-sh: Likewise.
35212 * mkinstalldirs: Likewise.
35213
35214 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35215
35216 * conf/common.rmk (grub_modules_init.lst): Depended on
35217 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
35218 MODSRCFILES.
35219
35220 * genmk.rb (PModule::rule): Reverted the previous change.
35221
35222 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35223
35224 * conf/common.rmk (grub_modules_init.lst): Depends on
35225 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
35226 that the target does not exist before producing.
35227 (grub_modules_init.h): Remove the target before generating.
35228 (grub_emu_init.c): Likewise.
35229
35230 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
35231
35232 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
35233
35234 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
35235 for the target-specific tests. Make sure that we also have the
35236 up-to-date target variables for those tests.
35237
35238 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35239
35240 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
35241 (PModule::rule): Likewise.
35242
35243 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35244
35245 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
35246 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
35247 target-specific flags should be prefixed.
35248 (PModule::rule): Likewise.
35249
35250 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
35251
35252 * configure.ac (CMP): Check if cmp is available explicitly.
35253
35254 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
35255
35256 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
35257 (target_cpu): New variable.
35258 (pkglibdir): Use target_cpu instead of host_cpu.
35259
35260 * util/i386/pc/grub-install.in (host_cpu): Removed.
35261 (target_cpu): New variable.
35262 (pkglibdir): Use target_cpu instead of host_cpu.
35263
35264 * util/genmoddep.c: Removed.
35265
35266 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
35267 instead of GRUB_HOST_SIZEOF_VOID_P.
35268 * kern/dl.c: Likewise.
35269
35270 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
35271 ...
35272 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35273 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35274 (GRUB_TARGET_SIZEOF_LONG): ... this.
35275 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35276 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35277 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35278 to ...
35279 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35280 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35281 (GRUB_TARGET_SIZEOF_LONG): ... this.
35282 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35283 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35284 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35285 to ...
35286 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35287 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35288 (GRUB_TARGET_SIZEOF_LONG): ... this.
35289 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35290 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35291
35292 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
35293 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
35294 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
35295 instead of GRUB_HOST_SIZEOF_LONG.
35296 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35297 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35298 GRUB_CPU_WORDS_BIGENDIAN.
35299 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35300 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35301 grub_host_ssize_t.
35302
35303 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35304 (genmoddep_SOURCES): Likewise.
35305 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35306 (genmoddep_SOURCES): Likewise.
35307 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35308 (genmoddep_SOURCES): Likewise.
35309 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35310 Likewise.
35311 (genmoddep_SOURCES): Likewise.
35312
35313 * genmoddep.awk: New file.
35314
35315 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35316 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35317 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35318 (PModule::rule): Likewise.
35319 (Program::rule): Likewise.
35320 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35321 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35322 respectively.
35323
35324 * configure.ac: Rewritten intensively to use host and target
35325 instead of build and host, respectively.
35326
35327 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35328 (host_cpu): Removed.
35329 (target_cpu): New variable.
35330 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35331 (BUILD_CC): Removed.
35332 (BUILD_CFLAGS): Likewise.
35333 (BUILD_CPPFLAGS): Likewise.
35334 (TARGET_CC): New variable.
35335 (TARGET_CFLAGS): Likewise.
35336 (TARGET_CPPFLAGS): Likewise.
35337 (TARGET_LDFLAGS): Likewise.
35338 (AWK): Likewise.
35339 (include): Use target_cpu instead of host_cpu.
35340 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
35341
35342 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35343
35344 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35345
35346 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35347 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35348 field 'false' to 'exec_on_false'.
35349 (grub_script_create_cmdif): Renamed argument names to reflect above
35350 changes.
35351
35352 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35353
35354 * normal/script.c (grub_script_create_cmdif): Likewise.
35355
35356 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35357
35358 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35359 top.
35360 (grub_hfsplus_btree_recptr): Likewise.
35361 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35362 FILEBLOCK both to pass a block number and store next block
35363 number.
35364 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35365 overflow file correctly. Specify errors appropriately, because
35366 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35367 grub_hfsplus_btree_recptr to get the pointer to a found key.
35368 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35369 is found.
35370
35371 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35372 linux.mod.
35373 (_linux_mod_SOURCES): New variable.
35374 (_linux_mod_CFLAGS): Likewise.
35375 (_linux_mod_LDFLAGS): Likewise.
35376 (linux_mod_SOURCES): Likewise.
35377 (linux_mod_CFLAGS): Likewise.
35378 (linux_mod_LDFLAGS): Likewise.
35379
35380 * DISTLIST: Added loader/i386/efi/linux.c,
35381 loader/i386/efi/linux_normal.c and
35382 include/grub/i386/efi/loader.h.
35383
35384 * loader/i386/efi/linux.c: New file.
35385 * loader/i386/efi/linux_normal.c: Likewise.
35386 * include/grub/i386/efi/loader.h: Likewise.
35387
35388 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35389
35390 * commands/blocklist.c: New file.
35391
35392 * DISTLIST: Added commands/blocklist.c.
35393
35394 * term/efi/console.c (grub_console_highlight_color): Use a lighter
35395 color for the background, and a darker color for the foreground.
35396 (grub_console_checkkey): Return READ_KEY.
35397 (grub_console_cls): Set the background to
35398 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35399
35400 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35401
35402 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35403 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35404
35405 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35406 prototype.
35407
35408 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35409 BG. The spec is wrong again.
35410
35411 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35412 prototype.
35413 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35414
35415 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35416 commands/blocklist.c.
35417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35418
35419 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35420 (blocklist_mod_SOURCES): New variable.
35421 (blocklist_mod_CFLAGS): Likewise.
35422 (blocklist_mod_LDFLAGS): Likewise.
35423
35424 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35425
35426 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35427 duplication.
35428 (lba_mode): Use %eax more intensively to reduce the code size.
35429
35430 2006-05-20 Marco Gerards <marco@gnu.org>
35431
35432 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35433
35434 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35435 for `menuentry'.
35436 (script): Accept leading newlines.
35437 (newlines): New rule to describe 0 or more newlines.
35438 (commands): Accept `command' with trailing newline. Fixed the
35439 order in which arguments were passed to `grub_script_add_cmd'.
35440 Accept commands separated by newlines.
35441 (function): Changed to accept newlines.
35442 (menuentry) Rewritten.
35443
35444 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35445 front of the list, instead of to the end.
35446
35447 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35448
35449 * util/i386/pc/grub-install.in (bindir): New variable.
35450 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35451 Shaver <lbgwjl@gmail.com>.
35452
35453 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35454
35455 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35456 grub/machine/linux.h
35457 * loader/i386/pc/linux.c: Likewise.
35458
35459 * include/grub/i386/pc/linux.h: Moved to ...
35460 * include/grub/i386/linux.h: ... here.
35461
35462 * include/grub/i386/linux.h (struct linux_kernel_params): New
35463 struct.
35464
35465 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35466
35467 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35468 checking.
35469 (grub_video_vbe_blit_glyph): Likewise.
35470 (grub_video_vbe_blit_bitmap): Likewise.
35471 (grub_video_vbe_blit_render_target): Likewise.
35472
35473 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35474
35475 * configure.ac (--with-platform): Properly quote the square
35476 brackets.
35477
35478 2006-05-08 Marco Gerards <marco@gnu.org>
35479
35480 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35481 this...
35482 (kernel_elf_HEADERS): ...to this. Updated all users.
35483 (grubof_symlist.c): Renamed from this...
35484 (kernel_elf_symlist.c): ...to this. Updated all users.
35485 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35486 (grubof_SOURCES): Renamed from this...
35487 (kernel_elf_SOURCES): ...to this.
35488 (grubof_HEADERS): Renamed from this...
35489 (kernel_elf_HEADERS): ...to this.
35490 (grubof_CFLAGS): Renamed from this...
35491 (kernel_elf_CFLAGS): ...to this.
35492 (grubof_ASFLAGS): Renamed from this...
35493 (kernel_elf_ASFLAGS): ...to this.
35494 (grubof_LDFLAGS): Renamed from this...
35495 (kernel_elf_LDFLAGS): ...to this.
35496
35497 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35498 this...
35499 (kernel_elf_HEADERS): ...to this. Updated all users.
35500 (grubof_symlist.c): Renamed from this...
35501 (kernel_elf_symlist.c): ...to this. Updated all users.
35502 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35503 (grubof_SOURCES): Renamed from this...
35504 (kernel_elf_SOURCES): ...to this.
35505 (grubof_HEADERS): Renamed from this...
35506 (kernel_elf_HEADERS): ...to this.
35507 (grubof_CFLAGS): Renamed from this...
35508 (kernel_elf_CFLAGS): ...to this.
35509 (grubof_ASFLAGS): Renamed from this...
35510 (kernel_elf_ASFLAGS): ...to this.
35511 (grubof_LDFLAGS): Renamed from this...
35512 (kernel_elf_LDFLAGS): ...to this.
35513
35514 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35515 `kernel.elf' instead of `grubof'.
35516
35517 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35518
35519 Add --with-platform to configure. Use pkglibdir instead of
35520 pkgdatadir. This is reported by Roger Leigh.
35521
35522 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35523 (host_vendor): Likewise.
35524 (host_os): Likewise.
35525 (pkgdatadir): Likewise.
35526 (platform): New variable.
35527 (pkglibdir): Likewise.
35528 Use PKGLIBDIR instead of PKGDATADIR.
35529
35530 * util/i386/pc/grub-install.in (datadir): Removed.
35531 (host_vendor): Likewise.
35532 (host_os): Likewise.
35533 (pkgdatadir): Likewise.
35534 (platform): New variable.
35535 (pkglibdir): Likewise.
35536 Use PKGLIBDIR instead of PKGDATADIR.
35537
35538 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35539 instead of GRUB_DATADIR.
35540 (main): Likewise.
35541 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35542 (main): Likewise.
35543 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35544 (main): Likewise.
35545
35546 * configure.ac (--with-platform): New option.
35547 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35548
35549 * Makefile.in: Include a makefile based on PLATFORM instead of
35550 HOST_VENDOR.
35551 (pkgdatadir): Not appended by the machine type.
35552 (pkglibdir): Appended by the machine type.
35553 (host_vendor): Removed.
35554 (platform): New variable.
35555 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35556 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35557 (uninstall): Likewise.
35558
35559 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35560
35561 Use the environment context in the menu. Remove the commands
35562 "default" and "timeout", and use variables instead.
35563
35564 * normal/menu.c: Include grub/env.h.
35565 (print_entry): Cast TITLE to silence gcc.
35566 (get_timeout): New function.
35567 (set_timeout): Likewise.
35568 (get_entry_number): Likewise.
35569 (run_menu): Use a default entry, a fallback entry and a timeout
35570 in the environment variables "default", "fallback" and
35571 "timeout". Also, tweak the default entry if it is not within the
35572 current menu entries.
35573 (grub_menu_run): Use a fallback entry in the environment variable
35574 "fallback".
35575
35576 * normal/main.c (read_config_file): Do not initialize
35577 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35578 NEWMENU->TIMEOUT.
35579 (grub_normal_execute): Use a data slot to store the menu.
35580
35581 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35582 fallback_entry and timeout.
35583 (struct grub_menu_list): Removed.
35584 (grub_menu_list_t): Likewise.
35585 (struct grub_context): Likewise.
35586 (grub_context_t): Likewise.
35587 (grub_context_get): Likewise.
35588 (grub_context_get_current_menu): Likewise.
35589 (grub_context_push_menu): Likewise.
35590 (grub_context_pop_menu): Likewise.
35591 (grub_default_init): Likewise.
35592 (grub_default_fini): Likewise.
35593 (grub_timeout_init): Likewise.
35594 (grub_timeout_fini): Likewise.
35595
35596 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35597 and timeout.mod.
35598 (normal_mod_SOURCES): Removed normal/context.c.
35599
35600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35601 commands/default.c, commands/timeout.c and normal/context.c.
35602 (normal_mod_SOURCES): Removed normal/context.c.
35603
35604 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35605 commands/timeout.c and normal/context.c.
35606 (normal_mod_SOURCES): Removed normal/context.c.
35607
35608 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35609 commands/default.c, commands/timeout.c and normal/context.c.
35610 (normal_mod_SOURCES): Removed normal/context.c.
35611
35612 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35613 timeout.mod.
35614 (default_mod_SOURCES): Removed.
35615 (default_mod_CFLAGS): Likewise.
35616 (default_mod_LDFLAGS): Likewise.
35617 (timeout_mod_SOURCES): Removed.
35618 (timeout_mod_CFLAGS): Likewise.
35619 (timeout_mod_LDFLAGS): Likewise.
35620
35621 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35622 normal/context.c.
35623
35624 * commands/default.c: Removed.
35625 * commands/timeout.c: Likewise.
35626 * normal/context.c: Likewise.
35627
35628 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35629
35630 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35631
35632 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35633
35634 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35635 "next" to "prev" for readability.
35636 (struct grub_env_sorted_var): New struct.
35637 (grub_env_context): Renamed to ...
35638 (initial_context): ... this.
35639 (grub_env_var_context): Renamed to ...
35640 (current_context): ... this.
35641 (grub_env_find): Look only at CURRENT_CONTEXT.
35642 (grub_env_context_open): Rewritten to copy exported variables from
35643 previous context.
35644 (grub_env_context_close): Rewritten according to the new
35645 scheme. Also, add an assertion to prevent the initial context from
35646 removed.
35647 (grub_env_insert): Removed the code for the sorted list.
35648 (grub_env_remove): Likewise.
35649 (grub_env_export): Simply mark the variable with
35650 GRUB_ENV_VAR_GLOBAL.
35651 (grub_env_set): A cosmetic change for naming consistency.
35652 (grub_env_get): Likewise.
35653 (grub_env_unset): Likewise.
35654 (grub_env_iterate): Rewritten to sort variables within this
35655 function.
35656 (grub_register_variable_hook): Fixed for naming consistency. Call
35657 grub_env_find again, only if NAME is not found at the first time.
35658 (mangle_data_slot_name): New function.
35659 (grub_env_set_data_slot): Likewise.
35660 (grub_env_get_data_slot): Likewise.
35661 (grub_env_unset_data_slot): Likewise.
35662
35663 * include/grub/env.h (grub_env_var_type): New enum.
35664 (GRUB_ENV_VAR_LOCAL): New constant.
35665 (GRUB_ENV_VAR_GLOBAL): Likewise.
35666 (GRUB_ENV_VAR_DATA): Likewise.
35667 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35668 "type".
35669 (grub_env_set): Replace VAR with NAME for consistency.
35670 (grub_register_variable_hook): Likewise.
35671 (grub_env_export): Specify the name of the argument.
35672 (grub_env_set_data_slot): New prototype.
35673 (grub_env_get_data_slot): Likewise.
35674 (grub_env_unset_data_slot): Likewise.
35675
35676 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35677
35678 Extend the loader so that GRUB can accept a loader which comes
35679 back to GRUB when a loaded image exits. Also, this change adds
35680 support for a chainloader on EFI.
35681
35682 * term/efi/console.c: Include grub/misc.h.
35683 (grub_console_checkkey): Display a scan code on the top for
35684 debugging. This will be removed once the EFI port gets stable.
35685 Correct the scan code mapping.
35686
35687 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35688 allocate memory from larger regions, in order to reduce the number
35689 of allocated regions. Otherwise, the MacOSX loader panics.
35690 (filter_memory_map): Avoid less than 1MB for compatibility with
35691 other loaders.
35692 (add_memory_regions): Allocate from the tail of a region, if
35693 possible, to avoid allocating a region near to 1MB, for the MacOSX
35694 loader.
35695
35696 * kern/efi/init.c (grub_efi_set_prefix): Specify
35697 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35698
35699 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35700 argument IMAGE_HANDLE and specify it to get a loaded image.
35701 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35702 grub_efi_get_loaded_image.
35703 (grub_efi_get_filename): Divide the length by the size of
35704 grub_efi_char16_t.
35705 (grub_efi_get_device_path): New function.
35706 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35707 the length by the size of grub_efi_char16_t for a file path device
35708 path node.
35709
35710 * kern/loader.c (grub_loader_noreturn): New variable.
35711 (grub_loader_set): Accept a new argument NORETURN. Set
35712 GRUB_LOADER_NORETURN to NORETURN.
35713 All callers changed.
35714 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35715 grub_machine_fini.
35716
35717 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35718 prototype.
35719 (grub_efi_get_loaded_image): Take an argument to specify an image
35720 handle.
35721
35722 * include/grub/loader.h (grub_loader_set): Added one more argument
35723 NORETURN.
35724
35725 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35726 instead of grub_efi_open_protocol.
35727 (grub_efidisk_get_device_name): Likewise.
35728 (grub_efidisk_close): Print a newline.
35729 (grub_efidisk_get_device_handle): Fixed to use
35730 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35731 GRUB_EFI_DEVICE_PATH_TYPE.
35732
35733 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35734 * kern/efi/efi.c (device_path_guid): ... here.
35735
35736 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35737 chain.mod.
35738 (kernel_mod_HEADERS): Added efi/disk.h.
35739 (_chain_mod_SOURCES): New variable.
35740 (_chain_mod_CFLAGS): Likewise.
35741 (_chain_mod_LDFLAGS): Likewise.
35742 (chain_mod_SOURCES): Likewise.
35743 (chain_mod_CFLAGS): Likewise.
35744 (chain_mod_LDFLAGS): Likewise.
35745
35746 * DISTLIST: Added include/grub/efi/chainloader.h,
35747 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35748
35749 * include/grub/efi/chainloader.h: New file.
35750 * loader/efi/chainloader.c: Likewise.
35751 * loader/efi/chainloader_normal.c: Likewise.
35752
35753 2006-04-30 Marco Gerards <marco@gnu.org>
35754
35755 * commands/configfile.c (grub_cmd_source): New function.
35756 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35757 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35758
35759 2006-04-30 Marco Gerards <marco@gnu.org>
35760
35761 * normal/execute.c (grub_script_execute_cmd): Change the return
35762 type to `grub_err_t'. Correctly return the error.
35763 (grub_script_execute_cmdline): In case a command line is not a
35764 command or a function, try to interpret it as an assignment.
35765
35766 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35767
35768 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35769 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35770 skip a node whose name is obviously invalid as UTF-16,
35771 i.e. contains a NUL character. Stop the iteration when the last
35772 directory entry is found. Instead of using the return value of
35773 grub_hfsplus_btree_iterate_node, store the value in RET and use
35774 it, because the iterator can be stopped by the last directory
35775 entry.
35776
35777 2006-04-30 Marco Gerards <marco@gnu.org>
35778
35779 * include/grub/env.h (grub_env_export): New prototype. Reported
35780 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35781
35782 2006-04-30 Marco Gerards <marco@gnu.org>
35783
35784 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35785 size of the extents in a catalog file record.
35786
35787 2006-04-29 Marco Gerards <marco@gnu.org>
35788
35789 * commands/configfile.c (grub_cmd_configfile): Execute the
35790 configfile within its own context.
35791
35792 * include/grub/env.h (grub_env_context_open): New prototype.
35793 (grub_env_context_close): Likewise.
35794
35795 * kern/env.c (grub_env): Removed.
35796 (grub_env_sorted): Likewise.
35797 (grub_env_context): New variable.
35798 (grub_env_var_context): Likewise.
35799 (grub_env_find): Search both the active context and the global
35800 context.
35801 (grub_env_context_open): New function.
35802 (grub_env_context_close): Likewise.
35803 (grub_env_insert): Likewise.
35804 (grub_env_remove): Likewise.
35805 (grub_env_export): Likewise.
35806 (grub_env_set): Changed to use helper functions to avoid code
35807 duplication.
35808 (grub_env_iterate): Rewritten so both the current context and the
35809 global context are being used.
35810
35811 * normal/command.c (export_command): New function.
35812 (grub_command_init): Register the `export' function.
35813
35814 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35815
35816 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35817 explicitly to suppress gcc's warnings.
35818 * fs/fat.c (grub_fat_find_dir): Likewise.
35819 (grub_fat_label): Likewise.
35820 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35821 (grub_xfs_mount): Likewise.
35822 (grub_xfs_label): Likewise.
35823 * fs/affs.c (grub_affs_mount): Likewise.
35824 (grub_affs_label): Likewise.
35825 (grub_affs_iterate_dir): Likewise.
35826 * fs/sfs.c (grub_sfs_mount): Likewise.
35827 (grub_sfs_iterate_dir): Likewise.
35828 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35829 * fs/hfs.c (grub_hfs_mount): Likewise.
35830 (grub_hfs_cmp_catkeys): Likewise.
35831 (grub_hfs_find_dir): Likewise.
35832 (grub_hfs_dir): Likewise.
35833 (grub_hfs_label): Likewise.
35834 * fs/jfs.c (grub_jfs_mount): Likewise.
35835 (grub_jfs_opendir): Likewise.
35836 (grub_jfs_getent): Likewise.
35837 (grub_jfs_lookup_symlink): Likewise.
35838 (grub_jfs_label): Likewise.
35839 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35840 (grub_hfsplus_iterate_dir): Likewise.
35841 (grub_hfsplus_btree_iterate_node): Made static.
35842
35843 * util/grub-emu.c (prefix): New variable.
35844 (grub_machine_set_prefix): New function.
35845 (main): Do not set the environment variable "prefix" here. Only
35846 set PREFIX, which is used later by grub_machine_set_prefix.
35847
35848 * include/grub/video.h: Do not include grub/symbol.h.
35849 (grub_video_register): Not exported. This symbol is not defined in
35850 the kernel.
35851 (grub_video_unregister): Likewise.
35852 (grub_video_iterate): Likewise.
35853 (grub_video_setup): Likewise.
35854 (grub_video_restore): Likewise.
35855 (grub_video_get_info): Likewise.
35856 (grub_video_get_blit_format): Likewise.
35857 (grub_video_set_palette): Likewise.
35858 (grub_video_get_palette): Likewise.
35859 (grub_video_set_viewport): Likewise.
35860 (grub_video_get_viewport): Likewise.
35861 (grub_video_map_color): Likewise.
35862 (grub_video_map_rgb): Likewise.
35863 (grub_video_map_rgba): Likewise.
35864 (grub_video_fill_rect): Likewise.
35865 (grub_video_blit_glyph): Likewise.
35866 (grub_video_blit_bitmap): Likewise.
35867 (grub_video_blit_render_target): Likewise.
35868 (grub_video_scroll): Likewise.
35869 (grub_video_swap_buffers): Likewise.
35870 (grub_video_create_render_target): Likewise.
35871 (grub_video_delete_render_target): Likewise.
35872 (grub_video_set_active_render_target): Likewise.
35873
35874 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35875 Undefined.
35876 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35877
35878 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35879 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35880 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35881 instead of $(srcdir)/genkernsyms.sh.
35882
35883 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35884 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35885 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35886 instead of $(srcdir)/genkernsyms.sh.
35887
35888 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35889 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35890 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35891 instead of $(srcdir)/genkernsyms.sh.
35892
35893 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35894 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35895 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35896 instead of $(srcdir)/genkernsyms.sh.
35897
35898 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35899 genkernsyms.sh.
35900
35901 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35902 genkernsyms.sh.
35903 (gensymlist.sh): New target.
35904 (genkernsyms.sh): Likewise.
35905
35906 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35907 genkernsyms.sh.in and gensymlist.sh.in.
35908
35909 * genkernsyms.sh: Removed.
35910 * gensymlist.sh: Likewise.
35911
35912 * genkernsyms.sh.in: New file.
35913 * gensymlist.sh.in: Likewise.
35914
35915 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35916
35917 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35918 clobber "prefix", since we may have already set it manually.
35919
35920 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35921
35922 * kern/misc.c (abort): New alias for grub_abort.
35923
35924 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35925
35926 A new machine-specific function "grub_machine_set_prefix" is
35927 defined. This is called after loading modules, so that a prefix
35928 initialization can use modules. Also, this change adds an
35929 intensive debugging feature for the memory manager via the
35930 configure option "--enable-mm-debug".
35931
35932 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35933 PART.LEN.
35934
35935 * kern/sparc64/ieee1275/init.c (abort): Removed.
35936 (grub_stop): Likewise.
35937 (grub_exit): New function.
35938 (grub_set_prefix): Renamed to ...
35939 (grub_machine_set_prefix): ... this.
35940 (grub_machine_init): Do not call grub_set_prefix.
35941
35942 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35943 (grub_machine_set_prefix): ... this.
35944 (grub_machine_init): Do not call grub_set_prefix.
35945
35946 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35947 (grub_machine_init): Do not set the prefix here.
35948
35949 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35950
35951 * kern/efi/init.c: Include grub/mm.h.
35952 (grub_efi_set_prefix): New function.
35953
35954 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35955 (grub_efi_get_filename): New function.
35956 (grub_print_device_path): Renamed to ...
35957 (grub_efi_print_device_path): ... this.
35958
35959 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35960 [MM_DEBUG] (grub_realloc): Likewise.
35961 [MM_DEBUG] (grub_free): Likewise.
35962 [MM_DEBUG] (grub_memalign): Likewise.
35963 [MM_DEBUG] (grub_mm_debug): New variable.
35964 [MM_DEBUG] (grub_debug_malloc): New function.
35965 [MM_DEBUG] (grub_debug_free): New function.
35966 [MM_DEBUG] (grub_debug_realloc): New function.
35967 [MM_DEBUG] (grub_debug_memalign): New function.
35968
35969 * kern/misc.c (grub_abort): Print a newline to distinguish
35970 the message.
35971
35972 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35973 grub_set_root_dev after loading modules. This is necessary when
35974 setting a prefix depends on modules.
35975
35976 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35977 (grub_efi_print_device_path): ... this.
35978 (grub_efi_get_filename): New prototype.
35979 (grub_efi_set_prefix): Likewise.
35980
35981 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35982 and grub/disk.h.
35983 (grub_efidisk_get_device_handle): New prototype.
35984 (grub_efidisk_get_device_name): Likewise.
35985
35986 * include/grub/mm.h: Include config.h.
35987 (MM_DEBUG): Removed.
35988 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35989 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35990 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35991 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35992 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35993 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35994 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35995 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35996 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35997
35998 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35999
36000 * disk/efi/efidisk.c: Include grub/partition.h.
36001 (iterate_child_devices): New function.
36002 (add_device): First, compare only last device path nodes, so that
36003 devices are sorted by the types.
36004 (grub_efidisk_get_device_handle): New function.
36005 (grub_efidisk_get_device_name): Likewise.
36006
36007 * configure.ac (--enable-mm-debug): New option to enable the
36008 memory manager debugging feature. This makes the binary much
36009 bigger, so is disabled by default.
36010
36011 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
36012
36013 Use grub_abort instead of grub_stop, and grub_exit must be
36014 define in each architecture now. Also, this change adds support
36015 for EFI disks.
36016
36017 * util/i386/pc/grub-probefs.c: Include grub/term.h.
36018 (grub_getkey): New function.
36019 (grub_term_get_current): Likewise.
36020
36021 * util/i386/pc/grub-setup.c: Include grub/term.h.
36022 (grub_getkey): New function.
36023 (grub_term_get_current): Likewise.
36024
36025 * util/misc.c (grub_stop): Renamed to ...
36026 (grub_exit): ... this.
36027
36028 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
36029 (grub_exit): ... this.
36030 (grub_machine_init): Use grub_abort instead of abort.
36031 (grub_stop): Removed.
36032
36033 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
36034 abort.
36035
36036 * kern/i386/pc/startup.S (grub_exit): New function.
36037 (cold_reboot): New label.
36038
36039 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
36040 (grub_efi_init): Call grub_efidisk_init.
36041 (grub_efi_fini): Call grub_efidisk_fini.
36042
36043 * kern/efi/efi.c: Include grub/mm.h.
36044 (grub_efi_console_control_guid): Renamed to ...
36045 (console_control_guid): ... this.
36046 (grub_efi_loaded_image_guid): Renamed to ...
36047 (loaded_image_guid): ... this.
36048 (grub_efi_locate_handle): New function.
36049 (grub_efi_open_protocol): Likewise.
36050 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
36051 GRUB_EFI_CONSOLE_CONTROL_GUID.
36052 (grub_efi_exit): Removed.
36053 (grub_stop): Likewise.
36054 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
36055 (grub_exit): New function.
36056 (grub_print_device_path): Likewise.
36057
36058 * kern/rescue.c (grub_rescue_cmd_exit): New function.
36059 (grub_enter_rescue_mode): Register "exit".
36060
36061 * kern/misc.c (grub_real_dprintf): A cosmetic change.
36062 (grub_abort): New function.
36063
36064 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
36065
36066 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
36067
36068 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
36069
36070 * include/grub/efi/efi.h (grub_efi_exit): Removed.
36071 (grub_print_device_path): New prototype.
36072 (grub_efi_locate_handle): Likewise.
36073 (grub_efi_open_protocol): Likewise.
36074
36075 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
36076 * disk/efi/efidisk.c: Likewise.
36077
36078 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
36079
36080 * include/grub/efi/console_control.h
36081 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
36082
36083 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
36084 last 8 bytes as an array.
36085 (GRUB_EFI_DISK_IO_GUID): New macro.
36086 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
36087 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
36088 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
36089 grub_uint8_t.
36090 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
36091 (struct grub_efi_device_path): Rename the member "sub_type" to
36092 "subtype".
36093 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
36094 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
36095 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
36096 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
36097 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
36098 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
36099 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
36100 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
36101 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
36102 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
36103 (struct grub_efi_pci_device_path): New structure.
36104 (grub_efi_pci_device_path_t): New type.
36105 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
36106 (struct grub_efi_pccard_device_path): New structure.
36107 (grub_efi_pccard_device_path_t): New type.
36108 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
36109 (struct grub_efi_memory_mapped_device_path): New structure.
36110 (grub_efi_memory_mapped_device_path_t): New type.
36111 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
36112 (struct grub_efi_vendor_device_path): New structure.
36113 (grub_efi_vendor_device_path_t): New type.
36114 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
36115 (struct grub_efi_controller_device_path): New structure.
36116 (grub_efi_controller_device_path_t): New type.
36117 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
36118 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
36119 (struct grub_efi_acpi_device_path): New structure.
36120 (grub_efi_acpi_device_path_t): New type.
36121 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
36122 (struct grub_efi_expanded_acpi_device_path): New structure.
36123 (grub_efi_expanded_acpi_device_path_t): New type.
36124 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
36125 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
36126 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
36127 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
36128 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
36129 (struct grub_efi_atapi_device_path): New structure.
36130 (grub_efi_atapi_device_path_t): New type.
36131 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
36132 (struct grub_efi_fibre_channel_device_path): New structure.
36133 (grub_efi_fibre_channel_device_path_t): New type.
36134 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
36135 (struct grub_efi_1394_device_path): New structure.
36136 (grub_efi_1394_device_path_t): New type.
36137 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
36138 (struct grub_efi_usb_device_path): New structure.
36139 (grub_efi_usb_device_path_t): New type.
36140 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
36141 (struct grub_efi_usb_class_device_path): New structure.
36142 (grub_efi_usb_class_device_path_t): New type.
36143 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
36144 (struct grub_efi_i2o_device_path): New structure.
36145 (grub_efi_i2o_device_path_t): New type.
36146 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
36147 (struct grub_efi_mac_address_device_path): New structure.
36148 (grub_efi_mac_address_device_path_t): New type.
36149 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
36150 (struct grub_efi_ipv4_device_path): New structure.
36151 (grub_efi_ipv4_device_path_t): New type.
36152 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
36153 (struct grub_efi_ipv6_device_path): New structure.
36154 (grub_efi_ipv6_device_path_t): New type.
36155 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
36156 (struct grub_efi_infiniband_device_path): New structure.
36157 (grub_efi_infiniband_device_path_t): New type.
36158 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
36159 (struct grub_efi_uart_device_path): New structure.
36160 (grub_efi_uart_device_path_t): New type.
36161 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
36162 (struct grub_efi_vendor_messaging_device_path): New structure.
36163 (grub_efi_vendor_messaging_device_path_t): New type.
36164 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
36165 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
36166 (struct grub_efi_hard_drive_device_path): New structure.
36167 (grub_efi_hard_drive_device_path_t): New type.
36168 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
36169 (struct grub_efi_cdrom_device_path): New structure.
36170 (grub_efi_cdrom_device_path_t): New type.
36171 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
36172 (struct grub_efi_vendor_media_device_path): New structure.
36173 (grub_efi_vendor_media_device_path_t): New type.
36174 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
36175 (struct grub_efi_file_path_device_path): New structure.
36176 (grub_efi_file_path_device_path_t): New type.
36177 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
36178 (struct grub_efi_protocol_device_path): New structure.
36179 (grub_efi_protocol_device_path_t): New type.
36180 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
36181 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
36182 (struct grub_efi_bios_device_path): New structure.
36183 (grub_efi_bios_device_path_t): New type.
36184 (struct grub_efi_disk_io): New structure.
36185 (grub_efi_disk_io_t): New type.
36186 (struct grub_efi_block_io_media): New structure.
36187 (grub_efi_block_io_media_t): New type.
36188 (struct grub_efi_block_io): New structure.
36189 (grub_efi_block_io_t): New type.
36190
36191 * include/grub/misc.h (grub_stop): Removed.
36192 (grub_exit): New prototype.
36193 (grub_abort): Likewise.
36194
36195 * include/grub/disk.h (enum grub_disk_dev_id): Added
36196 GRUB_DISK_DEVICE_EFIDISK_ID.
36197
36198 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
36199 disk/efi/efidisk.c.
36200 (kernel_syms.lst): Remove the target if an error occurs.
36201
36202 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
36203
36204 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
36205 as it was simply too buggy.
36206
36207 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
36208
36209 * kern/misc.c (grub_lltoa): New function.
36210 (grub_vsprintf): Added support for the long long suffix,
36211 i.e. "ll".
36212
36213 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
36214
36215 * Makefile.in (LDFLAGS): Add variable.
36216 (LD): Remove variable.
36217 * configure.ac: Add -m32 to LDFLAGS.
36218 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
36219 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
36220 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
36221 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
36222 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
36223 variables.
36224 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
36225 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
36226 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
36227
36228 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
36229
36230 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
36231 length for unknown glyph.
36232
36233 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36234
36235 Add support for pre-loaded modules into the EFI port.
36236
36237 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
36238 completely. Accept one more argument DIR. The caller has changed.
36239
36240 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
36241
36242 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
36243 (grub_efi_loaded_image_guid): New variable.
36244 (grub_efi_get_loaded_image): New function.
36245 (grub_arch_modules_addr): Likewise.
36246
36247 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
36248 prototype.
36249
36250 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
36251 (struct grub_efi_loaded_image): New structure.
36252 (grub_efi_loaded_image_t): New type.
36253
36254 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36255
36256 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
36257 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
36258 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
36259
36260 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
36261
36262 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
36263
36264 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
36265
36266 * DISTLIST: Added include/grub/efi/console.h,
36267 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
36268 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36269
36270 * include/grub/efi/console.h: New file.
36271 * include/grub/efi/time.h: Likewise.
36272 * include/grub/i386/efi/kernel.h: Likewise.
36273 * kern/efi/init.c: Likewise.
36274 * kern/efi/mm.c: Likewise.
36275 * term/efi/console.c: Likewise.
36276
36277 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
36278 (grub_stop): Removed.
36279 (grub_get_rtc): Likewise.
36280 (grub_machine_init): Simply call grub_efi_init.
36281 (grub_machine_fini): Call grub_efi_fini.
36282
36283 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
36284 (grub_efi_output_string): Removed.
36285 (grub_efi_stall): New function.
36286 (grub_stop): Likewise.
36287 (grub_get_rtc): Likewise.
36288
36289 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
36290 (grub_efi_stall): New prototype.
36291 (grub_efi_allocate_pages): Likewise.
36292 (grub_efi_free_pages): Likewise.
36293 (grub_efi_get_memory_map): Likewise.
36294 (grub_efi_mm_init): Likewise.
36295 (grub_efi_mm_fini): Likewise.
36296 (grub_efi_init): Likewise.
36297 (grub_efi_fini): Likewise.
36298
36299 * include/grub/i386/efi/time.h: Do not include
36300 grub/symbol.h. Include grub/efi/time.h.
36301 (GRUB_TICKS_PER_SECOND): Removed.
36302 (grub_get_rtc): Likewise.
36303
36304 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36305 Added padding. The EFI spec is buggy.
36306 (GRUB_EFI_BLACK): New macro.
36307 (GRUB_EFI_BLUE): Likewise.
36308 (GRUB_EFI_GREEN): Likewise.
36309 (GRUB_EFI_CYAN): Likewise.
36310 (GRUB_EFI_RED): Likewise.
36311 (GRUB_EFI_MAGENTA): Likewise.
36312 (GRUB_EFI_BROWN): Likewise.
36313 (GRUB_EFI_LIGHTGRAY): Likewise.
36314 (GRUB_EFI_BRIGHT): Likewise.
36315 (GRUB_EFI_DARKGRAY): Likewise.
36316 (GRUB_EFI_LIGHTBLUE): Likewise.
36317 (GRUB_EFI_LIGHTGREEN): Likewise.
36318 (GRUB_EFI_LIGHTCYAN): Likewise.
36319 (GRUB_EFI_LIGHTRED): Likewise.
36320 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36321 (GRUB_EFI_YELLOW): Likewise.
36322 (GRUB_EFI_WHITE): Likewise.
36323 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36324 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36325 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36326 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36327 (GRUB_EFI_BACKGROUND_RED): Likewise.
36328 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36329 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36330 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36331 (GRUB_EFI_TEXT_ATTR): Likewise.
36332
36333 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36334 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36335 (kernel_mod_HEADERS): Added efi/time.h.
36336
36337 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36338
36339 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36340 include/grub/efi/api.h, include/grub/efi/console_control.h,
36341 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36342 include/grub/i386/efi/time.h, kern/efi/efi.c,
36343 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36344 and util/i386/efi/grub-mkimage.c.
36345
36346 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36347
36348 * genmk.rb (PModule#rule): Do not export symbols if
36349 #{prefix}_EXPORTS is set to "no".
36350
36351 * conf/i386-efi.mk: New file.
36352 * conf/i386-efi.rmk: Likewise.
36353 * include/grub/efi/api.h: Likewise.
36354 * include/grub/efi/console_control.h: Likewise.
36355 * include/grub/efi/efi.h: Likewise.
36356 * include/grub/efi/pe32.h: Likewise.
36357 * include/grub/i386/efi/time.h: Likewise.
36358 * kern/efi/efi.c: Likewise.
36359 * kern/i386/efi/init.c: Likewise.
36360 * kern/i386/efi/startup.S: Likewise.
36361 * util/i386/efi/grub-mkimage.c: Likewise.
36362
36363 2006-04-17 Marco Gerards <marco@gnu.org>
36364
36365 * include/grub/script.h: Include <grub/parser.h> and
36366 "grub_script.tab.h".
36367 (struct grub_lexer_param): New struct.
36368 (struct grub_parser_param): Likewise.
36369 (grub_script_create_arglist): Pass the state in an argument.
36370 (grub_script_add_arglist): Likewise.
36371 (grub_script_create_cmdline): Likewise.
36372 (grub_script_create_cmdblock): Likewise.
36373 (grub_script_create_cmdif): Likewise.
36374 (grub_script_create_cmdmenu): Likewise.
36375 (grub_script_add_cmd): Likewise.
36376 (grub_script_arg_add): Likewise.
36377 (grub_script_lexer_ref): Likewise.
36378 (grub_script_lexer_deref): Likewise.
36379 (grub_script_lexer_record_start): Likewise.
36380 (grub_script_lexer_record_stop): Likewise.
36381 (grub_script_mem_record): Likewise.
36382 (grub_script_mem_record_stop): Likewise.
36383 (grub_script_malloc): Likewise.
36384 (grub_script_yylex): Likewise.
36385 (grub_script_yyparse): Likewise.
36386 (grub_script_yyerror): Likewise.
36387 (grub_script_yylex): Likewise.
36388 (grub_script_lexer_init): Return the state.
36389
36390 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36391 (grub_script_lexer_done): Likewise.
36392 (grub_script_lexer_getline): Likewise.
36393 (grub_script_lexer_refs): Likewise.
36394 (script): Likewise.
36395 (newscript): Likewise.
36396 (record): Likewise.
36397 (recording): Likewise.
36398 (recordpos): Likewise.
36399 (recordlen): Likewise.
36400 (grub_script_lexer_init): Return the state instead of setting
36401 global variables.
36402 (grub_script_lexer_ref): Use the newly added argument for state
36403 instead of globals.
36404 (grub_script_lexer_deref): Likewise.
36405 (grub_script_lexer_record_start): Likewise.
36406 (grub_script_lexer_record_stop): Likewise.
36407 (recordchar): Likewise.
36408 (nextchar): Likewise.
36409 (grub_script_yylex2): Likewise.
36410 (grub_script_yylex): Likewise.
36411 (grub_script_yyerror): Likewise.
36412
36413 * normal/parser.y (func_mem): Removed variable.
36414 (menu_entry): Likewise.
36415 (err): Likewise.
36416 (%lex-param): New parser option.
36417 (%parse-param): Likewise.
36418 (script): Always return the AST.
36419 (argument): Pass the state around.
36420 (arguments): Likewise.
36421 (grubcmd): Likewise.
36422 (commands): Likewise.
36423 (function): Likewise.
36424 (menuentry): Likewise.
36425 (if_statement): Likewise.
36426 (if): Likewise.
36427
36428 * normal/script.c (grub_script_memused): Removed variable.
36429 (grub_script_parsed): Likewise.
36430 (grub_script_malloc): Added a state argument. Use that instead of
36431 global variables.
36432 (grub_script_mem_record): Likewise.
36433 (grub_script_mem_record_stop): Likewise.
36434 (grub_script_arg_add): Likewise.
36435 (grub_script_add_arglist): Likewise.
36436 (grub_script_create_cmdline): Likewise.
36437 (grub_script_create_cmdif): Likewise.
36438 (grub_script_create_cmdmenu): Likewise.
36439 (grub_script_add_cmd): Likewise.
36440 (grub_script_parse): Setup the state before calling the parser.
36441
36442 2006-04-16 Marco Gerards <marco@gnu.org>
36443
36444 * normal/command.c (grub_command_init): Remove the title command.
36445
36446 * normal/lexer.c (grub_script_yylex): Renamed from this...
36447 (grub_script_yylex2): ... to this.
36448 (grub_script_yylex): New function. Temporary
36449 introduced to filter some tokens.
36450 (grub_script_yyerror): Print a newline.
36451
36452 * normal/main.c (read_config_file): Output information about the
36453 lines that contain errors. Wait for a key after all lines have
36454 been processed. Don't return an empty menu.
36455
36456 * normal/parser.y (func_mem): Don't initialize.
36457 (menu_entry): Likewise.
36458 (err): New variable.
36459 (script): Don't return anything when an error was encountered.
36460 (ws, returns): Removed rules.
36461 (argument): Disabled concatenated variable support.
36462 (arguments): Remove explicit separators.
36463 (grubcmd): Likewise.
36464 (function): Likewise.
36465 (menuentry): Likewise.
36466 (if): Likewise.
36467 (commands): Likewise. Add error handling.
36468
36469 * normal/script.c (grub_script_create_cmdline): If
36470 `grub_script_parsed' is 0, assume the parser encountered an error.
36471
36472 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36473
36474 * configure.ac: Add support for EFI. Fix the typo
36475 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36476
36477 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36478
36479 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36480 foreign multibyte characters should be shown correctly.
36481
36482 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36483
36484 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36485 calculation.
36486 (read_config_file): Made it to close file before returning.
36487
36488 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36489
36490 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36491 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36492 video/i386/pc/vbefill.c.
36493
36494 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36495 video/i386/pc/vbefill.c.
36496
36497 * include/grub/video.h (grub_video_blit_format): New enum.
36498 (grub_video_mode_info): Added new member blit_format.
36499 (grub_video_get_blit_format): New function prototype.
36500
36501 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36502 function prototype.
36503 (grub_video_vbe_map_rgb): Likewise.
36504 (grub_video_vbe_unmap_color): Likewise.
36505
36506 * include/grub/i386/pc/vbeblit.h: New file.
36507
36508 * include/grub/i386/pc/vbefill.h: New file.
36509
36510 * video/video.c (grub_video_get_blit_format): New function.
36511 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36512 (grub_video_vbe_map_rgb): Likewise.
36513 (grub_video_vbe_unmap_color): Likewise.
36514
36515 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36516 optimized fills.
36517 (grub_video_vbe_blit_render_target): Changed to use more optimized
36518 blits.
36519 (grub_video_vbe_setup): Added detection for optimized settings.
36520 (grub_video_vbe_create_render_target): Likewise.
36521
36522 * video/i386/pc/vbeblit.c: New file.
36523
36524 * video/i386/pc/vbefill.c: New file.
36525
36526 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36527
36528 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36529 here...
36530
36531 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36532 parsing to support both hex and dec ranges. If filename was missing
36533 show usage information.
36534
36535 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36536
36537 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36538 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36539
36540 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36541 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36542 (video_mod_SOURCES): Added.
36543 (video_mod_CFLAGS): Likewise.
36544 (video_mod_LDFLAGS): Likewise.
36545 (gfxterm_mod_SOURCES): Likewise.
36546 (gfxterm_mod_CFLAGS): Likewise.
36547 (gfxterm_mod_LDFLAGS): Likewise.
36548 (videotest_mod_SOURCES): Likewise.
36549 (videotest_mod_CFLAGS): Likewise.
36550 (videotest_mod_LDFLAGS): Likewise.
36551 (vesafb_mod_SOURCES): Removed.
36552 (vesafb_mod_CFLAGS): Likewise.
36553 (vesafb_mod_LDFLAGS): Likewise.
36554 (vga_mod_SOURCES): Likewise.
36555 (vga_mod_CFLAGS): Likewise.
36556 (vga_mod_LDFLAGS): Likewise.
36557
36558 * commands/videotest.c: New file.
36559
36560 * font/manager.c (fill_with_default_glyph): Modified to use
36561 grub_font_glyph.
36562 (grub_font_get_glyph): Likewise.
36563 (fontmanager): Renamed from this...
36564 (font_manager): ... to this.
36565
36566 * include/grub/font.h (grub_font_glyph): Added new structure.
36567 (grub_font_get_glyph): Modified to use grub_font_glyph.
36568
36569 * include/grub/misc.h (grub_abs): Added as inline function.
36570
36571 * include/grub/video.h: New file.
36572
36573 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36574 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36575 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36576 (grub_vbe_get_controller_info): Renamed 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_set_pixel_rgb): Removed.
36599 (grub_vbe_set_pixel_index): Likewise.
36600
36601 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36602 from this...
36603 (grub_vbe_bios_get_controller_info): ... to this.
36604 (grub_vbe_get_mode_info): Renamed from this...
36605 (grub_vbe_bios_get_mode_info): ... to this.
36606 (grub_vbe_set_mode): Renamed from this...
36607 (grub_vbe_bios_set_mode): ... to this.
36608 (grub_vbe_get_mode): Renamed from this...
36609 (grub_vbe_bios_get_mode): ... to this.
36610 (grub_vbe_set_memory_window): Renamed from this...
36611 (grub_vbe_bios_set_memory_window): ... to this.
36612 (grub_vbe_get_memory_window): Renamed from this...
36613 (grub_vbe_bios_get_memory_window): ... to this.
36614 (grub_vbe_set_scanline_length): Renamed from this...
36615 (grub_vbe_set_scanline_length): ... to this.
36616 (grub_vbe_get_scanline_length): Renamed from this...
36617 (grub_vbe_bios_get_scanline_length): ... to this.
36618 (grub_vbe_set_display_start): Renamed from this...
36619 (grub_vbe_bios_set_display_start): ... to this.
36620 (grub_vbe_get_display_start): Renamed from this...
36621 (grub_vbe_bios_get_display_start): ... to this.
36622 (grub_vbe_set_palette_data): Renamed from this...
36623 (grub_vbe_bios_set_palette_data): ... to this.
36624 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36625 getting corrupted after calling it. Added more pushes and pops.
36626 (grub_vbe_bios_set_mode): Likewise.
36627 (grub_vbe_bios_get_mode): Likewise.
36628 (grub_vbe_bios_get_memory_window): Likewise.
36629 (grub_vbe_bios_set_scanline_length): Likewise.
36630 (grub_vbe_bios_get_scanline_length): Likewise.
36631 (grub_vbe_bios_get_display_start): Likewise.
36632 (grub_vbe_bios_set_palette_data): Likewise.
36633
36634 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36635 (cl_insert): Likewise.
36636 (cl_delete): Likewise.
36637
36638 * term/gfxterm.c: New file.
36639
36640 * term/i386/pc/vesafb.c: Removed file.
36641
36642 * video/video.c: New file.
36643
36644 * video/i386/pc/vbe.c (real2pm): Added new function.
36645 (grub_video_vbe_draw_pixel): Likewise.
36646 (grub_video_vbe_get_video_ptr): Likewise.
36647 (grub_video_vbe_get_pixel): Likewise
36648 (grub_video_vbe_init): Likewise.
36649 (grub_video_vbe_fini): Likewise.
36650 (grub_video_vbe_setup): Likewise.
36651 (grub_video_vbe_get_info): Likewise.
36652 (grub_video_vbe_set_palette): Likewise.
36653 (grub_video_vbe_get_palette): Likewise.
36654 (grub_video_vbe_set_viewport): Likewise.
36655 (grub_video_vbe_get_viewport): Likewise.
36656 (grub_video_vbe_map_color): Likewise.
36657 (grub_video_vbe_map_rgb): Likewise.
36658 (grub_video_vbe_map_rgba): Likewise.
36659 (grub_video_vbe_unmap_color): Likewise.
36660 (grub_video_vbe_fill_rect): Likewise.
36661 (grub_video_vbe_blit_glyph): Likewise.
36662 (grub_video_vbe_blit_bitmap): Likewise.
36663 (grub_video_vbe_blit_render_target): Likewise.
36664 (grub_video_vbe_scroll): Likewise.
36665 (grub_video_vbe_swap_buffers): Likewise.
36666 (grub_video_vbe_create_render_target): Likewise.
36667 (grub_video_vbe_delete_render_target): Likewise.
36668 (grub_video_vbe_set_active_render_target): Likewise.
36669 (grub_vbe_set_pixel_rgb): Remove function.
36670 (grub_vbe_set_pixel_index): Likewise.
36671 (index_color_mode): Remove static variable.
36672 (active_mode): Likewise.
36673 (framebuffer): Likewise.
36674 (bytes_per_scan_line): Likewise.
36675 (grub_video_vbe_adapter): Added new static variable.
36676 (framebuffer): Likewise.
36677 (render_target): Likewise.
36678 (initial_mode): Likewise.
36679 (mode_in_use): Likewise.
36680 (mode_list): Likewise.
36681
36682 2006-03-10 Marco Gerards <marco@gnu.org>
36683
36684 * configure.ac (AC_INIT): Bumped to 1.93.
36685
36686 * DISTLIST: Added `include/grub/hfs.h'.
36687
36688 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36689
36690 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36691 18H, which might help the BIOS falling back to next boot media.
36692
36693 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36694
36695 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36696 Poe Chen <poe.poechen@gmail.com>.
36697
36698 2006-01-17 Marco Gerards <marco@gnu.org>
36699
36700 * include/grub/normal.h: Include <grub/script.h>.
36701 (grub_command_list): Removed struct.
36702 (grub_command_list_t): Removed type.
36703 (grub_menu_entry): Remove members `num' and `command_list'. Add
36704 members `commands' and `sourcecode'.
36705 * include/grub/script.h: Add inclusion guards.
36706 (grub_script_cmd_menuentry): New struct.
36707 (grub_script_execute_menuentry): New prototype.
36708 (grub_script_lexer_record_start): Likewise.
36709 (grub_script_lexer_record_stop): Likewise.
36710 * normal/execute.c (grub_script_execute_menuentry): New function.
36711 * normal/lexer.c (record, recording, recordpos, recordlen): New
36712 variables.
36713 (grub_script_lexer_record_start): New function.
36714 (grub_script_lexer_record_stop): Likewise.
36715 (recordchar): Likewise.
36716 (nextchar): Likewise.
36717 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36718 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36719 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36720 (current_menu): New variable.
36721 (free_menu): Mainly rewritten.
36722 (grub_normal_menu_addentry): New function.
36723 (read_config_file): Rewritten.
36724 * normal/menu.c (run_menu_entry): Mainly rewritten.
36725 * normal/menu_entry.c (make_screen): Rewritten the code to insert
36726 the menu entry.
36727 (run): Mainly rewritten.
36728 * normal/parser.y (menu_entry): New variable.
36729 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36730 (menuentry): New rule.
36731 (command): Add `menuentry'.
36732 (if_statement): Allow additional returns before `fi'.
36733 * normal/script.c (grub_script_create_cmdmenu): New function.
36734
36735 2006-01-03 Marco Gerards <marco@gnu.org>
36736
36737 * INSTALL: GNU Bison is required.
36738 * configure.ac: Rewritten the test to detect Bison.
36739 * Makefile.in (YACC): New variable. Reported by Xun Sun
36740 <xun.sun.cn@gmail.com>.
36741
36742 2006-01-03 Marco Gerards <marco@gnu.org>
36743
36744 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36745 the HFS+ filesystem to filesystem blocks.
36746 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36747 GCC warning is silenced.
36748
36749 2006-01-03 Marco Gerards <marco@gnu.org>
36750
36751 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36752 read from disk from big endian to host byte order.
36753
36754 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36755
36756 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36757 documentation.
36758 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36759 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36760 embedded HFS+ filesystem.
36761 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36762 (grub_hfs_sblock): Move from here...
36763 * include/grub/hfs.h: To here... New file.
36764 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36765 documentation.
36766 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36767 New macros.
36768 (grub_hfsplus_volheader): Change type of member `magic' to
36769 `grub_uint16_t'.
36770 (grub_hfsplus_data): Add new member `embedded_offset'.
36771 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36772 returned block.
36773 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36774 Calculate the offset.
36775
36776 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36777
36778 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36779 Removed.
36780 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36781
36782 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36783
36784 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36785 ENV->NAME is NULL after allocating ENV->VALUE.
36786
36787 2005-12-25 Marco Gerards <marco@gnu.org>
36788
36789 * kern/env.c (grub_env_set): Rewritten the error handling code.
36790
36791 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36792
36793 * geninit.sh: Made more robust, and more portable.
36794
36795 2005-12-25 Marco Gerards <marco@gnu.org>
36796
36797 Add support for Apple HFS+ filesystems.
36798
36799 * fs/hfsplus.c: New file.
36800
36801 * DISTLIST: Added `fs/hfsplus.c'.
36802
36803 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36804 (hfsplus_mod_SOURCES): New variable.
36805 (hfsplus_mod_CFLAGS): Likewise.
36806 (hfsplus_mod_LDFLAGS): Likewise.
36807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36808 (grub_setup_SOURCES): Likewise.
36809 (grub_mkdevicemap_SOURCES): Likewise.
36810 (grub_emu_SOURCES): Likewise.
36811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36812
36813 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36814
36815 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36816
36817 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36818
36819 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36820 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36821 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36822 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36823 normal/lexer.c, normal/parser.y, normal/script.c, and
36824 partmap/gpt.c.
36825 Removed kern/sparc64/cache.c.
36826
36827 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36828 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36829 grub_emu_init.c.
36830
36831 * configure.ac (AC_INIT): Bumped to 1.92.
36832
36833 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36834
36835 * kern/err.c (grub_error_push): Added new function to support error
36836 stacks.
36837 (grub_error_pop): Likewise.
36838 (grub_error_stack_items): New local variable to support error stacks.
36839 (grub_error_stack_pos): Likewise.
36840 (grub_error_stack_assert): Likewise.
36841 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36842 stack depth.
36843 (grub_print_error): Added support to print errors from error stack.
36844
36845 * include/grub/err.h (grub_error_push): Added function prototype.
36846 (grub_error_pop): Likewise.
36847
36848 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36849
36850 * configure.ac: Accept `powerpc64' as host_cpu.
36851 (amd64): Rename to `biarch32'.
36852
36853 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36854 non-cacheline-aligned addresses.
36855
36856 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36857 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36858 if `size' is non-zero.
36859
36860 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36861
36862 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36863 and `cd' to make sure the filename is not prefixed with a
36864 directory name.
36865 (pkgdata_MODULES): Add `gpt.mod'.
36866 (gpt_mod_SOURCES): New variable.
36867 (gpt_mod_CFLAGS): Likewise.
36868 (gpt_mod_LDFLAGS): Likewise.
36869
36870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36871
36872 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36873 New macro.
36874
36875 * partmap/gpt.c: New file.
36876
36877 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36878 GPT partition map is detected.
36879
36880 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36881
36882 * commands/i386/pc/play.c: New file.
36883 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36884 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36885 macros.
36886
36887 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36888
36889 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36890 ((unused))' to silence gcc warning.
36891
36892 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36893
36894 * configure.ac: Correct `AC_PROG_YACC' test.
36895
36896 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36897
36898 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36899 check before installing files.
36900
36901 2005-11-22 Mike Small <smallm@panix.com>
36902
36903 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36904 number regex so multidigit numbers are recognized correctly.
36905
36906 2005-11-22 Mike Small <smallm@panix.com>
36907
36908 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36909 debugging message before attempting to claim memory.
36910 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36911 multiple addresses in case of failure.
36912
36913 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36914
36915 * term/tparm.c (get_space): Remove empty `if' statement.
36916
36917 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36918
36919 * kern/parser.c (check_varstate): Rename `state' to 's'.
36920
36921 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36922
36923 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36924 variable definitions to the beginning of each function. Sort stack
36925 variables by size.
36926 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36927 `buf' argument to `char *'.
36928
36929 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36930
36931 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36932 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36933 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36934 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36935 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36936 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36937 configfile.mod, search.mod, gzio.mod and test.mod.
36938 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36939 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36940 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36941 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36942 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36943 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36944 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36945 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36946 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36947 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36948 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36949 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36950 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36951 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36952 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36953 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36954 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36955 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36956 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36957 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36958 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36959 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36960 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36961
36962 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36963 `grep --include'.
36964 (pkgdata_MODULES): Add test.mod.
36965
36966 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36967
36968 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36969 appending to variables with "+=".
36970 (PModule): Use full pathname to generate *.lst filenames.
36971
36972 * Makefile.in: Fixed list rules moved from genmk.rb.
36973 (.DELETE_ON_ERROR): New special target.
36974 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36975
36976 * conf/i386-pc.rmk: Include conf/common.mk.
36977 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36978 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36979 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36980 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36981 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36982 configfile.mod, search.mod, gzio.mod and test.mod.
36983 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36984 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36985 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36986 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36987 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36988 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36989 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36990 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36991 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36992 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36993 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36994 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36995 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36996 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36997 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36998 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36999 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37000 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
37001 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
37002 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
37003 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
37004 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
37005 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
37006 here...
37007 * conf/common.rmk: ... to here. New file.
37008
37009 * conf/common.mk: New file.
37010
37011 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
37012
37013 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
37014 (grub_script.tab.c): ... here.
37015
37016 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
37017 (grub_script.tab.c): ... here.
37018
37019 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
37020 (grub_script.tab.c): ... here.
37021
37022 * normal/command.c (grub_command_find): Fixed a memory leak of
37023 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
37024
37025 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37026
37027 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
37028 "@" which marks the start of a comment on ARM.
37029 (VARIABLE): Likewise.
37030
37031 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37032
37033 Add support for Linux/ADFS partition tables.
37034
37035 * partmap/acorn.c: New file.
37036
37037 * include/grub/acorn_filecore.h: Likewise.
37038
37039 * DISTLIST: Added `partmap/acorn.c' and
37040 `include/grub/acorn_filecore.h'.
37041
37042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37043 `partmap/acorn.c'.
37044 (pkgdata_MODULES): Add `acorn.mod'.
37045 (acorn_mod_SOURCES): New variable.
37046 (acorn_mod_CFLAGS): Likewise.
37047
37048 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37049 `partmap/acorn.c'.
37050 (pkgdata_MODULES): Add `acorn.mod'.
37051 (acorn_mod_SOURCES): New variable.
37052 (acorn_mod_CFLAGS): Likewise.
37053
37054 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
37055 (pkgdata_MODULES): Add `acorn.mod'.
37056 (acorn_mod_SOURCES): New variable.
37057 (acorn_mod_CFLAGS): Likewise.
37058 (acorn_mod_LDFLAGS): Likewise.
37059
37060 * include/types.h (grub_disk_addr_t): New typedef.
37061
37062 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
37063
37064 * geninit.sh: New file.
37065
37066 * geninitheader.sh: Likewise.
37067
37068 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
37069 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
37070 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
37071 * commands/configfile.c (grub_configfile_init)
37072 (grub_configfile_fini): Likewise.
37073 * commands/default.c (grub_default_init, grub_default_fini):
37074 Likewise.
37075 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
37076 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
37077 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
37078 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
37079 Likewise.
37080 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
37081 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
37082 Likewise.
37083 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
37084 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
37085 Likewise.
37086 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
37087 Likewise.
37088 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
37089 Likewise.
37090 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
37091 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
37092 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
37093 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
37094 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
37095 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
37096 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
37097 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
37098 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
37099 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
37100 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
37101 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
37102 * partmap/amiga.c (grub_amiga_partition_map_init)
37103 (grub_amiga_partition_map_fini): Likewise.
37104 * partmap/apple.c (grub_apple_partition_map_init)
37105 (grub_apple_partition_map_fini): Likewise.
37106 * partmap/pc.c (grub_pc_partition_map_init)
37107 (grub_pc_partition_map_fini): Likewise.
37108 * partmap/sun.c (grub_sun_partition_map_init,
37109 grub_sun_partition_map_fini): Likewise.
37110 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
37111 Likewise.
37112
37113 * util/grub-emu.c: Include <grub_modules_init.h>.
37114 (main): Don't initialize and de-initialize any modules directly,
37115 use `grub_init_all' and `grub_fini_all' instead.
37116
37117 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
37118 `grub_vesafb_mod_init'.
37119 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
37120 all users.
37121 * term/i386/pc/vga.c (grub_vga_init): Renamed to
37122 `grub_vga_mod_init'. Updated all users.
37123 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
37124
37125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
37126 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
37127 rules.
37128
37129 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
37130 Generate a function to initialize the module in utilities.
37131 Updated all callers.
37132 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
37133 initialize the module in utilities. Updated all callers.
37134
37135 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37136
37137 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
37138 escape sequence and a literal ^L to clear the screen.
37139
37140 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
37141 when returning from Open Firmware.
37142
37143 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37144
37145 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
37146 (grub_ofconsole_height): Likewise.
37147 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
37148 manually insert a '\n'.
37149 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
37150 `grub_ofconsole_height'. Return early if these are already set.
37151
37152 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
37153
37154 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37155 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
37156 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
37157 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
37158 and `normal/script.c'.
37159 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37160 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37161 (test_mod_SOURCES): New variable.
37162 (test_mod_CFLAGS): Likewise.
37163 (test_mod_LDFLAGS): Likewise.
37164 (pkgdata_MODULES): Add `test.mod'.
37165 (grub_script.tab.c): New rule.
37166 (grub_script.tab.h): Likewise.
37167
37168 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
37169
37170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37171 `commands/test.c', `normal/execute.c', `normal/lexer.c',
37172 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37173 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37174 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37175 (test_mod_SOURCES): New variable.
37176 (test_mod_CFLAGS): Likewise.
37177 (pkgdata_MODULES): Add `test.mod'.
37178 (grub_script.tab.c): New rule.
37179 (grub_script.tab.h): Likewise.
37180
37181 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
37182
37183 Add initial scripting support.
37184
37185 * commands/test.c: New file.
37186 * include/grub/script.h: Likewise.
37187 * normal/execute.c: Likewise.
37188 * normal/function.c: Likewise.
37189 * normal/lexer.c: Likewise.
37190 * normal/parser.y: Likewise.
37191 * normal/script.c: Likewise.
37192
37193 * configure.ac: Add `AC_PROG_YACC' test.
37194
37195 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
37196 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
37197 `normal/function.c' and `normal/script.c'.
37198 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37199 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37200 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
37201 variables.
37202 (pkgdata_MODULES): Add `test.mod'.
37203 (grub_script.tab.c): New rule.
37204 (grub_script.tab.h): Likewise.
37205
37206 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
37207
37208 * include/grub/normal.h (grub_test_init): New prototype.
37209 (grub_test_fini): Likewise.
37210
37211 * normal/command.c: Include <grub/script.h>.
37212 (grub_command_execute): Rewritten.
37213
37214 * util/grub-emu.c (main): Call `grub_test_init' and
37215 `grub_test_fini'.
37216
37217 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37218
37219 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
37220 to 0.
37221 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
37222 there are no pending characters.
37223
37224 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37225
37226 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
37227 `grub_strndup' to drop device arguments. Replace unnecessary
37228 `grub_strndup' with `grub_strdup'.
37229
37230 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37231
37232 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
37233 `debug' environment variable has been set.
37234
37235 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
37236
37237 * Makefile.in (install-local): Use $(DATA).
37238 (uninstall): Likewise.
37239 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
37240 (sbin_UTILITIES): ... to here.
37241 (sbin_SCRIPTS): New variable.
37242 (grub_install_SOURCES): New variable.
37243 * util/powerpc/ieee1275/grub-install.in: New file.
37244 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
37245 variable.
37246 (add_segments): Call `grub_util_get_path'.
37247
37248 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37249
37250 From Timothy Baldwin:
37251 * commands/ls.c (grub_ls_list_files): Close FILE with
37252 grub_file_close.
37253 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
37254
37255 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
37256
37257 * include/grub/parser.h: New file.
37258
37259 * kern/parser.c: Likewise.
37260
37261 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
37262 (grub_setup_SOURCES): Likewise.
37263 (grub_probefs_SOURCES): Likewise.
37264 (grub_emu_SOURCES): Likewise.
37265 (kernel_img_HEADERS): Add `parser.h'.
37266
37267 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37268 (grub_emu_SOURCES): Add `kern/parser.c'.
37269 (grubof_SOURCES): Likewise.
37270
37271 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37272 (grubof_SOURCES): Add `kern/parser.c'.
37273
37274 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
37275
37276 * kern/misc.c (grub_split_cmdline): Removed function.
37277
37278 * kern/rescue.c: Include <grub/parser.h>.
37279 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
37280 of `grub_split_cmdline'.
37281
37282 * normal/command.c: Include <grub/parser.h>.
37283 (grub_command_execute): Use `grub_parser_split_cmdline' instead
37284 of `grub_split_cmdline'.
37285
37286 * normal/completion.c: Include <grub/parser.h>.
37287 (cmdline_state): New variable.
37288 (iterate_dir): End the filename with a quote depending on the
37289 command line state.
37290 (get_state): new function.
37291 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
37292 split the arguments and determine the current argument. When the
37293 argument string is not quoted, escape all spaces.
37294
37295 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37296
37297 * normal/sparc64/setjmp.S: New file.
37298
37299 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37300
37301 * include/grub/sparc64/libgcc.h: New file.
37302 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37303 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37304 normal/sparc64/setjmp.c.
37305
37306 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37307
37308 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37309 * kern/sparc64/cache.S: New file.
37310 * kern/sparc64/cache.c: Removed.
37311 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37312 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37313 -mtune=ultrasparc.
37314 (COMMON_LDFLAGS): Add -melf64_sparc.
37315 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37316 (grubof_SOURCES): Use cache.S instead of cache.c.
37317 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37318 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37319 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37320 commented though.
37321 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37322 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37323 (linux_mod_CFLAGS): Commented out.
37324 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37325 out because module isn't built.
37326 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37327 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37328 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37329 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37330 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37331 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37332 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37333 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37334 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37335 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37336 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37337 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37338 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37339 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37340
37341 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37342
37343 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37344 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37345 longer, because HFS should not be used on PC.
37346
37347 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37348
37349 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37350 consistently within the loop.
37351
37352 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
37353
37354 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37355 directory can not be read.
37356
37357 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37358
37359 * configure.ac (AC_INIT): Increase the version number to 1.91.
37360
37361 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37362 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37363 term/i386/pc/serial.c.
37364
37365 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37366
37367 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37368 file size must be permitted.
37369
37370 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37371 between %ah and %al.
37372
37373 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37374
37375 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37376 grub_uint64_t.
37377 Call the hook with a NUL-terminated filename.
37378 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37379 grub_cpu_to_be32.
37380
37381 * kern/term.c (cursor_state): New variable.
37382 (grub_term_set_current): Reset the cursor state on a new
37383 terminal.
37384 (grub_setcursor): Rewritten to use CURSOR_STATE.
37385 (grub_getcursor): New function.
37386
37387 * include/grub/term.h (grub_getcursor): New prototype.
37388
37389 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37390 integers on ARM. Reported by Timothy Baldwin
37391 <T.E.Baldwin99@members.leeds.ac.uk>.
37392
37393 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
37394
37395 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37396 allocated.
37397 (grub_sfs_dir): Likewise.
37398
37399 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
37400
37401 Add support for the SFS filesystem.
37402
37403 * fs/sfs.c: New file.
37404
37405 * DISTLIST: Added `fs/sfs.c'.
37406
37407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37408 (grub_probefs_SOURCES): Likewise.
37409 (grub_emu_SOURCES): Likewise.
37410 (pkgdata_MODULES): Add `sfs.mod'.
37411 (sfs_mod_SOURCES): New variable.
37412 (sfs_mod_CFLAGS): Likewise.
37413 (sfs_mod_LDFLAGS): Likewise.
37414
37415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37416 (pkgdata_MODULES): Add `sfs.mod'.
37417 (sfs_mod_SOURCES): New variable.
37418 (sfs_mod_CFLAGS): Likewise.
37419
37420 * util/grub-emu.c (main): Call `grub_sfs_init' and
37421 `grub_sfs_fini'.
37422
37423 * include/grub/fs.h (grub_sfs_init): New prototype.
37424 (grub_sfs_fini): Likewise.
37425
37426 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
37427
37428 Add support for the AFFS filesystem.
37429
37430 * fs/affs.c: New file.
37431
37432 * DISTLIST: Added `fs/affs.c'.
37433
37434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37435 (grub_probefs_SOURCES): Likewise.
37436 (grub_emu_SOURCES): Likewise.
37437 (pkgdata_MODULES): Add `affs.mod'.
37438 (affs_mod_SOURCES): New variable.
37439 (affs_mod_CFLAGS): Likewise.
37440 (affs_mod_LDFLAGS): Likewise.
37441
37442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37443 (pkgdata_MODULES): Add `affs.mod'.
37444 (affs_mod_SOURCES): New variable.
37445 (affs_mod_CFLAGS): Likewise.
37446
37447 * util/grub-emu.c (main): Call `grub_affs_init' and
37448 `grub_affs_fini'.
37449
37450 * include/grub/fs.h (grub_affs_init): New prototype.
37451 (grub_affs_fini): Likewise.
37452
37453 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
37454
37455 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37456
37457 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
37458
37459 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37460 `-m32' to CFLAGS.
37461
37462 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37463 linking.
37464
37465 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37466 (COMMON_LDFLAGS): New variable.
37467 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37468 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37469 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37470 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37471 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37472 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37473 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37474 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37475 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37476 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37477 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37478 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37479 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37480 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37481 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37482 variables.
37483 (normal_mod_ASFLAGS): Add `-m32'.
37484
37485 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37486 (grub_host_size_t, grub_host_ssize_t): New types.
37487 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
37488 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
37489 `GRUB_HOST_SIZEOF_VOID_P'.
37490
37491 * include/grub/kernel.h (struct grub_module_header): Type of
37492 member offset changed to `grub_host_off_t'. Type of member size
37493 changed to `grub_host_size_t'.
37494 (struct grub_module_info): Type of member offset changed to
37495 `grub_host_off_t'. Type of member size changed to
37496 `grub_host_size_t'.
37497
37498 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37499
37500 Make GRUB's kernel compliant to Multiboot Specification.
37501
37502 * kern/i386/pc/startup.S (multiboot_header): New label.
37503 (multiboot_entry): Likewise.
37504 (multiboot_trampoline): Likewise.
37505
37506 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37507 Increased to 0x4A0.
37508
37509 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37510 put parentheses after a question mark.
37511 [!GRUB_UTIL] (my_mod): New variable.
37512
37513 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37514
37515 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
37516
37517 Adds support for the XFS filesystem. Btrees are not supported
37518 yet.
37519
37520 * fs/xfs.c: New file.
37521
37522 * DISTLIST: Added `fs/xfs.c'.
37523
37524 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37525 (grub_probefs_SOURCES): Likewise.
37526 (grub_emu_SOURCES): Likewise.
37527 (pkgdata_MODULES): Add `xfs.mod'.
37528 (xfs_mod_SOURCES): New variable.
37529 (xfs_mod_CFLAGS): Likewise.
37530
37531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37532 (pkgdata_MODULES): Add `xfs.mod'.
37533 (xfs_mod_SOURCES): New variable.
37534 (xfs_mod_CFLAGS): Likewise.
37535
37536 * util/grub-emu.c (main): Call `grub_xfs_init' and
37537 `grub_xfs_fini'.
37538
37539 * include/grub/fs.h (grub_xfs_init): New prototype.
37540 (grub_xfs_fini): Likewise.
37541
37542
37543 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37544
37545 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37546 color modes, allow greater than 16 colors to be configured as
37547 a default palette.
37548
37549 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37550
37551 * normal/completion.c (complete_arguments): Add the qualifier
37552 const into OPTIONS.
37553
37554 From Omniflux <omniflux+lists@omniflux.com>:
37555 * include/grub/terminfo.h: New file.
37556 * include/grub/tparm.h: Likewise.
37557 * include/grub/i386/pc/serial.h: Likewise.
37558 * term/terminfo.c: Likewise.
37559 * term/tparm.c: Likewise.
37560 * term/i386/pc/serial.c: Likewise.
37561 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37562 serial.mod.
37563 (terminfo_mod_SOURCES): New variable.
37564 (terminfo_mod_CFLAGS): Likewise.
37565 (serial_mod_SOURCES): Likewise.
37566 (serial_mod_CFLAGS): Likewise.
37567
37568 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37569
37570 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37571 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37572 and kern/powerpc/ieee1275/cmain.c, respectively.
37573
37574 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37575 * kern/powerpc/ieee1275/crt0.S: ... here.
37576
37577 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37578 * kern/powerpc/ieee1275/cmain.c: ... here.
37579
37580 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37581 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37582 instead of boot/powerpc/ieee1275/crt0.S and
37583 boot/powerpc/ieee1275/cmain.c, respectively.
37584
37585 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37586 sectors. It was not used anyway.
37587
37588 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37589
37590 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37591 `unused parameter' warning.
37592
37593 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37594
37595 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37596 function.
37597 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37598 getcharwidth.
37599
37600 2005-08-28 Marco Gerards <metgerards@student.han.nl>
37601
37602 * include/grub/normal.h (enum grub_completion_type): Added
37603 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37604
37605 * normal/cmdline.c (print_completion): Handle
37606 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37607 * normal/menu_entry.c (store_completion): Likewise.
37608
37609 * normal/completion.c (complete_arguments): New function.
37610 (grub_normal_do_completion): Call `complete_arguments' when the
37611 current words start with a dash.
37612
37613 2005-08-27 Marco Gerards <metgerards@student.han.nl>
37614
37615 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37616 `gzio.mod' instead of `io.mod').
37617
37618 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37619
37620 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37621 (DISTDIRS): Added io and video.
37622 Rewrite the search routine to make an output consistently.
37623
37624 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37625 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37626 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37627 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37628 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37629 util/powerpc/ieee1275/misc.c.
37630
37631 * include/grub/gzio.h: New file.
37632 * io/gzio.c: Likewise.
37633
37634 * kern/file.c (grub_file_close): Call grub_device_close only if
37635 FILE->DEVICE is not NULL.
37636
37637 * include/grub/mm.h [!NULL] (NULL): New macro.
37638
37639 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37640
37641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37642 (pkgdata_MODULES): Added gzio.mod.
37643 (gzio_mod_SOURCES): New variable.
37644 (gzio_mod_CFLAGS): Likewise.
37645
37646 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37647 (pkgdata_MODULES): Added gzio.mod.
37648 (gzio_mod_SOURCES): New variable.
37649 (gzio_mod_CFLAGS): Likewise.
37650
37651 * commands/cat.c: Include grub/gzio.h.
37652 (grub_cmd_cat): Use grub_gzfile_open instead of
37653 grub_file_open.
37654
37655 * commands/cmp.c: Include grub/gzio.h.
37656 (grub_cmd_cmp): Use grub_gzfile_open instead of
37657 grub_file_open.
37658
37659 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37660 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37661 grub_file_open.
37662 (grub_rescue_cmd_module): Likewise.
37663
37664 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37665
37666 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37667 kern/sparc64/ieee1275/init.c because it contains _start.
37668 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37669
37670 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37671
37672 * configure.ac: Add support for sparc64 host with ieee1275
37673 firmware.
37674 * configure: Generated from configure.ac.
37675 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37676 instead of int.
37677 (grub_ofdisk_read): Likewise.
37678 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37679 pointers as (void *) to remove a warning.
37680 (grub_ofdisk_close): Likewise.
37681 (grub_ofdisk_read): Likewise.
37682 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37683 returns, so make it return void to remove a warning.
37684 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37685 Corresponding prototype change.
37686 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37687 values, and cast the pointers as (void *) to remove a warning.
37688 (grub_mm_dump): Likewise.
37689 * conf/sparc64-ieee1275.mk: New file.
37690 * conf/sparc64-ieee1275.rmk: Likewise.
37691 * include/grub/sparc64/setjmp.h: Likewise.
37692 * include/grub/sparc64/types.h: Likewise.
37693 * include/grub/sparc64/ieee1275/console.h: Likewise.
37694 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37695 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37696 * include/grub/sparc64/ieee1275/time.h: Likewise.
37697 * kern/sparc64/cache.c: Likewise.
37698 * kern/sparc64/dl.c: Likewise.
37699 * kern/sparc64/ieee1275/init.c: Likewise.
37700 * kern/sparc64/ieee1275/openfw.c: Likewise.
37701
37702 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37703
37704 * util/console.c (grub_ncurses_putchar): If C is greater than
37705 0x7f, set C to a question mark.
37706 (grub_ncurses_getcharwidth): New function.
37707 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37708 getcharwidth.
37709
37710 * normal/menu.c (print_entry): Made aware of Unicode. First,
37711 convert TITLE to UCS-4, and predict the cursor position by
37712 grub_getcharwidth.
37713
37714 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37715 const to SRC.
37716 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37717
37718 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37719
37720 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37721 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37722 grub_strcat.
37723
37724 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37725 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37726 grub_strcpy and grub_strlen. Take it into account that a space
37727 character is inserted as a delimiter.
37728
37729 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37730
37731 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
37732 invalid magic in the error.
37733
37734 * commands/search.c: New file.
37735
37736 * util/grub-emu.c (main): Call grub_search_init and
37737 grub_search_fini.
37738
37739 * kern/rescue.c (grub_rescue_print_disks): Removed.
37740 (grub_rescue_print_devices): New function.
37741 (grub_rescue_cmd_ls): Use grub_device_iterate with
37742 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37743 grub_rescue_print_disks.
37744
37745 * kern/partition.c (grub_partition_iterate): Return the result of
37746 PARTMAP->ITERATE instead of GRUB_ERRNO.
37747
37748 * kern/device.c: Include grub/partition.h.
37749 (grub_device_iterate): New function.
37750
37751 * include/grub/partition.h (grub_partition_iterate): Return int
37752 instead of grub_err_t.
37753
37754 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37755 prototype.
37756 [GRUB_UTIL] (grub_search_fini): Likewise.
37757
37758 * include/grub/device.h (grub_device_iterate): New prototype.
37759
37760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37761 commands/search.c.
37762 (pkgdata_MODULES): Added search.mod.
37763 (search_mod_SOURCES): New variable.
37764 (search_mod_CFLAGS): Likewise.
37765
37766 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37767 (pkgdata_MODULES): Added search.mod.
37768 (search_mod_SOURCES): New variable.
37769 (search_mod_CFLAGS): Likewise.
37770
37771 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37772 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37773 All callers changed.
37774
37775 * DISTLIST: Added commands/search.c.
37776
37777 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37778
37779 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37780 conversion.
37781 (grub_getcharwidth): New function.
37782
37783 * kern/misc.c (grub_utf8_to_ucs4): New function.
37784
37785 * include/grub/term.h (struct grub_term): Added a new member
37786 "getcharwidth".
37787 (grub_getcharwidth): New prototype.
37788
37789 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37790
37791 * term/i386/pc/console.c (map_char): New function. Segregated from
37792 grub_console_putchar.
37793 (grub_console_putchar): Use map_char.
37794 (grub_console_getcharwidth): New function.
37795 (grub_console_term): Specified grub_console_getcharwidth as
37796 getcharwidth.
37797
37798 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37799 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37800
37801 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37802 GRUB_ERRNO.
37803 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37804 on grub_strtoul completely.
37805 (write_char): Declare local variables in the beginning of the
37806 function.
37807 (grub_vesafb_getcharwidth): New function.
37808 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37809 getcharwidth.
37810
37811 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37812
37813 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37814 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37815 commands/i386/pc/vbetest.c.
37816
37817 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37818 call grub_vbe_get_controller_info again, because the returned
37819 information is volatile.
37820 (grub_vbe_set_video_mode): Mostly rewritten.
37821 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37822 grub_vbe_status_t correctly.
37823 (grub_vbe_get_video_mode_info): Likewise.
37824 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37825 several if statements.
37826
37827 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37828 * commands/i386/pc/vbeinfo.c: ... this.
37829
37830 * commands/i386/pc/vbe_test.c: Renamed to ...
37831 * commands/i386/pc/vbetest.c: ... this.
37832
37833 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37834 ...
37835 (grub_cmd_vbeinfo): ... this. Save video modes before
37836 iterating. Skip a video mode, if it is not available, not enough
37837 information is given or it is monochrome. Show the memory
37838 model. Leave the interpretation of MODEVAR to grub_strtoul
37839 completely.
37840 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37841 (GRUB_MOD_FINI): Likewise.
37842
37843 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37844 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37845 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37846 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37847 grub_strtoul completely.
37848 (real2pm): Removed.
37849 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37850 (GRUB_MOD_FINI): Likewise.
37851
37852 * normal/misc.c: Include grub/mm.h.
37853
37854 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37855 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37856 (vbe_list_modes_mod_SOURCES): Removed.
37857 (vbe_list_modes_mod_CFLAGS): Likewise.
37858 (vbe_test_mod_SOURCES): Likewise.
37859 (vbe_test_mod_CFLAGS): Likewise.
37860 (vbeinfo_mod_SOURCES): New variable.
37861 (vbeinfo_mod_CFLAGS): Likewise.
37862 (vbetest_mod_SOURCES): Likewise.
37863 (vbetest_mod_CFLAGS): Likewise.
37864
37865 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37866
37867 * normal/misc.c: New file.
37868
37869 * DISTLIST: Added normal/misc.c.
37870
37871 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37872 DISK to HOOK. Call HOOK with DISK.
37873 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37874 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37875 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37876
37877 * normal/menu_entry.c (struct screen): Added a new member
37878 "completion_shown".
37879 (completion_buffer): New global variable.
37880 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37881 (store_completion): New function.
37882 (complete): Likewise.
37883 (clear_completions): Likewise.
37884 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37885 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37886 a tab, call complete.
37887
37888 * normal/completion.c (disk_dev): Removed.
37889 (print_simple_completion): Likewise.
37890 (print_partition_completion): Likewise.
37891 (print_func): New global variable.
37892 (add_completion): Do not take the arguments WHAT or PRINT any
37893 longer. Added a new argument TYPE. Instead of printing directly,
37894 call PRINT_FUNC if not NULL.
37895 All callers changed.
37896 (complete_device): Use a local variable DEV instead of
37897 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37898 (grub_normal_do_completion): Take a new argument HOOK. Do not
37899 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37900 empty string, return NULL instead.
37901 All callers changed.
37902
37903 * normal/cmdline.c (print_completion): New function.
37904
37905 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37906 to HOOK.
37907 All callers changed.
37908
37909 * kern/disk.c (grub_print_partinfo): Removed.
37910
37911 * include/grub/partition.h (struct grub_partition_map): Add a new
37912 argument DISK into HOOK of ITERATE.
37913 (grub_partition_iterate): Add a new argument DISK to HOOK.
37914
37915 * include/grub/normal.h (enum grub_completion_type): New enum.
37916 (grub_completion_type_t): New type.
37917 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37918 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37919 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37920 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37921 (grub_normal_do_completion): Added a new argument HOOK.
37922 (grub_normal_print_device_info): New prototype.
37923
37924 * include/grub/disk.h (grub_print_partinfo): Removed.
37925
37926 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37927 (normal_mod_SOURCES): Likewise.
37928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37929 (normal_mod_SOURCES): Likewise.
37930
37931 * commands/ls.c (grub_ls_list_disks): Use
37932 grub_normal_print_device_info instead of grub_print_partinfo. Free
37933 PNAME.
37934 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37935 duplicating the code.
37936
37937 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37938
37939 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37940 follow GCS more precisely.
37941 * commands/i386/pc/vbe_test.c: Likewise.
37942 * include/grub/i386/pc/vbe.h: Likewise.
37943 * term/i386/pc/vesafb.c: Likewise.
37944 * video/i386/pc/vbe.c: Likewise.
37945
37946 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37947
37948 * DISTLIST: Added term/i386/pc/vesafb.c
37949 DISTLIST: Added video/i386/pc/vbe.c
37950 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37951 DISTLIST: Added commands/i386/pc/vbe_test.c.
37952 * commands/i386/pc/vbe_list_modes.c: New file.
37953 * commands/i386/pc/vbe_test.c: Likewise.
37954 * term/i386/pc/vesafb.c: Likewise.
37955 * video/i386/pc/vbe.c: Likewise.
37956 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37957 (grub_vbe_probe) Added prototype.
37958 (grub_vbe_set_video_mode) Likewise.
37959 (grub_vbe_get_video_mode) Likewise.
37960 (grub_vbe_get_video_mode_info) Likewise.
37961 (grub_vbe_set_pixel_rgb) Likewise.
37962 (grub_vbe_set_pixel_index) Likewise.
37963 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37964 (pkgdata_MODULES): Added vesafb.mod.
37965 (pkgdata_MODULES): Added vbe_list_modes.mod.
37966 (pkgdata_MODULES): Added vbe_test.mod.
37967 (vbe_mod_SOURCES): Added.
37968 (vbe_mod_CFLAGS): Likewise.
37969 (vesafb_mod_SOURCES): Likewise.
37970 (vesafb_mod_CFLAGS): Likewise.
37971 (vbe_list_modes_mod_SOURCES): Likewise.
37972 (vbe_list_modes_mod_CFLAGS): Likewise.
37973 (vbe_test_mod_SOURCES): Likewise.
37974 (vbe_test_mod_CFLAGS): Likewise.
37975
37976 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37977
37978 * normal/command.c (grub_command_execute): If INTERACTIVE is
37979 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37980 CMDLINE. Disable the pager if INTERACTIVE is true.
37981 All callers are changed.
37982
37983 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37984 before reading a config file.
37985 * normal/main.c (read_config_file): Even if a command is not
37986 found, register it if it is within an entry.
37987
37988 * util/grub-emu.c: Include sys/types.h and unistd.h.
37989 (options): Added --hold.
37990 (struct arguments): Added a new member "hold".
37991 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37992 missing.
37993 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37994 cleared by a debugger, if it is not zero.
37995
37996 * include/grub/normal.h (grub_command_execute): Add an argument
37997 INTERACTIVE.
37998
37999 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
38000
38001 * DISTLIST: Added include/grub/i386/pc/vbe.h.
38002
38003 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
38004
38005 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
38006 program with another one, because the old one didn't detect a bug
38007 in gcc-3.4. Always use regparm 2, because the new test is still
38008 not enough for gcc-4.0. Someone must investigate a simple test
38009 case which detects a bug in gcc-4.0.
38010
38011 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
38012
38013 * DISTLIST: Added normal/completion.c.
38014
38015 * normal/completion.c: New file.
38016
38017 * term/i386/pc/console.c (grub_console_getwh): New function.
38018 (grub_console_term): Assign grub_console_getwh to getwh.
38019
38020 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
38021 function is defined in normal/completion.c as
38022 grub_normal_do_completion.
38023 (grub_cmdline_get): Use grub_normal_do_completion instead of
38024 grub_tab_complete.
38025
38026 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
38027 returns non-zero, otherwise return 0.
38028 (grub_partition_iterate): First, probe the partition map. Then,
38029 call ITERATE only for this partition map.
38030
38031 * kern/misc.c (grub_strncmp): Rewritten.
38032
38033 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
38034 returns non-zero. Otherwise return 0.
38035
38036 * include/grub/partition.h (grub_partition_map_iterate): Return
38037 int instead of void.
38038
38039 * include/grub/normal.h (grub_normal_do_completion): New prototype.
38040
38041 * include/grub/misc.h (grub_strncmp): Change the type of N to
38042 grub_size_t.
38043
38044 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
38045 of void.
38046
38047 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
38048 unsigned explicitly before comparing it with I.
38049
38050 * kern/main.c (grub_env_write_root): Add the attribute unused into
38051 VAR.
38052
38053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38054 normal/completion.c.
38055 (normal_mod_SOURCES): Likewise.
38056 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38057 (normal_mod_SOURCES): Likewise.
38058
38059 * normal/command.c (grub_iterate_commands): If ITERATE returns
38060 non-zero, return one immediately.
38061
38062 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
38063
38064 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
38065 * kern/i386/pc/startup.S: Updated Global Descriptor table's
38066 descriptions.
38067 (grub_vbe_get_controller_info): New function.
38068 (grub_vbe_get_mode_info): Likewise.
38069 (grub_vbe_set_mode): Likewise.
38070 (grub_vbe_get_mode): Likewise.
38071 (grub_vbe_set_memory_window): Likewise.
38072 (grub_vbe_get_memory_window): Likewise.
38073 (grub_vbe_set_scanline_length): Likewise.
38074 (grub_vbe_get_scanline_length): Likewise.
38075 (grub_vbe_set_display_start): Likewise.
38076 (grub_vbe_get_display_start): Likewise.
38077 (grub_vbe_set_palette_data): Likewise.
38078 * include/grub/i386/pc/vbe.h: New file.
38079
38080 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38081
38082 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38083 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
38084 * DISTLIST: Likewise.
38085 * kern/ieee1275/of.c: Moved to ...
38086 * kern/ieee1275/ieee1275.c: ... here.
38087
38088 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38089
38090 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
38091 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
38092 Pass 0 as `end' parameter to grub_strtoul().
38093
38094 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38095
38096 * include/grub/powerpc/ieee1275/console.h: Do not include
38097 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
38098 ifdef.
38099 (grub_console_cur_color): Remove i386-specific prototype.
38100 (grub_console_real_putchar): Likewise.
38101 (grub_console_checkkey): Likewise.
38102 (grub_console_getkey): Likewise.
38103 (grub_console_getxy): Likewise.
38104 (grub_console_gotoxy): Likewise.
38105 (grub_console_cls): Likewise.
38106 (grub_console_setcursor): Likewise.
38107 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
38108 Include <grub/machine/console.h>.
38109 * term/ieee1275/ofconsole.c: Likewise.
38110
38111 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
38112
38113 * Makefile.in (LIBLZO): New variable.
38114
38115 * configure.ac: Check for LZO version 2.
38116
38117 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
38118 lzo/lzo1x.h instead of lzo1x.h.
38119
38120 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
38121 of -llzo.
38122
38123 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
38124 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
38125
38126 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
38127 copying the data from PARTITION to P.
38128
38129 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38130
38131 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
38132 negative, unload the module.
38133
38134 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
38135 map is "pc_partition_map" but not "pc".
38136 (usage): Fix the description. The options are --boot-image and
38137 --core-image but not --boot-file or --core-file.
38138 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
38139 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
38140 DEFAULT_DIRECTORY.
38141
38142 * util/i386/pc/grub-install.in: Do not specify --boot-file or
38143 --core-file. Specify INSTALL_DEVICE as an argument.
38144
38145 * util/console.c: Include config.h.
38146 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
38147 [HAVE_NCURSES_H]: Include ncurses.h.
38148 [HAVE_CURSES_H]: Include curses.h.
38149 [!A_NORMAL] (A_NORMAL): Defined as zero.
38150 [!A_STANDOUT] (A_STANDOUT): Likewise.
38151
38152 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
38153 -lncurses.
38154 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
38155
38156 * configure.ac: Check for curses libraries and headers.
38157
38158 * Makefile.in (LIBCURSES): New variable.
38159
38160 * genmk.rb (Script::rule): Set the executable bits.
38161
38162 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
38163 name of the PC partition map is "pc_partition_map" but not "pc".
38164
38165 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38166
38167 * util/i386/pc/grub-install.in (grub_probefs): New variable.
38168 (modules): Likewise.
38169 (usage): Added descriptions for --modules and --grub-probefs.
38170 Handle --modules and --grub-probefs. Save the arguments in MODULES
38171 and GRUB_PROBEFS, respectively.
38172 Auto-detect a filesystem module against GRUBDIR. If the result is
38173 empty and modules are not specified explicitly, abort the
38174 installation. Add the result to MODULES.
38175
38176 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
38177 disk/powerpc/ieee1275/ofdisk.c,
38178 include/grub/powerpc/ieee1275/init.h and
38179 term/powerpc/ieee1275/ofconsole.c.
38180 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
38181 term/ieee1275/ofconsole.c.
38182
38183 * include/grub/powerpc/ieee1275/console.h: Resurrected.
38184
38185 * COPYING: Upgraded to the latest version. Only the address of the
38186 FSF office has changed.
38187
38188 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38189
38190 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38191 kern/ieee1275.c with kern/ieee1275/of.c.
38192
38193 * kern/ieee1275.c: Moved to ...
38194 * kern/ieee1275/of.c: ... here.
38195
38196 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
38197
38198 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
38199 readability.
38200
38201 * config.guess: Updated to the latest version from gnulib.
38202 * config.sub: Likewise.
38203 * install.sh: Likewise.
38204 * mkinstalldirs: Likewise.
38205
38206 * include/grub/console.h: Removed. This file is arch-specific. Do
38207 not put this in include/grub.
38208
38209 * include/grub/i386/pc/console.h: Resurrected.
38210
38211 * util/console.c: Include grub/machine/console.h instead of
38212 grub/console.h.
38213 * util/grub-emu.c: Likewise.
38214
38215 2005-08-04 Marco Gerards <metgerards@student.han.nl>
38216
38217 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
38218 hardcoded value.
38219
38220 From Vincent Pelletier <subdino2004@yahoo.fr>
38221 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
38222 Redefined to use grub_getwh.
38223 (grub_term): New member named getwh.
38224 (grub_getwh): New prototype.
38225 * kern/term.c (grub_getwh): New function.
38226 * term/i386/pc/console.c (grub_console_getwh): New function.
38227 (grub_console_term): New member `getwh'.
38228 * term/i386/pc/vga.c (grub_vga_getwh): New function.
38229 (grub_vga_term): New member `getwh'.
38230 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
38231 grub_ssize_t.
38232 (grub_ofconsole_getw): New function.
38233 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
38234 (grub_ofconsole_term): New field named getwh and new initial
38235 value.
38236
38237 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
38238
38239 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
38240 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
38241 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
38242 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
38243 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
38244 of <grub/machine/ieee1275.h>.
38245 * commands/ieee1275/reboot.c: Likewise.
38246 * boot/powerpc/ieee1275/ieee1275.c: Move ...
38247 * kern/ieee1275.c: ... to here. All users updated. Change all
38248 parameter structs to use new type `grub_ieee1275_cell_t'.
38249 * term/powerpc/ieee1275/ofconsole.c: Move ...
38250 * term/ieee1275/ofconsole.c: ... to here. All users updated.
38251 * disk/powerpc/ieee1275/ofdisk.c: Move ...
38252 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
38253 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
38254 to return int.
38255 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
38256 Remove unused prototypes. All users updated.
38257 * include/grub/powerpc/ieee1275/console.h: Removed.
38258 * include/grub/powerpc/ieee1275/ieee1275.h: Define
38259 `grub_ieee1275_cell_t'.
38260 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
38261 Cast comparisons with -1 to the correct type.
38262 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
38263 type to match `grub_ieee1275_entry_fn'.
38264
38265 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
38266
38267 * DISTLIST: Added util/i386/pc/grub-probefs.c.
38268
38269 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
38270 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
38271 partmap/sun.c.
38272 (grub_probefs_SOURCES): New variable.
38273
38274 * util/i386/pc/grub-probefs.c: New file.
38275
38276 * util/i386/pc/grub-setup.c (main): Call
38277 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
38278 grub_hfs_init and grub_jfs_init to initialize the system. Call
38279 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
38280 grub_pc_partition_map_fini to finish the system.
38281
38282 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
38283
38284 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
38285 function.
38286 (grub_multiboot_load_elf32): Likewise.
38287 (grub_multiboot_is_elf64): Likewise.
38288 (grub_multiboot_load_elf64): Likewise.
38289 (grub_multiboot_load_elf): Likewise.
38290 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
38291 an ELF32 or ELF64 file.
38292 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
38293
38294 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
38295 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
38296 NULL before calling FS->LABEL.
38297 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38298 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38299 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38300 before calling FS->LABEL.
38301
38302 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38303
38304 * util/i386/pc/grub-install.in (datadir): New variable.
38305 (libdir): Removed.
38306 (pkgdatadir): New variable.
38307 (pkglibdir): Removed.
38308
38309 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38310
38311 * DISTLIST: Added util/i386/pc/grub-install.in.
38312
38313 * util/i386/pc/grub-install.in: New file.
38314
38315 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38316 (grub_install_SOURCES): Likewise.
38317
38318 * genmk.rb: Added support for scripts.
38319 (Script): New class.
38320 (scripts): New variable.
38321
38322 * Makefile.in (install-local): Install sbin_SCRIPTS by
38323 INSTALL_SCRIPT.
38324 (uninstall): Remove sbin_SCRIPTS.
38325
38326 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38327 device, try to get a GRUB device by
38328 grub_util_biosdisk_get_grub_dev.
38329 Free DEST_DEV.
38330
38331 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38332 description for --device-map.
38333
38334 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38335
38336 Change the semantics of variable hooks. They now return strings
38337 instead of error values.
38338
38339 * util/i386/pc/grub-setup.c: Include grub/env.h.
38340 (setup): Use grub_device_set_root instead of grub_env_set.
38341
38342 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38343 grub_env_get instead of grub_device_set_root and
38344 grub_device_get_root, respectively.
38345
38346 * kern/main.c (grub_env_write_root): New function.
38347 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38348 grub_env_set instead of grub_device_set_root.
38349
38350 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38351 many variables.
38352 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38353 rather than calling ENV->WRITE_HOOK afterwards.
38354 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38355 passing a pointer of a pointer.
38356 (grub_register_variable_hook): Change the types of "read_hook" and
38357 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38358 respectively.
38359 Allocate the default empty string on the heap, because this string
38360 may be freed later.
38361
38362 * kern/device.c: Include grub/env.h.
38363 (grub_device_set_root): Removed.
38364 (grub_device_get_root): Likewise.
38365 (grub_device_open): Use grub_env_get instead of
38366 grub_device_get_root.
38367
38368 * include/grub/env.h (grub_env_read_hook_t): New type.
38369 (grub_env_write_hook_t): Likewise.
38370 (grub_env_var): Change the types of "read_hook" and "write_hook"
38371 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38372 (grub_register_variable_hook): Likewise.
38373
38374 * include/grub/device.h (grub_device_set_root): Removed.
38375 (grub_device_set_root): Likewise.
38376
38377 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38378 make sure that DIRNAME terminates with '/', so that
38379 grub_fat_find_dir will fail if PATH is not a directory.
38380
38381 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38382 from DIRNAME.
38383 Use the qualifier auto for print_files and print_files_long.
38384 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38385 as a regular file.
38386 Put a newline only if there is no error.
38387 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38388 used.
38389
38390 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38391
38392 * kern/partition.c (grub_partition_probe): Initialize PART to
38393 NULL. Otherwise, when no partition map is registered, this returns
38394 a garbage.
38395
38396 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38397
38398 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38399 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38400 valid.
38401
38402 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38403
38404 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38405 information on each device, if it does not have partitions. Print
38406 "Device" instead of "Disk", because this function is not specific
38407 to disk devices.
38408
38409 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38410 static to ensure that it is put on the memory rather than a
38411 register.
38412
38413 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38414
38415 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38416 (grub_cat_init): Likewise.
38417 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38418 (options): Likewise.
38419 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38420 (grub_configfile_init): Likewise.
38421 * font/manager.c (GRUB_MOD_INIT): Likewise.
38422 * commands/help.c (GRUB_MOD_INIT): Likewise.
38423 (grub_help_init): Likewise.
38424 * normal/command.c (grub_command_init): Likewise.
38425 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38426 * disk/loopback.c (grub_loop_init): Likewise.
38427 (GRUB_MOD_INIT): Likewise.
38428 * commands/ls.c (grub_ls_init): Likewise.
38429 (GRUB_MOD_INIT): Likewise.
38430 (options): Likewise.
38431 * commands/boot.c (grub_boot_init): Likewise.
38432 (GRUB_MOD_INIT): Likewise.
38433 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38434 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38435 (GRUB_MOD_INIT): Likewise.
38436 * commands/cmp.c (grub_cmp_init): Likewise.
38437 (GRUB_MOD_INIT): Likewise.
38438
38439 * normal/arg.c: Use <> instead of "" to include header files.
38440 (SHORT_ARG_HELP): New macro.
38441 (SHORT_ARG_USAGE): Likewise.
38442 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38443 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38444 descriptions.
38445 (find_short): Check if C is 'h' or 'u' explicitly.
38446 (grub_arg_show_help): Use space characters instead of tabs. Treat
38447 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38448 are shown with --help and --usage only if they are not used for
38449 the command itself.
38450 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38451 'h' and 'u'.
38452
38453 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38454 const into "longarg". Change the type of "shortarg" to int.
38455
38456 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38457
38458 * boot/i386/pc/boot.S (boot_drive_check): New label.
38459
38460 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38461 macro.
38462
38463 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38464 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38465
38466 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38467
38468 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38469 When turning off Gate A20, skip the check and return immediately,
38470 because this is not fatal usually.
38471
38472 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38473
38474 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38475 be 0x7C00 instead of 0x8000.
38476
38477 * boot/i386/pc/pxeboot.S: Rewritten.
38478
38479 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38480 EXT_C.
38481 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38482 result.
38483
38484 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38485
38486 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38487 robustness. This routine now supports a BIOS call and System
38488 Control Port A to modify the gate A20.
38489
38490 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38491 Increased to 0x440.
38492
38493 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38494
38495 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38496 device path and resulting ihandle.
38497 (grub_ofdisk_close): dprintf the ihandle being closed.
38498 (grub_ofdisk_read): dprintf function parameters.
38499 * kern/mm.c (grub_mm_init_region): Likewise.
38500 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38501 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38502 size, and boot arguments.
38503 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38504 before loading into memory.
38505 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38506 before loading into memory.
38507
38508 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38509
38510 * kern/mm.c: Added much documentation.
38511 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38512 8, set to 5 instead of 8.
38513
38514 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38515
38516 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38517
38518 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38519 (grub_mkdevicemap_SOURCES): New variable.
38520
38521 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38522 lib/device.c of GRUB Legacy.
38523
38524 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38525
38526 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38527 instead of PATH is NULL.
38528
38529 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38530
38531 * commands/cmp.c (BUFFER_SIZE): New macro.
38532 (grub_cmd_cmp): Close the right file at the right time. Compare
38533 only data just read. Don't report files of different size as
38534 identical. Dynamically allocate buffers. Move variable
38535 declarations at the beginning of function.
38536
38537 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
38538
38539 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38540 reverse.
38541
38542 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38543
38544 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38545 when backspace is pressed at beginning of line.
38546
38547 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
38548
38549 * DISTLIST: Added genfslist.sh.
38550
38551 * normal/main.c (fs_module_list): New variable.
38552 (autoload_fs_module): New function.
38553 (read_fs_list): Likewise.
38554 (grub_normal_execute): Call read_fs_list.
38555
38556 * kern/fs.c (grub_fs_autoload_hook): New variable.
38557 (grub_fs_probe): Added support for auto-loading.
38558
38559 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38560 (grub_fs_module_list_t): New type.
38561
38562 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38563 (grub_fs_autoload_hook): New prototype.
38564
38565 * genfslist.sh: New file.
38566
38567 * genmk.rb: Added a rule to generate a filesystem list.
38568
38569 2005-06-30 Marco Gerards <metgerards@student.han.nl>
38570
38571 * configure.ac: Fix the test for cross-compiling.
38572
38573 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38574 define GRUB_UTIL anymore.
38575
38576 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38577 so this function works on other systems than just big endian.
38578 (load_modules): Likewise.
38579 (add_segments): Likewise.
38580
38581 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38582
38583 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38584 contains `l' modifier, get a long from va_arg().
38585
38586 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38587
38588 * kern/mm.c (grub_free): If the next free block which is being
38589 merged is the first free block, set the first block to the block
38590 being freed.
38591 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38592
38593 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38594
38595 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38596 `grub_ieee1275_chosen'.
38597
38598 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38599
38600 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38601 (grub_ieee1275_chosen): New variable.
38602 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38603 `chosen'.
38604 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38605 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38606 Rename first argument to `phandle' for consistency.
38607 (grub_ieee1275_get_property_length): Likewise.
38608 (grub_ieee1275_next_property): Likewise. Change type of first argument
38609 to grub_ieee1275_phandle_t.
38610 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38611 Move export next to declaration.
38612 (grub_ieee1275_chosen): New variable.
38613 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38614 Correct cosmetic typo.
38615 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38616 `grub_ieee1275_chosen'.
38617 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38618 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38619 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38620 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38621 `grub_ieee1275_chosen'.
38622
38623 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38624
38625 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38626 /chosen/bootargs.
38627 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38628 /chosen/bootargs as "variable=value" pairs.
38629
38630 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38631
38632 * include/grub/misc.h (grub_dprintf): New macro.
38633 (grub_real_dprintf): New prototype.
38634 (grub_strword): Likewise.
38635 (grub_iswordseparator): Likewise.
38636 * kern/misc.c (grub_real_dprintf): New function.
38637 (grub_strword): Likewise.
38638 (grub_iswordseparator): Likewise.
38639
38640 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38641
38642 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38643 (roundup): Remove macro.
38644 (grub_ieee1275_flags): Make static.
38645 (grub_ieee1275_realmode): Remove.
38646 (grub_ieee1275_test_flag): New function.
38647 (grub_ieee1275_set_flag): Likewise.
38648 (find_options): Rename to `grub_ieee1275_find_options'; update
38649 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38650 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38651 (cmain): New prototype.
38652 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38653 `grub_ieee1275_flags' directly.
38654 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38655 machine/biosdisk.h.
38656 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38657 Don't include grub/machine/init.h.
38658 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38659 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38660 Remove prototype.
38661 (grub_ieee1275_realmode): Likewise.
38662 (grub_ieee1275_flag): New enum.
38663 (grub_ieee1275_test_flag): New prototype.
38664 (grub_ieee1275_set_flag): New prototype.
38665 * include/grub/powerpc/ieee1275/init.h: Remove file.
38666 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38667 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38668 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38669 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38670 comment.
38671 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38672 `grub_ieee1275_test_flag'.
38673 (grub_ieee1275_encode_devname): Likewise.
38674
38675 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38676
38677 * include/grub/powerpc/ieee1275/ieee1275.h
38678 (grub_ieee1275_encode_devname): New prototype.
38679 (grub_ieee1275_get_filename): Likewise.
38680 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38681 function.
38682 (grub_set_prefix): Likewise.
38683 (grub_machine_init): Call grub_set_prefix.
38684 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38685 (grub_parse_type): New enum.
38686 (grub_ieee1275_get_devargs): New function.
38687 (grub_ieee1275_get_devname): Likewise.
38688 (grub_ieee1275_parse_args): Likewise.
38689 (grub_ieee1275_get_filename): Likewise.
38690 (grub_ieee1275_encode_devname): Likewise.
38691
38692 2005-03-30 Marco Gerards <metgerards@student.han.nl>
38693
38694 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38695 `grub_loader_unset'.
38696
38697 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38698
38699 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38700 instead of grub_ieee1275_interpret.
38701 (grub_halt_init): New function.
38702 (grub_halt_fini): Likewise.
38703 (GRUB_MOD_INIT): Correct message grammar.
38704 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38705 instead of grub_ieee1275_interpret.
38706 (grub_reboot_init): New function.
38707 (grub_reboot_fini): Likewise.
38708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38709 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38710 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38711 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38712 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38713 function.
38714 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38715 Add prototype.
38716 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38717 prototype.
38718 (grub_halt): Likewise.
38719 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38720 (cmain): Remove __attribute__((unused)).
38721 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38722 (grub_heap_len): Likewise.
38723 (grub_machine_fini): New function.
38724 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38725 (grub_halt): Likewise.
38726 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38727 function.
38728 * util/powerpc/ieee1275/misc.c: New file.
38729
38730 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38731
38732 * DISTLIST: New file.
38733 * gendistlist.sh: Likewise.
38734
38735 * Makefile.in (COMMON_DISTFILES): Removed.
38736 (BOOT_DISTFILES): Likewise.
38737 (CONF_DISTFILES): Likewise.
38738 (DISK_DISTFILES): Likewise.
38739 (FS_DISTFILES): Likewise.
38740 (INCLUDE_DISTFILES): Likewise.
38741 (KERN_DISTFILES): Likewise.
38742 (LOADER_DISTFILES): Likewise.
38743 (TERM_DISTFILES): Likewise.
38744 (UTIL_DISTFILES): Likewise.
38745 (DISTFILES): Likewise.
38746 (uninstall): Uninstall files in $(pkgdata_DATA).
38747 (DISTLIST): New target.
38748 (distdir): Use the contents of the file DISTLIST to get a list of
38749 distributed files.
38750
38751 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38752
38753 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38754 descriptor. This is ported from GRUB Legacy.
38755
38756 * gencmdlist.sh: Added an extra semicolon to make it work with
38757 old sed versions. Reported by Robert Bihlmeyer
38758 <robbe@orcus.priv.at>.
38759
38760 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
38761
38762 Automatic loading of commands is supported.
38763
38764 * normal/main.c (read_command_list): New function.
38765 (grub_normal_execute): Call read_command_list.
38766
38767 * normal/command.c (grub_register_command): Return zero or CMD.
38768 Allocate CMD->NAME from the heap.
38769 Initialize CMD->MODULE_NAME to zero.
38770 Find the same name as well. If the same command is found and it is
38771 a dummy command, overwrite members. If it is not a dummy command,
38772 return zero.
38773 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38774 (grub_command_find): If a dummy command is found, load a module
38775 and retry to find a command only once.
38776
38777 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38778 make sure that each command is loaded.
38779
38780 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38781 macro.
38782 (struct grub_command): Remove const from the member `name'.
38783 Add a new member `module_name'.
38784 (grub_register_command): Return grub_command_t.
38785
38786 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38787 sure that each command is loaded.
38788
38789 * genmk.rb (PModule::rule): Specify a module name without the
38790 suffix ".mod" to gencmdlist.sh.
38791
38792 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38793
38794 * gencmdlist.sh: New file.
38795
38796 * genmk.rb (PModule::rule): Generate a rule for a command list.
38797 Clean command.lst.
38798 Generate command.lst from $(COMMANDFILES).
38799
38800 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38801 (DATA): Added $(pkgdata_DATA).
38802 (install-local): Install files in $(pkgdata_DATA).
38803
38804 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38805
38806 * term/i386/pc/vga.c (debug_command): Removed.
38807 (GRUB_MOD_INIT): Do not register the command "debug".
38808
38809 From Hollis Blanchard:
38810 * commands/configfile.c: New file.
38811 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38812 commands/configfile.c.
38813 (pkgdata_MODULES): Added configfile.mod.
38814 (configfile_mod_SOURCES): New variable.
38815 (configfile_mod_CFLAGS): Likewise.
38816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38817 commands/configfile.c.
38818 (pkgdata_MODULES): Added configfile.mod.
38819 (configfile_mod_SOURCES): New variable.
38820 (configfile_mod_CFLAGS): Likewise.
38821 * util/grub-emu.c (main): Call grub_configfile_init and
38822 grub_configfile_fini.
38823 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38824 prototype.
38825 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38826
38827 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38828
38829 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38830 address.
38831
38832 * commands/help.c (grub_cmd_help): Do not print newlines after
38833 the last command in print_command_help.
38834
38835 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38836
38837 * commands/default.h: New file.
38838 * commands/timeout.h: Likewise.
38839 * normal/context.c: Likewise.
38840
38841 * util/misc.c: Do not include sys/times.h.
38842 Include sys/time.h and grub/machine/time.h.
38843 (grub_get_rtc): Rewritten with gettimeofday.
38844
38845 * util/grub-emu.c (main): Call grub_default_init and
38846 grub_timeout_init before grub_normal_init, and call
38847 grub_timeout_fini and grub_default_fini after grub_main.
38848
38849 * util/console.c (grub_ncurses_checkkey): Return the read
38850 character or -1.
38851
38852 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38853 timeouts.
38854
38855 * normal/main.c (read_config_file): Push MENU. If this fails,
38856 print an error and wait for a user input.
38857 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38858 If a menu is empty or an error occurs, pop MENU.
38859 (grub_normal_execute): Pop and free MENU after grub_menu_run
38860 returns.
38861
38862 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38863
38864 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38865 include time.h.
38866 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38867 without GRUB_UTIL.
38868 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38869 time.h.
38870 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38871 without GRUB_UTIL.
38872
38873 * include/grub/normal.h (struct grub_menu_list): New struct.
38874 (grub_menu_list_t): New type.
38875 (struct grub_context): New struct.
38876 (grub_context_t): New type.
38877 (grub_register_command): Got rid of EXPORT_FUNC.
38878 (grub_unregister_command): Likewise.
38879 (grub_context_get): New prototype.
38880 (grub_context_get_current_menu): Likewise.
38881 (grub_context_push_menu): Likewise.
38882 (grub_context_pop_menu): Likewise.
38883 [GRUB_UTIL] (grub_default_init): Likewise.
38884 [GRUB_UTIL] (grub_default_fini): Likewise.
38885 [GRUB_UTIL] (grub_timeout_init): Likewise.
38886 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38887
38888 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38889 commands/timeout.c and normal/context.c.
38890 (pkgdata_MODULES): Added default.mod and timeout.mod.
38891 (normal_mod_SOURCES): Added normal/context.c.
38892 (default_mod_SOURCES): New variable.
38893 (default_mod_CFLAGS): Likewise.
38894 (timeout_mod_SOURCES): Likewise.
38895 (timeout_mod_CFLAGS): Likewise.
38896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38897 conf/i386-pc.rmk.
38898 (pkgdata_MODULES): Added default.mod and timeout.mod.
38899 (normal_mod_SOURCES): Added normal/context.c.
38900 (default_mod_SOURCES): New variable.
38901 (default_mod_CFLAGS): Likewise.
38902 (timeout_mod_SOURCES): Likewise.
38903 (timeout_mod_CFLAGS): Likewise.
38904
38905 * Makefile.in (all-local): Added $(MKFILES).
38906
38907 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38908
38909 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38910 (grub_emu_SOURCES): Likewise.
38911 (pkgdata_MODULES): Add `sun.mod'.
38912 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38914 `partmap/sun.c'.
38915 (pkgdata_MODULES): Add `sun.mod'.
38916 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38917 * include/grub/partition.h (grub_sun_partition_map_init): New
38918 prototype.
38919 (grub_sun_partition_map_fini): Likewise.
38920 * partmap/sun.c: New file.
38921 * util/grub-emu.c (main): Initialize and de-initialize the sun
38922 partitionmap support.
38923
38924 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38925
38926 This implements an Emacs-like menu entry editor.
38927
38928 * normal/menu_entry.c: New file.
38929
38930 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38931 characters to ASCII.
38932 (saved_char): New variable.
38933 (grub_ncurses_checkkey): Rewritten completely.
38934 (grub_ncurses_getkey): Likewise.
38935 (grub_ncurses_init): Call raw instead of cbreak.
38936
38937 * normal/menu.c (print_entry): Do not put a space.
38938 (init_page): Renamed to ...
38939 (grub_menu_init_page): ... this. All callers changed.
38940 (edit_menu_entry): Removed.
38941 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38942
38943 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38944
38945 * kern/misc.c (grub_vprintf): Call grub_refresh.
38946
38947 * normal/menu.c (DISP_LEFT): Renamed to ...
38948 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38949 * normal/menu.c (DISP_UP): Renamed to ...
38950 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38951 * normal/menu.c (DISP_RIGHT): Renamed to ...
38952 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38953 * normal/menu.c (DISP_DOWN): Renamed to ...
38954 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38955 * normal/menu.c (DISP_HLINE): Renamed to ...
38956 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38957 * normal/menu.c (DISP_VLINE): Renamed to ...
38958 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38959 * normal/menu.c (DISP_UL): Renamed to ...
38960 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38961 * normal/menu.c (DISP_UR): Renamed to ...
38962 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38963 * normal/menu.c (DISP_LL): Renamed to ...
38964 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38965 * normal/menu.c (DISP_LR): Renamed to ...
38966 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38967 * normal/menu.c (TERM_WIDTH): Renamed to ...
38968 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38969 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38970 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38971 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38972 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38973 * normal/menu.c (TERM_MARGIN): Renamed to ...
38974 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38975 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38976 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38977 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38978 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38979 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38980 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38981 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38982 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38983 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38984 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38985 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38986 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38987 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38988 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38989 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38990 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38991 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38992 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38993 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38994 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38995 All callers changed.
38996
38997 * include/grub/normal.h: New prototype.
38998
38999 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39000 normal/menu_entry.c.
39001 (normal_mod_SOURCES): Likewise.
39002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39003 (normal_mod_SOURCES): Likewise.
39004
39005 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
39006
39007 * include/grub/normal.h (grub_halt_init): New prototype.
39008 (grub_halt_fini): Likewise.
39009 (grub_reboot_init): Likewise.
39010 (grub_reboot_fini): Likewise.
39011
39012 * util/grub-emu.c: Include signal.h.
39013 (main_env): New global variable.
39014 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
39015 catch C-c.
39016 (grub_machine_fini): New function.
39017 (main): Call grub_halt_init and grub_reboot_init before
39018 grub_main, and grub_reboot_fini and grub_halt_fini after it.
39019 Call setjmp with MAIN_ENV to go back afterwards.
39020 Call grub_machine_fini right before return.
39021
39022 * include/grub/util/misc.h: Include setjmp.h.
39023 (main_env): New prototype.
39024
39025 * include/grub/kernel.h (grub_machine_fini): New prototype.
39026 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
39027 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
39028
39029 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
39030 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
39031 * term/i386/pc/console.c (grub_console_fini): Likewise.
39032
39033 * util/i386/pc/misc.c: New file.
39034
39035 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39036 util/i386/pc/misc.c, commands/i386/pc/halt.c and
39037 commands/i386/pc/reboot.c.
39038
39039 2005-02-14 Guillem Jover <guillem@hadrons.org>
39040
39041 * include/grub/dl.h (grub_dl_check_header): New prototype.
39042 (grub_arch_dl_check_header): Change return type to grub_err_t,
39043 remove size parameter and export function. Update all callers.
39044 * kern/dl.c (grub_dl_check_header): New function.
39045 (grub_dl_load_core): Use `grub_dl_check_header' instead of
39046 `grub_arch_dl_check_header'. Check ELF type. Check if sections
39047 are inside the core.
39048 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
39049 independent ELF header checks.
39050 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39051 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
39052 `grub_dl_check_header' instead of explicit checks. Check for the
39053 ELF type.
39054 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
39055 `grub_dl_check_header' instead of explicit checks. Remove arch
39056 specific ELF header checks.
39057
39058 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
39059 argument SIZE.
39060
39061 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
39062
39063 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
39064 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
39065
39066 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
39067
39068 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
39069 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
39070 (part_map_iterate): Clear `grub_errno' and return 0 if
39071 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
39072 * partmap/amiga.c (amiga_partition_map_iterate): Return
39073 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
39074 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39075
39076 2005-02-01 Guillem Jover <guillem@hadrons.org>
39077
39078 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
39079 help info.
39080
39081 2005-01-31 Marco Gerards <metgerards@student.han.nl>
39082
39083 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
39084 Removed prototype.
39085 (grub_rescue_cmd_linux): New prototype.
39086 (grub_rescue_cmd_initrd): Likewise.
39087 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
39088 `bi_rec'.
39089 (grub_linux_release_mem): Release the memory for the initrd.
39090 (grub_load_linux): Renamed from this...
39091 (grub_rescue_cmd_linux): ...To this. Changed all callers.
39092 Changed `entry' not to be static. Loop over memory regions to
39093 find another one when the default fails.
39094 (grub_rescue_cmd_initrd): New function.
39095 (grub_linux_init): Remove function.
39096 (grub_linux_fini): Likewise.
39097 (GRUB_MOD_INIT): Register `initrd'.
39098 (GRUB_MOD_FINI): Unregister `initrd'.
39099 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
39100 Function removed.
39101 (grub_linux_normal_fini): Likewise.
39102 (GRUB_MOD_INIT): Register `initrd'.
39103 (GRUB_MOD_FINI): Unregister `initrd'.
39104
39105 2005-01-31 Marco Gerards <metgerards@student.han.nl>
39106
39107 * commands/help.c: New file.
39108 * normal/arg.c (show_help): Renamed to...
39109 (grub_arg_show_help): ... this.
39110 * commands/i386/pc/halt.c: New file.
39111 * commands/i386/pc/reboot.c: Likewise.
39112 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
39113 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
39114 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
39115 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
39116 variables.
39117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39118 `commands/help.c'.
39119 (pkgdata_MODULES): Add `help.mod'.
39120 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
39121 * grub/i386/pc/init.h (grub_reboot): New prototype.
39122 (grub_halt): Likewise.
39123 * include/grub/normal.h (grub_arg_show_help): New prototype.
39124 (grub_help_init): Likewise.
39125 (grub_help_fini): Likewise.
39126 * util/grub-emu.c (main): Initialize and deinitialize the help
39127 command.
39128
39129 * normal/cmdline.c (grub_cmdline_get): Doc fix.
39130
39131 * normal/command.c (grub_command_init): Fixed the description of
39132 the `set' and `unset' commands.
39133
39134 2005-01-31 Marco Gerards <metgerards@student.han.nl>
39135
39136 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
39137 function.
39138 * commands/ieee1275/halt.c: New file.
39139 * commands/ieee1275/reboot.c: Likewise.
39140 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
39141 `__attribute__ ((unused))'. Some GCS related fixed.
39142 (grub_suspend_init) [GRUB_UTIL]: Function removed.
39143 (grub_suspend_fini): Likewise.
39144 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
39145 and `halt.mod'.
39146 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
39147 (halt_mod_CFLAGS): New variables.
39148 * include/grub/powerpc/ieee1275/ieee1275.h
39149 (grub_ieee1275_interpret): New prototype.
39150
39151 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
39152
39153 * include/grub/misc.h (memmove): New prototype.
39154 (memcpy): Likewise.
39155
39156 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
39157
39158 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
39159 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
39160
39161 2005-01-22 Marco Gerards <metgerards@student.han.nl>
39162
39163 * kern/misc.c (grub_strndup): Function rewritten.
39164
39165 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
39166
39167 * normal/menu.c (TERM_WIDTH): Macro redefined.
39168 (TERM_TOP_BORDER_Y): Likewise.
39169 (draw_border): Replaced while-loop by a for-loop. Make the number
39170 of lines consistent with the number of lines displayed in
39171 print_entries. Added a margin below the rectangle.
39172 (print_entry): Make the entry fit in the rectangle.
39173 (print_entries): Display the scroll arrows next to the right
39174 border.
39175
39176 2005-01-21 Marco Gerards <metgerards@student.han.nl>
39177
39178 * fs/minix.c (grub_minix_find_file): Reserve more space for
39179 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
39180 `grub_strncpy' to copy `path' into it.
39181
39182 2005-01-21 Marco Gerards <metgerards@student.han.nl>
39183
39184 Add the loopback device, a device via which files can be accessed
39185 as devices.
39186
39187 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
39188 (pkgdata_MODULES): Add loopback.mod.
39189 (loopback_mod_SOURCES): New variable.
39190 (loopback_mod_CFLAGS): Likewise.
39191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39192 `disk/loopback.c'.
39193 (pkgdata_MODULES): Add loopback.mod.
39194 (loopback_mod_SOURCES): New variable.
39195 (loopback_mod_CFLAGS): Likewise.
39196 * disk/loopback.c: new file.
39197 * include/grub/normal.h (grub_loop_init): New prototype.
39198 (grub_loop_fini): New prototype.
39199 * util/grub-emu.c (main): Initialize and de-initialize loopback
39200 support.
39201 * include/grub/disk.h (grub_disk_dev_id): Add
39202 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
39203
39204 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
39205
39206 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
39207 function.
39208 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
39209 (suspend_mod_SOURCES): New variable.
39210 (suspend_mod_CFLAGS): Likewise.
39211 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
39212 New prototype.
39213 * commands/ieee1275/suspend.c: New file.
39214
39215 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39216
39217 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
39218 ((unused))' to `__attribute__ ((used))'.
39219 (GRUB_MOD_FINI): Likewise.
39220 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
39221 * genmk.rb (PModule): Assign space to common symbols when linking
39222 modules.
39223
39224 2005-01-20 Marco Gerards <metgerards@student.han.nl>
39225
39226 * include/grub/mm.h (grub_mm_init_region): Change the type of the
39227 `unsigned' arguments to `grub_size_t'.
39228 (grub_malloc): Likewise.
39229 (grub_realloc): Likewise.
39230 (grub_memalign): Likewise.
39231 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
39232 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39233 * util/misc.c (grub_malloc): Likewise.
39234 (grub_realloc): Likewise.
39235 * kern/mm.c (get_header_from_pointer): Change the casts to
39236 `unsigned' into a cast to `grub_size_t'.
39237
39238 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
39239 point to `currnode' when `currnode' is changed.
39240
39241 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
39242 Schottelius <nico-linux@schottelius.org>.
39243
39244 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
39245
39246 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
39247 (note_path): Remove variable.
39248 (GRUB_IEEE1275_NOTE_NAME): New macro.
39249 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
39250 (grub_ieee1275_note_hdr): New structure.
39251 (grub_ieee1275_note_desc): Likewise.
39252 (grub_ieee1275_note): Likewise.
39253 (load_note): Remove `dir' argument. All callers updated. Remove
39254 `note_img' and `path'. Do not load a file from `note_path'.
39255 Initialize a struct grub_ieee1275_note and write that to `out'.
39256 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
39257
39258 2005-01-05 Marco Gerards <metgerards@student.han.nl>
39259
39260 * util/misc.c (grub_util_read_image): Revert last change. It
39261 called `grub_util_read_at', which seeks from the beginning of the
39262 file.
39263
39264 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
39265
39266 * TODO: Add note about endianness in grub-mkimage.
39267 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
39268 section.
39269 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
39270 (grub_mkimage_SOURCES): New target.
39271 * include/grub/kernel.h (grub_start_addr): Remove variable.
39272 (grub_end_addr): Likewise.
39273 (grub_total_module_size): Likewise.
39274 (grub_kernel_image_size): Likewise.
39275 (GRUB_MODULE_MAGIC): New constant.
39276 (grub_module_info): New structure.
39277 (grub_arch_modules_addr): New prototype.
39278 (grub_get_end_addr): Remove prototype.
39279 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
39280 * include/grub/powerpc/ieee1275/kernel.h: New file.
39281 * include/grub/util/misc.h (grub_util_get_fp_size): New
39282 prototype.
39283 (grub_util_read_at): Likewise.
39284 (grub_util_write_image_at): Likewise.
39285 * kern/main.c (grub_get_end_addr): Remove function.
39286 (grub_load_modules): Call grub_arch_modules_addr instead of using
39287 grub_end_addr. Look for a grub_module_info struct in memory. Use
39288 the grub_module_info fields instead of calling grub_get_end_addr
39289 as loop conditions. Move grub_add_unused_region code here.
39290 (grub_add_unused_region): Remove function.
39291 * kern/i386/pc/init.c: Include grub/cache.h.
39292 (grub_machine_init): Remove call to grub_get_end_addr. Remove
39293 one call to add_mem_region.
39294 (grub_arch_modules_addr): New function.
39295 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
39296 (grub_total_module_size): Likewise.
39297 Include grub/machine/kernel.h.
39298 (grub_arch_modules_addr): New function.
39299 * util/grub-emu.c (grub_end_addr): Remove variable.
39300 (grub_total_module_size): Likewise.
39301 (grub_arch_modules_addr): New function.
39302 * util/misc.c: Include unistd.h.
39303 (grub_util_get_fp_size): New function.
39304 (grub_util_read_at): Likewise.
39305 (grub_util_write_image_at): Likewise.
39306 (grub_util_read_image): Call grub_util_read_at.
39307 (grub_util_write_image): Call grub_util_write_image_at.
39308 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39309 additional memory in kernel_img for a struct grub_module_info.
39310 Fill in that grub_module_info.
39311 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39312
39313 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39314
39315 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39316 New function.
39317 * include/grub/powerpc/ieee1275/ieee1275.h
39318 (grub_ieee1275_milliseconds): New prototype.
39319 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39320 Change to 1000.
39321 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39322 grub_ieee1275_milliseconds.
39323
39324 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39325
39326 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39327 variable.
39328 (find_options): New function.
39329 (cmain): Call find_options.
39330 * include/grub/powerpc/ieee1275/ieee1275.h
39331 (grub_ieee1275_realmode): New extern variable.
39332 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39333 grub_map if grub_ieee1275_realmode is false.
39334
39335 2004-12-29 Marco Gerards <metgerards@student.han.nl>
39336
39337 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39338 lines are inserted and make it work like readline. Reported by
39339 Vincent Pelletier <subdino2004@yahoo.fr>.
39340
39341 2004-12-28 Marco Gerards <metgerards@student.han.nl>
39342
39343 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39344
39345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39346 `kern/powerpc/cache.S'.
39347
39348 2004-12-27 Marco Gerards <metgerards@student.han.nl>
39349
39350 * genmk.rb: Handle the `Program' class in the main loop. Written
39351 by Johan Rydberg <jrydberg@gnu.org>.
39352 (Program): New class.
39353 (programs): New variable.
39354 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39355 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39356 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39357 (help_arch): Function removed.
39358 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39359 `powerpc/libgcc.h' and `loader.h'.
39360 (pkgdata_PROGRAMS): New variable.
39361 (sbin_UTILITIES): Variable removed.
39362 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39363 (grubof_SOURCES): Variable re-defined so it only includes the
39364 core functionality.
39365 (grubof_CFLAGS): Remove `-DGRUBOF'.
39366 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39367 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39368 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39369 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39370 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39371 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39372 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39373 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39374 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39375 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39376 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39377 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39378 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39379 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39380 (pc_mod_CFLAGS): New variables.
39381 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39382 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39383 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39384 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39385 Moved from here...
39386 * include/grub/i386/pc/init.h (grub_os_area_addr)
39387 (rub_os_area_size): ... to here.
39388 * include/grub/powerpc/ieee1275/ieee1275.h
39389 (grub_ieee1275_entry_fn): Export symbol.
39390 * include/grub/powerpc/ieee1275/init.h: New file.
39391 * include/grub/powerpc/libgcc.h: Likewise.
39392 * include/grub/cache.h: Likewise.
39393 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39394 <hollis@penguinppc.org>.
39395 * kern/dl.c: Include <grub/cache.h>.
39396 (grub_dl_flush_cache): New function.
39397 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39398 for this module.
39399 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39400 (grub_console_init): Removed prototypes.
39401 (grub_machine_init): Don't initialize the modules anymore.
39402 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39403 static.
39404 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39405 Macro undef removed.
39406 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39407 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39408 relocation `R_PPC_REL32'. Return an error when the relocation is
39409 unknown.
39410 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39411 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39412 * util/misc.c (grub_arch_sync_caches): Likewise.
39413
39414 2004-12-19 Marco Gerards <metgerards@student.han.nl>
39415
39416 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39417 `symlist.c', add `grubof_symlist.c'.
39418 (symlist.c): Variable removed.
39419 (grubof_HEADERS): Variable added.
39420 (grubof_symlist.c): New target.
39421 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39422 `kernel_img_HEADERS'.
39423 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39424 * kern/powerpc/dl.c: New file.
39425 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39426 Function removed.
39427 (grub_arch_dl_relocate_symbols): Likewise.
39428 (grub_register_exported_symbols): Likewise.
39429
39430 2004-12-13 Marco Gerards <metgerards@student.han.nl>
39431
39432 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39433 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39434 to fail instead. Reported by Vincent Pelletier
39435 <subdino2004@yahoo.fr>.
39436
39437 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39438 it is not allocated. Reported by Vincent Pelletier
39439 <subdino2004@yahoo.fr>.
39440
39441 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39442 output so the output looks better.
39443
39444 2004-12-04 Marco Gerards <metgerards@student.han.nl>
39445
39446 Modulize the partition map support and add support for the amiga
39447 partition map.
39448
39449 * commands/ls.c: Include <grub/partition.h> instead of
39450 <grub/machine/partition.h>.
39451 * kern/disk.c: Likewise.
39452 * kern/rescue.c: Likewise.
39453 * loader/i386/pc/chainloader.c: Likewise.
39454 * normal/cmdline.c: Likewise.
39455 * kern/powerpc/ieee1275/init.c: Likewise.
39456 (grub_machine_init): Call `grub_pc_partition_map_init',
39457 `grub_amiga_partition_map_init' and
39458 `grub_apple_partition_map_init'.
39459 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39460 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39461 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39462 `partition.h' and `pc_partition.h'.
39463 (grub_setup_SOURCES): Remove
39464 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39465 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39466 (grub_emu_SOURCES): Likewise.
39467 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39468 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39469 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39471 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39472 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39473 (grubof_SOURCES): Likewise.
39474 * disk/i386/pc/partition.c: File removed.
39475 * disk/powerpc/ieee1275/partition.c: Likewise.
39476 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39477 * include/grub/i386/pc/partition.h: Likewise.
39478 * kern/partition.c: New file.
39479 * partmap/amiga.c: Likewise.
39480 * partmap/apple.c: Likewise.
39481 * partmap/pc.c: Likewise.
39482 * include/grub/partition.h: Likewise..
39483 * include/grub/pc_partition.h: Likewise.
39484 * util/grub-emu.c: Include <grub/partition.h> instead of
39485 <grub/machine/partition.h>.
39486 (main): Call `grub_pc_partition_map_init',
39487 `grub_amiga_partition_map_init' and
39488 `grub_apple_partition_map_init' and deinitialize afterwards.
39489 * util/i386/pc/biosdisk.c: Include `#include
39490 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39491 `<grub/machine/partition.h>'.
39492 * util/i386/pc/grub-setup.c: Likewise.
39493 * util/i386/pc/biosdisk.c: Likewise.
39494 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39495 partition information in case of a PC partition.
39496 * util/i386/pc/grub-setup.c: Include `#include
39497 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39498 `<grub/machine/partition.h>'.
39499 (setup): Only access the PC specific partition information in case
39500 of a PC partition.
39501
39502 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
39503
39504 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39505 (grub_longjmp): Likewise.
39506 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39507 20.
39508 * normal/powerpc/setjmp.S: New file.
39509 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39510 `normal/powerpc/setjmp.S'.
39511 (grubof_CFLAGS): Add `-DGRUBOF'.
39512 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39513 [GRUB_UTIL && !GRUBOF].
39514
39515 2004-11-16 Marco Gerards <metgerards@student.han.nl>
39516
39517 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39518 property named `name'. Correctly handle the error returned by
39519 `grub_ieee1275_finddevice' if a device can not be opened.
39520
39521 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39522
39523 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39524 `actual' for negativity.
39525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39526 kern/fshelp.c.
39527
39528 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39529
39530 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39531 (PAGE_OFFSET): New macro.
39532 (CRTC_ADDR_PORT): Likewise.
39533 (CRTC_DATA_PORT): Likewise.
39534 (START_ADDR_HIGH_REGISTER): Likewise.
39535 (START_ADDR_LOW_REGISTER): Likewise.
39536 (GRAPHICS_ADDR_PORT): Likewise.
39537 (GRAPHICS_DATA_PORT): Likewise.
39538 (READ_MAP_REGISTER): Likewise.
39539 (INPUT_STATUS1_REGISTER): Likewise.
39540 (INPUT_STATUS1_VERTR_BIT): Likewise.
39541 (page): New variable.
39542 (wait_vretrace): New function.
39543 (set_read_map): Likewise.
39544 (set_start_address): Likewise.
39545 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39546 the right page.
39547 (check_vga_mem): Take the page into account.
39548 (write_char): Likewise.
39549 (write_cursor): Likewise.
39550 (scroll_up): Likewise. Copy the page to the page that is not
39551 shown and switch between both pages.
39552 (grub_vga_putchar): Fix off by one error.
39553 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39554 account.
39555
39556 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39557
39558 Add support for iso9660 (including rockridge).
39559
39560 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39561 (iso9660_mod_SOURCES): New variable.
39562 (iso9660_mod_CFLAGS): Likewise.
39563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39564 * include/grub/fs.h (grub_iso9660_init): New prototype.
39565 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39566 * fs/iso9660.c: New file.
39567
39568 * include/grub/misc.h (grub_strncat): New prototype.
39569 * kern/misc.c (grub_strncat): New function.
39570
39571 * fs/hfs.c (grub_hfs_mount): Translate the error
39572 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39573 * fs/jfs.c (grub_jfs_mount): Likewise.
39574 * fs/ufs.c (grub_ufs_mount): Likewise.
39575
39576 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39577
39578 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39579 which initialized BAT registers.
39580 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39581 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39582 Move from here...
39583 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39584 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39585 ... to here.
39586 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39587 (grub_mapclaim): Likewise.
39588 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39589 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39590 hand.
39591
39592 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39593
39594 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39595 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39596 -ffreestanding and -msoft-float.
39597
39598 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39599
39600 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39601 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39602 set in grub_ieee1275_flags.
39603
39604 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39605
39606 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39607 prototype.
39608 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39609 grub_console_init first.
39610 Change the memory range used for grub_ieee1275_claim and
39611 grub_mm_init_region.
39612 Print an error message if the claim fails.
39613 Include <grub/misc.h>.
39614
39615 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39616
39617 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39618 Call grub_children_iterate for device nodes of type `scsi',
39619 `ide', or `ata'.
39620 (grub_ofdisk_open): Remove manual device alias resolution.
39621 Fix memory leak when device cannot be opened.
39622 * include/grub/powerpc/ieee1275/ieee1275.h
39623 (grub_children_iterate): New prototype.
39624 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39625 New function.
39626 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39627 Return -1 if args.size was -1.
39628
39629 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39630
39631 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39632 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39633 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39634 Open Firmware's memory for it; claim memory from _start to _end.
39635 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39636 (_end): New extern.
39637 (_start): Zero BSS from __bss_start to _end.
39638 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39639 New extern.
39640 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39641
39642 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39643
39644 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39645 -1 if args.base was -1.
39646
39647 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39648
39649 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39650 escape sequence instead of a literal ^L. Also call
39651 grub_ofconsole_gotoxy.
39652
39653 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39654
39655 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39656 void * arguments to grub_addr_t. All callers updated. Also make
39657 the `result' argument optional.
39658 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39659 All callers updated.
39660
39661 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39662
39663 * commands/ls.c (grub_ls_list_files): Use the string following the
39664 initial ')', if present, as the filesystem path.
39665 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39666
39667 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39668
39669 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39670
39671 Make the source code of the menu interface more readable.
39672
39673 * normal/menu.c: Include grub/mm.h.
39674 (TERM_WIDTH): New macro.
39675 (TERM_HEIGHT): Likewise.
39676 (TERM_INFO_HEIGHT): Likewise.
39677 (TERM_MARGIN): Likewise.
39678 (TERM_SCROLL_WIDTH): Likewise.
39679 (TERM_TOP_BORDER_Y): Likewise.
39680 (TERM_LEFT_BORDER_X): Likewise.
39681 (TERM_BORDER_WIDTH): Likewise.
39682 (TERM_MESSAGE_HEIGHT): Likewise.
39683 (TERM_BORDER_HEIGHT): Likewise.
39684 (TERM_NUM_ENTRIES): Likewise.
39685 (TERM_FIRST_ENTRY_Y): Likewise.
39686 (TERM_ENTRY_WIDTH): Likewise.
39687 (TERM_CURSOR_X): Likewise.
39688 (draw_border): Use macros instead of magic numbers.
39689 (print_entry): Likewise.
39690 (print_entries): Likewise.
39691 (run_menu): Likewise. Also, handle the key 'e'.
39692 (run_menu_entry): Ignore empty command lines.
39693 (print_message): Added a new argument EDIT. If EDIT is true,
39694 print a different message.
39695 (init_page): Likewise.
39696 (edit_menu_entry): New function. Not implemented yet.
39697
39698 2004-09-17 Marco Gerards <metgerards@student.han.nl>
39699
39700 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39701 can be loaded from normal mode.
39702
39703 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39704 `multiboot.mod'.
39705 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39706 (multiboot_mod_CFLAGS): New variables.
39707 * loader/i386/pc/linux_normal.c: New file.
39708 * loader/i386/pc/multiboot_normal.c: Likewise.
39709
39710 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39711 attribute `unused'.
39712
39713 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39714 `fdiro' to read the mode information from instead of `diro'.
39715
39716 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39717 looking up a symlink.
39718
39719 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39720 macro.
39721 * normal/command.c (grub_command_execute): Don't parse the
39722 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39723 flags of the command.
39724
39725 * normal/menu.c (grub_menu_run): Fix typo.
39726
39727 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39728
39729 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39730
39731 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39732 `y + 1' instead of `y - 1'.
39733
39734 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
39735
39736 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39737
39738 From Hollis Blanchard <hollis@penguinppc.org>:
39739 * kern/misc.c (memmove): New alias for grub_memmove.
39740 (memcmp): New alias for grub_memcmp.
39741 (memset): New alias for grub_memset.
39742 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39743 Change "int handle" to "grub_ieee1275_phandle_t handle".
39744 * include/grub/powerpc/ieee1275/ieee1275.h
39745 (grub_ieee1275_get_property): Likewise.
39746
39747 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39748
39749 Added normal mode command `chainloader' as module chain.mod, which
39750 depends on normal.mod and _chain.mod.
39751
39752 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39753 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39754 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39755 Deleted prototype.
39756 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39757 but arguments parsing moved to ...
39758 (grub_chainloader_cmd): ... here. New function.
39759 * include/grub/i386/pc/chainloader.h: New file.
39760 * loader/i386/pc/chainloader_normal.c: Likewise.
39761
39762 2004-09-11 Marco Gerards <metgerards@student.han.nl>
39763
39764 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39765 (grub_mkimage_LDFLAGS): Likewise.
39766 (grub_emu_SOURCES): Likewise.
39767 (kernel_img_HEADERS): Added fshelp.h.
39768 * fs/ext2.c: Include <grub/fshelp.h>.
39769 (FILETYPE_REG): New macro.
39770 (FILETYPE_INO_REG): Likewise.
39771 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39772 Changed all users.
39773 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39774 all users.
39775 (grub_fshelp_node): New struct.
39776 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39777 to a pointer.
39778 (grub_ext2_get_file_block): Removed function.
39779 (grub_ext2_read_block): New function.
39780 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39781 This function was written.
39782 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39783 (grub_ext2_find_file): Removed function.
39784 (grub_ext2_read_symlink): New function.
39785 (grub_ext2_iterate_dir): Likewise.
39786 (grub_ext2_open): Rewritten.
39787 (grub_ext2_dir): Rewritten.
39788 * include/grub/fshelp.h: New file.
39789 * fs/fshelp.c: Likewise.
39790
39791 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39792
39793 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39794 (print_message): Add a missing newline.
39795 (run_menu): Added timeout support.
39796 (run_menu_entry): New local function.
39797 (grub_menu_run): Added support for booting.
39798
39799 * kern/loader.c (grub_loader_is_loaded): New function.
39800
39801 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39802 (grub_get_rtc): Exported.
39803
39804 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39805 (grub_get_rtc): Exported.
39806
39807 * include/grub/normal.h (struct grub_command_list): Remove
39808 constant from the member `command'.
39809
39810 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39811
39812 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39813
39814 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39815
39816 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39817
39818 Add support for the JFS filesystem.
39819
39820 * fs/jfs.c: New file.
39821 * include/grub/fs.h (grub_jfs_init): New prototype.
39822 (grub_jfs_fini): New prototype.
39823 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39824 (grub_emu_SOURCES): Likewise.
39825 (pkgdata_MODULES): Add jfs.mod.
39826 (jfs_mod_SOURCES): New variable.
39827 (jfs_mod_CFLAGS): Likewise.
39828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39829 (grubof_SOURCES): Likewise.
39830 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39831
39832 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39833 endian to the host endian.
39834 (grub_fat_utf16_to_utf8): Move function from there...
39835 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39836 the endianness of the source string anymore.
39837 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39838
39839 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39840
39841 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39842 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39843 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39844 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39845
39846 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39847 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39848 for `node_found' and `it_dir'.
39849 (grub_hfs_dir): Add prototype for `dir_hook'.
39850
39851 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39852 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39853 and `indir32' to silence a gcc warning.
39854
39855 * include/grub/fs.h (grub_hfs_init): New prototype.
39856 (grub_hfs_fini): Likewise.
39857
39858
39859 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39860
39861 Each disk device has its own id now. This is useful to make use
39862 of multiple disk devices.
39863
39864 * include/grub/disk.h (grub_disk_dev_id): New enum.
39865 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39866 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39867
39868 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39869 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39870
39871 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39872 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39873
39874 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39875 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39876
39877 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39878 "id" which is used by the cache manager.
39879
39880 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39881 of just "GRUB".
39882
39883 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39884
39885 * fs/hfs.c: New file.
39886 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39887 (grub_emu_SOURCES): Likewise.
39888 (pkgdata_MODULES): Add hfs.mod.
39889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39890 (grubof_SOURCES): Likewise.
39891 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39892
39893 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39894 * kern/misc.c (grub_strncasecmp): Add function.
39895
39896 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39897
39898 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39899 with parentheses.
39900
39901 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39902 (grub_ext2_dir): In case the directory entry type is unknown, read
39903 it from the inode.
39904
39905 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39906
39907 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39908 grub_load_linux instead of grub_rescue_cmd_linux as second
39909 argument of grub_rescue_register_command.
39910
39911 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39912
39913 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39914
39915 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39916 function.
39917 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39918 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39919 `loader/powerpc/ieee1275/linux.c',
39920 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39921 * include/grub/powerpc/ieee1275/ieee1275.h
39922 (grub_ieee1275_release): New prototype.
39923 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39924 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39925 normal, boot, linux and linux_normal.
39926 * loader/powerpc/ieee1275/linux.c: New file.
39927 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39928
39929 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39930
39931 * normal/arg.c (grub_arg_parse): Correct error handling after
39932 reallocating the argumentlist (check if `argl' is not null instead
39933 of checking if `args' is not null).
39934 * kern/mm.c (grub_realloc): Return the same pointer when using the
39935 same region, instead of returning the header address.
39936
39937 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39938
39939 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39940 one block instead of two when looking for the initial partition.
39941 (grub_partition_probe): Initialize the local variable `p' with 0.
39942 Use base 10 for the grub_strtoul call.
39943 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39944 need for one local variable.
39945 (grub_strtoul): Don't add the new value to `num', instead of that
39946 just assign it.
39947
39948 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39949
39950 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39951 (pxeboot_img_SOURCES): New variable.
39952 (pxeboot_img_ASFLAGS): Likewise.
39953 (pxeboot_img_LDFLAGS): Likewise.
39954 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39955 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39956 <lode_leroy@hotmail.com>.
39957
39958 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39959
39960 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39961 there was no input.
39962
39963 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39964
39965 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39966 the history buffer logic.
39967
39968 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39969
39970 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39971 (FILETYPE_INO_SYMLINK): New macros.
39972 (grub_ext2_find_file): Check if the node is a directory using the
39973 inode stat information instead of using the filetype in the
39974 dirent. Exclude the first character of an absolute symlink.
39975 (grub_ext2_dir): Mask out the filetype part of the mode member of
39976 the inode.
39977
39978 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39979
39980 Add support for UFS version 1 and 2. Add support for the minix
39981 filesystem version 1 and 2, both the variants with 14 and 30 long
39982 filenames.
39983
39984 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39985 fs/minix.c.
39986 (grub_emu_SOURCES): Likewise.
39987 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39988 (ufs_mod_SOURCES): New variable.
39989 (ufs_mod_CFLAGS): Likewise.
39990 (minix_mod_SOURCES): Likewise.
39991 (minix_mod_CFLAGS): Likewise.
39992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39993 fs/minix.c.
39994 (grubof_SOURCES): Likewise.
39995 * fs/ufs.c: New file.
39996 * fs/minix.c: New file.
39997 * include/grub/fs.h (grub_ufs_init): New prototype.
39998 (grub_ufs_fini): Likewise.
39999 (grub_minix_init): Likewise.
40000 (grub_minix_fini): Likewise.
40001 * util/grub-emu.c (main): Initialize and deinitialize UFS and
40002 minix fs.
40003
40004 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
40005
40006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
40007 commands/ls.c, commands/terminal.c, commands/boot.c,
40008 commands/cmp.c and commands/cat.c.
40009 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
40010
40011 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
40012 "env.h"
40013
40014 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40015
40016 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
40017 and grub_, respectively. Because the conversion is trivial and
40018 mechanical, I omit the details here. Please refer to the CVS
40019 if you need more information.
40020
40021 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40022
40023 * include/pupa: Renamed to ...
40024 * include/grub: ... this.
40025 * util/i386/pc/pupa-mkimage.c: Renamed to ...
40026 * util/i386/pc/grub-mkimage.c: ... this.
40027 * util/i386/pc/pupa-setup.c: Renamed to ...
40028 * util/i386/pc/grub-setup.c: ... this.
40029 * util/pupa-emu.c: Renamed to ...
40030 * util/grub-emu.c: ... this.
40031
40032 2004-03-29 Marco Gerards <metgerards@student.han.nl>
40033
40034 Add support for the newworld apple macintosh (PPC). This has been
40035 tested on the powerbook 2000 only. It only adds support for
40036 generic ieee1275 functions, console and disk support. This should
40037 be easy to port to other architectures with support for Open
40038 Firmware.
40039
40040 * configure.ac: Accept the powerpc as host_cpu. In the case of
40041 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
40042 specific tests are only executed while building for the i386.
40043 Inverse test for crosscompile.
40044 * genmk.rb (Utility): Allow assembler files.
40045 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
40046 * conf/powerpc-ieee1275.rmk: New file.
40047 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
40048 * disk/powerpc/ieee1275/partition.c: Likewise.
40049 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
40050 * include/pupa/powerpc/ieee1275/console.h: Likewise.
40051 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
40052 * include/pupa/powerpc/ieee1275/time.h: Likewise.
40053 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
40054 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
40055 * include/pupa/powerpc/ieee1275/loader.h
40056 * include/pupa/powerpc/setjmp.h: Likewise.
40057 * include/pupa/powerpc/types.h: Likewise.
40058 * kern/powerpc/ieee1275/init.c: Likewise.
40059 * kern/powerpc/ieee1275/openfw.c: Likewise.
40060 * term/powerpc/ieee1275/ofconsole.c: Likewise.
40061
40062 These files were written by Johan Rydberg
40063 (jrydberg@night.trouble.net) and I only modified them slightly.
40064
40065 * boot/powerpc/ieee1275/cmain.c: New file.
40066 * boot/powerpc/ieee1275/crt0.S: Likewise.
40067 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
40068 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
40069
40070 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
40071
40072 * Makefile.in: Update copyright.
40073 * genmodsrc.sh: Likewise.
40074 * gensymlist.sh: Likewise.
40075 * term/i386/pc/vga.c: Indent correctly.
40076
40077 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
40078 bugreporting address.
40079 * util/i386/pc/pupa-setup.c (usage): Likewise,
40080 (main): Call pupa_ext2_init and pupa_ext2_fini.
40081
40082 * fs/fat.c (log2): Renamed to ...
40083 (fat_log2): ... this.
40084 All callers changed.
40085 * kern/misc.c (memcpy): Alias to pupa_memmove.
40086 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
40087 lvalue cast.
40088 * util/console.c (pupa_ncurses_fini): Return 0.
40089
40090 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
40091 Move fail label here.
40092 [__GNU__]: Don't warn when using stat.
40093 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
40094 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
40095 long int. Use strtol instead of strtoul.
40096
40097 2004-03-14 Marco Gerards <metgerards@student.han.nl>
40098
40099 * commands/boot.c: New file.
40100 * commands/cat.c: Likewise.
40101 * commands/cmp.c: Likewise.
40102 * commands/ls.c: Likewise.
40103 * commands/terminal.c: Likewise.
40104 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
40105 (pupa_register_command): Changed interface to match the new
40106 argument parser.
40107 (pupa_command_execute): Changed (almost rewritten) so it uses
40108 pupa_split_command. Added support for setting variables using the
40109 syntax `foo=bar'.
40110 (rescue_command): Changed to work with the new argument parser.
40111 (terminal_command): Moved from here to commands/terminal.c.
40112 (set_command): New function.
40113 (unset_command): New function.
40114 (insmod_command): New function.
40115 (rmmod_command): New function.
40116 (lsmod_command): New function.
40117 (pupa_command_init): Don't initialize the command terminal
40118 anymore. Initialize the commands set, unset, insmod, rmmod and
40119 lsmod.
40120 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
40121 (kernel_img_HEADERS): Add arg.h and env.h.
40122 (pupa_mkimage_LDFLAGS): Add kern/env.c.
40123 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
40124 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
40125 normal/arg.c.
40126 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
40127 terminal.mod.
40128 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
40129 (boot_mod_SOURCES): New variable.
40130 (terminal_mod_SOURCES): Likewise.
40131 (ls_mod_SOURCES): Likewise.
40132 (cmp_mod_SOURCES): Likewise.
40133 (cat_mod_SOURCES): Likewise.
40134
40135 * normal/arg.c: New file.
40136 * kern/env.c: Likewise.
40137 * include/pupa/arg.h: Likewise.
40138 * include/pupa/env.h: Likewise.
40139 * font/manager.c (font_command): Changed to match argument parsing
40140 interface changes.
40141 (PUPA_MOD_INIT): Likewise.
40142 * hello/hello.c (pupa_cmd_hello): Likewise.
40143 (PUPA_MOD_INIT): Likewise.
40144 * include/pupa/disk.h: Include <pupa/device.h>.
40145 (pupa_print_partinfo): New prototype.
40146 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
40147 (pupa_dl_get_prefix): Likewise.
40148 * include/pupa/misc.h: Include <pupa/err.h>.
40149 (pupa_isgraph): New prototype.
40150 (pupa_isdigit): Likewise.
40151 (pupa_split_cmdline): Likewise.
40152 * include/pupa/normal.h: Include <pupa/arg.h>.
40153 (pupa_command): Changed the prototype of the member `func' to
40154 match the argument parsing interface. Added member `options'.
40155 (pupa_register_command): Updated to match function.
40156 (pupa_arg_parse): New prototype.
40157 (pupa_hello_init) [PUPA_UTIL]: New prototype.
40158 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
40159 (pupa_ls_init) [PUPA_UTIL]: Likewise.
40160 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
40161 (pupa_cat_init) [PUPA_UTIL]: Likewise.
40162 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
40163 (pupa_boot_init) [PUPA_UTIL]: Likewise.
40164 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
40165 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
40166 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
40167 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
40168 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
40169 * kern/disk.c: Include <pupa/file.h>.
40170 (pupa_print_partinfo): New function.
40171 * kern/dl.c: Include <pupa/env.h>.
40172 (pupa_dl_dir): Variable removed.
40173 (pupa_dl_load): Use the environment variable `prefix' instead of
40174 the variable pupa_dl_dir.
40175 (pupa_dl_set_prefix): Function removed.
40176 (pupa_dl_get_prefix): Likewise.
40177 * kern/i386/pc/init.c: Include <pupa/env.h>.
40178 (pupa_machine_init): Use the environment variable `prefix' instead of
40179 using pupa_dl_set_prefix to set the prefix.
40180 * kern/main.c: Include <pupa/env.h>.
40181 (pupa_set_root_dev): Use the environment variable `prefix' instead of
40182 using pupa_dl_get_prefix to get the prefix.
40183 * kern/misc.c: Include <pupa/env.h>.
40184 (pupa_isdigit): New function.
40185 (pupa_isgraph): Likewise.
40186 (pupa_ftoa): Likewise.
40187 (pupa_vsprintf): Added support for printing values of the type
40188 `double'. Make it possible to format variable output when using
40189 formatting like `%1.2%f'.
40190 (pupa_split_cmdline): New function.
40191 * kern/rescue.c: Include <pupa/env.h>.
40192 (next_word): Removed function.
40193 (pupa_rescue_cmd_prefix): Likewise.
40194 (pupa_rescue_cmd_set): New function.
40195 (pupa_rescue_cmd_unset): New function.
40196 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
40197 split the command line instead of splitting it here. Added
40198 support for setting variables using the syntax `foo=bar'. Don't
40199 initialize the prefix command anymore. Initialized the set and
40200 unset commands.
40201 * normal/cmdline.c: Include <pupa/env.h>.
40202 (pupa_tab_complete): Added prototypes for print_simple_completion,
40203 print_partition_completion, add_completion, iterate_commands,
40204 iterate_dev, iterate_part and iterate_dir. Moved code to print
40205 partition information from here to kern/disk.c.
40206 (pupa_cmdline_run): Don't check if the function exists anymore.
40207 * normal/main.c: Include <pupa/env.h>.
40208 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
40209 instead of using pupa_dl_get_prefix to get the prefix.
40210 * term/i386/pc/vga.c: Include <pupa/arg.h>.
40211 (check_vga_mem): Cast pointers to `void *' to silence a gcc
40212 warning.
40213 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
40214 (pupa_vga_setcolor): Declare unused variables with `__attribute__
40215 ((unused))' to silence a gcc warning.
40216 (pupa_vga_setcolor): Likewise.
40217 (debug_command): Changed to match argument parsing
40218 interface changes.
40219 * util/pupa-emu.c: Include <pupa/env.h>.
40220 (options): Added 0's for unused fields to silence a gcc warning.
40221 (argp): Likewise.
40222 (main): Use the environment variable `prefix' instead of using
40223 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
40224 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
40225 and terminal.
40226
40227 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
40228 * util/misc.c: Include <malloc.h>.
40229 (pupa_malloc): Rewritten so errors are correctly reported.
40230 (pupa_realloc): Likewise.
40231 (pupa_memalign): Likewise.
40232 (pupa_mm_init_region): Declare unused variables with
40233 `__attribute__ ((unused))' to silence a gcc warning.
40234 * normal/i386/setjmp.S: Remove tab at the end of the file to
40235 silence a gcc warning.
40236 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
40237 variables with `__attribute__ ((unused))' to silence a gcc
40238 warning.
40239 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
40240 local variable i unsigned to silence a gcc warning.
40241
40242 * kern/term.c: Include <pupa/misc.h>.
40243 (pupa_more_lines): New variable.
40244 (pupa_more): Likewise.
40245 (pupa_putcode): When the pager is active pause at the end of every
40246 screen.
40247 (pupa_set_more): New function.
40248 * include/pupa/term.h (pupa_set_more): New prototype.
40249
40250
40251 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
40252
40253 Now this project is GRUB 2 rather than PUPA. The location of
40254 the CVS repository was moved to GRUB's.
40255
40256 * configure.ac: Use bug-grub as the reporting address.
40257 Use GRUB instead of PUPA.
40258 Change the version number to 1.90.
40259
40260 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
40261
40262 * genkernsyms.sh: Updated copyright information.
40263 * genmk.rb: Likewise.
40264 * genmodsrc.sh: Likewise.
40265 * gensymlist.sh: Likewise.
40266 * boot/i386/pc/boot.S: Likewise.
40267 * boot/i386/pc/diskboot.S: Likewise.
40268 * disk/i386/pc/biosdisk.c: Likewise.
40269 * disk/i386/pc/partition.c: Likewise.
40270 * font/manager.c: Likewise.
40271 * fs/ext2.c: Likewise.
40272 * fs/fat.c: Likewise.
40273 * include/pupa/boot.h: Likewise.
40274 * include/pupa/device.h: Likewise.
40275 * include/pupa/disk.h: Likewise.
40276 * include/pupa/dl.h: Likewise.
40277 * include/pupa/elf.h: Likewise.
40278 * include/pupa/err.h: Likewise.
40279 * include/pupa/file.h: Likewise.
40280 * include/pupa/font.h: Likewise.
40281 * include/pupa/fs.h: Likewise.
40282 * include/pupa/kernel.h: Likewise.
40283 * include/pupa/loader.h: Likewise.
40284 * include/pupa/misc.h: Likewise.
40285 * include/pupa/mm.h: Likewise.
40286 * include/pupa/net.h: Likewise.
40287 * include/pupa/normal.h: Likewise.
40288 * include/pupa/rescue.h: Likewise.
40289 * include/pupa/setjmp.h: Likewise.
40290 * include/pupa/symbol.h: Likewise.
40291 * include/pupa/term.h: Likewise.
40292 * include/pupa/types.h: Likewise.
40293 * include/pupa/i386/setjmp.h: Likewise.
40294 * include/pupa/i386/types.h: Likewise.
40295 * include/pupa/i386/pc/biosdisk.h: Likewise.
40296 * include/pupa/i386/pc/boot.h: Likewise.
40297 * include/pupa/i386/pc/console.h: Likewise.
40298 * include/pupa/i386/pc/init.h: Likewise.
40299 * include/pupa/i386/pc/kernel.h: Likewise.
40300 * include/pupa/i386/pc/linux.h: Likewise.
40301 * include/pupa/i386/pc/loader.h: Likewise.
40302 * include/pupa/i386/pc/memory.h: Likewise.
40303 * include/pupa/i386/pc/multiboot.h: Likewise.
40304 * include/pupa/i386/pc/partition.h: Likewise.
40305 * include/pupa/i386/pc/time.h: Likewise.
40306 * include/pupa/i386/pc/vga.h: Likewise.
40307 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40308 * include/pupa/util/getroot.h: Likewise.
40309 * include/pupa/util/misc.h: Likewise.
40310 * include/pupa/util/resolve.h: Likewise.
40311 * kern/device.c: Likewise.
40312 * kern/disk.c: Likewise.
40313 * kern/dl.c: Likewise.
40314 * kern/err.c: Likewise.
40315 * kern/file.c: Likewise.
40316 * kern/fs.c: Likewise.
40317 * kern/loader.c: Likewise.
40318 * kern/main.c: Likewise.
40319 * kern/misc.c: Likewise.
40320 * kern/mm.c: Likewise.
40321 * kern/rescue.c: Likewise.
40322 * kern/term.c: Likewise.
40323 * kern/i386/dl.c: Likewise.
40324 * kern/i386/pc/init.c: Likewise.
40325 * kern/i386/pc/lzo1x.S: Likewise.
40326 * kern/i386/pc/startup.S: Likewise.
40327 * loader/i386/pc/chainloader.c: Likewise.
40328 * loader/i386/pc/linux.c: Likewise.
40329 * loader/i386/pc/multiboot.c: Likewise.
40330 * normal/cmdline.c: Likewise.
40331 * normal/command.c: Likewise.
40332 * normal/main.c: Likewise.
40333 * normal/menu.c: Likewise.
40334 * normal/i386/setjmp.S: Likewise.
40335 * term/i386/pc/console.c: Likewise.
40336 * term/i386/pc/vga.c: Likewise.
40337 * util/console.c: Likewise.
40338 * util/genmoddep.c: Likewise.
40339 * util/misc.c: Likewise.
40340 * util/pupa-emu.c: Likewise.
40341 * util/resolve.c: Likewise.
40342 * util/unifont2pff.rb: Likewise.
40343 * util/i386/pc/biosdisk.c: Likewise.
40344 * util/i386/pc/getroot.c: Likewise.
40345 * util/i386/pc/pupa-mkimage.c: Likewise.
40346 * util/i386/pc/pupa-setup.c: Likewise.
40347
40348 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40349
40350 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40351 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40352 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40353 reading and reset it after reading.
40354 (pupa_ext2_close): Return PUPA_ERR_NONE.
40355
40356 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40357 Correct value.
40358 (struct linux_kernel_header): Add kernel_version and
40359 initrd_addr_max.
40360 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40361 pupa_file_read succeeds.
40362 (pupa_rescue_cmd_initrd): Implement.
40363
40364 2003-12-03 Marco Gerards <metgerards@student.han.nl>
40365
40366 * fs/ext2.c (pupa_ext2_label): New function.
40367 (pupa_ext2_fs): Added label.
40368 * fs/fat.c (pupa_fat_label): New function.
40369 (pupa_fat_fs): Added label.
40370 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40371
40372 * kern/misc.c (pupa_strndup): New function.
40373 * include/pupa/misc.h (pupa_strndup): New prototype.
40374
40375 * include/pupa/normal.h: Include <pupa/err.h>.
40376 (pupa_set_history): New prototype.
40377 (pupa_iterate_commands): New prototype.
40378 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40379 <pupa/disk.h>, <pupa/file.h>.
40380 (hist_size): New variable.
40381 (hist_lines): Likewise.
40382 (hist_end): Likewise.
40383 (hist_used): Likewise.
40384 (pupa_set_history): New function.
40385 (pupa_history_get): Likewise.
40386 (pupa_history_add): Likewise.
40387 (pupa_history_replace): Likewise.
40388 (pupa_tab_complete): Likewise.
40389 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40390 completion shows partitionnames while completing partitions, this
40391 feature was suggested by Jeff Bailey.
40392 * normal/command.c (pupa_iterate_commands): New function.
40393 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40394 (pupa_normal_init): Initialize history buffer.
40395 (PUPA_MOD_INIT): Likewise.
40396 (pupa_normal_fini): Free the history buffer.
40397 (PUPA_MOD_FINI): Likewise.
40398
40399 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40400 key.
40401
40402 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40403 * configure.ac [i386]: Check for regparam bug.
40404 (NESTED_FUNC_ATTR) [! i386]: Defined.
40405
40406 2003-11-17 Marco Gerards <metgerards@student.han.nl>
40407
40408 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40409 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40410 (pupa_emu_SOURCES): New variable.
40411 (pupa_emu_LDFLAGS): Likewise.
40412 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40413 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40414 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40415 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40416 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40417 (pupa_jmp_buf): New typedef.
40418 (pupa_setjmp) [PUPA_UTIL]: New macro.
40419 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40420 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40421 (pupa_refresh): New prototype.
40422 * include/pupa/util/getroot.h: New file.
40423 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40424 it.
40425 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40426 (pupa_rescue_cmd_cat): Likewise.
40427 (pupa_rescue_cmd_ls): Likewise.
40428 (pupa_rescue_cmd_testload): Likewise.
40429 (pupa_rescue_cmd_lsmod): Likewise.
40430 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40431 * normal/menu.c (run_menu): Likewise.
40432 * kern/term.c (pupa_cls): Likewise.
40433 (pupa_refresh): New function.
40434 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40435 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40436 * util/console.c: New file.
40437
40438 * util/i386/pc/getroot.c: New file.
40439 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40440 (pupa_putchar): New function.
40441 (pupa_refresh): Likewise.
40442 (xgetcwd): Function moved to ...
40443 (strip_extra_slashes): Likewise.
40444 (get_prefix): Likewise.
40445 * util/i386/pc/getroot.c: ... here.
40446 (find_root_device): Function moved and renamed to...
40447 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40448 Changed all callers.
40449 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40450 and renamed to...
40451 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40452 Changed all callers.
40453 * util/misc.c (pupa_memalign): New function.
40454 (pupa_mm_init_region): Likewise.
40455 (pupa_register_exported_symbols): Likewise.
40456 (pupa_putchar): Function removed.
40457 * util/pupa-emu.c: New file.
40458
40459 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40460
40461 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40462 (_multiboot_mod_SOURCES): New variable.
40463 (_multiboot_mod_CFLAGS): Likewise.
40464 * loader/i386/pc/multiboot.c: New file.
40465 * include/pupa/i386/pc/multiboot.h: Likewise.
40466 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40467 (pupa_multiboot_real_boot): New function.
40468 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40469 (pupa_multiboot_real_boot): New prototype.
40470 (pupa_rescue_cmd_multiboot): Likewise
40471 (pupa_rescue_cmd_module): Likewise.
40472
40473 * kern/loader.c (pupa_loader_set): Continue when
40474 pupa_loader_unload_func() fails.
40475 (pupa_loader_unset): New function.
40476 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40477
40478 * kern/misc.c (pupa_stpcpy): New function.
40479 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40480
40481 2003-11-12 Marco Gerards <metgerards@student.han.nl>
40482
40483 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40484 for available extensions.
40485
40486 * include/pupa/i386/pc/time.h: New file.
40487 * kern/disk.c: Include <pupa/machine/time.h>.
40488 (PUPA_CACHE_TIMEOUT): New macro.
40489 (pupa_last_time): New variable.
40490 (pupa_disk_open): Flush the cache when there was a timeout.
40491 (pupa_disk_close): Reset the timer.
40492 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40493 pupa_currticks.
40494 * util/misc.c: Include <sys/times.h>
40495 (pupa_get_rtc): New function.
40496
40497 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40498
40499 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40500 as blocks.
40501 (pupa_ext2_get_file_block): Use blocks member.
40502
40503 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40504 first block. Return -1 instead of pupa_errno on error.
40505
40506 2003-10-27 Marco Gerards <metgerards@student.han.nl>
40507
40508 * README: In the pupa-mkimage example use _chain instead of chain
40509 and ext2 instead of fat.
40510 * TODO: Replace ext2fs with jfs as an example. Add an item for
40511 adding journal playback for ext2fs.
40512 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40513 (pkgdata_MODULES): Added ext2.mod.
40514 (ext2_mod_SOURCES): New variable.
40515 (ext2_mod_CFLAGS): Likewise.
40516 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40517 * include/pupa/misc.h (pupa_strncpy): New prototype.
40518 (pupa_strcat): Likewise.
40519 (pupa_strncmp): Likewise.
40520 * kern/misc.c (pupa_strcat): Enable function.
40521 (pupa_strncpy): New function.
40522 (pupa_strncmp): Likewise.
40523 * fs/ext2.c: New file.
40524
40525 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40526 when the read failed before retrying.
40527 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40528 (_FILE_OFFSET_BITS): Likewise.
40529 * configure.ac: Added AC_SYS_LARGEFILE.
40530
40531 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40532
40533 * genmk.rb (PModule#rule): Make sure to get only symbol names
40534 from the output of nm.
40535 Reported by Robert Millan <rmh.grub@aybabtu.com>.
40536
40537 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40538
40539 I forgot to check in these changes for a long time. This adds
40540 incomplete support for VGA console, and this is still very
40541 buggy. Also, a lot of consideration is required for I18N,
40542 UNICODE, and VGA font issues. Therefore, assume that this is
40543 such that "better than nothing".
40544
40545 * font/manager.c: New file.
40546 * include/pupa/font.h: Likewise.
40547 * include/pupa/i386/pc/vga.h: Likewise.
40548 * term/i386/pc/vga.c: Likewise.
40549 * util/unifont2pff.rb: Likewise.
40550
40551 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40552 (pkgdata_MODULES): Added vga.mod and font.mod.
40553 (vga_mod_SOURCES): New variables.
40554 (vga_mod_CFLAGS): Likewise.
40555 (font_mod_SOURCES): Likewise.
40556 (font_mod_CFLAGS): Likewise.
40557
40558 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40559
40560 * include/pupa/term.h: Include pupa/err.h.
40561 (struct pupa_term): Added init and fini.
40562 Changed the argument of putchar to pupa_uint32_t.
40563
40564 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40565 (pupa_console_real_putchar): New prototype.
40566 (pupa_console_putchar): Removed.
40567 (pupa_console_checkkey): Exported.
40568 (pupa_console_getkey): Likewise.
40569
40570 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40571 characters.
40572
40573 * kern/term.c (pupa_term_set_current): Rewritten.
40574 (pupa_putchar): Likewise.
40575 (pupa_putcode): New function.
40576
40577 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40578 (pupa_console_real_putchar): ... this.
40579 (pupa_vga_set_mode): New function.
40580 (pupa_vga_get_font): Likewise.
40581
40582 * normal/command.c: Include pupa/term.h.
40583 (terminal_command): New function.
40584 (pupa_command_init): Register the command "terminal".
40585
40586 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40587 (DISP_UP): Likewise.
40588 (DISP_RIGHT): Likewise.
40589 (DISP_DOWN): Likewise.
40590 (DISP_HLINE): Likewise.
40591 (DISP_VLINE): Likewise.
40592 (DISP_UL): Likewise.
40593 (DISP_UR): Likewise.
40594 (DISP_LL): Likewise.
40595 (DISP_LR): Likewise.
40596
40597 * term/i386/pc/console.c (pupa_console_putchar): New function.
40598
40599 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40600
40601 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40602 FIX. Reverse the path_list.
40603
40604 * include/pupa/normal.h: Export pupa_register_command and
40605 pupa_unregister_command.
40606
40607 * hello/hello.c (pupa_cmd_hello): New module.
40608 * conf/i386-pc.rmk: Added hello.mod.
40609
40610 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40611
40612 * kern/i386/pc/lzo1x.S: New file.
40613
40614 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40615 (compress_kernel): New variable.
40616 (generate_image): Heavily modified to support compressing a
40617 large part of the core image.
40618
40619 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40620 leak.
40621 (pupa_util_load_image): New function.
40622
40623 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40624 (pupa_compressed_size): New variable.
40625 (codestart): Enable Gate A20 here.
40626 Decompress the compressed part of the core image.
40627 Rearrange the code to put functions and variables which are
40628 required for initialization in the non-compressed part.
40629 Include lzo1x.S.
40630
40631 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40632 here.
40633
40634 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40635
40636 * include/pupa/i386/pc/kernel.h
40637 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40638 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40639 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40640 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40641 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40642
40643 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40644
40645 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40646 (Utility#rule): Likewise.
40647
40648 * configure.ac: Check if LZO is available.
40649
40650 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40651
40652 * include/pupa/normal.h: New file.
40653 * include/pupa/setjmp.h: Likewise.
40654 * include/pupa/i386/setjmp.h: Likewise.
40655 * normal/cmdline.c: Likewise.
40656 * normal/command.c: Likewise.
40657 * normal/main.c: Likewise.
40658 * normal/menu.c: Likewise.
40659 * normal/i386/setjmp.S: Likewise.
40660
40661 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40662 (pupa_rescue_cmd_initrd): Likewise.
40663
40664 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40665 Likewise.
40666
40667 * kern/i386/pc/startup.S (translation_table): New variable.
40668 (translate_keycode): New function.
40669 (pupa_console_getkey): Call translate_keycode.
40670
40671 * kern/rescue.c (attempt_normal_mode): New function.
40672 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40673 it failed, print a message.
40674
40675 * kern/mm.c (pupa_real_malloc): Print more information when a
40676 free magic is broken.
40677 (pupa_free): If the first free header is not free actually, set
40678 it to P.
40679
40680 * kern/main.c (pupa_load_normal_mode): Just load the module
40681 "normal".
40682 (pupa_main): Don't print the message
40683 "Entering into rescue mode..." here.
40684
40685 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40686 Declared.
40687 (pupa_rescue_cmd_initrd): Likewise.
40688 (pupa_rescue_cmd_initrd): Likewise.
40689
40690 * include/pupa/symbol.h (FUNCTION): Specify the type.
40691 (VARIABLE): Likewise.
40692
40693 * include/pupa/err.h (pupa_err_t): Added
40694 PUPA_ERR_UNKNOWN_COMMAND.
40695
40696 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40697 (pupa_dl_get_prefix): Likewise.
40698
40699 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40700 Added _chain.mod and _linux.mod instead of chain.mod and
40701 linux.mod.
40702 (chain_mod_SOURCES): Renamed to ...
40703 (_chain_mod_SOURCES): ... this.
40704 (chain_mod_CFLAGS): Renamed to ...
40705 (_chain_mod_CFLAGS): ... this.
40706 (linux_mod_SOURCES): Renamed to ...
40707 (_linux_mod_SOURCES): ... this.
40708 (linux_mod_CFLAGS): Renamed to ...
40709 (_linux_mod_CFLAGS): ... this.
40710 (normal_mod_SOURCES): New variable.
40711 (normal_mod_CFLAGS): Likewise.
40712 (normal_mod_ASFLAGS): Likewise.
40713
40714 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40715
40716 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40717 possible.
40718
40719 * kern/dl.c (pupa_dl_ref): Refer depending modules
40720 recursively.
40721 (pupa_dl_unref): Unrefer depending modules recursively.
40722 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40723 a module is unloaded before one depending on that module is
40724 unloaded.
40725 (pupa_dl_unload): Unload depending modules explicitly,
40726 if possible.
40727
40728 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40729
40730 * include/pupa/i386/pc/linux.h: New file.
40731 * loader/i386/pc/linux.c: Likewise.
40732
40733 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40734 Removed.
40735 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40736 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40737 of PUPA_CHAINLOADER_BOOT_SECTOR.
40738
40739 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40740 (pupa_linux_prot_size): New variable.
40741 (pupa_linux_tmp_addr): Likewise.
40742 (pupa_linux_real_addr): Likewise.
40743 (pupa_linux_boot_zimage): New function.
40744 (pupa_linux_boot_bzimage): Likewise.
40745
40746 * kern/i386/pc/init.c (struct mem_region): New structure.
40747 (MAX_REGIONS): New macro.
40748 (mem_regions): New variable.
40749 (num_regions): Likewise.
40750 (pupa_os_area_addr): Likewise.
40751 (pupa_os_area_size): Likewise.
40752 (pupa_lower_mem): Likewise.
40753 (pupa_upper_mem): Likewise.
40754 (add_mem_region): New function.
40755 (compact_mem_regions): Likewise.
40756 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40757 the size of the conventional memory and that of so-called upper
40758 memory (before the first memory hole).
40759 Instead of adding each found region to free memory, use
40760 add_mem_region and add them after removing overlaps.
40761 Also, add only 1/4 of the upper memory to free memory. The rest
40762 is used for loading OS images. Maybe this is ad hoc, but this
40763 makes it much easier to relocate OS images when booting.
40764
40765 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40766 (pupa_enter_rescue_mode): Don't register initrd and module.
40767
40768 * kern/mm.c: Include pupa/dl.h.
40769
40770 * kern/main.c: Include pupa/file.h and pupa/device.h.
40771
40772 * kern/loader.c (pupa_loader_load_module_func): Removed.
40773 (pupa_loader_load_module): Likewise.
40774
40775 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40776 ``.o''.
40777
40778 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40779 (pupa_linux_tmp_addr): Likewise.
40780 (pupa_linux_real_addr): Likewise.
40781 (pupa_linux_boot_zimage): Likewise.
40782 (pupa_linux_boot_bzimage): Likewise.
40783
40784 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40785 (pupa_upper_mem): Likewise.
40786 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40787 module is too dangerous.
40788
40789 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40790 (pupa_os_area_size): Likewise.
40791 (pupa_loader_set): Remove the first argument. Loader doesn't
40792 manage modules or initrd any longer.
40793 (pupa_loader_load_module): Removed.
40794
40795 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40796 (linux_mod_SOURCES): New variable.
40797 (linux_mod_CFLAGS): Likewise.
40798
40799 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40800
40801 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40802 the length of a blocklist correctly.
40803
40804 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40805 Use ioctl only if the OS file is a block device.
40806 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40807 not very useful for normal files.
40808
40809 * kern/main.c (pupa_set_root_dev): New function.
40810 (pupa_load_normal_mode): Likewise.
40811 (pupa_main): Call those above.
40812
40813 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40814 pupa_uint16_t.
40815
40816 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40817
40818 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40819
40820 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40821 (setup): Configure the installed partition information and the
40822 dl prefix.
40823
40824 * loader/i386/pc/chainloader.c (my_mod): New variable.
40825 (pupa_chainloader_unload): New function.
40826 (pupa_rescue_cmd_chainloader): Refer itself.
40827 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40828
40829 * kern/i386/pc/startup.S (install_partition): Removed.
40830 (version_string): Likewise.
40831 (config_file): Likewise.
40832 (pupa_install_dos_part): New variable.
40833 (pupa_install_bsd_part): Likewise.
40834 (pupa_prefix): Likewise.
40835 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40836
40837 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40838 and pupa/misc.h.
40839 (make_install_device): New function.
40840 (pupa_machine_init): Set the dl prefix.
40841
40842 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40843 (buf): Renamed to ...
40844 (linebuf): ... this.
40845 (pupa_rescue_cmd_prefix): New function.
40846 (pupa_rescue_cmd_insmod): Likewise.
40847 (pupa_rescue_cmd_rmmod): Likewise.
40848 (pupa_rescue_cmd_lsmod): Likewise.
40849 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40850 rmmod and lsmod.
40851
40852 * kern/mm.c (pupa_memalign): If failed even after invalidating
40853 disk caches, unload unneeded modules and retry.
40854
40855 * kern/misc.c (pupa_memmove): New function.
40856 (pupa_memcpy): Removed.
40857 (pupa_strcpy): New function.
40858 (pupa_itoa): Made static.
40859
40860 * kern/dl.c (pupa_dl_iterate): New function.
40861 (pupa_dl_ref): Likewise.
40862 (pupa_dl_unref): Likewise.
40863 (pupa_dl_unload): Return if succeeded or not.
40864 (pupa_dl_unload_unneeded): New function.
40865 (pupa_dl_unload_all): Likewise.
40866 (pupa_dl_init): Renamed to ...
40867 (pupa_dl_set_prefix): ... this.
40868 (pupa_dl_get_prefix): New function.
40869
40870 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40871 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40872 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40873 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40874 (pupa_install_dos_part): Declared.
40875 (pupa_install_bsd_part): Likewise.
40876 (pupa_prefix): Likewise.
40877 (pupa_boot_drive): Likewise.
40878
40879 * include/pupa/types.h: Fix a typo.
40880
40881 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40882 pupa_memmove.
40883 (pupa_memmove): Declared.
40884 (pupa_strcpy): Likewise.
40885
40886 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40887 pupa_mod_init takes one argument, its own module.
40888 (pupa_dl_unload_unneeded): Declared.
40889 (pupa_dl_unload_all): Likewise.
40890 (pupa_dl_ref): Likewise.
40891 (pupa_dl_unref): Likewise.
40892 (pupa_dl_iterate): Likewise.
40893 (pupa_dl_init): Renamed to ...
40894 (pupa_dl_set_prefix): ... this.
40895 (pupa_dl_get_prefix): Declared.
40896
40897 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40898 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40899 unloaded.
40900 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40901 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40902
40903 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40904 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40905
40906 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40907
40908 * util/i386/pc/pupa-setup.c (setup): Define the internal
40909 function find_first_partition_start at the top level, because GCC
40910 3.0.x cannot compile internal functions in deeper scopes
40911 correctly.
40912 (find_root_device): Use lstat instead of stat.
40913 Don't follow symbolic links.
40914 Fix the path-constructing code.
40915
40916 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40917 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40918 by a BLKGETSIZE ioctl first, because block devices don't fill
40919 the member st_mode of the structure stat on Linux.
40920 [__linux__] (linux_find_partition): Use a temporary buffer
40921 REAL_DEV for the working space. Copy it to DEV before returning.
40922 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40923 buffer cache consistent.
40924 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40925 strncmp. The previous value was merely wrong.
40926 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40927
40928 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40929 FAT size is 12. The previous value was merely wrong.
40930
40931 * kern/main.c (pupa_main): Don't split the starting message from
40932 newlines.
40933
40934 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40935 LF, because BIOS goes crazy about character attributes in this
40936 case.
40937
40938 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40939
40940 * include/i386/pc/util/biosdisk.h: New file.
40941 * util/i386/pc/biosdisk.c: Likewise.
40942 * util/i386/pc/pupa-setup.c: Likewise.
40943
40944 * Makefile.in (INCLUDE_DISTFILES): Added
40945 include/pupa/i386/pc/util/biosdisk.h.
40946 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40947 directory util/i386/pc.
40948 (install-local): Added a rule for sbin_UTILITIES.
40949 (uninstall): Likewise.
40950
40951 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40952
40953 * util/misc.c (xrealloc): New function.
40954 (pupa_malloc): Likewise.
40955 (pupa_free): Likewise.
40956 (pupa_realloc): Likewise.
40957 (pupa_stop): Likewise.
40958 (pupa_putchar): Likewise.
40959
40960 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40961
40962 * include/pupa/util/misc.h (xrealloc): Declared.
40963
40964 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40965 macro.
40966 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40967 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40968
40969 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40970 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40971
40972 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40973 way should be implemented.
40974 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40975
40976 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40977 the size of NAME for safety.
40978 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40979 0x88.
40980
40981 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40982 (pupa_setup_SOURCES): Likewise.
40983
40984 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40985
40986 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40987
40988 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40989 bunch of pushl's from pusha, because this destroys the return
40990 value.
40991
40992 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40993
40994 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40995 This means that any missing prototypes could be fatal. Also, you
40996 must take care when writing assembly code. See the comments at
40997 the beginning of startup.S, for more details.
40998
40999 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
41000 compilation mechanism.
41001 (pupa_chainloader_real_boot): Likewise.
41002 (pupa_biosdisk_rw_int13_extensions): Likewise.
41003 (pupa_biosdisk_rw_standard): Likewise.
41004 (pupa_biosdisk_check_int13_extensions): Likewise.
41005 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
41006 (pupa_biosdisk_get_diskinfo_standard): Likewise.
41007 (pupa_get_memsize): Likewise.
41008 (pupa_get_mmap_entry): Likewise.
41009 (pupa_console_putchar): Likewise.
41010 (pupa_console_setcursor): Likewise.
41011 (pupa_getrtsecs): Use pushl instead of push.
41012
41013 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
41014 memory instead of the stack for a mmap entry, because some
41015 BIOSes may ignore the maximum size and overflow.
41016
41017 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
41018
41019 * genmk.rb (PModule#rule): Compile automatically generated
41020 sources with module-specific CFLAGS as well as other sources.
41021
41022 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41023
41024 * configure.ac: Check ld.
41025 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
41026 respectively, before checking endianness and sizes.
41027
41028 * Makefile.in (LD): New variable.
41029
41030 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41031
41032 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
41033
41034 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41035
41036 * Changelog: New file.
41037