]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* util/grub-install.in: Add missing \.
[grub2.git] / ChangeLog
1 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-install.in: Add missing \.
4 Reported by: gentoofan
5
6 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9 (direct_read): Use correct compressed size.
10 (grub_squash_read_data): Likewise.
11
12 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * docs/grub.texi (Platform limitations): New section.
15 (Platform-specific operations): Likewise.
16 * docs/grub-dev.texi (Porting): Likewise.
17
18 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
19
20 IEEE1275 disk write support.
21
22 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
23 const void *.
24 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
25 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
26 and seek loginc to ...
27 (grub_ofdisk_prepare): ... here.
28 (grub_ofdisk_write): Implement.
29
30 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
31
32 ARC disk write support.
33
34 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
35 (reopen): New argument writable. All users updated.
36 Handle required access mode.
37 (grub_arcdisk_write): Implement.
38 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
39 (grub_arc_firmware_vector): Make buffer to write a const buffer.
40
41 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
44 (read_sblock): Don't attempt to read superblocks outside the disk size.
45
46 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
49 first superblock to find the second one when possible.
50
51 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * util/grub-install.in: Fix an ARC bug.
54 Print a warning if no platform-specific setup is available.
55
56 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
57
58 Use static allocation rather than scratch pointer in reed_solomon.
59 It decreases its size significantly and avoids a variable in .text.
60
61 * grub-core/lib/reed_solomon.c (scratch): Removed.
62 (chosenstat): New const or static array.
63 (sigma): Likewise.
64 (errpot): Likewise.
65 (errpos): Likewise.
66 (sy): Likewise.
67 (mstat): Likewise.
68 (errvals): Likewise.
69 (eqstat): Likewise.
70 (pol_evaluate): Replace x with log_x argument. All users updated.
71 (syndroms): Removed.
72 (gauss_solve): Use statically allocated arrays.
73 (rs_recover): Likewise.
74 Calculate syndroms directly.
75 (decode_block): Use statically allocated arrays.
76 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
77 (main) [TEST]: Allow -DTEST -DSTANDALONE.
78
79 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
80
81 Eliminate fixed limit on reed solomon decoder length.
82
83 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
84 rather than hardcoding the address.
85 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
86 no_reed_solomon_length.
87 Move gate_a20 to no-reed-solomon part.
88 Don't force a particular size of no reed-solomon part.
89 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
90 Removed.
91 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
92 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
93
94 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/commands/wildcard.c (match_files): Handle filenames
97 without explicit device.
98 (wildcard_expand): Don't add explicit device if not already present.
99 * tests/grub_script_echo1.in: Add a new expansion test.
100
101 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
102
103 Replace single-linked with double-linked lists. It results in more
104 compact and more efficient code.
105
106 * grub-core/kern/list.c (grub_list_push): Moved from here ...
107 * include/grub/list.h (grub_list_push): ... to here. Set prev.
108 (grub_list_remove): Moved from here ...
109 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
110 (grub_prio_list_insert): Set prev.
111 * include/grub/list.h (grub_list): Add prev. All users updated.
112
113 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
114
115 Handle newer autotools. Add some missing quotes while on it.
116
117 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
118 (pkglib_DATA): Move grub-mkconfig_lib from here ...
119 (pkgdata_DATA): ... here.
120 * Makefile.util.def (update-grub_lib): Removed.
121 * conf/Makefile.common (pkglib_DATA): Removed.
122 (pkglib_SCRIPTS): Likewise.
123 (pkgdata_DATA): New variable.
124 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
125 needed.
126 Add missing quotes.
127 Remove unused variable while on it.
128 * tests/util/grub-shell.in: Likewise.
129 * util/grub-install.in: Likewise.
130 * util/grub-mkconfig.in: Likewise.
131 * util/grub-mknetdir.in: Likewise.
132 * util/grub-mkrescue.in: Likewise.
133 * util/grub-mkstandalone.in: Likewise.
134 * util/grub.d/00_header.in: Likewise.
135 * util/grub.d/10_hurd.in: Likewise.
136 * util/grub.d/10_illumos.in: Likewise.
137 * util/grub.d/10_kfreebsd.in: Likewise.
138 * util/grub.d/10_linux.in: Likewise.
139 * util/grub.d/10_netbsd.in: Likewise.
140 * util/grub.d/10_windows.in: Likewise.
141 * util/grub.d/20_linux_xen.in: Likewise.
142 * util/grub.d/30_os-prober.in: Likewise.
143 * util/update-grub_lib.in: Removed.
144
145 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
146
147 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
148 a workaround for intel problem.
149
150 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
151 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
152 2012-01-23 pfsmorigo
153
154 * util/grub-install.in: Support dd'in into PreP partition.
155 * util/grub-probe.c (probe): Support discovering partition type.
156 (main): Support -t msdos_parttype.
157
158 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
161 infinite recursion using counter.
162 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
163 init to skip it if the magic check fails.
164 (dec_stream_header): Init s->crc32.
165
166 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
167 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
168 2012-01-22 Richard Laager <rlaager@wiktel.com>
169
170 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
171 All users updated.
172 (find_bestub): Determine correct size.
173 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
174 (scan_disk): Align the size down.
175 Call check pool before find_bestub to have ashift.
176
177 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
180 dprintf in no-malloc zone.
181
182 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
183
184 * configure.ac: Add back in test for limits.h.
185
186 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
187
188 Support 4K-sector NTFS.
189
190 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
191 (grub_ntfs_data): Remove blocksize.
192 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
193 Remove data argument. All users updated.
194
195 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
198 being in .text to avoid dprel references.
199 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
200 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
201 (grub_arch_highmemsize): Likewise.
202 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
203 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
204 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
205
206 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
207
208 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
209
210 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
211 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
212
213 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
216 GRUB_UTIL.
217 (grub_set_datetime_cmos): Likewise.
218
219 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
220
221 Make XZ compression parameters dependent on target and not host CPU.
222
223 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
224 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
225
226 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
229 set but not used variable.
230
231 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
234 created when no uuid support is compiled into mkfs.reiser.
235
236 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
239 (utf8_to_macroman): Do the opposite.
240 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
241
242 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * configure.ac: Refise build qemu_mips w/o unifont.
245
246 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
247
248 Eliminate grub_min/grub_max prone to overflow usage.
249
250 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
251 (poll_nonroot_hub): Likewise.
252 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
253 (grub_affs_label): Likewise.
254 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
255 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
256 (grub_hfs_label): Likewise.
257 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
258 * grub-core/fs/zfs/zfs.c (MIN): Remove.
259 (zap_leaf_array_equal): Use grub_size. Remove MIN.
260 (zap_leaf_array_get): Likewise.
261 (dnode_get_path): Likewise.
262 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
263 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
264 * grub-core/script/execute.c (grub_script_break): Likewise.
265 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
266 grub_max.
267 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
268 * include/grub/misc.h (grub_min): Removed.
269 (grub_max): Likewise.
270
271 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
272
273 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
274 direct.inode = 0.
275
276 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
279
280 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
283
284 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
287 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
288
289 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
292 rather than a hack for grub_strncasemap.
293
294 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
295
296 Support multiple initrds
297 Note: part of this was accidently committed in r3739.
298
299 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
300 initrd.
301 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
302 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
303 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
304 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
305 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
306
307 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
310 disks with unknown size.
311 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
312
313 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
314
315 Remove defines pertaining to arbitrary limits not affecting GRUB
316 anymore.
317
318 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
319 (EXT2_MAX_SYMLINKCNT): Likewise.
320 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
321 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
322 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
323 (GRUB_PXE_MAX_BLKSIZE): Likewise.
324 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
325 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
326 (DN_MAX_OBJECT_SHIFT): Likewise.
327 (DN_MAX_OFFSET_SHIFT): Likewise.
328 (DN_MAX_OBJECT): Likewise.
329 (DNODES_PER_LEVEL_SHIFT): Likewise.
330 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
331 (SPA_MAXBLOCKSIZE): Likewise.
332 (SPA_BLOCKSIZES): Likewise.
333 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
334 (MZAP_MAX_BLKSZ): Likewise.
335
336 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
339 handle NULL appropriately.
340 Remove MIN.
341
342 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Fix efiemu.
345
346 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
347 cpu/types.h.
348 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
349 * configure.ac: Fix efiemu check.
350
351 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
354 grub_probe.
355 Reported by: adamwill
356
357 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
358
359 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
360
361 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
362
363 Fix handling of wide characters in gfxterm.
364
365 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
366 (clear_char): Likewise.
367 (paint_char): Skip code == NULL chars.
368 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
369
370 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * grub-core/normal/charset.c: Move comment to right place.
373
374 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
377 (GRUB_AFFS_FLAG_FFS): Put back where it was.
378 (grub_affs_mount): Revert the correct version checking.
379
380 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * docs/grub.texi (Unicode): Mention several other unsupported features.
383
384 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
387 case statements as compile-time one.
388 (direct_read): Prevent spurious warnings.
389 (grub_squash_read_data): Likewise.
390
391 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
392
393 Various squash4 fixes and LZO and XZ support.
394
395 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
396 Add xzembed source files.
397 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
398 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
399 (grub_squash_inode): New subtype long_dir.
400 (SQUASH_TYPE_LONG_DIR): New inode type.
401 (COMPRESSION): New enum.
402 (XZBUFSIZ): New const.
403 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
404 (read_chunk): Use data->decompress.
405 (zlib_decompress): New function.
406 (lzo_decompress): Likewise.
407 (xz_decompress): Likewise.
408 (squash_mount): Set new data fields.
409 (grub_squash_iterate_dir): Handle long dir.
410 (squash_unmount): Free xzdec and xzbuf.
411 (grub_squash_open): Check ino type.
412 (direct_read): Stylistic fixes. Use data->decompress.
413 (grub_squash_read_data): Likewise.
414 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
415 (get_byte): Likewise.
416 (grub_zlib_disk_read): Removed.
417 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
418 (GRUB_POSIX_BOOL_DEFINED): New define.
419 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
420 * grub-core/lib/xzembed/xz.h: Addmissing includes.
421 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
422 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
423
424 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
425
426 Don't override more informative errors.
427
428 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
429 * grub-core/font/font.c (open_section): Likewise.
430 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
431 filename. Don't override errors.
432 (grub_cmd_openbsd_ramdisk): Don't override errors.
433 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
434 (grub_cmd_initrd): Likewise.
435 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
436 (grub_cmd_initrd): Likewise.
437 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
438 (grub_cmd_linux): Likewise.
439 (grub_cmd_initrd): Likewise.
440 (grub_cmd_payload): Likewise.
441 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
442 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
443 (grub_cmd_module): Likewise.
444 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
445 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
446 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
447 (grub_cmd_xnu_mkext): Likewise.
448 (grub_cmd_xnu_ramdisk): Likewise.
449 (grub_xnu_check_os_bundle_required): Likewise.
450 (grub_xnu_load_kext_from_dir): Likewise.
451 (grub_cmd_xnu_kextdir): Likewise.
452 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
453
454 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
457 as 1024 in block size field. Found on one of my test images.
458 Small optimisation while on it.
459
460 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
463 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
464 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
465 performance fixes while on it.
466 (grub_sfs_close): Fix memory leak while on it.
467 (grub_sfs_label): Convert Latin1 to UTF-8.
468
469 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
472 space to avoid overflows.
473 (grub_hfs_label): Convert from macroman to UTF-8.
474
475 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
478
479 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
482
483 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * unicode: Import Unicode 6.0 data.
486
487 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
490 outside of range.
491
492 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
493
494 Avoid cutting in the middle of UTF-8 character.
495
496 * include/grub/charset.h (grub_getend): New function.
497 * grub-core/script/function.c (grub_script_function_find): Use
498 grub_getend.
499 * grub-core/normal/completion.c (add_completion): Likewise.
500
501 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
504 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
505 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
506 (GRUB_UNICODE_TAG_END): Likewise.
507 (GRUB_UNICODE_LAST_VALID): Likewise.
508
509 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
512 len and make it smaller. All users updated.
513 * util/import_unicode.py: Put length and not end character.
514 Check length.
515
516 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
517
518 Make better Unicode-compliant and unify some UTF-8 code pathes.
519
520 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
521 valid character.
522 (grub_is_valid_utf8): Use grub_utf8_process.
523 Check resulting code range.
524 (grub_utf8_to_ucs4): Use grub_utf8_process.
525 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
526 valid character.
527
528 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
531
532 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * docs/grub.texi (Filesystems): Mention AFS.
535
536 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * docs/grub.texi (Filesystems): Clarify restrictions.
539 (Regexp): Mention non-Unicode regexp behaviour.
540 (Other): Mention non-Unicode matching behaviour.
541
542 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
543
544 Make HFS implementation use MacRoman.
545
546 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
547 (macroman): New const array.
548 (macroman_to_utf8): New function.
549 (utf8_to_macroman): Likewise.
550 (grub_hfs_find_dir): Use utf8_to_macroman.
551 (grub_hfs_dir): Use macroman_to_utf8.
552 Set case_insensitive.
553
554 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
557
558 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
559
560 Integrate hints into autogeneration scripts.
561
562 * docs/grub.texi (Filesystems): Add a hostdisk example.
563 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
564 (grub-probe): Add ofpath.
565 * gentpl.py: Remove group nosparc64.
566 * grub-core/commands/search.c (cache_entry): New struct.
567 (cache): New var.
568 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
569 * grub-core/commands/search_wrap.c (options): Add platform-specific
570 hint options.
571 (grub_cmd_search): Handle platform-specific hints.
572 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
573 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
574 (grub_util_biosdisk_data): Likewise.
575 (grub_util_biosdisk_open): Set device_map.
576 (read_device_map): Handle "" as indication of no map.
577 Set device_map.
578 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
579 (grub_util_biosdisk_get_compatibility_hint): New function.
580 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
581 * include/grub/emu/hostdisk.h
582 (grub_util_biosdisk_get_compatibility_hint): New proto.
583 * util/grub-install.in: Don't call grub-mkdevicemap.
584 Add platform-specific hint to load.cfg.
585 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
586 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
587 hints. Set root preliminary to compatibility hint, not to OS name.
588 * util/grub-probe.c (PRINT_*): Add hints.
589 (print): Make static.
590 (escape_of_path): New function.
591 (guess_bios_drive): Likewise.
592 (guess_efi_drive): Likewise.
593 (guess_baremetal_drive): Likewise.
594 (print_full_name): Likewise.
595 (probe): Handle hints.
596 (main): Likewise.
597 * util/ieee1275/devicemap.c: Removed.
598 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
599 updated.
600 (grub_util_devname_to_ofpath): Return NULL on failure.
601
602 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
603 resource leak.
604 * util/getroot.c (grub_util_pull_device): Fix memory leak.
605
606 * po/POTFILES.in: Regenerated.
607
608 Allow purely long options
609
610 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
611 (SHORT_ARG_USAGE): Likewise.
612 (grub_arg_show_help): Compare opt with help_options.
613 (parse_option): Receive opt as argument. If makes big simplificatons.
614 All users updated
615
616 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
619 Restructure to avoid warning.
620
621 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * util/grub-install.in: Account for possible escaped comma in device
624 name.
625
626 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
629 channel.
630
631 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
634 allocation and zero-setting.
635 (grub_ieee1275_get_devname): Check that alias is complete.
636
637 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
640 unaligned segments.
641
642 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
645 prefix.
646 (grub_ofdisk_open): Check and discard ieee1275 prefix.
647 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
648 Add ieee1275 prefix.
649
650 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * docs/grub.texi (Filesystems): Update.
653
654 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
655
656 Support odc, newc and bigendian cpio formats.
657
658 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
659 * grub-core/Makefile.core.def (newc): New module.
660 (odc): Likewise.
661 (cpio_be): Likewise.
662 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
663 (MAGIC): Likewise.
664 (MAGIC2): Likewise.
665 (head) [MODE_ODC]: Adapt for the format.
666 (head) [MODE_NEWC]: Likewise.
667 (head) [!MODE_*]: Write fields of interest as arrays.
668 (MAGIC_USTAR): Removed.
669 (read_number) [MODE_NEWC]: Change to hex.
670 (read_number) [!MODE_*]: Parse binary arrays.
671 (grub_cpio_find_file): Factor out the code for better structure and
672 always use read_number.
673 (grub_cpio_mount): Use MAGIC and MAGIC2.
674 (grub_cpio_dir): Exit on first hook non-0 return.
675 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
676 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
677 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
678 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
679 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
680 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
681 * grub-core/fs/newc.c: New file.
682 * grub-core/fs/odc.c: Likewise.
683 * grub-core/fs/cpio_be.c: Likewise.
684
685 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
686
687 Fix handling of tar numbers occupying the whole field.
688
689 * grub-core/fs/cpio.c (read_number): New function.
690 (grub_cpio_find_file): Use read_number instead of strtoull.
691
692 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
695 occupying the whole field size.
696
697 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
698
699 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
700
701 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
704
705 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
706
707 * grub-core/Makefile.core.def (lzma_decompress): Add missing
708 TARGET_IMG_LDFLAGS.
709
710 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * util/getroot.c (ESCAPED_PATH_MAX): New define.
713 (mountinfo_entry): Increase the field size to take escaping into
714 account.
715 (find_root_device_from_libzfs): Add one byte to size of strings for
716 security.
717
718 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
721 an assert.
722 * util/grub-setup.c (setup): Likewise.
723
724 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
727 _LzmaDecodeA.
728
729 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * docs/grub.texi (Internationalisation): New section.
732
733 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * docs/grub.texi (Loopback booting): New section.
736
737 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
738
739 * util/grub-mkstandalone.in: Fix minor typo errors.
740
741 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
742
743 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
744
745 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
746 net/icmp.c and net/icmp6.c.
747 (http): New module.
748 (priority_queue): Likewise.
749 * grub-core/io/bufio.c: Rewritten.
750 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
751 TYPE_WITH_CONFIGFILE_OPTION.
752 (legacy_commands): Add bootp and dhcp.
753 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
754 (grub_legacy_parse): Likewise.
755 * grub-core/lib/priority_queue.c: New file.
756 * grub-core/net/arp.c: Add missing license header.
757 (arp_find_entry): Removed.
758 (arp_find_entry): Likewise.
759 (grub_net_arp_resolve): Rename to ...
760 (grub_net_arp_send_request): ...this.
761 (grub_net_arp_receive): New card argument.
762 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
763 Set router and DNS server.
764 (grub_net_configure_by_dhcp_ack): Handle routing information.
765 (grub_cmd_bootp): Set checksum.
766 (grub_bootp_init): Remove net_dhcp.
767 * grub-core/net/dns.c: New file.
768 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
769 completion.
770 (get_card_packet): Handle allocation.
771 (grub_efinet_findcards): Set mtu.
772 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
773 (get_card_packet): Handle allocation.
774 (emucard): Set mtu.
775 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
776 (GRUB_MOD_INIT): Set mtu.
777 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
778 mtu.
779 (get_card_packet): Handle allocation.
780 (grub_ofnet_findcards): Set mtu.
781 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
782 assert.
783 (grub_net_recv_ethernet_packet): Handle IPv6.
784 * grub-core/net/http.c: New file.
785 * grub-core/net/icmp.c: Likewise.
786 * grub-core/net/icmp6.c: Likewise.
787 * grub-core/net/ip.c (ip6addr): New type.
788 (ip6hdr): Likewise.
789 (reassemble): Likewise.
790 (cmp): New function.
791 (reassembles): New variable.
792 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
793 (id): New variable.
794 (send_fragmented): New function.
795 (grub_net_send_ip_packet): Rename to ...
796 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
797 Handle non-UDP.
798 (grub_net_recv_ip_packets): Rename to ...
799 (handle_dgram): ... this. Check checksum. Handle non-UDP.
800 (free_rsm): New function.
801 (free_old_fragments): Likewise.
802 (grub_net_recv_ip4_packets): New function.
803 (grub_net_send_ip6_packet): Likewise.
804 (grub_net_send_ip_packet): Likewise.
805 (grub_net_recv_ip6_packets): Likewise.
806 (grub_net_recv_ip_packets): Likewise.
807 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
808 (LINK_LAYER_CACHE_SIZE): New const.
809 (link_layer_find_entry): New function.
810 (grub_net_link_layer_add_address): Likewise.
811 (grub_net_link_layer_resolve_check): Likewise.
812 (grub_net_link_layer_resolve): Likewise.
813 (grub_net_ipv6_get_slaac): Likewise.
814 (grub_net_ipv6_get_link_local): Likewise.
815 (grub_cmd_ipv6_autoconf): Likewise.
816 (parse_ip): Handle one number representation.
817 (parse_ip6): New functoion.
818 (match_net): Handle IPv6.
819 (grub_net_resolve_address): Handle IPv6 and DNS.
820 (grub_net_resolve_net_address): Handle IPv6.
821 (route_cmp): New function.
822 (grub_net_route_address): Find best route.
823 (grub_net_addr_to_str): Handle IPv6.
824 (grub_net_addr_cmp): New function.
825 (grub_net_add_addr): Register local route.
826 (print_net_address): Handle net address.
827 (grub_net_poll_cards): Retransmit TCP.
828 (grub_net_poll_cards_idle_real): Likewise.
829 (have_ahead): New function.
830 (grub_net_seek_real): Use underlying seek.
831 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
832 * grub-core/net/tcp.c: New file.
833 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
834 (cmp): New function.
835 (ack): Likewise.
836 (tftp_receive): Handle unordered input.
837 (destroy_pq): New function.
838 (tftp_close): Close pq.
839 * grub-core/net/udp.c: Put missing license header.
840 (grub_net_udp_socket): New function.
841 (udp_socket_register): Likewise.
842 (grub_net_udp_close): Likewise.
843 (grub_net_recv_udp_packet): Check checksum.
844 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
845 * include/grub/misc.h (grub_memchr): New function.
846 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
847 (grub_net_card_driver): Return buf in recv.
848 (grub_net_slaac_mac_list): New struct.
849 (grub_network_level_protocol_id): Add ipv6.
850 (grub_net_network_level_addr): Likewise.
851 (grub_net_network_level_net_addr): Likewise.
852 (grub_net_app_protocol): Add seek.
853 (grub_net_socket): Removed.
854 (grub_net_sockets): Likewise.
855 (grub_net_socket_register): Likewise.
856 (grub_net_socket_unregister): Likewise.
857 (FOR_NET_SOCKETS): Likewise.
858 (grub_net_add_addr): Add const.
859 (GRUB_NET_BOOTP_*): New enum.
860 (grub_net_addr_cmp): New proto.
861 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
862 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
863 (grub_net_hwaddr_to_str): NEw proto.
864 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
865 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
866 (grub_dns_init): New proto.
867 (grub_dns_fini): Likewise.
868 (grub_net_tcp_retransmit): Likewise.
869 (grub_net_link_layer_add_address): Likewise.
870 (grub_net_link_layer_resolve_check): Likewise.
871 (grub_net_link_layer_resolve): Likewise.
872 (grub_net_dns_lookup): Likewise.
873 (grub_net_add_dns_server): Likewise.
874 (grub_net_remove_dns_server): Likewise.
875 (GRUB_NET_TRIES): New const.
876 (GRUB_NET_INTERVAL): Likewise.
877 * include/grub/net/arp.h: Mostly rewritten.
878 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
879 * include/grub/net/ip.h: Mostly rewritten.
880 * include/grub/net/netbuff.h: Indent.
881 * include/grub/net/tcp.h: New file.
882 * include/grub/net/udp.h: Mostly rewritten.
883 * include/grub/priority_queue.h: New file.
884 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
885 (grub_swap_bytes64_compile_time): Likewise.
886 (grub_cpu_to_be16_compile_time): Likewise.
887 (grub_cpu_to_be32_compile_time): Likewise.
888 (grub_cpu_to_be64_compile_time): Likewise.
889 (grub_be_to_cpu64_compile_time): Likewise.
890
891 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
894 UINT_TO_PTR with cast.
895
896 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
899 don't use them.
900
901 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
904 already there.
905
906 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
909 confusing ipxe.
910
911 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
914 Add missing const attribute.
915 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
916 Likewise.
917 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
918 Likewise.
919
920 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
923 misaligned access.
924 (serpent_setkey): Likewise.
925 (serpent_encrypt_internal): Likewise.
926 (serpent_decrypt_internal): Likewise.
927 (serpent_encrypt): Don't put an alignment-increasing cast.
928 (serpent_decrypt): Likewise.
929 (serpent_test): Likewise.
930
931 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
934
935 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
938
939 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
940 grub_addr_t casts.
941 (PTR_TO_UINT64): Likewise.
942 (PTR_TO_UINT32): Likewise.
943
944 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * util/grub-mkimage.c (generate_image): Decrease the higher limit
947 because of stack.
948 * util/grub-setup.c (setup): Don't add redundancy past the higher load
949 limit.
950
951 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
954 text_width > available width a bit more gracefully.
955
956 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
959 current address calculation.
960
961 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
964 stack.
965 (encode_block): Likewise.
966
967 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
970 certainety.
971
972 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
975 non-RS part to avoid RS messing with GDT.
976 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
977 Increase to suit in realmode routines.
978
979 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/kern/i386/realmode.S: Increase alignment.
982 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
983
984 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
987 be deterministic.
988 (syndroms): Compute 0 syndrom.
989 (rs_recover): Use 0 syndrom.
990
991 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
994
995 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
998 brackets.
999
1000 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1003 account.
1004 (get_top_pad): Likewise.
1005 (get_right_pad): Likewise.
1006 (get_bottom_pad): Likewise.
1007
1008 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
1011
1012 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1015 attribute as the structure isn't guaranteed to be properly aligned.
1016 (grub_efi_pci_device_path): Likewise.
1017 (grub_efi_pccard_device_path): Likewise.
1018 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1019 specify the size of `memory_type'.
1020 (grub_efi_vendor_device_path): Likewise.
1021 (grub_efi_controller_device_path): Likewise.
1022 (grub_efi_acpi_device_path): Likewise.
1023 (grub_efi_expanded_acpi_device_path): Likewise.
1024 (grub_efi_atapi_device_path): Likewise.
1025 (grub_efi_scsi_device_path): Likewise.
1026 (grub_efi_fibre_channel_device_path): Likewise.
1027 (grub_efi_1394_device_path): Likewise.
1028 (grub_efi_usb_device_path): Likewise.
1029 (grub_efi_usb_class_device_path): Likewise.
1030 (grub_efi_i2o_device_path): Likewise.
1031 (grub_efi_mac_address_device_path): Likewise.
1032 (grub_efi_ipv4_device_path): Likewise.
1033 (grub_efi_ipv6_device_path): Likewise.
1034 (grub_efi_infiniband_device_path): Likewise.
1035 (grub_efi_uart_device_path): Likewise.
1036 (grub_efi_vendor_messaging_device_path): Likewise.
1037 (grub_efi_hard_drive_device_path): Likewise.
1038 (grub_efi_cdrom_device_path): Likewise.
1039 (grub_efi_vendor_media_device_path): Likewise.
1040 (grub_efi_file_path_device_path): Likewise.
1041 (grub_efi_protocol_device_path): Likewise.
1042 (grub_efi_piwg_device_path): Likewise.
1043 (grub_efi_bios_device_path): Likewise.
1044
1045 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1048 (grub_ucs4_to_utf8_alloc): Likewise.
1049 (grub_ucs4_to_utf8): Likewise.
1050 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1051 (grub_ucs4_to_utf8_alloc): Likewise.
1052
1053 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 AFFS never uses unicode.
1056
1057 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1058 (grub_latin1_to_utf8): New inline function.
1059 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1060
1061 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1064 overflow.
1065
1066 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1069 (grub_squash_dirent_header): Likewise.
1070 (read_chunk): Don't double swap.
1071 (grub_squash_iterate_dir): Fix swap sizes.
1072
1073 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1076
1077 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1080 (grub_hfs_iterate_dir): Likewise.
1081
1082 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 Fix video on platforms where unaligned access is forbidden.
1085 Make several optimisations while on it.
1086
1087 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1088 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1089 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1090 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1091 Disable.
1092 (grub_video_fbblit_replace_16bit_1bit):
1093 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1094 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1095 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1096 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1097 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1098 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1099 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1100 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1101 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1102 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1103 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1104 (grub_video_fbblit_replace_index_RGB888): Likewise.
1105 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1106 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1107 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1108 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1109 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1110 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1111 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1112 Disable.
1113 (grub_video_fbblit_blend_XXX565_1bit):
1114 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1115 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1116 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1117 void *.
1118 * grub-core/video/fb/video_fb.c (common_blitter)
1119 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1120 (grub_video_fb_create_render_target_from_pointer)
1121 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1122 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1123 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1124 definition.
1125 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1126
1127 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1130 HH22 and HM10 relocations.
1131
1132 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1135
1136 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1139 allocation succeeded.
1140
1141 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1144 argument a u8 pointer. All users updated.
1145 Handle unaligned buffers.
1146
1147 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1150 add_part to workaround compiler bug.
1151
1152 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1155
1156 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1159 Reserve alignment invariants.
1160 (grub_multiboot_load): Likewise.
1161 (retrieve_video_parameters): Likewise.
1162 (grub_multiboot_make_mbi): Likewise.
1163
1164 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1167 incorrect pointer.
1168
1169 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1172 (grub_pata_pio_write): Likewise.
1173
1174 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 Add noreturn attributes and remove unreachable code.
1177
1178 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1179 code.
1180 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1181 code. Mark as noreturn.
1182 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1183 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1184 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1185 unreachable code.
1186 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1187 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1188 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1189 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1190 * include/grub/kernel.h (grub_main): Mark as noreturn.
1191 * include/grub/reader.h (grub_rescue_run): Likewise.
1192
1193 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1196 redundant declaration.
1197
1198 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1201 redundant declaration.
1202 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1203
1204 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1207 to ensure alignment.
1208 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1209 alignment. Ensure tmp alignment.
1210 (grub_cmd_hdparm): Ensure buf alignment.
1211 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1212 to ensure alignment.
1213 (grub_ata_dumpinfo): Ensure text alignment.
1214 (grub_atapi_identify): Preserve alignment invariant.
1215 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1216
1217 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1220 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1221 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1222 * include/grub/misc.h (grub_reboot)
1223 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1224 (grub_halt) [__mips__]: Likewise.
1225
1226 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1229 Remove redundant declaration.
1230 (grub_mmap_get_post64): Likewise.
1231 (grub_mmap_get_upper): Likewise.
1232 (grub_mmap_get_lower): Likewise.
1233
1234 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1237 uint32_t * to ensure alignment.
1238 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1239
1240 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1243 uint16_t * to ensure alignment.
1244 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1245 alignment.
1246
1247 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
1250 to ensure alignment.
1251 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1252
1253 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1256 Handle unaligned pointers.
1257 (u32at): Likewise.
1258 (u64at): Likewise.
1259 (fixup): Use byte access instead of v16at.
1260 (find_attr): Fix imporper usage of v32at.
1261 (read_data): Likewise.
1262 (list_file): Handle byte-swapping and unaligned strings.
1263 (grub_ntfs_label): Likewise.
1264
1265 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1268 as it's not necessarily aligned.
1269
1270 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1273 redundant declaration.
1274 (grub_serial_init): Likewise.
1275 (grub_terminfo_init): Likewise.
1276
1277 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1280 function.
1281 (ZAP_HASH_IDX): Likewise.
1282 (ZAP_LEAF_HASH_SHIFT): Likewise.
1283 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1284 (LEAF_HASH): Likewise.
1285 (ZAP_LEAF_NUMCHUNKS): Likewise.
1286 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1287 alignment invariants. Return pointer. All users updated.
1288 (ZAP_LEAF_ENTRY): Make into inline function.
1289 (NBBY): Removed.
1290 (xor): LIkewise.
1291 (xor_out): Use grub_crypto_xor.
1292 (dnode_get_path): Use grub_get_unaligned.
1293 (nvlist_find_value): Likewise.
1294 (grub_zfs_nvlist_lookup_uint64): Likewise.
1295 (grub_zfs_nvlist_lookup_string): Likewise.
1296 (get_nvlist_size): Likewise.
1297 (grub_zfs_open): Likewise.
1298 (fill_fs_info): Likewise.
1299 (grub_zfs_dir): Likewise.
1300 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1301 alignment invariants.
1302 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1303 necessarily aligned.
1304
1305 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1308
1309 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1312 arithmetic to conserve alignment invariants.
1313
1314 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1317 redundant declaration.
1318 (grub_efiemu_mm_obtain_request): Likewise.
1319 (grub_efiemu_prepare): Likewise.
1320
1321 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1324 to match types.
1325
1326 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1329 case of aunaligned recptr.
1330 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1331 alignment.
1332 (grub_hfsplus_btree_search): Handle unaligned index.
1333
1334 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1337 to get freetag and skip.
1338
1339 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1342 array.
1343 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1344 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1345
1346 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1349 name for checksum and fix allocation algorithm.
1350
1351 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * include/grub/types.h (grub_properly_aligned_t): New type.
1354 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1355 (grub_get_unaligned16): Add explicit casts.
1356 (grub_get_unaligned32): Likewise.
1357 (grub_get_unaligned64): Likewise.
1358 (grub_set_unaligned16): New function.
1359 (grub_set_unaligned32): Likewise.
1360
1361 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1364
1365 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1368 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1369 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1370
1371 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1374 conditionals.
1375
1376 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1379 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1380
1381 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 Unify and improve RAID and crypto xor.
1384
1385 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1386 changed to grub_crypto_xor
1387 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1388 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1389 Use bigger types when possible.
1390
1391 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/disk/raid.c (scan_devices): Fix condition.
1394
1395 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1398 Make name a const ptr.
1399
1400 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1403 first argument a const pointer.
1404 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1405 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1406 proto.
1407 (grub_children_iterate): Likewise.
1408 (grub_machine_mmap_iterate): Remove redundant declaration.
1409
1410 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1413 (grub_cmd_acpi) [!x86]: Disable EBDA.
1414
1415 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 Enable UTF8 in gnulib regexp.
1418
1419 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1420 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1421 (isupper): Use grub_isupper.
1422 (isascii): New inline function.
1423 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1424 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1425 * grub-core/normal/charset.c (grub_utf8_process): New function.
1426 (grub_utf8_to_utf16): Use grub_utf8_process.
1427 (grub_encode_utf8_character): New function.
1428 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1429 * include/grub/charset.h (grub_utf8_process): New declaration.
1430 (grub_encode_utf8_character): Likewise.
1431 * include/grub/misc.h (grub_islower): New inline function.
1432 (grub_isupper): Likewise.
1433 (grub_strchrsub): Moved down to fix the definitions.
1434
1435 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1438 specification.
1439
1440 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * include/grub/loader.h (grub_loader_register_preboot_hook):
1443 Use struct preboot * and not void * for handle. All users updated.
1444 (grub_loader_unregister_preboot_hook): Likewise.
1445
1446 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1449 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1450 UTF-16-BE. All users updated.
1451 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1452 (grub_hfsplus_iterate_dir): Likewise.
1453 (grub_hfsplus_label): Likewise.
1454
1455 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1458
1459 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 Add missing const qualifiers.
1462
1463 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1464 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1465 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1466 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1467 (grub_lvm_check_flag): Likewise.
1468 * grub-core/efiemu/i386/coredetect.c
1469 (grub_efiemu_get_default_core_name): Likewise
1470 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1471 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1472 * grub-core/fs/ntfs.c (fixup): Likewise.
1473 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1474 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1475 (fzap_lookup): Likewise.
1476 (zap_lookup): Likewise.
1477 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1478 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1479 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1480 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1481 (grub_freebsd_add_meta_module): Likewise.
1482 (grub_cmd_freebsd_module): Likewise.
1483 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1484 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1485 (grub_xnu_writetree_get_size): Likewise.
1486 (grub_xnu_writetree_toheap_real): Likewise.
1487 (grub_xnu_find_key): Likewise.
1488 (grub_xnu_create_key): Likewise.
1489 (grub_xnu_create_value): Likewise.
1490 (grub_xnu_register_memory): Likewise.
1491 (grub_xnu_check_os_bundle_required): Likewise.
1492 (grub_xnu_scan_dir_for_kexts): Likewise.
1493 (grub_xnu_load_kext_from_dir): Likewise.
1494 * grub-core/normal/color.c (color_list): Likewise.
1495 * grub-core/normal/completion.c (current_word): Likewise.
1496 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1497 * grub-core/term/serial.c (grub_serial_find): Likewise.
1498 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1499 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1500 Likewise.
1501 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1502 (grub_freebsd_add_meta_module): Likewise.
1503 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1504 * include/grub/net.h (grub_net_card_driver): Likewise.
1505 (grub_net_card): Likewise.
1506 (grub_net_app_protocol): Likewise.
1507 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1508 * include/grub/serial.h (grub_serial_find): Likewise.
1509 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1510 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1511 (grub_xnu_create_value): Likewise.
1512 (grub_xnu_find_key): Likewise.
1513 (grub_xnu_scan_dir_for_kexts): Likewise.
1514 (grub_xnu_load_kext_from_dir): Likewise.
1515
1516 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1517 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1518 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1519 Moved from here ...
1520 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1521
1522 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1523
1524 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1525
1526 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1529 (read_device): Fix size calculation.
1530
1531 2011-11-25 Robert Millan <rmh@gnu.org>
1532
1533 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1534 (find_root_device_from_libzfs): Add zpool output parser to be used
1535 as fallback when libzfs isn't available.
1536
1537 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1538
1539 * po/Makefile.in.in: Add missing escape-continuation.
1540
1541 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1544
1545 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1548
1549 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1552
1553 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1556
1557 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/lib/adler32.c: Add missing license specification.
1560 * grub-core/lib/crc64.c: Likewise.
1561 * grub-core/loader/i386/pc/plan9.c: Likewise.
1562 * grub-core/partmap/plan.c: Likewise.
1563
1564 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1565
1566 Add facility to debug GRUB with gdb under qemu.
1567
1568 * grub-core/gdb_grub.in: New file.
1569 * grub-core/gmodule.pl.in: Likewise.
1570 * grub-core/Makefile.core.def (gmodule.pl): New script.
1571 (gdb_grub): Likewise.
1572
1573 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * util/grub-mount.c (argp_parser): Accept relative pathes.
1576 * util/grub-fstest.c (argp_parser): Likewise.
1577
1578 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 Plan9 support.
1581
1582 * Makefile.util.def (libgrubmods): Add
1583 grub-core/partmap/plan.c.
1584 * docs/grub.texi: Notice Plan9 support.
1585 * grub-core/Makefile.core.def (plan9): New module.
1586 (part_plan): Likewise.
1587 * grub-core/loader/i386/pc/plan9.c: New file.
1588 * grub-core/partmap/plan.c: Likewise.
1589 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1590 define.
1591 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1592 * include/grub/mm.h (grub_extend_alloc): New inline function.
1593
1594 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 Make Reed-Solomon faster by using power of generator representation of
1597 GF(256)*.
1598
1599 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1600 (gf_double_t): Likewise.
1601 (gf_invert): Removed.
1602 (gf_powx): New array.
1603 (gf_powx_inv): Likewise.
1604 (scratch): Move higher.
1605 (gf_reduce): Removed.
1606 (gf_mul): Use powx.
1607 (gf_invert): Likewise.
1608 (init_inverts): Replaced with ...
1609 (init_powx): ...this. All users updated.
1610 (pol_evaluate): Replace multiplications with additions.
1611 (rs_encode): Likewise.
1612 (gauss_eliminate): Call gf_invert.
1613 (grub_reed_solomon_add_redundancy): Call init_powx.
1614 (grub_reed_solomon_recover): Call init_powx unconditionally.
1615
1616 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1619
1620 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1623 disk->partiton for safety.
1624
1625 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1628 Fix a memory leak.
1629 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1630
1631 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1634
1635 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1638
1639 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Fix spaces handling in proc/self/mountinfo.
1642
1643 * util/getroot.c (unescape): New function.
1644 (grub_find_root_device_from_mountinfo): Use unescape.
1645
1646 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 Support ZFS embedding.
1649
1650 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1651 (grub_zfs_fs): Register grub_zfs_embed.
1652
1653 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 Fix MIPS compilation.
1656
1657 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1658 * include/grub/offsets.h: Rename decompressor fields from
1659 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1660 * util/grub-mkimage.c (image_targets): Use new names.
1661
1662 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 Defer multiboot device parsing until we're in compressed part.
1665
1666 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1667 bsd_part. setdevice has fallen into disuse.
1668 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1669 (bsd_part): Likewise.
1670 (boot_dev): New variable.
1671 (multiboot_trampoline): Don't parse multiboot device.
1672 Pass multiboot device in %edx.
1673 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1674 grub_boot_device.
1675 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1676 Likewise.
1677 * grub-core/kern/i386/pc/startup.S: Save edx.
1678 (grub_boot_drive): Removed.
1679 (grub_install_dos_part): Likewise.
1680 (grub_install_bsd_part): Likewise.
1681 (grub_boot_device): New variable.
1682 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1683 (grub_install_bsd_part): Likewise.
1684 (grub_boot_drive): Likewise.
1685 (grub_boot_device): New variable.
1686 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1687 Removed.
1688 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1689 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1690 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1691 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1692 * util/grub-install.in: Remove redundant condition.
1693
1694 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 Fix bug introduced by previous commit.
1697
1698 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1699
1700 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 Use decompressors framework on i386-pc. It increases core size
1703 by 46 bytes but improves compatibility and maintainability.
1704
1705 * grub-core/Makefile.core.def (lzma_decompress): New image.
1706 (kernel): Add i386_pc_ldflags.
1707 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1708 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1709 to real_to_prot, prot_to_real and device info.
1710 * include/grub/offsets.h: Renamed decompressor offsets.
1711 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1712 (image_target_desc): Remove raw_size and rename decompressor fields.
1713 (compress_kernel): Handle lzma.
1714 (generate_image): Handle decompressors on i386-pc.
1715
1716 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * configure.ac: Add -fno-asynchronous-unwind-tables.
1719
1720 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 Move assembly code to C by using intwrap. It increases core size
1723 by 88 bytes but improves compatibility and maintainability.
1724
1725 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1726 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1727 ... here. Translated to C.
1728 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1729 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1730 ... here. Translated to C.
1731 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1732 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1733 ... here. Translated to C.
1734 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1735 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1736 ... here. Translated to C.
1737 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1738 * grub-core/term/i386/pc/console.c (grub_console_cls):
1739 ... here. Translated to C.
1740 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1741 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1742 ... here. Translated to C.
1743 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1744 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1745 Translated to C.
1746 * grub-core/term/i386/pc/console.c (int10_9): New function.
1747 (grub_console_putchar): Likewise.
1748 * include/grub/i386/pc/console.h: Removed the not anymore shared
1749 functions.
1750
1751 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 Move grub_chainloader_real_boot out of the kernel.
1754
1755 * grub-core/Makefile.am: Remove machine/loader.h.
1756 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1757 Removed.
1758 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1759 variable.
1760 (grub_relocator16_keep_a20_enabled): Likewise.
1761 (grub_relocator16_boot): Fill new variables.
1762 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1763 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1764 relocator.
1765 (grub_chainloader_unload): Likewise.
1766 (grub_chainloader_cmd): Likewise.
1767 * include/grub/i386/pc/loader.h: Removed.
1768 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1769 and esi. All initialisers updated.
1770
1771 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1772 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
1773
1774 * Makefile.util.def (grub-mount): New util.
1775 * .bzrignore: Add grub-mount.
1776 * configure.ac: Check for fuse and enable grub-mount if available.
1777 * docs/man/grub-mount.h2m: New file.
1778 * util/grub-mount.c: Likewise.
1779
1780 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/commands/efi/fixvideo.c: Gettextize.
1783 * grub-core/commands/hashsum.c: Likewise.
1784 * grub-core/commands/i386/cmostest.c: Likewise.
1785 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1786 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1787 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1788 * grub-core/commands/lsmmap.c: Likewise.
1789 * grub-core/commands/menuentry.c: Likewise.
1790 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1791 * grub-core/commands/setpci.c: Likewise.
1792 * grub-core/loader/i386/bsd.c: Likewise.
1793 * grub-core/loader/i386/linux.c: Likewise.
1794 * util/getroot.c: Likewise.
1795 * util/grub-editenv.c: Likewise.
1796 * util/grub-fstest.c: Likewise.
1797 * util/grub-mkfont.c: Likewise.
1798 * util/grub-mkimage.c: Likewise.
1799 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1800 * util/grub-pe2elf.c: Likewise.
1801 * util/grub-probe.c: Likewise.
1802 * util/grub-setup.c: Likewise.
1803 * util/ieee1275/ofpath.c: Likewise.
1804 * util/misc.c: Likewise.
1805 * util/raid.c: Likewise.
1806
1807 2011-11-11 Robert Millan <rmh@gnu.org>
1808
1809 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1810 __attribute__((unused)) from `os_dev', which *is* being used.
1811
1812 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1815 forgotten define.
1816 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1817 GRUB_IA64_DL_GOT_ALIGN.
1818 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1819 GRUB_IA64_DL_TRAMP_ALIGN.
1820
1821 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 Replace grub_fatal with normal errors in i386 linux loader.
1824
1825 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1826 (allocate_pages): Check find_efi_mmap_size return value.
1827 (grub_e820_add_region): Return error.
1828 (grub_linux_boot): Check mmap return value.
1829
1830 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/commands/acpihalt.c: Gettextized.
1833 * grub-core/commands/cacheinfo.c: Likewise.
1834 * grub-core/commands/cmp.c: Likewise.
1835 * grub-core/commands/efi/loadbios.c: Likewise.
1836 * grub-core/commands/gptsync.c: Likewise.
1837 * grub-core/commands/ieee1275/suspend.c: Likewise.
1838 * grub-core/commands/legacycfg.c: Likewise.
1839 * grub-core/commands/memrw.c: Likewise.
1840 * grub-core/commands/minicmd.c: Likewise.
1841 * grub-core/commands/parttool.c: Likewise.
1842 * grub-core/commands/time.c: Likewise.
1843 * grub-core/commands/videoinfo.c: Likewise.
1844 * grub-core/disk/geli.c: Likewise.
1845 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1846 * grub-core/disk/luks.c: Likewise.
1847 * grub-core/disk/lvm.c: Likewise.
1848 * grub-core/font/font_cmd.c: Likewise.
1849 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1850 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1851 * grub-core/gfxmenu/view.c: Likewise.
1852 * grub-core/kern/emu/hostdisk.c: Likewise.
1853 * grub-core/kern/emu/main.c: Likewise.
1854 * grub-core/kern/emu/misc.c: Likewise.
1855 * grub-core/kern/emu/mm.c: Likewise.
1856 * grub-core/kern/mips/arc/init.c: Likewise.
1857 * grub-core/kern/mips/loongson/init.c: Likewise.
1858 * grub-core/kern/partition.c: Likewise.
1859 * grub-core/lib/i386/halt.c: Likewise.
1860 * grub-core/lib/mips/arc/reboot.c: Likewise.
1861 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1862 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1863 * grub-core/loader/i386/xnu.c: Likewise.
1864 * grub-core/loader/multiboot.c: Likewise.
1865 * grub-core/net/bootp.c: Likewise.
1866 * grub-core/net/net.c: Likewise.
1867 * grub-core/normal/term.c: Likewise.
1868 * grub-core/partmap/bsdlabel.c: Likewise.
1869 * grub-core/parttool/msdospart.c: Likewise.
1870 * grub-core/term/gfxterm.c: Likewise.
1871 * grub-core/term/terminfo.c: Likewise.
1872 * grub-core/video/i386/pc/vbe.c: Likewise.
1873 * util/grub-menulst2cfg.c: Likewise.
1874 * util/grub-mkdevicemap.c: Likewise.
1875 * util/grub-mklayout.c: Likewise.
1876 * util/grub-mkrelpath.c: Likewise.
1877 * util/grub-script-check.c: Likewise.
1878 * util/ieee1275/grub-ofpathname.c: Likewise.
1879 * util/resolve.c: Likewise.
1880
1881 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Support %1$d syntax.
1884
1885 * tests/printf_unit_test.c: New file.
1886 * Makefile.util.def (printf_test): New test.
1887 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1888
1889 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1892 fix.
1893
1894 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1897 dprintf.
1898 * grub-core/font/font.c (grub_font_load): Likewise.
1899
1900 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * util/grub-macho2img.c: Add comment concerning gettext.
1903 * grub-core/lib/legacy_parse.c: Likewise.
1904
1905 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1908 (grub_xvasprintf): Likewise.
1909
1910 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 Add const keyword to grub_env_get and gettextize week days.
1913
1914 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1915 (grub_read_hook_datetime): Return const char *.
1916 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1917 updated.
1918 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1919 Mark for gettext.
1920 (grub_get_weekday_name): Return const char *. Call gettext.
1921 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1922 char * and len as the argument. All users updated.
1923 (grub_script_argv_split_append): Receive const char *.
1924 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1925 * include/grub/env.h (grub_env_get): Likewise.
1926 (grub_env_read_hook_t): Return const char *.
1927 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1928 (grub_script_argv_split_append): Likewise.
1929
1930 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1933
1934 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1937 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1938
1939 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1942 Fix prototype.
1943
1944 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Fix mips compilation.
1947
1948 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1949 normal decoder.
1950 (hashes): Use in embed decoder as well (for sizes).
1951 (dec_stream_header): Fix embed decompressor logic.
1952 (dec_stream_footer): Likewise.
1953
1954 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1957 an error and not a fatal on unrecognised relocation types.
1958
1959 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1962 Issue error rather than printf on unknown arguments.
1963
1964 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1967 Make buf a const.
1968
1969 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1972 Fix module name.
1973
1974 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1977 leftover debug printf.
1978
1979 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1982
1983 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1986 A stylistic fix.
1987
1988 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1991
1992 2011-11-10 Shea Levy <slevy@tieronedesign.com>
1993
1994 Allow all modules to perform serial IO
1995
1996 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1997 * include/grub/serial.h (grub_serial_port_configure): New inline
1998 function.
1999 (grub_serial_port_fetch): Likewise.
2000 (grub_serial_port_put): Likewise.
2001 (grub_serial_port_fini): Likewise.
2002 (grub_serial_find): New proto.
2003
2004 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 Put symlink at the end of the node and fix a potential
2007 memory corruption.
2008
2009 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2010 Make symlink into an array.
2011 (set_rockridge): Set have_symlink and alloc_dirents.
2012 (grub_iso9660_read_symlink): Use new layout.
2013 (grub_iso9660_iterate_dir): Fix memory corruption.
2014 Use new layout.
2015 (grub_iso9660_dir): Set have_symlink.
2016 (grub_iso9660_open): Likewise.
2017
2018 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Remove local keyword.
2021
2022 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2023 (version_test_gt): Likewise.
2024 (version_find_latest): Likewise.
2025 (gettext_printf): Likewise.
2026 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2027
2028 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2031
2032 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 Fix ZFS memory and resource leaks.
2035
2036 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2037 All users updated.
2038 Free type on exit.
2039 (fill_vdev_info): New parameter inserted. All users updated.
2040 (check_pool_label): Likewise.
2041 (scan_disk): Likewise.
2042 (scan_devices): Close non-inserted disks.
2043 (fzap_iterate): Free l.
2044 (unmount_device): Free children descripto memory.
2045
2046 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2049 argument (access out of bounds).
2050
2051 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2054 >= 6 drives.
2055
2056 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2059 Fix declaration.
2060
2061 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 Fix several memory leaks.
2064
2065 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2066 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2067 (grub_cpio_dir): Likewise.
2068 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2069 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2070 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2071 (grub_romfs_label): Likewise.
2072 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2073 (squash_unmount): New function.
2074 (grub_squash_dir): Fix memory leak.
2075 (grub_squash_open): Likewise.
2076 (grub_squash_read): Likewise.
2077 (grub_squash_mtime): Likewise.
2078 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2079 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2080 * util/grub-fstest.c (fstest): Likewise.
2081
2082 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2085 avoid accessing beyond the array.
2086
2087 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2090
2091 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Several AFFS fixes.
2094
2095 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2096 (GRUB_AFFS_FLAG_FFS): Removed.
2097 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2098 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2099 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2100 (grub_fshelp_node): Make block 32-bit.
2101 Add block_cache and last_block_cache.
2102 (grub_affs_read_block): Fill and use block cache.
2103 (grub_affs_read_file): Removed.
2104 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2105 boot block.
2106 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2107 safety.
2108 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2109 space.
2110 (grub_affs_close): Free block cache.
2111 (grub_affs_read): Use grub_fshelp_read_file directly.
2112
2113 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2116 with no error set.
2117
2118 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2121 used variable.
2122 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2123 Likewise.
2124
2125 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2128
2129 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2130 byteswap when needed.
2131
2132 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 Fix FreeBSD compilation.
2135
2136 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2137 to avoid circular dependency.
2138 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2139 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2140 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2141
2142 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 Fix ZFS crypto error types.
2145
2146 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2147 (grub_gcm_decrypt): Likewise.
2148 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2149 from PBKDF2.
2150
2151 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 Illumos support.
2154
2155 * Makefile.util.def (10_illumos): New script.
2156 * configure.ac: Set COND_HOST_ILLUMOS.
2157 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2158 Support Illumos calls.
2159 (find_partition_start) [__sun__]: Likewise.
2160 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2161 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2162 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2163 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2164 device.
2165 * util/grub-probe.c (probe) [__sun__]: Do character check.
2166 * util/grub.d/10_illumos.in: New file.
2167
2168 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 Support escaped commas in hostdisk.
2171
2172 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2173 (find_grub_drive): Use unescape_cmp.
2174 (make_device_name): Escape commas.
2175
2176 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2179
2180 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2183 variable.
2184
2185 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Support trampoline jumps on powerpc.
2188
2189 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2190 __ia64__ path.
2191 (grub_dl_load_segments): Set mod->sz.
2192 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2193 segments.
2194 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2195 (jump): Likewise.
2196 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2197 function.
2198 (trampoline): New struct.
2199 (trampoline_template): New const.
2200 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2201 * include/grub/dl.h (grub_dl): Add sz element.
2202 [__powerpc__]: Follow __ia64__.
2203 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2204 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2205 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2206 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2207
2208 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 ZFS crypto support.
2211
2212 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2213 * grub-core/Makefile.core.def (zfscrypt): New module.
2214 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2215 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2216 it. All users updated.
2217 (grub_zfs_decrypt): New var.
2218 (grub_zfs_load_key): Likewise.
2219 (zio_checksum_functions): Add SHA256+MAC.
2220 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2221 (zio_read): Handle encrypted blocks.
2222 (zap_verify): Remove incorrect check.
2223 (fzap_iterate): Handle non-standard fzap.
2224 (zap_iterate): Likewise.
2225 (zap_iterate_u64): New function.
2226 (dnode_get_fullpath): Load keys.
2227 * grub-core/fs/zfs/zfscrypt.c: New file.
2228 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2229 (grub_crypto_ecb_encrypt): Make input const.
2230 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2231 (grub_crypto_ecb_encrypt): Make input const.
2232 (GRUB_CIPHER_AES): New macro.
2233 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2234 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2235 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2236 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2237 prefix. All users updated.
2238 (grub_zfs_add_key): New proto.
2239 (grub_zfs_decrypt): Likewise.
2240 (grub_zfs_load_key): Likewise.
2241 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2242 * util/grub-fstest.c (options): Add -K option.
2243 (argp_parser): Likewise.
2244
2245 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 Support zle compression on ZFS.
2248
2249 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2250 (decomp_table): Add zle.
2251 * include/grub/zfs/zio.h (zio_compress): Add zle.
2252
2253 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 Support BtrFS embedding.
2256
2257 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2258 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2259 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2260 * util/grub-setup.c (setup): Use fs embedding if available.
2261 Add additional sanity check.
2262
2263 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * util/grub-install.in: Fix condition for config_opt.
2266
2267 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 Support third redundancy strip on raidz3.
2270
2271 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2272 Return error on singularity. All users updated.
2273 (read_device): Don't stop on 3rd failure on raidz3.
2274
2275 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Support case-insensitive ZFS subvolumes.
2278
2279 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2280 All users updated.
2281 (zap_hash): Likewise.
2282 (name_cmp): New function.
2283 (zap_leaf_array_equal): New parameter case_insensitive.
2284 All users updated.
2285 (zap_leaf_lookup): Likewise.
2286 (fzap_lookup): Likewise.
2287 (zap_lookup): Likewise.
2288 (dnode_get_path): New parameter case_insensitive. Retrieve case
2289 sensitiviness of a volume. All users updated.
2290 (dnode_get_fullpath): New parameter case_insensitive.
2291 All users updated.
2292 (grub_zfs_dir): Set info.case_insensitiveness.
2293
2294 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 Support second redundancy strip on raidz(2,3).
2297
2298 * grub-core/fs/zfs/zfs.c (powx): New array.
2299 (powx_inv): Likewise.
2300 (poly): New const.
2301 (xor_out): New function.
2302 (gf_mul): Likewise.
2303 (recovery): Likewise.
2304 (read_device): Use second redundancy strip.
2305
2306 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 Use a power of generator representation of GF(256) multiplication group
2309 to save space time and complexity.
2310
2311 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2312 (raid6_table2): Likewise.
2313 (powx): New array.
2314 (powx_inv): Likewise.
2315 (poly): New const.
2316 (grub_raid_block_mul): Replace with ...
2317 (grub_raid_block_mulx): ...this.
2318 (grub_raid6_init_table): Rewritten.
2319 (grub_raid6_recover): Use power of generator representation.
2320
2321 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2324 for the right device.
2325
2326 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2329 expected by grub-mkimage and it's more clear since there is no implicit
2330 padding.
2331
2332 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2335 disk.
2336 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2337
2338 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2339
2340 * util/grub-mkrescue.in: Fix handling xorriso option.
2341
2342 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2345 NULL.
2346
2347 2011-11-03 crocket <crockabiscuit@gmail.com>
2348
2349 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2350
2351 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 XZ CRC64 and SHA256 support.
2354
2355 * Makefile.util.def (libgrubmods): Add crc64.c.
2356 * grub-core/Makefile.core.def (crc64): New module.
2357 * grub-core/lib/crc64.c: New file.
2358 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2359 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2360 Fix the type.
2361 (MAX_HASH_SIZE): New define.
2362 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2363 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2364 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2365 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2366 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2367 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2368 Handle non-crc32 hashes.
2369 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2370 (dec_stream_header): Handle non-crc32 hashes.
2371 (dec_stream_footer): Likewise.
2372 (dec_block_header): Likewise.
2373 (dec_main): Likewise.
2374 (xz_dec_init): Likewise.
2375 (xz_dec_reset): Likewise.
2376 (xz_dec_end): Likewise.
2377 * util/import_gcry.py: Add CRC64 line.
2378
2379 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2382 as well.
2383
2384 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Make reiserfs label retrieval similar to other *_label functions.
2387
2388 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2389 (REISERFS_MAX_LABEL_LENGTH): Removed.
2390 (REISERFS_LABEL_OFFSET): Likewise.
2391 (grub_reiserfs_label): Rewritten.
2392
2393 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2396 field.
2397
2398 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2401
2402 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2405 drive failure on both raidz and raidz2.
2406
2407 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 Fix RAIDZ(2) for >= 5 devices.
2410
2411 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2412 asize argument. All users updated.
2413
2414 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 Fix RAIDZ(2).
2417
2418 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2419 (fill_vdev_info_real): Set ashift.
2420 (read_device): Rewrite RAIDZ part based on reverse engineering.
2421
2422 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2425 don't report potentially unavialiable fields in debug output.
2426 (find_path): Fix double-free and memory leak.
2427
2428 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 Read label on UFS1.
2431
2432 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2433 (grub_ufs_fs): Always set .label.
2434
2435 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 Use shifts in UFS.
2438
2439 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2440 (grub_ufs_data): New field log2_blksz.
2441 (grub_ufs_read_file): Use shifts.
2442 (grub_ufs_mount): Check block size and logarithm it.
2443
2444 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2447 long symlinks.
2448
2449 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Handle symlinks and long names on tar and cpio.
2452
2453 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2454 (ATTR_FILE): Likewise.
2455 (ATTR_DIR): Likewise.
2456 (ATTR_LNK): Likewise.
2457 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2458 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2459 L and K entries.
2460 (grub_cpio_mount): Zero-fill data.
2461 (handle_symlink): New function.
2462 (grub_cpio_dir): Handle symlinks.
2463 (grub_cpio_open): Likewise.
2464 (grub_cpio_close) [MODE_USTAR]: Free linkname.
2465
2466 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Fix iso9660 filename limitations and fix memory leaks.
2469
2470 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2471 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2472
2473 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 Fix JFS file name length limitations.
2476
2477 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2478 (grub_jfs_diropen): Fix maximum filename length.
2479 (grub_jfs_getent): Fix filename length.
2480 (grub_jfs_lookup_symlink): Fix size checks.
2481
2482 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2485 string.
2486
2487 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 Leverage BFS implementation to read AFS.
2490
2491 * Makefile.util.def (libgrubmods): Add afs.c.
2492 * grub-core/Makefile.core.def (afs): New module
2493 * grub-core/fs/afs.c: New file.
2494 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2495
2496 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2499
2500 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * grub-core/fs/bfs.c: Run indent.
2503
2504 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 BFS implementation based on the specification.
2507
2508 * grub-core/fs/bfs.c: New file.
2509 * Makefile.util.def (libgrubmods): Add bfs.c.
2510 * grub-core/Makefile.core.def (bfs): New module.
2511
2512 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * util/grub-fstest.c (cmd_cp): Clarify error message.
2515 (cmd_cmp): Likewise.
2516
2517 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2518
2519 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2520 and befs_be.
2521
2522 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Remove afs and befs because of copyright problem.
2525
2526 * grub-core/fs/afs.c: Removed.
2527 * grub-core/fs/afs_be.c: Removed.
2528 * grub-core/fs/befs.c: Removed.
2529 * grub-core/fs/befs_be.c: Removed.
2530 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2531 * grub-core/Makefile.core.def (afs): Removed.
2532 (afs_be): Likewise.
2533 (befs): Likewise.
2534 (befs_be): Likewise.
2535
2536 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 Prefer rockridge over Joliet.
2539
2540 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2541 to ...
2542 (set_rockridge): ... here.
2543 (grub_iso9660_mount): Check rockridge on the primary label when
2544 discovering. Ignore Joliet if Rockridge is present.
2545
2546 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Use shifts in nilfs2.
2549
2550 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2551 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2552 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2553 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2554 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2555 (grub_nilfs2_entries_per_block): Replaced with ...
2556 (grub_nilfs2_log_entries_per_block_log): ... this.
2557 (grub_nilfs2_blocks_per_group): Replaced with ...
2558 (grub_nilfs2_blocks_per_group_log): ... this.
2559 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2560 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2561 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2562 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2563 (grub_nilfs2_palloc_entry_offset): Replaced ...
2564 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2565 (grub_nilfs2_dat_translate): Use shifts.
2566 (grub_nilfs2_read_inode): Likewise.
2567 (GRUB_MOD_INIT): Ensure that logs are correct.
2568
2569 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Use shifts in minix filesystem.
2572
2573 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2574 (GRUB_MINIX_ZONE2SECT): Likewise.
2575 (grub_minix_data): Replace block_size with log_block_size.
2576 (grub_minix_read_file): Use shifts.
2577 (grub_minix_mount): Check block size and take a logarithm.
2578
2579 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 Use shifts in squash4.
2582
2583 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2584 (squash_mount): Check block size and take logarithm.
2585 (direct_read): Use shifts.
2586
2587 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 Correct befs block counting logic.
2590
2591 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2592 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2593 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2594 (grub_afs_read_inode): Use block_shift.
2595 (RANGE_SHIFT): New definition.
2596 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2597 unexpected conditions, use shifts and appropriate types.
2598 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2599
2600 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/disk/raid.c (scan_devices): Check partition.
2603 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2604
2605 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 Support BFS (befs) UUID.
2608
2609 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2610 (grub_afs_small_data_element_header): New struct.
2611 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2612 (grub_afs_read_attribute) [MODE_BFS]: New function.
2613 (grub_afs_iterate_dir): Allocate for complete inode.
2614 (grub_afs_mount): Likewise.
2615 (grub_afs_uuid) [MODE_BFS]: New function.
2616 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2617
2618 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2621 (zfs_unmount): Fix memory leak.
2622
2623 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 Support NTFS reparse points.
2626
2627 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2628 (symlink_descriptor): New struct.
2629 (grub_ntfs_read_symlink): New function.
2630 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2631 (grub_ntfs_open): Likewise.
2632
2633 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2636
2637 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 fstest xnu_uuid subcommand.
2640
2641 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2642 grub-core/commands/xnu_uuid.c.
2643 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2644 (fstest): Handle xnu_uuid.
2645 (options): Document xnu_uuid.
2646 (argp_parser): Parse xnu_uuid.
2647
2648 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2651 -l argument. Add newline at the end if printing.
2652 (GRUB_MOD_INIT): Document -l.
2653
2654 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2657
2658 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 ZFS multi-device and version 33 support.
2661
2662 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2663 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2664 (grub_zfs_data): Add multidev-ice-related fields.
2665 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2666 (dva_get_offset): Make dva const.
2667 (zfs_fetch_nvlist): New function.
2668 (fill_vdev_info_real): Likewise.
2669 (fill_vdev_info): Likewise.
2670 (check_pool_label): Likewise.
2671 (scan_disk): Likewise.
2672 (scan_devices): Likewise.
2673 (read_device): Likewise.
2674 (read_dva): Likewise.
2675 (zio_read_gang): Use read_dva.
2676 (zio_read_data): Likewise.
2677 (zap_leaf_lookup): Add missing endian conversion.
2678 (zap_verify): Add missing endian conversion. All users updated.
2679 (fzap_lookup): Likewise.
2680 (fzap_iterate): Likewise.
2681 (dnode_get_path): Handle SA bonus.
2682 (nvlist_find_value): Make input const. All users updated.
2683 (unmount_device): New function.
2684 (zfs_unmount): Use unmount_device.
2685 (zfs_mount): Use scan_disk.
2686 (zfs_mtime): New function.
2687 (grub_zfs_open): Handle system attributes.
2688 (fill_fs_info): Likewise.
2689 (grub_zfs_dir): Likewise.
2690 (grub_zfs_fs): Add mtime.
2691 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2692 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2693 (SA_MTIME_OFFSET): Likewise.
2694 (SA_SYMLINK_OFFSET): Likewise.
2695 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2696 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2697 (fstest): Support zfsinfo.
2698 (argp_parser): Likewise.
2699
2700 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2703 error.
2704
2705 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 ZFS fixes.
2708
2709 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2710 sharing the same block. Iterate over correct number of indices.
2711 (dnode_get_path): Handle symlinks correctly.
2712
2713 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2716
2717 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 Read label on HFS+.
2720
2721 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2722 (grub_hfsplus_btree_search): Fix types.
2723 (grub_hfsplus_label): Implement.
2724
2725 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2728
2729 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2732
2733 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 Fix symlink handling on iso9660.
2736
2737 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2738 All users updated.
2739 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2740 (grub_iso9660_read_symlink): Moved most of code ...
2741 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2742
2743 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2746 Use union to avoid breaking strict-aliasing rules.
2747
2748 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 Support multi-extent iso files.
2751
2752 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2753 Add node.
2754 (grub_fshelp_node): Revamp. All users updated.
2755 (FLAG_*): New enum.
2756 (read_node): New function.
2757 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2758 All users updated.
2759 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2760 (get_node_size): New function.
2761 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2762 entries.
2763 Fix memory leak on . and ..
2764 (grub_iso9660_read): Use read_node.
2765 (grub_iso9660_close): Free node.
2766
2767 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Fix tar 4G limit and handle paths containing dot.
2770
2771 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2772 (canonicalize): New function.
2773 (grub_cpio_find_file): Use canonicalize. Store offs in
2774 grub_disk_addr_t.
2775 (grub_cpio_dir): Use grub_disk_addr_t.
2776 (grub_cpio_open): Likewise.
2777
2778 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2781
2782 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2783 unused flags.
2784 (grub_squash_inode): Add long_file and block_size.
2785 (grub_squash_cache_inode): New struct.
2786 (grub_squash_dirent): Make types into enum.
2787 (SQUASH_TYPE_LONG_REGULAR): New type.
2788 (grub_squash_frag_desc): Add field size.
2789 (SQUASH_BLOCK_FLAGS): New enum.
2790 (grub_squash_data): Use grub_squash_cache_inode.
2791 (grub_fshelp_node): Make ino_chunk 64-bit.
2792 (read_chunk): Minor argument change. All users updated.
2793 (squash_mount): Use correct le_to_cpu.
2794 (grub_squash_open): Handle LONG_REGULAR.
2795 (direct_read): New function.
2796 (grub_squash_read_data): Handle blocks correctly.
2797
2798 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2801
2802 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2805
2806 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 Fix 2G limit on ZFS.
2809
2810 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2811 types.
2812 (uberblock_verify): Likewise.
2813 (dmu_read): Likewise.
2814 (grub_zfs_read): Likewise. Remove invalid cast.
2815
2816 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2819 (grub_jfs_blkno): Fix incorrect shift.
2820 (grub_jfs_read_file): Use more appropriate types.
2821
2822 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 Support triple indirect on minix2 and minix3.
2825
2826 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2827 Declare triple_indir_zone.
2828 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2829 indirect.
2830
2831 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 Minix FS fixes.
2834
2835 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2836 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2837 Rename ctime to mtime. All users updated.
2838 (grub_minix_get_file_block): Fix types and double indirect computations.
2839
2840 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2843 if no label is found.
2844 (grub_fat_iterate_dir): Fix file size type.
2845 (grub_fat_iterate_dir): Likewise.
2846
2847 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2850 save some space.
2851 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2852 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2853
2854 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2857
2858 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * util/import_gcry.py: Accept space between # and include.
2861
2862 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2865
2866 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2869
2870 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2871 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2872 yylex_strncpy.
2873 * grub-core/script/yylex.l: Add fine-grained #pragma.
2874
2875 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2878 New inline function.
2879 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2880 Likewise.
2881 (memset) [GRUB_UTIL]: Likewise.
2882 (memcmp) [GRUB_UTIL]: Likewise.
2883
2884 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2887 inline function rather than a define.
2888
2889 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * util/grub-setup.c: Add missing include.
2892
2893 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * util/ieee1275/grub-ofpathname.c: Add missing include.
2896
2897 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2900 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2901 Likewise.
2902
2903 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2906 grub_memcmp usage.
2907
2908 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * util/grub-install.in: Add datarootdir as per automake manual
2911 suggestion.
2912 * util/grub-mknetdir.in: Likewise.
2913
2914 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2917 suggestion.
2918 * util/grub.d/10_kfreebsd.in: Likewise.
2919 * util/grub.d/10_linux.in: Likewise.
2920 * util/grub.d/10_netbsd.in: Likewise.
2921 * util/grub.d/10_windows.in: Likewise.
2922 * util/grub.d/20_linux_xen.in: Likewise.
2923
2924 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 Remove redundant grub_kernel_image_size.
2927
2928 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2929 _edata and _start.
2930 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2931 the small code. It moves it only by few bytes but simplifies the code.
2932 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2933 _start.
2934 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2935 (grub_kernel_image_size): Removed.
2936 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2937 (grub_kernel_image_size): Removed.
2938 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2939 compiled with Apple toolchain.
2940 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2941 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2942 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2943 (grub_total_module_size): Likewise.
2944 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2945 Removed.
2946 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2947 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2948 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2949 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2950 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2951 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2952 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2953 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2954 Removed.
2955 (grub_total_module_size): Removed.
2956 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2957 (image_targets): Likewise.
2958 Set .compressed_size to no field on sparc.
2959 (generate_image): Remove kernel_image_size handling.
2960
2961 2011-10-19 Szymon Janc <szymon@janc.net.pl>
2962
2963 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2964 NULL pointer dereference.
2965
2966 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2969 done with a dedicated section.
2970
2971 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2972 Ensure the correct position of boot_path.
2973 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2974 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2975 other fields.
2976 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2977 * include/grub/boot.h: Removed. All references removed.
2978 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2979 Removed.
2980 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2981
2982 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2985 name.
2986
2987 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2990
2991 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2994 Don't add the bogus brackets.
2995
2996 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 ExFAT support.
2999
3000 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3001 * grub-core/Makefile.core.def (exfat): New module.
3002 * grub-core/fs/exfat.c: New file.
3003 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3004 (GRUB_FAT_ATTR_*): Make into an enum.
3005 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3006 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3007 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3008 (GRUB_FAT_MAXFILE): Removed.
3009 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3010 (grub_current_fat_bpb_t): New type.
3011 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3012 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3013 (grub_fat_dir_node_t): New type.
3014 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3015 (fat_log2) [MODE_EXFAT]: Removed.
3016 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3017 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3018 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3019 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3020 (grub_fat_label) [MODE_EXFAT]: New function.
3021 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3022 reserved_first_sector to 0.
3023
3024 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Move grub_reboot out of the kernel.
3027
3028 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3029 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3030 * grub-core/lib/efi/reboot.c: ... here.
3031 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3032 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3033 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3034 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3035 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3036 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3037 * grub-core/lib/ieee1275/reboot.c: ... here.
3038 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3039 * grub-core/lib/mips/arc/reboot.c: ... here.
3040 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3041 * grub-core/lib/mips/loongson/reboot.c: ...here.
3042 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3043 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3044 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3045 * include/grub/i386/reboot.h: New file.
3046 * include/grub/mips/loongson/ec.h: Fix includes.
3047 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3048 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3049 * grub-core/lib/i386/reboot.c: New file.
3050
3051 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 Make grub_prefix into module to fix the arbitrary limit and save
3054 some space.
3055
3056 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3057 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3058 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3059 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3060 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3061 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3062 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3063 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3064 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3065 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3066 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3067 * include/grub/ia64/efi/kernel.h: Removed.
3068 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3069 (grub_prefix): Removed.
3070 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3071 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3072 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3073 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3074 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3075 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3076 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3077 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3078 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3079 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3080 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3081 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3082 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3083 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3084 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3085 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3086 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3087 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3088 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3089 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3090 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3091 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3092 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3093 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3094 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3095 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3096 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3097 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3098 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3099 from module.
3100 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3101 prefix_end.
3102 (image_targets): Likewise.
3103 (generate_image): Put prefix as a module.
3104
3105 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 Replace grub_module_iterate with FOR_MODULES.
3108
3109 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3110 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3111 (grub_efi_modules_addr): ...this.
3112 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3113 (grub_efi_init): Set grub_modbase.
3114 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3115 (grub_modbase): New variable.
3116 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3117 (grub_modbase): New variable.
3118 (grub_machine_init): Set grub_modbase.
3119 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3120 (grub_modbase): New variable.
3121 (grub_machine_init): Set grub_modbase.
3122 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3123 (grub_modbase): New variable.
3124 (grub_machine_init): Set grub_modbase.
3125 * grub-core/kern/main.c (grub_module_iterate): Remove.
3126 (grub_modules_get_end): Use grub_modbase.
3127 (grub_load_modules): Use FOR_MODULES.
3128 (grub_load_config): Likewise.
3129 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3130 (grub_modbase): New variable.
3131 (grub_machine_init): Set grub_modbase.
3132 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3133 (grub_modbase): New variable.
3134 (grub_machine_init): Set grub_modbase.
3135 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3136 Removed.
3137 (grub_modbase): New variable.
3138 (grub_machine_init): Set grub_modbase.
3139 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3140 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3141 (grub_module_iterate): Likewise.
3142 (grub_modbase): New variable declaration.
3143 (FOR_MODULES): New macro.
3144
3145 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3148 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3149
3150 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 Fix few obvious type discrepancies.
3153
3154 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3155 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3156 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3157 variable.
3158 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3159 and connected types.
3160 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3161 offset.
3162 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3163 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3164 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3165 and connected types.
3166
3167 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 Fix python 3.x incompatibilities.
3170
3171 * gentpl.py: Put brackets around print strings.
3172 * util/import_gcry.py: Open explicitly as utf-8.
3173 Use in instead of has_key.
3174
3175 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3178 (GRUB_XFS_INO_AGBITS): Make into inline function.
3179 (GRUB_XFS_INO_INOINAG): Likewise.
3180 (GRUB_XFS_INO_AG): Likewise.
3181 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3182 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3183 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3184 (GRUB_XFS_EXTENT_SIZE): Likewise.
3185 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3186 (GRUB_XFS_NEXT_DIRENT): Likewise.
3187 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3188 (grub_xfs_read_file): Fix offset type.
3189
3190 2011-10-15 Robert Millan <rmh@gnu.org>
3191
3192 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3193
3194 2011-10-15 Robert Millan <rmh@gnu.org>
3195
3196 Fix build problem on FreeBSD and GNU/kFreeBSD.
3197
3198 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3199
3200 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3203
3204 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3205 types.
3206 (grub_hfsplus_btree_recoffset): Likewise.
3207 (grub_hfsplus_btree_recptr): Likewise.
3208 (grub_hfsplus_find_block): Likewise.
3209 (grub_hfsplus_btree_search): Likewise.
3210 (grub_hfsplus_read_block): Likewise.
3211 (grub_hfsplus_read_file): Likewise.
3212 (grub_hfsplus_mount): Likewise.
3213 (grub_hfsplus_btree_iterate_node): Likewise.
3214 (grub_hfsplus_btree_search): Likewise.
3215 (grub_hfsplus_iterate_dir): Likewise.
3216 (grub_hfsplus_read): A small code simplification.
3217
3218 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * grub-core/kern/emu/hostdisk.c
3221 (convert_system_partition_to_system_disk): Don't assume that children
3222 of mapper nodes are mapper nodes.
3223
3224 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3227 * include/grub/misc.h (grub_isxdigit): New function.
3228 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3229 switched to grub_isxdigit.
3230 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3231 number starting with a letter.
3232
3233 2011-10-09 Robert Millan <rmh@gnu.org>
3234
3235 LVM support for FreeBSD and GNU/kFreeBSD.
3236
3237 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3238 GNU/kFreeBSD.
3239 (LVM_DEV_MAPPER_STRING): Move from here ...
3240 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3241 * util/getroot.c: Include `<grub/util/lvm.h>'.
3242 (grub_util_get_dev_abstraction): Enable
3243 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3244 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3245 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3246 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3247 support it.
3248 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3249 GNU/kFreeBSD.
3250 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3251 when LVM abstraction is required for ${GRUB_DEVICE}.
3252
3253 2011-10-06 Szymon Janc <szymon@janc.net.pl>
3254
3255 Add support for LZO compression in GRUB:
3256 - import of minilzo library,
3257 - LZO decompression for btrfs,
3258 - lzop files decompression.
3259
3260 * grub-core/io/lzopio.c: New file.
3261 * grub-core/lib/adler32.c: Likewise.
3262 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3263 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3264 * grub-core/lib/minilzo/minilzo.c: Likewise.
3265 * grub-core/lib/minilzo/minilzo.h: Likewise.
3266 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3267 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3268 grub-core/lib/minilzo/minilzo.c to common.
3269 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3270 cflags in cppflags.
3271 * grub-core/Makefile.core.def (btrfs): Likewise.
3272 * grub-core/Makefile.core.def (lzopio): New module.
3273 (adler32): Likewise.
3274 * grub-core/fs/btrfs.c: Include minilzo.h.
3275 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3276 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3277 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3278 (grub_btrfs_lzo_decompress): New function.
3279 (grub_btrfs_extent_read): Add support for LZO compression type.
3280 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3281 (GRUB_USHRT_MAX): Likewise.
3282 (GRUB_UINT_MAX): Likewise.
3283 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3284 (UINT_MAX): Likewise.
3285 (CHAR_BIT): Likewise.
3286 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3287 grub-core/lib/posix_wrap/limits.h
3288 (UCHAR_MAX): Likewise.
3289 * include/grub/file.h (grub_file_filter_id): New compression filter
3290 GRUB_FILE_FILTER_LZOPIO.
3291 * include/grub/file.h (grub_file_filter_id): Set
3292 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3293 * include/grub/types.h (grub_get_unaligned16): New function.
3294 (grub_get_unaligned32): Likewise.
3295 (grub_get_unaligned64): Likewise.
3296 * util/import_gcry.py (cryptolist): Add adler32.
3297
3298 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3301 in perspective decreases the complexity of build system and fixes
3302 compilation right now.
3303
3304 2011-10-01 Ales Nesrsta <starous@volny.cz>
3305
3306 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3307 (fixed problem related to using UHCI with coreboot).
3308
3309 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3310
3311 * gentpl.py: Use Autogen macros so that the output template file
3312 (Makefile.tpl) size is reduced.
3313
3314 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
3315
3316 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3317 extra_dist.
3318
3319 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3320
3321 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3322 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3323
3324 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3325
3326 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3327 _fullpath.
3328
3329 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3330
3331 Remove extra declaration of sleep for mingw32.
3332
3333 * util/misc.c (sleep) [__MINGW32__]: Removed.
3334 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3335
3336 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3337
3338 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3339 type and packname.
3340 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3341 Resurrected.
3342 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3343 (grub_netbsd_btinfo_bootwedge): New struct.
3344 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3345 New function.
3346 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3347
3348 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3349
3350 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3351 loader.
3352
3353 2011-09-28 Andreas Born <futur.andy@googlemail.com>
3354
3355 Fix incorrect identifiers in bash-completion.
3356
3357 * util/bash-completion.d/grub-completion.bash.in
3358 (_grub_mkpasswd-pbkdf2): Rename to ...
3359 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3360 (_grub_script-check): Rename to ...
3361 (_grub_script_check): ... this. All users updated.
3362
3363 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3366 Return 0 if disk isn't biosdisk.
3367
3368 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3369
3370 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3371 on NetBSD.
3372 * Makefile.util.def (grub-fstest): Likewise.
3373
3374 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3375
3376 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3377 Get sector size from disk label.
3378
3379 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
3380
3381 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3382 */README* as well as README*.
3383 Reported by: Axel Beckert.
3384
3385 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3388 case of less than 256 MiB of RAM.
3389
3390 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/commands/wildcard.c (make_regex): Handle @.
3393
3394 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3397
3398 2011-08-21 Szymon Janc <szymon@janc.net.pl>
3399
3400 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3401 AC_LANG_CONFTEST macros.
3402
3403 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3404
3405 Add grub-fstest option to uncompress data for commands.
3406
3407 * util/grub-fstest.c (uncompress): New var.
3408 (options): New option -u.
3409
3410 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3411
3412 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3413 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3414
3415 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3416
3417 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3418 file type was not recognized correctly (not gzip or corrupted).
3419
3420 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3423 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3424
3425 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3428 loongson.
3429 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3430 video_radeon_fuloong2e.
3431 * grub-core/video/radeon_fuloong2e.c: New file.
3432 * include/grub/video.h (grub_video_id_t): Add new ID
3433 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3434
3435 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3438 define.
3439 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3440 that PRID matches the detected subplatform and reset the subplatform
3441 if it doesn't.
3442
3443 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3446
3447 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 Fix PCI iterating on functions >= 4.
3450
3451 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3452 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3453 Removed.
3454 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3455 (grub_pci_read): Fix bitmask.
3456 (grub_pci_read_word): Likewise.
3457 (grub_pci_read_byte): Likewise.
3458 (grub_pci_write): Likewise.
3459 (grub_pci_write_word): Likewise.
3460 (grub_pci_write_byte): Likewise.
3461
3462 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3465 can still be specified in TARGET_CFLAGS)
3466
3467 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3470
3471 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3472 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3473 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3474 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3475 (FULOONG): Rename to ...
3476 (FULOONG2F): ... this. All users updated.
3477 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3478 (machtype_fuloong2f_str): ... this.
3479 (machtype_fuloong2e_str): New string.
3480 Check for machtype_fuloong2e_str.
3481 * grub-core/loader/mips/linux.c (loongson_machtypes)
3482 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3483 * grub-core/term/serial.c (loongson_defserial)
3484 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3485 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3486 loongson_defserial.
3487 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3488 Rename to ...
3489 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3490 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3491 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3492 to IMAGE_FULOONG2F_FLASH. All users updated.
3493 (image_targets): Rename images.
3494 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3495
3496 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3497
3498 Make enable of disk cache statistics code configurable.
3499
3500 * configure.ac: --enable-cache-stats added.
3501 * config.h.in (DISK_CACHE_STATS): New define.
3502 * grub-core/Makefile.core.def (cacheinfo): New command.
3503 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3504 * grub-core/commands/cacheinfo.c: New file.
3505 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3506 moved to cacheinfo.c.
3507 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3508 debug code.
3509 * include/grub/disk.h: Likewise.
3510
3511 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3512
3513 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3514 * grub-core/Makefile.am: Likewise.
3515
3516 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3519 non-zero pull.
3520
3521 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3524 All users updated.
3525 (grub_jfs_lookup_symlink): Use correct starting inode.
3526
3527 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * util/grub-setup.c (main): Add missing gcry initialisation.
3530
3531 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 Don't accept text modes on EFI when booting Linux.
3534
3535 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3536 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3537
3538 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3539 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3540
3541 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3542 use of "/path/.." as in grub-install for EFI as well as handling
3543 symlinks correctly.
3544 Fixes Debian bug #637768.
3545
3546 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3547
3548 * util/grub-probe.c: Remove duplicate #include.
3549
3550 2011-08-10 Robert Millan <rmh@gnu.org>
3551
3552 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3553
3554 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3555 function.
3556 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3557 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3558
3559 2011-08-03 Robert Millan <rmh@gnu.org>
3560
3561 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3562 la_array as packed.
3563 Reported by: Zachary Bedell
3564
3565 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3566
3567 * configure.ac: The Loongson port requires grub-mkfont due to its
3568 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3569 be built.
3570
3571 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3572
3573 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3574 processing arguments (otherwise help2man fails when GRUB has not yet
3575 been installed).
3576
3577 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 New script grub-mkstandalone.
3580
3581 * Makefile.util.def (grub-mkstandalone): New script.
3582 * docs/man/grub-mkstandalone.h2m: New file.
3583 * util/grub-mkstandalone.in: Likewise.
3584
3585 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 Support ATA disks with 4K sectors.
3588
3589 * include/grub/ata.h (grub_ata): New member log_sector_size.
3590 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3591 (grub_ata_identify): Read sector size.
3592 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3593
3594 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * util/grub-install.in: Don't use uhci outside of x86.
3597
3598 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * util/grub-mkrescue.in: Add missing quotes.
3601
3602 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3605 dereference.
3606
3607 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3610
3611 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * include/grub/video.h: add missing EXPORT_FUND on
3614 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3615
3616 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * include/grub/mips/kernel.h: Fix define conflict.
3619
3620 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3623 all four ways.
3624
3625 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3626
3627 Preferred resolution detection for VBE.
3628
3629 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3630 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3631 the Flat Panel extension, in line with the X.org VESA driver.
3632 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3633 New function.
3634 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3635 (grub_vbe_bios_read_edid): Likewise.
3636 (grub_vbe_get_preferred_mode): Likewise.
3637 (grub_video_vbe_setup): When the mode is "auto", try to get the
3638 preferred mode from VBE, and use the largest mode that is no larger
3639 than the preferred mode (some BIOSes expose a preferred mode that is
3640 not in their mode list!). If this fails, fall back to 640x480 as a
3641 safe conservative choice.
3642 (grub_video_vbe_get_edid): New function.
3643 (grub_video_vbe_adapter): Add get_edid.
3644 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3645 (struct grub_video_adapter): Add get_edid.
3646 (grub_video_edid_checksum): Add prototype.
3647 (grub_video_edid_preferred_mode): Likewise.
3648 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3649 structure.
3650
3651 * grub-core/commands/videoinfo.c (print_edid): New function.
3652 (grub_cmd_videoinfo): Print EDID if available.
3653
3654 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3655 is more appropriate on a wider range of platforms than 640x480.
3656 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3657 documentation.
3658
3659 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3662
3663 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * po/POTFILES.in: Regenerate.
3666
3667 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3670 incorrect memory usage.
3671
3672 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * util/grub-install.in: Source grub-mkconfig_lib.
3675
3676 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 Remove getroot.c from core on emu platform.
3679
3680 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3681 kern/emu/raid.c.
3682 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3683 useless.
3684 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3685 * util/getroot.c (get_win32_path): ... here.
3686 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3687 * util/getroot.c (fini_libzfs): ... here.
3688 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3689 * util/getroot.c (grub_get_libzfs_handle): ... here.
3690 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3691 Moved from here...
3692 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3693 * grub-core/kern/emu/misc.c
3694 (grub_make_system_path_relative_to_its_root): Moved from here...
3695 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3696 * grub-core/kern/emu/getroot.c: Moved from here ...
3697 * util/getroot.c: ... here. All users updated.
3698 * grub-core/kern/emu/raid.c: Moved from here ...
3699 * util/raid.c: ... here. All users updated.
3700
3701 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * po/POTFILES.in: Regenerate.
3704
3705 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 Fix compilation on GNU/Linux.
3708
3709 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3710 Disable geli.
3711 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3712 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3713 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3714
3715 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3716 2011-07-07 Michael Gorven <michael@gorven.za.net>
3717 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3718
3719 LUKS and GELI support.
3720
3721 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3722 grub-core/disk/luks.c, grub-core/disk/geli.c,
3723 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3724 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3725 grub-core/lib/arg.c.
3726 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3727 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3728 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3729 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3730 (grub-bin2h): Add libgcry.a.
3731 (grub-mkimage): Likewise.
3732 (grub-mkrelpath): Likewise.
3733 (grub-script-check): Likewise.
3734 (grub-editenv): Likewise.
3735 (grub-mkpasswd-pbkdf2): Likewise.
3736 (grub-pe2elf): Likewise.
3737 (grub-fstest): Likewise.
3738 (grub-mkfont): Likewise.
3739 (grub-mkdevicemap): Likewise.
3740 (grub-probe): Likewise.
3741 (grub-ofpath): Likewise.
3742 (grub-mklayout): Likewise.
3743 (example_unit_test): Likewise.
3744 (grub-menulst2cfg): Likewise.
3745 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3746 * grub-core/Makefile.core.def (cryptodisk): New module.
3747 (luks): Likewise.
3748 (geli): Likewise.
3749 * grub-core/disk/AFSplitter.c: New file.
3750 * grub-core/disk/cryptodisk.c: Likewise.
3751 * grub-core/disk/geli.c: Likewise.
3752 * grub-core/disk/luks.c: Likewise.
3753 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3754 grub_util_is_lvm.
3755 (grub_util_get_dm_abstraction): New function.
3756 (grub_util_follow_gpart_up): Likewise.
3757 (grub_util_get_geom_abstraction): Likewise.
3758 (grub_util_get_dev_abstraction): Use new functions.
3759 (grub_util_pull_device): Pull GELI and LUKS.
3760 (grub_util_get_grub_dev): Handle LUKS and GELI.
3761 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3762 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3763 (follow_geom_up): Removed.
3764 (grub_util_fd_seek): New function.
3765 (open_device): Use grub_util_fd_seek.
3766 (nread): Rename to ..
3767 (grub_util_fd_read): ... this. All users updated.
3768 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3769 (grub_crypto_cbc_decrypt): Likewise.
3770 (grub_crypto_hmac_write): Likewise.
3771 (grub_crypto_hmac_buffer): Likewise.
3772 (grub_password_get): Extend to util.
3773 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3774 New member modname.
3775 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3776 * include/grub/cryptodisk.h: New file.
3777 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3778 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3779 LUKS and GELI.
3780 (grub_util_follow_gpart_up): New proto.
3781 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3782 (grub_util_fd_read): Likewise.
3783 (grub_cryptodisk_cheat_mount): Likewise.
3784 (grub_util_cryptodisk_print_uuid): Likewise.
3785 (grub_util_get_fd_sectors): Likewise.
3786 * util/grub-fstest.c (mount_crypt): New var.
3787 (fstest): Mount crypto if requested.
3788 (options): New option -C.
3789 (argp_parser): Parse -C.
3790 (main): Init and fini gcry.
3791 * util/grub-install.in: Support cryptodisk install.
3792 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3793 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3794 cryptodisk.
3795 (prepare_grub_to_access_device): Likewise.
3796 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3797 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3798 (probe_cryptodisk_uuid): New function.
3799 (probe_abstraction): Likewise.
3800 (probe): Use new functions.
3801 * util/import_gcry.py: Create Makefile.utilgcry.def.
3802 Add modname member.
3803
3804 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 Lazy device scanning.
3807
3808 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3809 (grub-setup): Remove util/raid.c.
3810 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3811 * grub-core/disk/lvm.c (scan_depth): New variable.
3812 (grub_lvm_iterate): Rescan if necessary.
3813 (find_lv): New function based on grub_lvm_open.
3814 (grub_lvm_open): Use find_lv. Rescan on error.
3815 (is_node_readable): New function.
3816 (is_lv_readable): Likewise.
3817 (grub_lvm_scan_device): Skip already found disks.
3818 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3819 Stop if searched device is found and readable.
3820 * grub-core/disk/raid.c (inscnt): New variable.
3821 (scan_depth): Likewise.
3822 (scan_devices): New function based on grub_raid_register. Abort if
3823 looked for device is found.
3824 (grub_raid_iterate): Rescan if needed.
3825 (find_array): NEw function based on -grub_raid_open.
3826 (grub_raid_open): Use find_array and rescan.
3827 (insert_array): Set became_readable_at.
3828 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3829 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3830 New function.
3831 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3832 (grub_util_pull_device): New function.
3833 (grub_util_get_grub_dev): Call grub_util_pull_device.
3834 * util/raid.c: Moved to ..
3835 * grub-core/kern/emu/raid.c: ... here.
3836 (grub_util_raid_getmembers): New parameter "bootable".
3837 All users updated. Support 1.x.
3838 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3839 All users updated.
3840 * include/grub/disk.h (grub_disk_pull_t): New enum.
3841 (grub_disk_dev): Change iterate prototype.
3842 All users updated.
3843 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3844 New proto.
3845 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3846 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3847 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3848 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3849 All users updated.
3850 * include/grub/util/raid.h: Removed.
3851
3852 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * po/POTFILES.in: Regenerate.
3855
3856 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 Unify sparc init with other ieee1275.
3859
3860 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3861 instead of kern/sparc64/ieee1275/init.c.
3862 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3863 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3864 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3865 grub/machine/kernel.h.
3866 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3867 (grub_claim_heap) [__sparc__]: Use sparc version.
3868 (grub_machine_init): Moved args parsing to
3869 (grub_parse_cmdline): ...this.
3870 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3871 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3872 New definition.
3873 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3874
3875 Move BOOTP to separate file.
3876
3877 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3878 * grub-core/net/net.c: Move all BOOTP functions to
3879 * grub-core/net/bootp.c: ... here.
3880
3881 Use frame interface on PXE.
3882
3883 * grub-core/Makefile.core.def (pxecmd): Removed.
3884 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3885 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3886 * grub-core/i386/pc/pxe.c: Moved from here ...
3887 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3888 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3889 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3890
3891 EFI network support.
3892
3893 * grub-core/Makefile.core.def (efinet): New module.
3894 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3895 here...
3896 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3897 All users updated.
3898 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3899 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3900 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3901 * grub-core/net/drivers/efi/efinet.c: New file.
3902 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3903 (grub_efi_net_config): New extern var.
3904
3905 Various cleanups and bugfixes.
3906
3907 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3908 error.
3909 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3910 disk declared as partition.
3911 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3912 leak on failure.
3913 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3914 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3915 (grub_debug_zalloc): Likewise.
3916 (grub_debug_realloc): Likewise.
3917 (grub_debug_memalign): Likewise.
3918 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3919 Check that target is IPv4.
3920 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3921 local-mac-address as fallback.
3922 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3923 memory leak.
3924 * grub-core/net/ip.c (ipchksum): Rename to ...
3925 (grub_net_ip_chksum): ... this. All users updated.
3926 (grub_net_recv_ip_packets): Special handling for DHCP.
3927 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3928
3929 Unify prefix handling
3930
3931 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3932 (grub_machine_get_bootlocation): ... this.
3933 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3934 (grub_machine_get_bootlocation): ... this.
3935 (grub_prefix): New variable.
3936 (prefix): Removed.
3937 (root_dev): New variable.
3938 (dir): Likewise.
3939 (main): Use new variables.
3940 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3941 Revamped into ...
3942 (grub_machine_get_bootlocation): ... this.
3943 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3944 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3945 (grub_machine_get_bootlocation): ... this.
3946 (grub_machine_set_prefix): Removed.
3947 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3948 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3949 Revamped into ...
3950 (grub_machine_get_bootlocation): ... this.
3951 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3952 (grub_set_prefix_and_root): ... this. All users updated.
3953 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3954 Revamped into ...
3955 (grub_machine_get_bootlocation): ... this.
3956 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3957 (grub_machine_get_bootlocation): New proto.
3958 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3959
3960 Less intrusive and more reliable seek on network implementation.
3961
3962 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3963 (grub_file_seek): Don't call grub_file_net_seek.
3964 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3965 (grub_net_fs_read_real): .. this.
3966 (grub_net_seek_real): Use net->offset.
3967 (grub_net_fs_read): Seek if necessary.
3968
3969 Unify IEEE1275 netwotk config with the other platforms.
3970
3971 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3972 New variable.
3973 (grub_machine_get_bootlocation): Support network.
3974 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3975 Support type and device parsing.
3976 (grub_ieee1275_get_device_type): New function.
3977 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3978 into ...
3979 (grub_ieee1275_net_config_real): ... this.
3980 (grub_ofnet_probecards): Removed.
3981 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3982 * include/grub/ieee1275/ofnet.h: Removed.
3983 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3984 extern var.
3985 (grub_ieee1275_get_device_type): New function.
3986
3987 Unify network device closing across platforms and make more robust.
3988
3989 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3990 grub_grubnet_fini.
3991 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3992 already.
3993 * grub-core/net/net.c (grub_net_network_level_interface_register):
3994 Update num_ifaces.
3995 (grub_net_card_unregister): Close all interfaces.
3996 (receive_packets): Don't poll if no iterfaces are registered.
3997 Open if necessary.
3998 (grub_net_fini_hw): New function.
3999 (grub_net_restore_hw): Likewise.
4000 (fini_hnd): New variable.
4001 (GRUB_MOD_INIT): Register preboot hook.
4002 (GRUB_MOD_FINI): Run and unregister preboot hook.
4003
4004 Poll network cards when idle.
4005
4006 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4007 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4008 * grub-core/net/net.c (receive_packets): Save last poll time.
4009 (grub_net_poll_cards_idle_real): New function.
4010 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4011 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4012 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4013
4014 Rename ofnet interfaces.
4015
4016 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4017 (grub_ofnet_findcards): Use ofnet_%s names.
4018
4019 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4020
4021 Cleanup socket opening.
4022
4023 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4024 (grub_net_fs_close): Likewise.
4025 (grub_net_fs_read_real): Use eof member.
4026 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4027 (+grub_net_udp_close): New inline function.
4028
4029 * include/grub/net/tftp.h: Moved to the top of ...
4030 * grub-core/net/tftp.c: ... here.
4031 * include/grub/net/ip.h: Moved mostly to the top of ...
4032 * grub-core/net/ip.c: ... here.
4033 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4034 * grub-core/net/ethernet.c: ... here.
4035
4036 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4037
4038 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4039 FS name.
4040
4041 * include/grub/net/ip.h (ipv4_ini): Removed.
4042 (ipv4_fini): Likewise.
4043
4044 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4045 (grub_net_send_ip_packets): Likewise.
4046
4047 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4050 grub_read_cmos prototype.
4051
4052 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 VGA text support in qemu-mips
4055
4056 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4057 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4058 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4059 text.
4060 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4061 * grub-core/kern/vga_init.c: ... this.
4062 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4063 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4064 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4065 Adjust.
4066 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4067 GRUB_MACHINE_PCI_IO_BASE.
4068
4069 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 MIPS qemu flash support.
4072
4073 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4074 magic.
4075 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4076 (grub_machine_init): Probe memory if its size isn't known.
4077 * util/grub-mkimage.c (image_targets): Add flash targets.
4078 (generate_image): Handle flash targets.
4079
4080 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 MIPS qemu at_keyboard support.
4083
4084 * gentpl.py (videoinkernel): Add qemu-mips.
4085 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4086 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4087 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4088 modules.
4089 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4090 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4091 * grub-core/term/serial.c (grub_serial_register)
4092 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4093
4094 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 CMOS support on sparc.
4097
4098 * gentpl.py (cmos): Add powerpc and sparc.
4099 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4100 powerpc and sparc.
4101 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4102 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4103 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4104 grub_set_datetime_cmos.
4105 * grub-core/lib/ieee1275/cmos.c: New file.
4106 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4107 (find_rtc): Set no_ieee1275_rtc on error.
4108 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4109 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4110 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4111 fail. Move value to argument. All users updated
4112 (grub_cmos_write): Likewise.
4113 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4114 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4115 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4116 grub_get_datetime_cmos and grub_set_datetime_cmos.
4117
4118 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4119
4120 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4121 sourcing grub-mkconfig_lib.
4122 * util/update-grub_lib.in: Likewise.
4123 * util/grub.d/00_header.in: Likewise.
4124 * util/grub.d/10_hurd.in: Likewise.
4125 * util/grub.d/10_kfreebsd.in: Likewise.
4126 * util/grub.d/10_linux.in: Likewise.
4127 * util/grub.d/10_netbsd.in: Likewise.
4128 * util/grub.d/10_windows.in: Likewise.
4129 * util/grub.d/20_linux_xen.in: Likewise.
4130 * util/grub.d/30_os-prober.in: Likewise.
4131
4132 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
4133
4134 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4135 default_bg_color rather than black.
4136 (grub_gfxterm_fullscreen): Likewise.
4137 (grub_gfxterm_background_color_cmd): Save new background color in
4138 default_bg_color.
4139
4140 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4143
4144 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4147 mismerge.
4148
4149 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 Chainloading on coreboot support.
4152
4153 * grub-core/Makefile.core.def (chain): Add coreboot.
4154 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4155
4156 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4159 if it happens.
4160
4161 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Implement time command.
4164
4165 * grub-core/Makefile.core.def (time): New module.
4166 * grub-core/commands/time.c: New file.
4167 * grub-core/script/parser.y: Remove "time" keyword.
4168 * grub-core/script/yylex.l: Likewise.
4169
4170 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4173
4174 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4177 when handling leftovers.
4178
4179 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4182 so that help2man doesn't fail.
4183
4184 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4187 type in pointers on sparc64.
4188 (get_card_packet): Likewise.
4189
4190 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
4191
4192 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4193 with `*'.
4194 (grub_cmd_videoinfo): Fetch current video mode.
4195
4196 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4199 because of underlying system restrictions.
4200
4201 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4204 necessary.
4205
4206 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 Coreboot video support.
4209
4210 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4211 (vbe): Likewise.
4212 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4213 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4214 here ...
4215 * grub-core/kern/i386/int.S: ... here.
4216 * grub-core/video/i386/pc/vbe.c: Updated includes.
4217 * grub-core/video/i386/pc/vga.c: Likewise.
4218 * include/grub/i386/coreboot/memory.h
4219 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4220 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4221 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4222 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4223 Disable interrupts.
4224 * include/grub/i386/pc/vga.h: Removed. All users updated.
4225
4226 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4229 definitions for dprintf.
4230 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4231
4232 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4235 prototype.
4236 (get_card_packet): Likewise.
4237
4238 2011-06-26 Yves Blusseau <blusseau@zetam.org>
4239
4240 Display the path of the file when file is not found
4241
4242 * grub-core/fs/fat.c: Display the filename when file is not found.
4243 * grub-core/fs/fshelp.c: Likewise.
4244 * grub-core/fs/hfs.c: Likewise.
4245 * grub-core/fs/jfs.c: Likewise.
4246 * grub-core/fs/minix.c: Likewise.
4247 * grub-core/fs/ufs.c: Likewise.
4248 * grub-core/fs/btrfs.c: Likewise.
4249 * grub-core/commands/i386/pc/play.c: Likewise.
4250
4251 2011-06-26 Szymon Janc <szymon@janc.net.pl>
4252
4253 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4254 pointer checks before calling grub_free().
4255 * grub-core/commands/wildcard.c (match_devices): Likewise.
4256 * grub-core/commands/wildcard.c (match_files): Likewise.
4257 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4258 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4259 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4260 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4261 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4262 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4263 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4264 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4265 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4266
4267 2011-06-25 Patrick <p55@mailinator.com>
4268
4269 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4270
4271 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4274 (grub_pxe_send): Likewise.
4275 (GRUB_MOD_INIT): Fix types.
4276
4277 2011-06-24 Szymon Janc <szymon@janc.net.pl>
4278
4279 * grub-core/io/xzio.c: Fix code style issues
4280
4281 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4282 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
4283
4284 Network infrastructure.
4285 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4286
4287 * include/grub/net/arp.h: New file.
4288 * include/grub/net/device.h: Likewise.
4289 * include/grub/net/ethernet.h: Likewise.
4290 * include/grub/net/ip.h: Likewise.
4291 * include/grub/net/netbuff.h: Likewise.
4292 * include/grub/net/tftp.h: Likewise.
4293 * include/grub/net/udp.h: Likewise.
4294 * include/grub/ieee1275/ofnet.h: Likewise.
4295 * include/grub/emu/export.h: Likewise.
4296 * include/grub/net.h: Likewise.
4297 * grub-core/net/arp.c: Likewise.
4298 * grub-core/net/ethernet.c: Likewise.
4299 * grub-core/net/ip.c: Likewise.
4300 * grub-core/net/udp.c: Likewise.
4301 * grub-core/net/tftp.c: Likewise.
4302 * grub-core/net/netbuff.c: Likewise.
4303 * grub-core/net/net.c: Likewise.
4304 * grub-core/net/drivers/emu/emunet.c: Likewise.
4305 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4306 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4307 export.h.
4308 * grub-core/Makefile.core.def (net): New module.
4309 (tftp): Likewise.
4310 (ofnet): Likewise.
4311 (emunet): Likewise.
4312 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4313 network protocols.
4314 * grub-core/kern/device.c (grub_net_open) : New variable.
4315 (grub_device_open): Handle network device.
4316 (grub_device_close): Likewise.
4317 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4318 (grub_grubnet_fini): Likewise.
4319 (grub_file_seek): Seek in network device.
4320 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4321 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4322 network root.
4323 (grub_machine_fini): Call grub_grubnet_fini.
4324 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4325 network.
4326 (grub_ieee1275_get_aliasdevname): New function.
4327 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4328 Add unofficial Solaris network info.
4329 (grub_multiboot_make_mbi): Likewise.
4330 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4331 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4332 * include/grub/device.h (grub_fs): Removed.
4333 * include/grub/err.h (grub_err_t): Add network-related values.
4334 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4335 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4336 (grub_ieee1275_get_aliasdevname): New proto.
4337 * include/grub/net.h: Rewritten.
4338
4339 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4342 names.
4343
4344 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4347 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4348 it truncates the output.
4349 Reported by: Ximin Luo.
4350
4351 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4354
4355 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4358 partmap before abstraction.
4359
4360 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4361
4362 * util/grub-mkconfig_lib.in: Add missing quotes.
4363
4364 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4367 old method if mountinfo would return /dev/root and /dev/root doesn't
4368 exist.
4369
4370 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 ZFS zlib support
4373
4374 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4375 (decomp_table): Add zlib entries.
4376 (zio_read): USe 8 bits for compression function rather than 3.
4377 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4378
4379 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/disk/ahci.c: Add missing license statements.
4382 * grub-core/fs/romfs.c: Likewise.
4383 * grub-core/lib/ia64/setjmp.S: Likewise.
4384 * grub-core/loader/i386/pc/freedos.c: Likewise.
4385 * grub-core/loader/ia64/efi/linux.c: Likewise.
4386 * grub-core/video/colors.c: Likewise.
4387 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4388
4389 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 AHCI support.
4392
4393 * grub-core/Makefile.core.def (ata_pthru): Removed.
4394 (ahci): New module.
4395 (pata): Likewise.
4396 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4397 on unload.
4398 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4399 readwrite.
4400 (grub_hdparm_do_check_powermode_cmd): Likewise.
4401 (grub_hdparm_do_smart_cmd): Likewise.
4402 (grub_hdparm_set_val_cmd): Likewise.
4403 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4404 * grub-core/disk/ahci.c: New file.
4405 * grub-core/disk/ata.c: Factor out the low-level part into ...
4406 * grub-core/disk/pata.c: ... here.
4407 * grub-core/disk/ata_pthru.c: Contents moved to ...
4408 * grub-core/disk/pata.c: ... here.
4409 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4410 (grub_scsi_iterate): Use grub_scsi_names.
4411 (grub_scsi_open): Likewise.
4412 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4413 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4414 (grub_ata_regs_t): New struct.
4415 (grub_disk_ata_pass_through_parms): Likewise.
4416 (grub_ata_device): Renamed to ...
4417 (grub_ata): ... this.
4418 (grub_ata_dev): New struct.
4419 Removed all low-level inline functions.
4420 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4421 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4422 iterate hooks and open. All users updated.
4423 * util/grub-install.in: Handle AHCI disk module.
4424
4425 2011-06-23 Szymon Janc <szymon@janc.net.pl>
4426
4427 Add support for DRI and RSTn markers in JPEG files.
4428
4429 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4430 (JPEG_MARKER_RST0): Likewise.
4431 (JPEG_MARKER_RST1): Likewise.
4432 (JPEG_MARKER_RST2): Likewise.
4433 (JPEG_MARKER_RST3): Likewise.
4434 (JPEG_MARKER_RST4): Likewise.
4435 (JPEG_MARKER_RST5): Likewise.
4436 (JPEG_MARKER_RST6): Likewise.
4437 (JPEG_MARKER_RST7): Likewise.
4438 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4439 (grub_jpeg_decode_dri): New function.
4440 (grub_jpeg_decode_sos): Move image data related part into
4441 grub_jpeg_decode_data function.
4442 (grub_jpeg_decode_data): New function.
4443 (grub_jpeg_reset): New function.
4444 (grub_jpeg_decode_jpeg): Handle new markers.
4445
4446 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * util/ieee1275/ofpath.c (check_sas): Close fd.
4449 (main): Free of_path.
4450 Reported by: David Volgyes <dvolgyes>.
4451
4452 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4455 Reported by: David Volgyes <dvolgyes>.
4456
4457 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4460 file after stat.
4461 Reported by: David Volgyes <dvolgyes>.
4462
4463 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4466
4467 Reported by: David Volgyes <dvolgyes>.
4468
4469 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4472 Prevent memory leak.
4473
4474 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4477 (main): Close file.
4478 Reported by: David Volgyes <dvolgyes>.
4479
4480 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4483 to continue if allocation is failed.
4484
4485 Reported by: David Volgyes <dvolgyes>.
4486
4487 2011-06-23 David Volgyes <dvolgyes>
4488
4489 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4490 dereference.
4491
4492 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 Fix spurious warning.
4495
4496 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4497 (acorn_partition_map_find): Use .bin member.
4498
4499 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4502 /dev/root as a valid device.
4503
4504 2011-06-23 Jim Meyering <meyering@redhat.com>
4505
4506 Avoid NULL deref in grub_device_open.
4507
4508 * grub-core/kern/device.c (grub_device_open): Don't dereference
4509 a NULL pointer upon failed grub_env_get.
4510
4511 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Support non-512B sectors and agglomerate reads.
4514
4515 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4516 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4517 (disk_io_guid): Removed.
4518 (make_devices): Locate solely by BlockIO.
4519 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4520 (grub_efidisk_read): Use read_blocks.
4521 (grub_efidisk_write): Use write_blocks.
4522 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4523 log_sector_size.
4524 (get_safe_sectors): Handle non-512B sectors.
4525 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4526 sectors.
4527 (grub_biosdisk_write): Handle non-512B sectors.
4528 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4529 (grub_scsi_read): Remove special non-512B block handling (now handled
4530 one level up).
4531 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4532 and do sanity checks.
4533 (grub_disk_adjust_range): Handle non-512B sectors.
4534 (transform_sector): New function.
4535 (grub_disk_read_small): Likewise.
4536 (grub_disk_read): Rewritten.
4537 (grub_disk_write): Handle non-512B sectors.
4538 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4539 log_sector_size.
4540 (open_device): Use log_sector_size.
4541 (grub_util_biosdisk_read): Likewise.
4542 (grub_util_biosdisk_write): Likewise.
4543 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4544 non-512B sectors.
4545 (pc_partition_map_embed): Likewise.
4546 * include/grub/disk.h (grub_disk): New field log_sector_size.
4547 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4548 (GRUB_DISK_CACHE_BITS): Increased to 6.
4549 * util/grub-fstest.c (fstest): New command testload.
4550 (argp_parser): Likewise.
4551
4552 2011-06-16 Robert Millan <rmh@gnu.org>
4553
4554 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4555 `ata' driver on kernel of FreeBSD 9.
4556
4557 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4558 (get_ataraid_disk_name): New functions.
4559 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4560 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4561 get_ataraid_disk_name() and get_ada_disk_name().
4562
4563 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4564
4565 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4566 input format.
4567
4568 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4569
4570 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4571 `ftp.gnu.org' for `alpha.gnu.org'.
4572
4573 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4574
4575 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4576 partitions under /dev/disk/by-id/.
4577
4578 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4579
4580 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4581 after ten consecutive open failures. Scanning all the way up to
4582 10000 is excessive and can cause serious performance problems in
4583 some configurations.
4584 Fixes Ubuntu bug #787461.
4585
4586 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4589 opening new one.
4590
4591 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4592 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 Don't stat devices unless we have to.
4595
4596 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4597 dir == /dev/mapper.
4598 (grub_guess_root_device): Use already known os_dev if possible.
4599 * grub-core/kern/emu/hostdisk.c
4600 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4601 if device is known to be a dm one.
4602
4603 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4604
4605 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4606 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4607 Reported by: Pawel Tecza.
4608
4609 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4612 (lsefisystab): Likewise.
4613 (lssal): Likewise.
4614 (lsefimmap): Likewise.
4615 (hdparm): Enable on qemu-mips.
4616 (setjmp): Add ia64 nodist.
4617 (serial): Simplify tags.
4618
4619 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4620
4621 * Makefile.util.def (grub-ofpathname): Install manual page.
4622
4623 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4624
4625 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4626
4627 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4628
4629 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4630
4631 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4634 into dprintf.
4635
4636 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 Use full 64-bit division.
4639
4640 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4641 (grub_divmod64): ... this.
4642 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4643 version.
4644
4645 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4646
4647 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4648 `source'.
4649
4650 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4651
4652 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4653 to avoid accidents when debugging with 'sh -x'.
4654 * grub-core/gensyminfo.sh.in: Likewise.
4655 * tests/example_scripted_test.in: Likewise.
4656 * tests/grub_cmd_regexp.in: Likewise.
4657 * tests/grub_script_blanklines.in: Likewise.
4658 * tests/grub_script_dollar.in: Likewise.
4659 * tests/grub_script_expansion.in: Likewise.
4660 * tests/grub_script_final_semicolon.in: Likewise.
4661 * tests/partmap_test.in: Likewise.
4662 * tests/util/grub-shell-tester.in: Likewise.
4663 * tests/util/grub-shell.in: Likewise.
4664
4665 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4666
4667 Move gfxmenu color handling to video, so that gfxterm can use it
4668 too.
4669
4670 * grub-core/gfxmenu/named_colors.c: Move to ...
4671 * grub-core/video/colors.c: ... here. Rename
4672 grub_gui_get_named_color to grub_video_get_named_color.
4673 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4674 * grub-core/video/colors.c (my_isxdigit): ... here.
4675 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4676 Move to ...
4677 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4678 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4679 to ...
4680 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4681
4682 * include/grub/gui.h (grub_gui_color_t): Move to ...
4683 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4684 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4685 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4686 * include/grub/gui.h (grub_gui_map_color): Move to ...
4687 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4688 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4689 to ...
4690 * include/grub/video.h (grub_video_get_named_color): ... here.
4691 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4692 * include/grub/video.h (grub_video_parse_color): ... here.
4693
4694 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4695 video/colors.c.
4696 (gfxmenu): Remove gfxmenu/named_colors.c.
4697 (video) [videomodules]: Add video/colors.c.
4698
4699 Add a background_color command.
4700
4701 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4702 function.
4703 (GRUB_MOD_INIT): Register background_color command.
4704 (GRUB_MOD_FINI): Unregister background_color command.
4705 (redraw_screen_rect): Allow blend/replace of text layer to be
4706 controlled independently from whether there is a background bitmap.
4707 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4708 changing bitmap.
4709
4710 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 Patch BPB in ntldr and chainloader --bpb.
4713
4714 * grub-core/fs/fat.c: Include grub/fat.h.
4715 (grub_fat_bpb): Moved to ...
4716 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4717 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4718 grub/ntfs.h.
4719 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4720 Moved from here...
4721 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4722 here.
4723 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4724 New function.
4725 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4726 (GRUB_MOD_INIT): Show --bpb.
4727 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4728 * grub-core/normal/main.c (features): New variable.
4729 (GRUB_MOD_INIT): Set feature_* variables.
4730 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4731 proto.
4732 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4733
4734 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4737 for cleanness.
4738
4739 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 FreeDOS direct loading support.
4742
4743 * docs/grub.texi (Supported OS): Add FreeDOS.
4744 * grub-core/Makefile.core.def (freedos): New module.
4745 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4746 variable.
4747 (grub_relocator16_boot): Handle %ebx.
4748 * grub-core/lib/i386/relocator16.S: Likewise.
4749 * grub-core/loader/i386/pc/freedos.c: New file.
4750
4751 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 Long Linux command line support.
4754
4755 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4756 (maximal_cmdline_size): New variable.
4757 (allocate_pages): Use maximal_cmdline_size.
4758 (grub_cmd_linux): Set and use maximal_cmdline_size.
4759 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4760 (allocate_pages): Use maximal_cmdline_size.
4761 (grub_cmd_linux): Set and use maximal_cmdline_size.
4762 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4763 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4764 and cmdline_size.
4765
4766 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4767 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4768
4769 Improve devmapper support
4770
4771 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4772 (grub_util_is_lvm): New function.
4773 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4774 than lvm if not dmraid.
4775 Handle mapped md nodes.
4776 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4777 (grub_util_device_is_mapped): ... this. Make always available. All users
4778 updated.
4779 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4780 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4781 dmraid nodes.
4782 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4783
4784 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4787
4788 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4789 * grub-core/modinfo.sh.in: New file.
4790 * grub-core/Makefile.core.def (modinfo.sh): New script.
4791 * util/grub-mknetdir.in: Use modinfo.sh.
4792 * util/grub-mkrescue.in: Likewise.
4793
4794 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4797 Fix potential usage of Elf32 instead of Elf64 when compiling on
4798 32-bit architecture. Add endianness macros while on it.
4799
4800 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 Use mipsel- rather than mips- in directories involving mipsel ports to
4803 allow both endiannesses coexist.
4804
4805 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4806 mips. All conditions adjusted.
4807 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4808 variable.
4809 * util/grub-install.in: Adjust conditions to take renaming into account.
4810 * util/grub-mkimage.c (image_targets): Likewise. New target
4811 mips-qemu_mips-elf for bigendian mips.
4812
4813 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 Avoid unnecessary copying on MIPS.
4816
4817 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4818 early if src == dest.
4819 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4820 compression is none.
4821
4822 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 Reduce memory footprint on SGI by putting modules before the kernel
4825 as opposed to after.
4826
4827 * grub-core/Makefile.core.def (kernel): Increase linking address.
4828 (none_decompress): Likewise.
4829 (xz_decompress): Likewise.
4830 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4831 address.
4832 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4833 layout change.
4834 (grub_arch_modules_addr): New function.
4835 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4836 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4837 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4838 here.
4839 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4840 (grub_total_modules_size): ... this. Make global.
4841 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4842 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4843 New definition.
4844 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4845 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4846 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4847 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4848 * util/grub-mkimage.c (image_target_desc): New flag
4849 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4850 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4851 (generate_image): Handle images with modules before kernel.
4852
4853 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 Prevent potential loss of memory map by overwrite on qemu-mips.
4856
4857 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4858 Save ram size in $s4.
4859 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4860 All users changed to grub_arch_memsize.
4861 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4862 Loongson.
4863 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4864 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4865 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4866 external variable.
4867
4868 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4869
4870 * .bzrignore: Remove grub-dumpbios.
4871
4872 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4873
4874 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4875 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4876 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4877 existing options which append).
4878 * docs/grub.texi (Simple configuration): Document new options.
4879 Reported by: Ian Jackson. Fixes Debian bug #617538.
4880
4881 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4882
4883 * util/grub-fstest.c (cmd_cat): New function.
4884 (fstest): Handle CMD_CAT.
4885 (options): Add cat.
4886 (argp_parser): Handle cat.
4887
4888 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4889
4890 * Makefile.util.def (grub-bin2h): Don't install.
4891 * docs/man/grub-bin2h.h2m: Remove.
4892
4893 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4896 place.
4897
4898 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Reenable qemu-mips port.
4901
4902 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4903 Fix small arc bug while on it.
4904 * gentpl.py: Handle qemu_mips.
4905 * grub-core/Makefile.am: Likewise.
4906 * grub-core/Makefile.core.def: Likewise.
4907 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4908 inappropriate includes.
4909 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4910 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4911 * grub-core/kern/main.c (grub_modules_get_end)
4912 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4913 * grub-core/kern/mips/qemu-mips: Moved to ..
4914 * grub-core/kern/mips/qemu_mips: ... this.
4915 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4916 (grub_machine_init): Call terminfo_init and serial_init.
4917 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4918 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4919 New variable.
4920 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4921 parameter passing.
4922 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4923 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4924 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4925 * include/grub/mips/qemu_mips/cmos.h: New file.
4926 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4927 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4928 Removed.
4929 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4930 Use correct mips-style address.
4931 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4932 (GRUB_TICKS_PER_SECOND): Removed.
4933 (grub_get_rtc): Likewise.
4934 (grub_cpu_idle): Likewise.
4935 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4936 New definition.
4937 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4938 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4939 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4940 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4941 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4942 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4943 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4944 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4945
4946 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 SGI ARCS port.
4949
4950 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4951 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4952 platforms.
4953 * configure.ac: New target mips-arc.
4954 * gentpl.py: Likewise.
4955 * grub-core/Makefile.am: Likewise.
4956 * grub-core/Makefile.core.def: Likewise.
4957 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4958 (none_decompress): Likewise.
4959 (lsdev): New module.
4960 (datetime): Use lib/arc/datetime.c on ARC.
4961 (part_dvh): New module.
4962 * grub-core/commands/arc/lsdev.c: New file.
4963 * grub-core/disk/arc/arcdisk.c: Likewise.
4964 * grub-core/kern/mips/arc/init.c: Likewise.
4965 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4966 aligned addresses.
4967 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4968 support.
4969 (grub_arch_dl_relocate_symbols): Likewise.
4970 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4971 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4972 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4973 platforms.
4974 * grub-core/lib/arc/datetime.c: New file.
4975 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4976 pci.h on non-loongson.
4977 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4978 (grub_linux_boot): Set unused registers to 0.
4979 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4980 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4981 * grub-core/mmap/mips/uppermem.c: ...here.
4982 * grub-core/partmap/dvh.c: New file.
4983 * grub-core/term/arc/console.c: Likewise.
4984 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4985 (grub_terminfo_set_current): Add terminal "arc".
4986 (grub_terminfo_readkey): Support ARC sequences.
4987 * include/grub/arc/arc.h: New file.
4988 * include/grub/arc/console.h: Likewise.
4989 * include/grub/disk.h (grub_disk_dev_id): Add
4990 GRUB_DISK_DEVICE_ARCDISK_ID.
4991 * include/grub/mips/arc/kernel.h: New file.
4992 * include/grub/mips/arc/memory.h: Likewise.
4993 * include/grub/mips/arc/time.h: Likewise.
4994 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4995 * include/grub/mips/kernel.h (grub_halt): ... here.
4996 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4997 here...
4998 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4999 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5000 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5001 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5002 proto.
5003 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5004 from here ...
5005 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5006 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5007 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5008 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5009 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5010 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5011 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5012 (grub_phys_addr_t): Moved from here ...
5013 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5014 (grub_vtop): Moved from here ...
5015 * include/grub/mips/memory.h (grub_vtop): ... here.
5016 (grub_map_memory): Moved from here ...
5017 * include/grub/mips/memory.h (grub_map_memory): ... here.
5018 (grub_unmap_memory): Moved from here ...
5019 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5020 (grub_machine_mmap_iterate): Moved from here ...
5021 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5022 (grub_mmap_get_lower): Moved from here ...
5023 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5024 (grub_mmap_get_upper): Moved from here ...
5025 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5026 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5027 here ...
5028 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5029 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5030 here ...
5031 * include/grub/mips/time.h (grub_get_rtc): ... here.
5032 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5033 here ...
5034 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5035 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5036 here ...
5037 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5038 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5039 definition.
5040 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5041 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5042 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5043 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5044 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5045 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5046 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5047 (GRUB_MACHINE_LINK_ADDR): Likewise.
5048 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5049 to 6.
5050 * util/grub-install.in: Run dvhtool on ARC.
5051 * util/grub-mkimage.c (image_targets): Add mips-arc.
5052 (generate_image): Handle ECOFF output for mips-arc.
5053
5054 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5057 blocks.
5058
5059 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5062 after enabling port.
5063
5064 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 Skip incorrect USB devices.
5067
5068 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5069 configcnt == 0.
5070 * include/grub/usb.h (grub_usb_err_t): New enum value
5071 GRUB_USB_ERR_BADDEVICE.
5072
5073 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 Fuloong video init support.
5076
5077 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5078 well.
5079 (grub_vga_read_arx): New function.
5080 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5081 definition.
5082 (framebuffer): New members io, mmioptr and mmiobase.
5083 (read_sis_cmd): New function.
5084 (write_sis_cmd): Likewise.
5085 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5086 rather than 640x400.
5087 * grub-core/video/sis315_init.c: New file.
5088
5089 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5092 non-loongson.
5093 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5094 to grub_dl_register_symbol.
5095
5096 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 Fix compilation errors.
5099
5100 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5101 potentially unused.
5102 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5103 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5104 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5105 to loongson machines.
5106
5107 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 Several FS mtime support.
5110
5111 * grub-core/fs/affs.c (grub_affs_time): New struct.
5112 (grub_affs_file): New field mtime.
5113 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5114 type. Removed 'size'. New field 'di'. All users updated.
5115 (grub_affs_mount): Simplify checsum checking.
5116 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5117 (grub_affs_dir): Handle mtime.
5118 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5119 (grub_cpio_dir): Likewise.
5120 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5121 (grub_hfs_filerec): New field mtime.
5122 (grub_hfs_dir): Handle mtime.
5123 (grub_hfs_mtime): New function.
5124 (grub_hfs_fs): Register grub_hfs_mtime.
5125 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5126 (grub_iso9660_dir): New field mtime.
5127 (grub_fshelp_node): New field dirent.
5128 (iso9660_to_unixtime): New function.
5129 (iso9660_to_unixtime2): Likewise.
5130 (grub_iso9660_read_symlink): Use node->dirent.
5131 (grub_iso9660_iterate_dir): Likewise.
5132 (grub_iso9660_dir): Set mtime.
5133 (grub_iso9660_mtime): New function.
5134 (grub_iso9660_fs): Register grub_iso9660_mtime.
5135 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5136 (grub_jfs_inode): New fields atime, ctime and mtime.
5137 (grub_jfs_dir): Set mtime.
5138 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5139 * grub-core/fs/ntfs.c (list_file): Set mtime.
5140 (grub_ntfs_dir): Likewise.
5141 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5142 (grub_reiserfs_iterate_dir): Set mtime.
5143 (grub_reiserfs_dir): Likewise.
5144 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5145 (grub_fshelp_node): Likewise.
5146 (grub_sfs_iterate_dir): Set mtime.
5147 (grub_sfs_dir): Likewise.
5148 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5149 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5150 (grub_xfs_inode): New fields atime, mtime, ctime.
5151 (grub_xfs_dir): Set mtime.
5152 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5153 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5154 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5155
5156 Support UDF symlinks.
5157
5158 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5159 (grub_ufs_read_symlink): New function. All users updated.
5160
5161 Check amiga partmap checksum.
5162
5163 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5164 (grub_amiga_partition): Likewise.
5165 (amiga_partition_map_checksum): New function.
5166 (amiga_partition_map_iterate): Check checksum.
5167
5168 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 ROMFS support.
5171
5172 * Makefile.util.def (libgrubmods.a): Add romfs.
5173 * grub-core/Makefile.core.def (romfs): New module.
5174 * grub-core/fs/romfs.c: New file.
5175
5176 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 Squashfs v4 support.
5179
5180 * Makefile.util.def (libgrubmods.a): Add squash4.
5181 * grub-core/Makefile.core.def (squash4): New module.
5182 * grub-core/fs/squash4.c: New file.
5183 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5184 disk_input_start, disk_input.
5185 (get_byte): Handle disk_input.
5186 (grub_zlib_disk_read): New function.
5187 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5188
5189 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5190 2011-05-15 Feiran Zheng <famcool@gmail.com>
5191
5192 * Makefile.util.def (libgrubmods.a): Add minix3.
5193 * grub-core/Makefile.core.def (minix3): New module.
5194 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5195 (GRUB_MINIX_BSIZE): Removed.
5196 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5197 (grub_minix_ino_t): New type.
5198 (grub_minix_le_to_cpu_ino): New macro.
5199 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5200 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5201 (grub_minix_data): New field block_size.
5202 (grub_minix_read_file): Handle 64-bit correctly.
5203 * grub-core/fs/minix3.c: New file.
5204
5205 2011-05-15 Tristan Gingold <gingold@free.fr>
5206 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
5207 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 IA64 support.
5210
5211 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5212 * configure.ac: Add ia64-efi target.
5213 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5214 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5215 * gentpl.py: Add ia64_efi platform.
5216 Rename x86_efi to efi and Add ia64-efi. All users updated.
5217 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5218 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5219 Remove kern/generic/rtc_get_time_ms.c on EFI.
5220 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5221 kern/ia64/dl_helper.c on ia64-efi.
5222 Add kern/emu/cache.c on emu.
5223 (linux): Use on loader/ia64/efi/linux.c on ia64.
5224 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5225 whether symbol is a function.
5226 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5227 (grub_symbol): New field 'isfunc'.
5228 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5229 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5230 (grub_dl_load_segments): Place all sections into the same region.
5231 [__ia64__]: Create trampolines and got.
5232 [GRUB_MACHINE_EMU]: Call mprotect.
5233 (grub_dl_resolve_symbols): Resolve symbol type as well.
5234 [__ia64__]: Create function descriptors.
5235 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5236 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5237 (grub_get_rtc): New function.
5238 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5239 * grub-core/kern/emu/cache.S: Renamed to ...
5240 * grub-core/kern/emu/cache_s.S: ... this.
5241 [__ia64__]: Add a nop.
5242 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5243 [__ia64__]: New function.
5244 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5245 * grub-core/kern/ia64/dl.c: New file.
5246 * grub-core/kern/ia64/dl_helper.c: Likewise.
5247 * grub-core/kern/ia64/efi/init.c: New file.
5248 * grub-core/kern/ia64/efi/startup.S: Likewise.
5249 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5250 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5251 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5252 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5253 * grub-core/loader/ia64/efi/linux.c: New file.
5254 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5255 (GRUB_MOD_DEP): Likewise.
5256 (grub_dl) [__ia64__]: New fields got and tramp.
5257 (grub_dl): New field 'base'.
5258 (grub_dl_register_symbol): New argument isfunc. All users updated.
5259 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5260 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5261 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5262 (grub_ia64_dl_get_tramp_got_size): New proto.
5263 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5264 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5265 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5266 * include/grub/efi/api.h: Skip call wrappers on ia64.
5267 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5268 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5269 * include/grub/elf.h (ELF_ST_INFO): New definition.
5270 * include/grub/ia64/efi/kernel.h: New file.
5271 * include/grub/ia64/efi/memory.h: Likewise.
5272 * include/grub/ia64/efi/time.h: Likewise.
5273 * include/grub/ia64/kernel.h: Likewise.
5274 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5275 * include/grub/ia64/time.h: New file.
5276 * include/grub/ia64/types.h: Likewise.
5277 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5278 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5279 New protos.
5280 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5281 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5282 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5283 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5284 All users updated.
5285 (EFI64_HEADER_SIZE): New definition. All users updated.
5286 (image_targets): Add ia64-efi.
5287 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5288 jumpers_addr. All users updated.
5289 Create function descriptors.
5290 (count_funcs): New function.
5291 (unaligned_uint32): New struct.
5292 (MASK20): New definition.
5293 (MASK19): Likewise.
5294 (MASKF21): Likewise.
5295 (add_value_to_slot_20b): New function.
5296 (add_value_to_slot_21_real): Likewise.
5297 (add_value_to_slot_21): Likewise.
5298 (ia64_kernel_trampoline): New struct.
5299 (nopm): New variable.
5300 (jump): Likewise.
5301 (make_trampoline): New function.
5302 (relocate_addresses): Handle ia64.
5303 (make_reloc_section): Likewise.
5304 (load_image): Likewise.
5305
5306 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5309 warning. Move variables before code while on it.
5310
5311 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 Fuloong support.
5314
5315 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5316 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5317 * grub-core/boot/mips/loongson/fuloong.S: New file.
5318 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5319 Explicitly init CS5536.
5320 [FULOONG]: Don't use serial until CS5536 is available.
5321 Set GPIO based on dumps.
5322 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5323 [FULOONG]: Handle GPIO and memory controller differences.
5324 Parse machine type in $a2.
5325 * grub-core/boot/mips/startup_raw.S: Determine and save the
5326 architecture.
5327 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5328 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5329 init on architecture type.
5330 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5331 SIS315E. Don't init at_keyboard on fuloong.
5332 (grub_halt): Support Fuloong.
5333 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5334 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5335 (loongson_machtypes): New array.
5336 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5337 type.
5338 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5339 config. All users updated. Handle CS5536 serial.
5340 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5341 default port on machine type. Register serial as inactive.
5342 * grub-core/video/sis315pro.c: New file.
5343 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5344 definition.
5345 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5346 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5347 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5348 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5349 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5350 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5351 to ...
5352 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5353 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5354 definition.
5355 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5356 (grub_arch_machine): New extern var.
5357 * include/grub/mips/loongson/serial.h
5358 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5359 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5360 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5361 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5362 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5363 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5364 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5365 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5366 * include/grub/term.h (grub_term_register_input_inactive): New inline
5367 function.
5368 (grub_term_register_output_inactive): Likewise.
5369 * include/grub/video.h (grub_video_driver_id): New value
5370 GRUB_VIDEO_DRIVER_SIS315PRO.
5371 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5372 New field "names". All users updated.
5373 New field value IMAGE_FULOONG_FLASH.
5374 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5375
5376 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5377
5378 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5379 and add some clarification.
5380
5381 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5384 platforms if kernel is compressed.
5385
5386 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5389 unused modules since currently referrence counter isn't reliable and
5390 there isn't much memory to recover there anyway.
5391
5392 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5395 rather than resetting it to allow modules to reference themselves
5396 in init.
5397
5398 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5401 counter on dependencies since grub_dl_unref already handles this.
5402
5403 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5406 on error if not already done.
5407
5408 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 Fix few potential memory misusage.
5411
5412 * grub-core/font/font.c (load_font_index): Don't free char_index to
5413 avoid double free.
5414 (grub_font_load): Zero-fill font at alloc for safety.
5415 Close file on error.
5416 (free_font): Free bmp_idx.
5417
5418 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * docs/grub.texi (Installation): Fix several outdated claims.
5421
5422 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 Handle module_license on windows.
5425
5426 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5427 sections shifted.
5428 (insert_string): Make argument const char * instead of char *.
5429 (write_section_data): Handle long section names.
5430 Handle module_license.
5431
5432 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5435 handle class-free menuentries.
5436 (grub_normal_add_menu_entry): Add a check to be sure.
5437
5438 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5441 PgUp and PgDown.
5442
5443 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * configure.ac: Bump version to 1.99.
5446
5447 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 Give ATA device a bit more time on first try in order to allow disks
5450 to spin up.
5451
5452 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5453 if dev->present is 1. Reset dev->present on failure.
5454 (grub_ata_device_initialize): Set dev->present to 1.
5455 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5456 (grub_ata_device): New member 'present'.
5457
5458 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * util/grub-mkimage.c (generate_image): Update hash.
5461
5462 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 Flush caches on DMA memory.
5465
5466 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5467 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5468 (grub_dma_free): Likewise.
5469 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5470
5471 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5474 to avoid asm treating ld and sd as macros.
5475
5476 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5479 decompressor.
5480
5481 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5484 grub_decompress_core since later would fail if grub_decompress_core
5485 is too far.
5486
5487 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5490 R_MIPS_JALR since it's used by newer compiler.
5491
5492 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5495
5496 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5499 file_path to 0 for surety.
5500 (grub_chainloader_boot): Set exit_data to NULL.
5501 Unset the loader once done.
5502 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5503
5504 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5507 unknown key into a dprintf.
5508
5509 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5512 on first non-existant partition.
5513
5514 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5517 openning fails.
5518 Reported by: Mark Korenberg.
5519
5520 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5523 overflow.
5524
5525 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5528 before closing to ensure that it will be readable by grub-setup.
5529
5530 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5533 (devpath_1): Use MAKE_PIWG_PATH.
5534 (devpath_2): Likewise.
5535 (devpath_3): Likewise.
5536 (devpath_4): Likewise.
5537 (devpath_5): Likewise.
5538 (devpath_6): Likewise.
5539
5540 The appleldr.mod was checked that to be binary identical to previous
5541 version.
5542
5543 2011-05-05 Zach <mikezackles>
5544
5545 Support 2010 Macbooks.
5546
5547 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5548 (devs): Add devpath_6.
5549
5550 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5553 /dev/random. /dev/urandom is good enough for our purposes (salting).
5554
5555 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5558
5559 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5562 hexadecimal.
5563
5564 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5567 and not 0 on failure.
5568
5569 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5570
5571 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5572 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5573 disk; otherwise grub_fs_probe will not fall back to the next
5574 filesystem.
5575 (grub_pxefs_open): Likewise, for consistency.
5576 Reported and tested by: Ezekiel Grave.
5577
5578 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5579
5580 * tests/partmap_test.in: Don't hardcode path to parted.
5581 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5582
5583 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5584
5585 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5586 of `ls' to find out which devices are available.
5587
5588 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5591 than source address for efi mmap buffer.
5592
5593 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5596 wrong action on non-detecting the magic.
5597
5598 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5601 already supplied by another part of the module (fixes compilation on
5602 FreeBSD).
5603
5604 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5607 match the one used by mdadm.
5608
5609 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5610
5611 * po/README: Add instructions for creating po/LINGUAS.
5612
5613 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5614
5615 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5616 #551428.
5617
5618 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5619 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5620 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5621 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5622 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5623 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5624 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5625 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5626 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5627 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5628 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5629 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5630 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5631 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5632 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5633 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5634 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5635 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5636 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5637 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5638 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5639 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5640
5641 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5642
5643 * grub-core/kern/emu/getroot.c
5644 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5645 test that was incorrectly reintroduced in r3214.
5646 Reported by: Ian Dall. Fixes Savannah bug #33133.
5647
5648 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5649
5650 Fix stack pointer handling in 16-bit relocator.
5651
5652 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5653 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5654 Fixes Ubuntu bug #683904.
5655
5656 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * configure.ac: Bump version to 1.99~rc2.
5659
5660 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5663 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5664 * grub-core/lib/x86_64/setjmp.S: Likewise.
5665 * grub-core/lib/mips/setjmp.S: Likewise.
5666 * grub-core/lib/powerpc/setjmp.S: Likewise.
5667 * grub-core/lib/sparc64/setjmp.S: Likewise.
5668
5669 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5672 * grub-core/lib/efi/datetime.c: Likewise.
5673
5674 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5677 New function.
5678 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5679 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5680 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5681
5682 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5685 bitmap.
5686 (grub_gfxterm_term_init): Likewise.
5687
5688 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 Take into account the decorations the computing menu entry width.
5691
5692 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5693 (grub_gfxmenu_create_box): Register get_border_width.
5694 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5695 if available.
5696 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5697 get_border_width.
5698
5699 2011-04-18 Endres Puschner <code@e7p.de>
5700
5701 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5702 Don't skip first class.
5703
5704 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5707 chunks.
5708 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5709
5710 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 Complete 64-bit division support.
5713
5714 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5715 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5716 * include/grub/misc.h (grub_divmod64): Rename to ...
5717 (grub_divmod64_full): ... this.
5718 (grub_divmod64): New inline function.
5719
5720 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5723
5724 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5727 performing the necessary test.
5728
5729 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5732 (kfreebsd.elf): Likewise.
5733 (pc-chainloader.elf): Likewise.
5734 (ntldr.elf): Likewise.
5735
5736 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 Identify RAID by its UUID rather than (guessed) name.
5739
5740 * grub-core/disk/raid.c (ascii2hex): New function.
5741 (grub_raid_open): Accept mduuid/%s specification.
5742 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5743 (get_mdadm_uuid): ... this.
5744 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5745
5746 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5749 to negative size.
5750
5751 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5752
5753 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5754 btrfs subvolume.
5755 * util/grub.d/20_linux_xen.in: Likewise.
5756
5757 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5758
5759 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5760 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5761
5762 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5763 Build a list of relevant visible mounts using the mnt_id and
5764 parent_mnt_id fields, and then scan that list at the end.
5765
5766 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5767
5768 * docs/grub.texi (normal): New section.
5769 (normal_exit): New section.
5770 (Embedded configuration): Add reference to normal.
5771 (GRUB only offers a rescue shell): Likewise.
5772 * docs/grub-dev.texi (Error Handling): Fix typo.
5773
5774 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5775
5776 * NEWS: Drop obsolete entry about probe-only btrfs support.
5777
5778 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5779
5780 * util/import_gcry.py: Fix typo.
5781
5782 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * NEWS: Add btrfs support.
5785
5786 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5787 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5788
5789 BtrFS support. Written by me (Vladimir) with important bugfixes and
5790 even more important testing by Colin.
5791
5792 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5793 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5794 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5795 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5796 mem_input_off and mem_input. All users updated to accept in-RAM input.
5797 (gzio_seek): New function.
5798 (test_zlib_header): Likewise.
5799 (grub_gzio_read): Likewise.
5800 (grub_zlib_decompress): Likewise.
5801 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5802 Accept partial and non-virtual mounts.
5803 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5804 avoid receiving /dev/dm-X as device.
5805 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5806 Handle bind and partial mounts.
5807 * grub-core/lib/crc.c: New file.
5808 * include/grub/deflate.h: Likewise.
5809 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5810 proto.
5811 * include/grub/lib/crc.h: New file.
5812
5813 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 Implement automatic module license checking according to new GNU
5816 guidelines.
5817
5818 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5819 (grub_dl_load_core): Use grub_dl_check_license.
5820 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5821 (GRUB_MOD_LICENSE): Likewise.
5822 (GRUB_MOD_DUAL_LICENSE): Likewise.
5823 All modules updated.
5824
5825 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5826
5827 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5828 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5829 loaders.
5830 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5831
5832 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5835
5836 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5839 failed.
5840
5841 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5844 parenthesis in the middle of the filename.
5845
5846 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5849 rather than trying to put initrd way too high.
5850 Reported by: Ryan Lortie <desrt@desrt.ca>
5851
5852 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5855 improperly removed string.
5856
5857 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5860 is_disk.
5861 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5862 (open_device) Likewise.
5863 (grub_util_biosdisk_close): Likewise.
5864 Reported by: Mark Korenberg.
5865
5866 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5867
5868 * util/grub-mkconfig_lib.in: Add missing quotes.
5869
5870 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
5871
5872 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5873 is NULL.
5874
5875 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 Dynamically count the number of lines for the lower banner.
5878
5879 * grub-core/normal/menu_entry.c (per_term_screen): New member
5880 num_entries.
5881 (print_down): Use num_entries.
5882 (update_screen): Likewise.
5883 (grub_menu_entry_run): Set num_entries.
5884 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5885 num_entries.
5886 (grub_print_message_indented): Move real part to ...
5887 (grub_print_message_indented_real): ... here. Additional argument
5888 dry_run.
5889 (draw_border): Additional argument num_entries.
5890 (print_message): Additional argument dry_run.
5891 (print_entries): Receive menu viewer data.
5892 (grub_menu_init_page): New argment num_entries.
5893 (menu_text_set_chosen_entry): Use num_entries.
5894 (grub_menu_try_text): Likewise.
5895 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5896 All users updated.
5897 (grub_ucs4_count_lines): New function.
5898 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5899 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5900 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5901 (grub_term_border_height): Likewise.
5902 (grub_term_num_entries): Likewise.
5903
5904 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5907 Remove now unused string.
5908
5909 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5910
5911 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5912 build system.
5913 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5914
5915 (Comment): Fix typo.
5916 (Getting started): General copy-editing.
5917 (Typical Development Experience): Likewise.
5918 (Error Handling): Likewise.
5919 (Video API): Likewise.
5920
5921 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5922
5923 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5924 throughout.
5925
5926 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5929 directory.
5930
5931 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5932
5933 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5934 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5935 "development".
5936
5937 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5940 grub_strcpy since the lines aren't necessarily 0-terminated.
5941
5942 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5945 root on legacy.
5946
5947 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5950 (GRUB_MOD_INIT): DEVICE isn't optional.
5951
5952 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5955 word on new line if it's too long anyway. Fixes a hang.
5956
5957 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5960 const.
5961 * util/grub-setup.c (main): Reuse md device name if available.
5962 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5963 not GRUB name as argument.
5964 Based on patch by: Florian Wagner <fwagner>.
5965
5966 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5969 Place mbi on low memory for better compatibility.
5970
5971 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5974
5975 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5976 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5977
5978 * autogen.sh: Ensure that collate and ctype locale is C.
5979 * conf/Makefile.common: Likewise.
5980
5981 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/normal/menu.c: Add missing include.
5984
5985 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
5988
5989 2011-04-08 Martin Zuther <mzuther@mzuther.de>
5990
5991 * util/grub-mkconfig.in: Ignore emacsen backup.
5992
5993 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5996 on open.
5997 (grub_util_biosdisk_close): Likewise.
5998
5999 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6002 const attribute and use grub_isdigit.
6003
6004 2011-04-06 Andrey <dev_null@ukr.net>
6005
6006 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6007 gcc warning.
6008
6009 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6012 useful grub_dprintf's.
6013
6014 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6017
6018 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6021
6022 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Output errors if theme loading failed.
6025
6026 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6027 grub_gfxterm_fullscreen on error paths to ...
6028 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6029 theme loading error.
6030
6031 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6034 space for older compilers.
6035 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6036
6037 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6040 and report them as not RAID members since they are useless for GRUB.
6041 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6042
6043 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 Increase LVM implementation robustness in order not to crash on
6046 configurations like pvmove. Previously code assumed that in some places
6047 only lvs or only pvs are used whereas it seems that they are used
6048 interchangeably.
6049
6050 * grub-core/disk/lvm.c (read_node): New function.
6051 (read_lv): Use read_node.
6052 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6053 Match volumes only at the end when all lvs are found. Take both
6054 pvs (first) and lvs (second) into account.
6055 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6056 mirror_* into node_*. All users updated.
6057 (grub_lvm_stripe): Merge this ...
6058 (grub_lvm_mirror): ... and this ...
6059 (grub_lvm_node): ... into this. All users updated.
6060
6061 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6064 of function to allow further scanning for LVMs.
6065
6066 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6069 on failed seek as it breaks open fd reusage.
6070
6071 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * util/grub-install.in: Add a recommendation to use --recheck before
6074 reporting bugs.
6075
6076 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6079 are obtained.
6080
6081 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 GRUB developper manual based on existing Internals section and
6084 contributions by the various authors with active copyright assignment.
6085
6086 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6087 * docs/font_char_metrics.png: New file.
6088 * docs/font_char_metrics.txt: Likewise.
6089 * docs/grub-dev.texi: Likewise.
6090 * docs/grub.texi (Internals): Move from here ...
6091 * docs/grub-dev.texi: ... here.
6092
6093 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6094
6095 Store the loopback device as data on loopback grub_disk structures,
6096 rather than the file it points to. This fixes use of freed memory
6097 if an existing loopback device is replaced.
6098
6099 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6100 disk->data, not dev->file.
6101 (grub_loopback_read): Adjust file assignment to match.
6102 Fixes Ubuntu bug #742967.
6103
6104 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6105
6106 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6107 when replacing an existing device.
6108
6109 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6112 memory corruptions.
6113
6114 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6115 unsigned.
6116 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6117 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6118 (grub_jfs_read_inode): Likewise.
6119 (grub_jfs_opendir): Likewise. Remove now useless casts.
6120 (grub_jfs_getent): Likewise.
6121 Make ino a grub_uint32_t rather than int.
6122 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6123 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6124 division and module with bit operations.
6125 (grub_jfs_find_file): Make ino a grub_uint32_t.
6126 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6127
6128 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6129
6130 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6131 warning. (This was in fact always initialised before use, but GCC
6132 wasn't smart enough to prove that.)
6133 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6134
6135 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6138 stack alignment.
6139 (efi_wrap_1): Likewise.
6140 (efi_wrap_2): Likewise.
6141 (efi_wrap_3): Likewise.
6142 (efi_wrap_4): Likewise.
6143 (efi_wrap_5): Likewise.
6144 (efi_wrap_6): Likewise.
6145 (efi_wrap_10): Likewise.
6146 Based on information by: Red Hat/Peter Jones.
6147
6148 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6149
6150 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6151 set-but-not-used variable.
6152
6153 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6154
6155 * docs/grub.texi (Simple configuration): Be more explicit about
6156 GRUB_DEFAULT, and add an example.
6157 Reported by: Leslie Rhorer.
6158
6159 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6160
6161 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6162 shell".
6163
6164 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6165
6166 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6167 * util/grub.d/20_linux_xen.in: Likewise.
6168
6169 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * util/grub.d/10_linux.in: Try alternative config filenames where
6172 we parse config file.
6173 * util/grub.d/20_linux_xen.in: Likewise.
6174
6175 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6176
6177 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6178 * util/grub.d/20_linux_xen.in: Likewise.
6179
6180 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/disk/raid.c (insert_array): Add few potentially
6183 useful grub_util_info.
6184 (grub_raid_register): Likewise.
6185
6186 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6189 Preserve partition number in mdadm code path.
6190
6191 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6194 few potentially useful grub_util_info.
6195
6196 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6199
6200 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6201
6202 * docs/grub.texi (default): Use @example rather than nested
6203 itemized lists to avoid breaking gendocs.
6204
6205 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6206
6207 * docs/grub.texi (Future): Update.
6208
6209 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6210
6211 * docs/grub.texi (Environment): New chapter.
6212 (Changes from GRUB Legacy): Link to "Environment block" section for
6213 details of limitations.
6214 (Simple configuration): Likewise. Link to documentation of gfxmode
6215 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6216 respectively.
6217 (Shell-like scripting): Note that normal variables are stored in the
6218 environment.
6219 (gettext): Link to documentation of lang and locale_dir.
6220 (list_env): New section.
6221 (load_env): New section.
6222 (save_env): New section.
6223
6224 (Reporting bugs): Fix typo.
6225
6226 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6229 the example.
6230
6231 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * grub-core/term/at_keyboard.c (set_scancodes)
6234 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6235
6236 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6237
6238 * docs/grub.texi (Menu-specific commands): Remove some semantics
6239 that were true in GRUB Legacy but not in GRUB 2.
6240 (submenu): New section.
6241 (false): New section.
6242 (read): New section.
6243 (true): New section.
6244
6245 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6246
6247 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6248
6249 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6250
6251 * docs/grub.texi (Simple configuration): Explain some of the
6252 current limitations of grub-mkconfig.
6253 Reported by: Leslie Rhorer.
6254
6255 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 Old macs search for boot.efi rather than for bootia32.efi.
6258
6259 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6260 * util/grub-mkrescue.in: Likewise.
6261 Suggested by: Peter Jones.
6262
6263 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6266
6267 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6270 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6271 (grub_lvm_mirror): New struct.
6272 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6273 (grub_lvm_iterate): Iterate only visible volumes.
6274 (grub_lvm_read): Factor out to ..
6275 (read_lv): ... this. Support mirrors.
6276 (grub_lvm_read): New wrapper function.
6277 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6278 stripped or mirrored.
6279
6280 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6283
6284 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6285
6286 * docs/grub.texi (loopback): New section.
6287
6288 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6289
6290 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6291 removed -p option.
6292
6293 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6294
6295 * docs/grub.texi (BIOS installation): New section, partly based on
6296 previous text in other sections.
6297 (Installing GRUB using grub-install): Replace BIOS discussion with a
6298 cross-reference.
6299 (Images): Likewise.
6300
6301 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6304 [HAVE_DIOCGDINFO]: Add safety checks.
6305
6306 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6309 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6310
6311 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6312
6313 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6314 real_sb->size is zero (e.g. RAID-0), get the disk size from
6315 real_sb->data_size instead.
6316 Fixes Ubuntu bug #743136.
6317
6318 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6321 printf clauses for printing size and start.
6322
6323 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6326 Reported and tested by: Timothy Nikkel.
6327
6328 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6331 (dirty_region_add_real): ... this.
6332 (dirty_region_add): Don't discard margin refresh when performing
6333 scheduled repaint.
6334
6335 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/lib/relocator.c (allocate_regstart)
6338 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6339 terminals are capabple of malloc-free operation.
6340 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6341 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6342
6343 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6344
6345 * util/grub-setup.c: Copy the partition table zone if floppy support
6346 is disabled, even if no partition table is found.
6347
6348 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6349 during POST if an invalid partition table is contained in the PBR
6350 of the active partition when GRUB is installed to a partition.
6351
6352 2011-03-28 Colin Watson <cjwatson@debian.org>
6353
6354 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6355 comment.
6356
6357 2011-03-28 Colin Watson <cjwatson@debian.org>
6358
6359 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6360 to be specific about what kind of RAID device we're scanning for.
6361
6362 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6363
6364 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6365 return freed string.
6366
6367 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6370
6371 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Use libgeom on FreeBSD to detect partitions.
6374
6375 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6376 (grub-mkrelpath): Likewise.
6377 (grub-script-check): Likewise.
6378 (grub-editenv): Likewise.
6379 (grub-mkpasswd-pbkdf2): Likewise.
6380 (grub-fstest): Likewise.
6381 (grub-mkfont): Likewise.
6382 (grub-mkdevicemap): Likewise.
6383 (grub-probe): Likewise.
6384 (grub-setup): Likewise.
6385 (grub-ofpathname): Likewise.
6386 (grub-mklayout): Likewise.
6387 (example_unit_test): Likewise.
6388 (grub-menulst2cfg): Likewise.
6389 * grub-core/Makefile.core.def (grub-emu): Likewise.
6390 (grub-emu-lite): Likewise.
6391 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6392 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6393 define HAVE_DIOCGDINFO.
6394 (follow_geom_up) [FreeBSD]: New function.
6395 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6396 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6397 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6398 unconditionally of HAVE_DIOCGDINFO.
6399
6400 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 Fix FreeBSD compilation problem.
6403
6404 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6405 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6406
6407 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
6408
6409 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6410 Switch back to page zero before loading a kernel, since some kernel
6411 drivers expect that.
6412 Thanks to: Felix Kuehling.
6413
6414 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6417 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6418 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6419
6420 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6423 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6424
6425 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6428 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6429 malloc is disabled.
6430
6431 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6434 for modules headers when counting the needed allocation size.
6435
6436 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6439 if no ASCII character is found to prevent crash.
6440
6441 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6442
6443 * grub-core/video/bitmap.c (match_extension): Ignore case.
6444
6445 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6448
6449 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/script/parser.y: Declare "time" as valid argument.
6452
6453 2011-03-23 Peter Jones <pjones@redhat.com>
6454
6455 Fix incorrect assert failure reporting.
6456
6457 * grub-core/tests/example_functional_test.c (example_test): Add
6458 a failure comment.
6459 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6460 (failure_start): ...this. Check that malloc succeeded.
6461 Don't call xvasprintf. Return failure struct.
6462 (failure_append_vtext): New function.
6463 (failure_append_text): Likewise.
6464 (add_failure): Likewise.
6465 (grub_test_assert_helper): Likewise.
6466 * include/grub/test.h (grub_test_assert_helper): New declaration.
6467 (grub_test_assert): Macro rewritten.
6468
6469 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6472
6473 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6476
6477 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6480 into GRUB-style one.
6481
6482 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6485 error and not grub_errno.
6486 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6487
6488 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6491 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6492
6493 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/efiemu/i386/pc/cfgtables.c
6496 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6497 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6498 (grub_xnu_unlock): Likewise.
6499 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6500
6501 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6504 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6505 * grub-core/commands/hashsum.c (aliases): Likewise.
6506 * grub-core/commands/setpci.c (pci_registers): Likewise.
6507 * grub-core/disk/usbms.c (attach_hook): Likewise.
6508 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6509 (zio_checksum_table): Likewise.
6510 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6511 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6512 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6513 * grub-core/lib/relocator.c (leftovers): Likewise.
6514 (extra_blocks): Likewise.
6515 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6516 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6517 (modules_last): Likewise.
6518 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6519 (devices): Likewise.
6520 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6521 (modules_last): Likewise.
6522 * grub-core/normal/auth.c (users): Likewise.
6523 * grub-core/normal/context.c (initial_menu): Likewise.
6524 (current_menu): Likewise.
6525 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6526 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6527 (grub_serial_terminfo_input_template): Likewise.
6528 (grub_serial_terminfo_output_template): Likewise.
6529 (grub_serial_terminfo_input): Likewise.
6530 (grub_serial_terminfo_output): Likewise.
6531 (registered): Likewise.
6532 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6533
6534 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6537 grub_video_mode_type_t.
6538 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6539 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6540 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6541
6542 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * util/grub-install.in: Correct the x86-64 name as x86_64.
6545
6546 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6547
6548 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6549 initial chunk read from the kernel always includes GRUB's multiboot
6550 header, which is now outside the first sector.
6551
6552 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6553
6554 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6555 cached mmap_size, so that this works correctly when called multiple
6556 times.
6557 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6558
6559 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6560
6561 * docs/grub.texi (Simple configuration): Tidy up formatting.
6562
6563 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6564
6565 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6566 Set-but-not-used variable removed.
6567
6568 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 Workaround yet another IEEE1275 bug.
6571
6572 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6573 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6574 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6575 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6576 is set.
6577 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6578 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6579
6580 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6583 error.
6584
6585 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6586
6587 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6588 empty, since in that case we can only generate either nothing or a
6589 syntactically invalid configuration file.
6590 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6591
6592 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6593
6594 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6595 (Making a GRUB bootable CD-ROM): Likewise.
6596 (Invoking grub-mkrescue): New section.
6597 Reported by: Yann Dirson. Fixes Debian bug #612585.
6598
6599 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6600
6601 * util/grub-install.in: Remove unnecessary brackets from tr
6602 arguments.
6603 * util/grub.d/10_hurd.in: Likewise.
6604 * util/grub.d/10_kfreebsd.in: Likewise.
6605 * util/grub.d/10_linux.in: Likewise.
6606 * util/grub.d/20_linux_xen.in: Likewise.
6607 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6608
6609 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6610
6611 * include/grub/file.h (not_easly_seekable): Rename to ...
6612 (not_easily_seekable): ... this. Update all users.
6613
6614 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6615
6616 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6617 grub-mkrescue.
6618
6619 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * util/grub-mkimage.c (generate_image): Refuse to create the images
6622 bigger than the actual flash (512K) in Loongson machines. 512K is also
6623 the biggest chip supported by them.
6624
6625 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6628
6629 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6630
6631 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6632 super_offset field.
6633
6634 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * util/grub-install.in: Ignore install device on platforms
6637 where it doesn't make sense. Always use UUIDs except on pc, efi and
6638 sparc64.
6639 Reported by: Daniel Kahn Gillmor.
6640
6641 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6644
6645 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6648 (iterate_real): Don't rely on partition being non-NULL.
6649
6650 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6653 supported platforms. Put a compile time assert for this rather than
6654 generate a warning with 32-bit shift.
6655
6656 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6659 logical expression more readable.
6660
6661 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6664 even if some elements have a name.
6665 Reported by: Alexander GQ Gerasiov.
6666
6667 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6668
6669 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6670 path unreadable if `grub-probe -t abstraction' fails, for example if
6671 memberlist fails on an LVM volume group.
6672 Reported by: Darius Jahandarie.
6673
6674 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6675
6676 * docs/grub.texi (Simple configuration): Document
6677 GRUB_PRELOAD_MODULES.
6678
6679 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6680
6681 * .bzrignore: Remove nonexistent grub-pbkdf2.
6682
6683 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * configure.ac: Bump version to 1.99~rc1.
6686
6687 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6690 for safety.
6691
6692 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6695 module.
6696
6697 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6700
6701 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6704 diskdevid.
6705
6706 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 Fix compilation on cygwin.
6709
6710 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6711 -R .drectve on cygwin.
6712 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6713 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6714 (COND_CYGWIN): New condition.
6715 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6716 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6717 not @TARGET_OBJ2ELF@.
6718 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6719 type to determine whether aux is to be used.
6720
6721 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6724 realpath'ed device string.
6725 Handle floppy (somewhat).
6726 Issue error in unknown case rather than garbage.
6727 Reported by: Axel Beckert.
6728
6729 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * util/grub.d/00_header.in (load_video): Handle the case when no video
6732 drivers available.
6733 Thanks to: Axel Beckert.
6734
6735 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6738 variable. Fixes problem on big endian platforms.
6739
6740 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6743 It doesn't work well there.
6744
6745 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6748 warning.
6749 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6750 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6751 counter.
6752
6753 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 Use alias->path rather than buggy "canon".
6756
6757 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6758 (ofdisk_hash_add): New argument curcan. All users updated.
6759
6760 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6761
6762 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6763
6764 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6767 loadmask before doing any calculations. Use correct type for offset.
6768 (grub_linux_load64): Likewise.
6769
6770 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6771
6772 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6773 with NULL.
6774 (console_grub_equivalences_unshift): Likewise.
6775 Reported by: Daniel Dehennin.
6776
6777 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6780 (set_env_limn_ro): Likewise.
6781 (GRUB_MOD_INIT): Likewise.
6782 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6783 ARRAY_SIZE while on it.
6784 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6785 * grub-core/normal/context.c (grub_env_export): Move from here ...
6786 * grub-core/kern/env.c (grub_env_export): ... here.
6787 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6788 prefix.
6789 * grub-core/kern/main.c (grub_main): Export root and prefix.
6790 * include/grub/env.h (grub_env_export): Export.
6791 Reported by: Seth Goldberg.
6792
6793 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6796 Take into account space used by ELF sections and multiboot palette.
6797 Reported by: Grégoire Sutre.
6798
6799 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * BUGS: New file.
6802
6803 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 Pass more appropriate video id to Linux.
6806
6807 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6808 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6809 fill have_vga.
6810 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6811 shift params->lfb_size.
6812 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6813
6814 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6817
6818 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6821 separator and pass bootpath/devid even if only one of them is available.
6822 Reported by: Seth Goldberg.
6823
6824 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6827 implementations bug on them.
6828
6829 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6830 memory.
6831 (filter_memory_map): Likewise.
6832
6833 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6836 Reported by: nebuchadnezzar.
6837
6838 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6841 Reported by: nebuchadnezzar.
6842
6843 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 Submenu default support.
6846
6847 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6848 auto_boot. All users updated.
6849 Declared static.
6850 Handle chosen and default with submenus.
6851 (grub_menu_execute_with_fallback): Declared static.
6852 Don't notify failure if autobooted. Upper level does it.
6853 (menuentry_eq): New function.
6854 (get_entry_number): Use menuentry_eq.
6855 (show_menu): New parameter "autobooted". All users updated.
6856 (grub_show_menu): Likewise.
6857 * include/grub/normal.h (grub_show_menu): Likewise.
6858 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6859 (grub_menu_execute_with_fallback): Likewise.
6860
6861 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * util/grub-mklayout.c (usage): Update help text.
6864
6865 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6868
6869 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * util/grub-menulst2cfg.c (main): Trim the line.
6872
6873 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6876 (grub_machine_init): Don't check amount of low memory as reportedly
6877 INT 12h can be broken and if low memory is too low we wouldn't have
6878 gotten into grub_machine_init anyway.
6879
6880 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6883 (grub_machine_mmap_iterate): Take low memory into account
6884
6885 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6888 badfs.
6889 Reported by: TiCPU.
6890
6891 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6894 members errors.
6895
6896 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6897
6898 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6899 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6900
6901 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6902
6903 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6904 openbsd and netbsd types being in part_bsd module.
6905
6906 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6909 (_FILE_OFFSET_BITS): Likewise.
6910 Reported by: Seth Goldberg.
6911
6912 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6913
6914 * configure.ac: Check for libdevmapper header.
6915
6916 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6919 avoid aliasing.
6920 (fzap_lookup): Likewise.
6921 (dnode_get): Likewise.
6922 (make_mdn): Likewise.
6923 (zfs_mount): Likewise.
6924 (fzap_iterate): Use temporary pointer to avoid aliasing.
6925 (grub_zfs_read): Likewise.
6926 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6927 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6928 pointers to avoid aliasing.
6929 (grub_cmd_xnu_kernel64): Likewise.
6930 (grub_xnu_load_driver): Likewise.
6931
6932 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6935 aliasing warning.
6936 (grub_cmd_terminal_output): Likewise.
6937 Reported and tested by: Grégoire Sutre.
6938
6939 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6942 warning.
6943 Reported and tested by: Grégoire Sutre.
6944
6945 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * configure.ac: Do CPU substitution even if it's specified explicitly.
6948 Reported and tested by: Alain Greppin.
6949
6950 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6953 Reported and tested by: Alain Greppin.
6954
6955 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 Satisfy some bison versions need for inttypes.h.
6958
6959 * grub-core/lib/posix_wrap/inttypes.h: New file.
6960 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6961 (int16_t): Likewise.
6962 (int32_t): Likewise.
6963 (int64_t): Likewise.
6964 Reported and tested by: Alain Greppin.
6965
6966 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6969 Silence spurious warning.
6970 Reported and tested by: Alain Greppin.
6971
6972 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6973
6974 * docs/grub.texi (Support automatic decompression): Update with xz
6975 decompression support.
6976
6977 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6978
6979 Improve loaders' kernel command line handling.
6980
6981 * grub-core/lib/cmdline.c: New file.
6982 * include/grub/lib/cmdline.h: Likewise.
6983 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6984 grub_create_loader_cmdline to create kernel command line.
6985 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6986 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6987 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6988 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6989 (linux): Add lib/cmdline.c on common.
6990
6991 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6994 inopos might be unaligned.
6995
6996 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6999 endian transformations.
7000 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7001 Based on report by: Doug Nazar.
7002
7003 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
7004
7005 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7006 array->members[i].start_sector.
7007 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7008
7009 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7012 Reported and tested by: Grégoire Sutre.
7013
7014 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
7015
7016 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7017 avoid causing test failures by clearing the screen.
7018
7019 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
7020
7021 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7022 Fix prefix check to handle the case where dir ends with a slash
7023 (most significantly, "/" itself).
7024 Reported by: Michael Vogt.
7025
7026 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 Run terminfo_cls on initing terminfo output to clear the screen and
7029 move the cursor to (0,0).
7030
7031 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7032 Call grub_terminfo_output_init.
7033 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7034 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7035 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7036
7037 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7040 only when needed.
7041
7042 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7045 CTRL.
7046
7047 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 The E820 type 5 is BADRAM, not EXEC_CODE.
7050
7051 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7052 (GRUB_E820_BADRAM): New define.
7053 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7054 into reserved. Propagate BADRAM.
7055 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7056 (GRUB_E820_BADRAM): New define.
7057
7058 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7061 Ignore the memory post-4G.
7062 (grub_relocator_firmware_alloc_region): Additional debug statement.
7063
7064 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7067 names.
7068 Reported by: David Pravec.
7069
7070 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7073 BIOSes.
7074
7075 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7078 Prevent overflow.
7079 (grub_reed_solomon_recover): Likewise.
7080
7081 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7084
7085 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7088 variable.
7089
7090 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
7091
7092 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7093 descriptions of extract_legacy_entries_source and
7094 extract_legacy_entries_configfile.
7095 Reported by: Seung Soo, Ha.
7096
7097 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
7098
7099 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7100 on devices that do not implement function 0.
7101
7102 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7103
7104 * grub-core/fs/hfsplus.c: Make parent unsigned.
7105 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7106 overflows.
7107 (grub_hfsplus_cmp_extkey): Likewise
7108
7109 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * util/grub-install.in: Correctly use bootloader_id and not
7112 GRUB_DISTRIBUTOR on efibootmgr line.
7113
7114 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7117
7118 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
7119
7120 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7121 Xen and reorder menu item wording to make it clearer that this entry
7122 will launch Xen. Print separate messages when loading Xen and
7123 Linux.
7124
7125 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7128 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7129 loop in case of incorrect amiga partmap.
7130
7131 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7134 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7135 Reported by:EHeM.
7136
7137 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7140 spurious warning.
7141 Reported by: crocket
7142
7143 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7146 Preload EFIemu.
7147 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7148
7149 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7152 is loaded
7153 (grub_cmd_xnu_kextdir): Likewise.
7154 (grub_cmd_xnu_splash): Likewise.
7155
7156 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 Avoid using Reed-Solomon with 0 redundancy.
7159
7160 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7161 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7162 or 0 redundancy.
7163 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7164 (grub_reed_solomon_recover): Likewise.
7165
7166 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 Don't use disk subsystem in freebsd_boot.
7169
7170 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7171 (freebsd_biosdev): Likewise.
7172 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7173 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7174
7175 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 Handling of files of unknown size is currently limited. They can't be
7178 used e.g. for initrd or modules. Moreover gzip handling of not
7179 easily seekable files is buggy. Disable unknown file size for now. May
7180 be inefficient but works.
7181
7182 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7183 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7184
7185 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7186
7187 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7188 floppy probe.
7189
7190 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7191
7192 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7193
7194 2010-12-25 Shea Levy <shlevy>
7195
7196 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7197
7198 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7201 Windows Server 2008.
7202 Reported by: Devin Giddings.
7203
7204 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7207 writing an error message because of async power management.
7208 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7209 (grub_reboot): Likewise.
7210
7211 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7212
7213 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7214 keep unit tests from failing when they shouldn't.
7215
7216 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7217
7218 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7219 previous patch increased the size of the RS code by 20 bytes (at
7220 least with gcc-4.4), so increase this by 20 bytes to match.
7221 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7222
7223 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7224
7225 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7226 scratch area. Make sure to initialise chosen in standalone mode as
7227 well as non-standalone.
7228 Reported by: Robert Hooker and Andy Whitcroft.
7229 Tested by: Andy Whitcroft.
7230
7231 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7232
7233 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7234 constructing a new unescaped string and passing it to grub_xputs in
7235 one go, rather than passing characters to grub_printf one at a time.
7236
7237 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7238
7239 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7240 initialising utf16.
7241
7242 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7243
7244 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7245 comment. Add an extra layer of quotation, requiring the output of
7246 this function to be used in a printf format string.
7247 (gettext_printf): New function.
7248 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7249 Extract translatable strings from here-documents and use a temporary
7250 variable instead, so that xgettext can find them.
7251 * util/grub.d/10_kfreebsd.in: Likewise.
7252 * util/grub.d/10_linux.in: Likewise.
7253 * util/grub.d/20_linux_xen.in: Likewise.
7254
7255 * po/grub.d.sed: New file.
7256 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7257 arguments. Set c-format flags on all strings extracted from
7258 util/grub.d/ (xgettext refuses to include these itself for strings
7259 it extracted from a shell file, but these really are c-format).
7260
7261 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7264 Avoid next pointing to nowhere.
7265
7266 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7269 rather than assuming than rootblock is exactly in the middle.
7270 (grub_affs_label): Likewise.
7271
7272 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7275 reserved_first_sector to 0.
7276 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7277 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7278 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7279
7280 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 Fix handling of UTF-16 UDF labels.
7283
7284 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7285 (read_string): .. here.
7286 (grub_udf_label): Use read_string.
7287
7288 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7289
7290 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7291 editor under argument scope.
7292 Reported by: Jordan Uggla
7293
7294 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7297
7298 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
7299
7300 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7301 line, and other keys scroll an entire page (previous handling was
7302 for \r and \n to scroll a page and other keys to scroll two lines).
7303
7304 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7307 Set ptrdest to correct get_physical_target_address rather than
7308 incorrect get_virtual_current_address.
7309
7310 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7311
7312 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7313 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7314
7315 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7316
7317 * .bzrignore: Ignore grub-core/rs_decoder.S.
7318
7319 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7320
7321 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7322 .mo/.mo.gz opening sequence to ...
7323 (grub_mofile_open_lang): ... here.
7324 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7325 * util/grub.d/00_header.in (grub_lang): Include country part of
7326 locale.
7327 Reported by: Mario Limonciello.
7328
7329 2010-12-09 Robert Millan <rmh@gnu.org>
7330
7331 * NEWS: Document addition of ZFS support.
7332
7333 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
7334
7335 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7336 rather than `/ 2', as the latter requires -Wa,--divide which would
7337 require bumping our minimum binutils version.
7338
7339 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7340
7341 * util/grub-script-check.c (main): Print script line number on
7342 error.
7343
7344 2010-12-01 Robert Millan <rmh@gnu.org>
7345
7346 * grub-core/fs/zfs/zfs.c: New file.
7347 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7348 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7349 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7350 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7351
7352 * include/grub/zfs/dmu.h: Likewise.
7353 * include/grub/zfs/dmu_objset.h: Likewise.
7354 * include/grub/zfs/dnode.h: Likewise.
7355 * include/grub/zfs/dsl_dataset.h: Likewise.
7356 * include/grub/zfs/dsl_dir.h: Likewise.
7357 * include/grub/zfs/sa_impl.h: Likewise.
7358 * include/grub/zfs/spa.h: Likewise.
7359 * include/grub/zfs/uberblock_impl.h: Likewise.
7360 * include/grub/zfs/vdev_impl.h: Likewise.
7361 * include/grub/zfs/zap_impl.h: Likewise.
7362 * include/grub/zfs/zap_leaf.h: Likewise.
7363 * include/grub/zfs/zfs.h: Likewise.
7364 * include/grub/zfs/zfs_acl.h: Likewise.
7365 * include/grub/zfs/zfs_znode.h: Likewise.
7366 * include/grub/zfs/zil.h: Likewise.
7367 * include/grub/zfs/zio.h: Likewise.
7368 * include/grub/zfs/zio_checksum.h: Likewise.
7369
7370 * Makefile.util.def: Build ZFS into libgrubmods.
7371 * grub-core/Makefile.core.def: Build zfs.mod.
7372
7373 2010-11-30 Szymon Janc <szymon@janc.net.pl>
7374
7375 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7376 variable.
7377 * grub-core/commands/wildcard.c (match_files): Likewise.
7378
7379 2010-11-30 Robert Millan <rmh@gnu.org>
7380
7381 * grub-core/loader/i386/bsd.c
7382 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7383 whether kernel is loaded using grub_loader_is_loaded(), rather
7384 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7385 certain error conditions.
7386
7387 2010-11-30 Robert Millan <rmh@gnu.org>
7388
7389 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7390 (grub_cmd_echo): Call grub_refresh() after printing a message.
7391
7392 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 Avoid using tricks for initialising endian variables.
7395
7396 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7397 Make const.
7398 (GRUB_MOD_INIT): Don't byte-swap.
7399 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7400 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7401 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7402 (grub_swap_bytes32_compile_time): Likewise.
7403 (grub_cpu_to_le32_compile_time): Likewise.
7404 (grub_cpu_to_le16_compile_time): Likewise.
7405
7406 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * util/grub-setup.c (setup): Stop recommending --force. People who
7409 understand the dangers of blocklists are able to find this option
7410 anyway and the ones who don't shouldn't use it anyway.
7411
7412 2010-11-26 Robert Millan <rmh@gnu.org>
7413
7414 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7415 Update all users.
7416
7417 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
7418
7419 Fix LVM-on-RAID probing.
7420
7421 * util/grub-probe.c (probe): Remember which disk was detected as
7422 RAID (perhaps an LVM physical volume). Use that disk's raidname
7423 rather than that of the top-level disk.
7424
7425 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7426
7427 Fix cmdline argument quotes for setparams command of menuentry
7428 definitions.
7429
7430 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7431 quotes for arguments.
7432 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7433 grub_strchrsub function instead.
7434
7435 * include/grub/misc.h (grub_strchrsub): New function.
7436
7437 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7438
7439 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7440 effort by skipping "." and ".." entries up-front.
7441 Suggested by: Michael Lazarev.
7442
7443 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7444
7445 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7446 ldflags to ldadd, to fix link line ordering.
7447 (none_decompress): Likewise.
7448
7449 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7450
7451 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7452 platforms.
7453 (grub-emu-lite): Remove kern/emu/cache.S.
7454
7455 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7456
7457 * util/deviceiter.c (compare_devices): If the by-id link for a
7458 device couldn't be resolved, fall back to sorting by the by-id link
7459 rather than segfaulting.
7460 Reported and tested by: Daniel Mierswa.
7461
7462 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7463
7464 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7465 ldflags, to fix link line ordering.
7466
7467 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7468
7469 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7470 linkers are picky about this.
7471
7472 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7473
7474 * grub-core/Makefile.am (command.lst): Adjust sed expression
7475 ordering so that extended and priority commands aren't treated as
7476 ordinary commands.
7477
7478 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7479
7480 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7481 Remove byte-swapping function calls, which are not valid in
7482 structure initialisers.
7483 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7484 non-const.
7485 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7486 grub_gpt_partition_type_bios_boot.
7487
7488 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7489
7490 Fix test program build on GNU/kFreeBSD.
7491
7492 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7493 $(LIBNVPAIR)' library dependencies.
7494
7495 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7496
7497 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7498
7499 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7500
7501 * util/grub-install.in: Remove excessive quoting that broke
7502 installations to RAID devices.
7503
7504 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7507 bootloader version instead of 0.
7508
7509 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7512 warning.
7513
7514 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7517 retrieve the metadat sector if size isn't known.
7518 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7519
7520 2010-11-18 Robert Millan <rmh@gnu.org>
7521
7522 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7523 with grub_memcmp().
7524
7525 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7528 arrow.
7529 Reported by: Jordan Uggla.
7530
7531 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 Make better UTF compliant.
7534
7535 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7536 sequences as incorrect.
7537 (grub_is_valid_utf8): Likewise.
7538 (grub_utf8_to_ucs4): Likewise.
7539 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7540 (grub_ucs4_to_utf8_alloc): Likewise.
7541 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7542
7543 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 Make legacy_source behave like source.
7546
7547 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7548 grub_show_menu.
7549 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7550
7551 2010-11-16 Colin Watson <cjwatson@debian.org>
7552
7553 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7554 (-Wunused implies -Wunused-parameter, but not vice versa).
7555
7556 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7557
7558 * configure.ac: Make error messages less confusing by testing for
7559 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7560 accepted, but produces a diagnostic if something else is wrong).
7561
7562 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7565 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7566 (now unused).
7567 (grub_keyboard_controller_init)
7568 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7569 read the initial state since controller isn't inited yet.
7570
7571 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7574 allocate_regbeg may need to create new chunk header.
7575
7576 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 Fix quoting in legacy parser.
7579
7580 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7581 single quotes.
7582 (grub_legacy_parse): Likewise.
7583 Reported by: Jordan Uggla.
7584 Tested by: Jordan Uggla.
7585
7586 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 Don't add -lgcc on i386 and x86_64.
7589
7590 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7591 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7592 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7593
7594 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * configure.ac: Add -Wno-trampolines when supported.
7597
7598 2010-11-14 Modestas Vainius <modax@debian.org>
7599
7600 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7601 fakeraid.
7602
7603 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7604
7605 Add generic logical block size support for UDF.
7606
7607 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7608 (GRUB_UDF_BLKSZ): Removed.
7609 (struct grub_udf_data): New field "lbshift" to hold the logical block
7610 size of the file system in log2 format. All users updated.
7611 (sblocklist): Change type to unsigned.
7612 (grub_udf_mount): Change type of "sblklist" to unsigned.
7613 Move AVDP search before VRS recognition, because the latter requires
7614 knowledge of the logical block size, which is detected during the
7615 former.
7616 Detect and validate logical block size during AVDP search, adding
7617 support for block sizes 512, 1024 and 4096.
7618 Make VRS recognition independent of block size.
7619
7620 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7621
7622 Properly handle deleted files on UDF.
7623
7624 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7625 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7626 set.
7627
7628 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7629
7630 Support reading files larger than 2 GiB.
7631
7632 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7633 "offset" to grub_off_t.
7634 (grub_udf_read_file): Likewise for parameter "pos".
7635
7636 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7639 unavailable.
7640 (Simple configuration): Refer to Changes from GRUB Legacy about
7641 save_env availability.
7642
7643 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * util/grub-install.in: Ignore empty partition table detection
7646 instead of trying to include part_ module.
7647
7648 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7651 LVM on RAID support.
7652
7653 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 Properly define WORDS_BIGENDIAN in wrapped environments.
7656
7657 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7658 definition.
7659 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7660
7661 Reported by: Manoel Rebelo Abranches.
7662 Tested by: Manoel Rebelo Abranches.
7663
7664 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * util/grub-mkconfig.in: Fix quoting.
7667
7668 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 Support big ext2 files.
7671
7672 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7673 (grub_ext2_read_block): Support triple indirect blocks.
7674 (grub_ext2_read_file): Use 64-bit types and read size_high.
7675 (grub_ext2_open): Read size_high.
7676 Reported by: Ximin Luo.
7677 Tested by: Manoel Rebelo Abranches.
7678
7679 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * util/grub-install.in: Handle filenames containing spaces.
7682 Reported by: Jordan Uggla.
7683 Tested by: Jordan Uggla.
7684
7685 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * util/grub-mkconfig.in (grub_script_check): New variable.
7688 Use grub_script_check instead of grub-script-check.
7689 Reported by: Barry Jackson.
7690
7691 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * docs/grub.texi (menu): Correct the order.
7694 Reported by: D. Hugh Redelmeier.
7695
7696 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7699 jump.
7700
7701 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7702
7703 * include/grub/elfload.h (grub_elf32_size): New parameter.
7704 All users updated.
7705 Return maximum segments alignment.
7706 (grub_elf64_size): Likewise.
7707 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7708 Return maximum segments alignment.
7709 (grub_elf64_size): Likewise.
7710 * grub-core/loader/powerpc/ieee1275/linux.c:
7711 (grub_linux_claimmap_iterate): New function. Uses the
7712 "available" property in the "memory" node for memory allocation
7713 for kernel in the PowerPC loader.
7714 (grub_linux_load32): Correctly find linux entry point offset.
7715 (grub_linux_load64): Likewise.
7716
7717 2010-11-07 Robert Millan <rmh@gnu.org>
7718
7719 On mips-yeeloong, build with -march=loongson2f when this flag is
7720 available (GCC >= 4.4).
7721 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7722 `-march=mips3'.
7723 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7724 or otherwise add -march=mips3.
7725
7726 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7727
7728 Suppress shell expansion on echo '*' and echo "*" like cases.
7729 Reported by: Jordan Uggla.
7730
7731 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7732 string arguments before shell expansion.
7733 * tests/grub_cmd_echo.in: New testcases.
7734
7735 2010-11-07 Robert Millan <rmh@gnu.org>
7736
7737 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7738 transition.
7739
7740 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/kern/emu/hostdisk.c
7743 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7744
7745 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7748 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7749 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7750
7751 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7754
7755 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * util/grub-install.in: Replace useless recomendation to pass
7758 --modules with a recomendation to report a bug.
7759
7760 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 Properly register serial terminfo.
7763 Reported by: Jordan Uggla
7764
7765 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7766 const.
7767 (grub_serial_terminfo_output_template): Likewise.
7768 (grub_cmd_serial): Register "serial" with terminfo.
7769 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7770 grub_serial_terminfo_output.
7771
7772 2010-11-05 Robert Millan <rmh@gnu.org>
7773
7774 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7775 needed).
7776
7777 2010-11-05 Robert Millan <rmh@gnu.org>
7778
7779 On Yeeloong, pass machine type information to Linux.
7780
7781 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7782 (LOONGSON_MACHTYPE): New macro, set to
7783 "machtype=lemote-yeeloong-2f-8.9inches".
7784 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7785 additional argument to Linux.
7786
7787 2010-11-04 Robert Millan <rmh@gnu.org>
7788
7789 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7790 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7791 (its SATA disks are detected as slaveless IDE master drives on
7792 kFreeBSD).
7793 Reported by Carsten Aulbert.
7794
7795 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
7796
7797 * util/bin2h.c (main): Fix spelling error in generated output.
7798
7799 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7800
7801 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7802
7803 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7806 vga= option is supplied.
7807
7808 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7811 * util/grub.d/10_kfreebsd.in: Likewise.
7812 * util/grub.d/10_linux.in: Likewise.
7813 * util/grub.d/20_linux_xen.in: Likewise.
7814
7815 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7818 argument as an argument to no-argument option.
7819
7820 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub.d/10_linux.in: Add missing load_video with explicit
7823 GRUB_GFXPAYLOAD_LINUX.
7824
7825 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7828
7829 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7832 elements with invlid index.
7833 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7834 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7835 members.
7836 * include/grub/raid.h (grub_raid_member): New struct.
7837 (grub_raid_array): Transform devices and start_sector into usage of
7838 grub_raid_member. All users updated
7839 (allocated_devs): New member.
7840
7841 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7844 is modified
7845
7846 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7847
7848 NetBSD build fix for getline function conflict from gnulib.
7849
7850 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7851 components that depend on gnulib headers.
7852 (libgrubmods.a): Renamed from earlier libgrub.a.
7853 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7854
7855 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7858 install rather than creating a broken install.
7859
7860 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * util/grub-setup.c (argp): Remove misleading example of installing to
7863 a partition.
7864
7865 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 * util/grub-setup.c (setup): Clarify the error message.
7868
7869 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7872
7873 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/kern/emu/misc.c
7876 (grub_make_system_path_relative_to_its_root)
7877 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7878
7879 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * grub-core/kern/emu/misc.c
7882 (grub_make_system_path_relative_to_its_root): Revert r2882.
7883
7884 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7887 useless field head. All users updated.
7888 (free_subchunk): Correct handling of IN_REGION subchunk.
7889
7890 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
7891
7892 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7893 (Supported kernels): Likewise.
7894
7895 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7896
7897 Make mktemp invocations portable.
7898
7899 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7900 exit if mktemp fails.
7901 * tests/grub_script_blockarg.in: Likewise.
7902 * tests/partmap_test.in: Likewise.
7903 * tests/util/grub-shell-tester.in: Likewise.
7904 * tests/util/grub-shell.in: Likewise.
7905 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7906 * Makefile.am: Likewise, and chain shell commands with `&&'
7907 instead of ';'.
7908 * util/grub-mkrescue.in: Use the same explicit template as above, and
7909 exit if mktemp fails.
7910
7911 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7912
7913 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7914 Linux kernel, reported by Dennis Schridde.
7915
7916 2010-10-17 Szymon Janc <szymon@janc.net.pl>
7917
7918 * grub-core/normal/auth.c (grub_auth_check_authentication):
7919 Set-but-not-used variable removed.
7920
7921 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7924 32-bit linux protocol.
7925
7926 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7929 cursor shape for sanity.
7930
7931 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * docs/grub.texi (Installation): Document buggy BIOS install.
7934
7935 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * docs/grub.texi (Installation): Indent.
7938
7939 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * util/grub-setup.c (setup): New parameter allow_floppy.
7942 (arguments): New member allow_floppy.
7943 (argp_parser): Handle --allow-floppy.
7944 (main): Pass allow_floppy.
7945 * util/grub-install.in: New option --allow-floppy passed though to
7946 grub-setup.
7947
7948 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * util/grub-install.in: Handle partitionless disks.
7951
7952 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * util/grub-setup.c (setup): Don't clean blocklists before readability
7955 verfification.
7956
7957 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * docs/grub.texi (Installation): Document embedding zone. Remove
7960 obsolete grub-install example.
7961
7962 2010-10-16 Szymon Janc <szymon@janc.net.pl>
7963
7964 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7965 Set-but-not-used variable ifdef'ed.
7966 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7967 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7968 variable removed.
7969 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7970 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7971 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7972 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7973 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7974 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7975 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7976 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7977 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7978 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7979 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7980 Likewise.
7981
7982 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7985 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7986 enum value.
7987
7988 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7991 synonym to _S5_. Needed for some DSDTs.
7992
7993 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 Userspace ACPI parser debugging.
7996
7997 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7998 headers and add relevant defines. Don't include standard headers.
7999 (main) [GRUB_DSDT_TEST]: New function.
8000 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8001 Don't declare functions.
8002
8003 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 Remove dead grub_efi_mm_fini.
8006
8007 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8008 (ALLOCATED_PAGES_SIZE): Likewise.
8009 (MAX_ALLOCATED_PAGES): Likewise.
8010 (allocated_pages): Likewise.
8011 (grub_efi_allocate_pages): Don't record allocated pages.
8012 (grub_efi_free_pages): Likewise.
8013 (grub_efi_mm_init): Likewise.
8014 (grub_efi_mm_fini): Removed.
8015
8016 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8019 (grub_efi_mm_init): Take into account the memory map size increase.
8020
8021 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8024 (serial_hw_put): Wait based on real time rather than port reads. Don't
8025 roken ports.
8026 * include/grub/serial.h (grub_serial_port): New field broken.
8027
8028 2010-10-16 Robert Millan <rmh@gnu.org>
8029
8030 * grub-core/kern/emu/misc.c
8031 (grub_make_system_path_relative_to_its_root): Fix premature return
8032 when processing non-root ZFS filesystems.
8033 Reported by Sergio Talens-Oliag.
8034
8035 2010-10-15 Robert Millan <rmh@gnu.org>
8036
8037 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8038 guarantee compressed ones are processed first.
8039
8040 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8043 grub_efiemu_autocore.
8044
8045 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8048 rather than 0x1b.
8049 (grub_console_getkey): Use correct jae opcode rather than ja.
8050
8051 2010-10-12 Robert Millan <rmh@gnu.org>
8052
8053 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8054 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8055 variable. All references updated.
8056
8057 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8058
8059 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 Correctly distinguish mdraid flavours.
8062
8063 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8064 (insert_array): New argument raid.
8065 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8066 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8067 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8068
8069 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8072 handling of special keys.
8073
8074 2010-10-02 Aleš Nesrsta <starous@volny.cz>
8075
8076 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8077 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
8078
8079 2010-10-02 Aleš Nesrsta <starous@volny.cz>
8080
8081 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8082 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8083 users updated.
8084 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
8085 Use right endpoint when querying descriptor.
8086
8087 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 Clear out 0x80 color bit on EFI.
8090 Tested by: decoder
8091 Reported by: decoder and meta tech.
8092
8093 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8094 (grub_console_setcolorstate): Clear out 0x80 bit.
8095 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8096 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8097 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8098
8099 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8102 Set to "auto".
8103
8104 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8107 mo_file after freeing.
8108
8109 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8112
8113 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8116 flags.
8117
8118 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8121 usage.
8122
8123 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8126
8127 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8128 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8129 and terminfo.h when needed.
8130 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8131 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8132 (terminfo): Enable only on terminfokernel.
8133 (extcmd): Likewise.
8134 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8135 * include/grub/lib/arg.h: Likewise.
8136 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8137 incorrect usage of ->.
8138
8139 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8142 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8143
8144 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 Fix coreboot compilation.
8147
8148 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8149 Take VBE info into account even if only text is supported.
8150 (fill_vbe_info): Take into account the case when only VGA text
8151 is supported.
8152 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8153 on coreboot, multiboot and qemu.
8154
8155 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8158 debug messages.
8159 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8160
8161 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8164 parameters.
8165
8166 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8169 if they were BSD-style.
8170
8171 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/boot/i386/pc/lnxboot.S: Replace
8174 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8175 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8176
8177 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 Write embedding zone using Reed-Solomon.
8180
8181 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8182 * grub-core/Makefile.am (rs_decoder.S): New target.
8183 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8184 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8185 (multiboot): Move to RS part.
8186 (post_reed_solomon): New label.
8187 (grub_boot_drive): Move to non-RS part since it's modified in memory
8188 on boot.
8189 Include rs_decoder.S.
8190 * grub-core/lib/reed_solomon.c: New file.
8191 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8192 New definition.
8193 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8194 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8195 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8196 * include/grub/partition.h (grub_partition_map): Change prototype of
8197 embed to allow returning additional sectors.
8198 * include/grub/reed_solomon.h: New file.
8199 * util/grub-setup.c (setup): Handle Reed-Solomon.
8200
8201 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
8202
8203 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8204 i386 and x86-64 definedness tests.
8205
8206 2010-09-27 Yves Blusseau <blusseau@zetam.org>
8207
8208 Fix generation of kernel_syms.lst
8209
8210 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8211 ASM_PREFIX
8212
8213 2010-09-26 Robert Millan <rmh@gnu.org>
8214
8215 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8216
8217 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8218 the pool is an array of devices, iterate through it and return the
8219 first device that passes a stat() test (instead of blindly returning
8220 the first one).
8221
8222 2010-09-26 Robert Millan <rmh@gnu.org>
8223
8224 Build fixes for GNU/kFreeBSD.
8225
8226 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8227 to programs that require ZFS conversion.
8228 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8229 kernels that don't have FLOPPY_MAJOR.
8230
8231 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8232
8233 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8234
8235 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8236
8237 Fix grub-emu build.
8238
8239 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8240 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8241 mdraid09 and mdraid1x.
8242
8243 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
8244
8245 Re-enable grub-extras.
8246
8247 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8248 avoid confusing Automake. Run autogen only twice, once for the top
8249 level and once for grub-core. Add Makefile.util.def and
8250 Makefile.core.def from extra modules to the appropriate autogen
8251 invocations. If Makefile.common exists in an extra module, include
8252 it in both Makefile.util.am and grub-core/Makefile.core.am;
8253 similarly, include any Makefile.util.common file in Makefile.util.am
8254 and any Makefile.core.common file in grub-core/Makefile.core.am.
8255 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8256 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8257 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8258 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8259
8260 * gentpl.py (gvar_add): Turn GVARS into a set.
8261 (global_variable_initializers): Sort global variables on output.
8262 (vars_init): New function.
8263 (first_time): Likewise.
8264 (library): Ensure that non-global variable initialisations are
8265 emitted before the first time we emit code for a library block.
8266 Append to variables rather than setting them. Only emit
8267 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8268 each conditional path.
8269 (program): installdir() emits an Autogen macro, so must be passed to
8270 var_add rather than gvar_add.
8271 (data): Likewise.
8272 (script): Likewise.
8273 (rules): New function, centralising handling for different target
8274 types. Set up Guile association lists for first_time and vars_init,
8275 and send most output to a diversion so that variable initialisations
8276 can be emitted first.
8277 (module_rules): Use new rules function.
8278 (kernel_rules): Likewise.
8279 (image_rules): Likewise.
8280 (library_rules): Likewise.
8281 (program_rules): Likewise.
8282 (script_rules): Likewise.
8283 (data_rules): Likewise.
8284
8285 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8286
8287 * .bzrignore: Add contrib and grub-core/contrib. Remove
8288 grub-core/Makefile.gcry.am.
8289
8290 2010-09-24 Yves Blusseau <blusseau@zetam.org>
8291
8292 * grub-core/lib/LzFind.c: Add missing include.
8293 * grub-core/lib/LzmaEnc.c: Likewise.
8294 * grub-core/script/lexer.c: Likewise.
8295 * grub-core/script/yylex.l: Likewise.
8296 * util/grub-macho2img.c: Likewise.
8297 * util/grub-menulst2cfg.c: Likewise.
8298 * util/grub-mklayout.c: Likewise.
8299 * util/grub-mkpasswd-pbkdf2.c
8300 * util/grub-mkrelpath.c: Likewise.
8301 * util/resolve.c: Likewise.
8302
8303 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8304
8305 * Makefile.util.def (example_unit_test): Add
8306 grub-core/gnulib/libgnu.a.
8307
8308 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8309
8310 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8311
8312 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 Support xz compression on yeeloong.
8315
8316 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8317 * configure.ac: Check for LZMA.
8318 * grub-core/Makefile.core.def (xz_decompress): New target.
8319 (none_decompress): Likewise.
8320 * grub-core/boot/decompressor/minilib.c: New file.
8321 * grub-core/boot/decompressor/none.c: Likewise.
8322 * grub-core/boot/decompressor/xz.c: Likewise.
8323 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8324 * grub-core/kern/mips/cache_flush.S: Likewise.
8325 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8326 * grub-core/kern/mips/startup.S: Move first stage to ...
8327 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8328 nomacro.
8329 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8330 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8331 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8332 Allocate statically.
8333 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8334 Allocate statically or use scratch. Don't check CRC32.
8335 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8336 Allocate statically. Don't check CRC32.
8337 * include/grub/decompressor.h: New file.
8338 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8339 Removed.
8340 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8341 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8342 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8343 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8344 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8345 * util/grub-mkimage.c (grub_compression_t): New type.
8346 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8347 (image_target_desc): New field default_compression.
8348 (image_targets): Adjust yeeloong targets.
8349 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8350 (compress_kernel): New parameter comp.
8351 (generate_image): Likewise. Handle new compression case.
8352 (options): New option --compression
8353 (help): Likewise.
8354 (main): Handle new option.
8355
8356 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8357
8358 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8359
8360 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
8361
8362 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8363 typo in __i386__ conditional.
8364
8365 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8368 include.
8369
8370 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 Implement EFI and ACPI multiboot2 extensions.
8373
8374 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8375 new tags as supported.
8376 (acpiv2_size): New function.
8377 (grub_multiboot_get_mbi_size): Take new tags into account.
8378 (grub_multiboot_make_mbi): Add new tags.
8379 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
8380
8381 2010-09-21 Aleš Nesrsta <starous@volny.cz>
8382
8383 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8384 Added missing configuration of USB device.
8385
8386 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8387
8388 * grub-core/normal/menu_entry.c (run): Make sure we always return
8389 a value.
8390
8391 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8392
8393 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8394 NumberOfPages is UINT64 according to the UEFI specification, not
8395 UINTN. Fix printf format.
8396
8397 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8398
8399 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8400 `err' to grub_usb_err_t.
8401 Reported and tested by: KESHAV P.R.
8402
8403 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8404
8405 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8406 tpart non-const, so that we can assign to it. (Since this is a
8407 typedef, the constness refers to the pointer rather than what it
8408 points to.)
8409
8410 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8411
8412 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8413 $(top_srcdir)/grub-core/gnulib as well as
8414 $(top_builddir)/grub-core/gnulib.
8415 Reported by: KESHAV P.R.
8416
8417 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8418
8419 * util/grub-install.in: Fix the bootloader ID option to be
8420 consistently --bootloader-id, not --bootloader_id.
8421 Reported by: KESHAV P.R.
8422
8423 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8424
8425 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8426 check hash checksum." consistently translatable.
8427
8428 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8429
8430 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8431 $(top_builddir).
8432
8433 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8434
8435 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8436 (GRUB_MOD_INIT): Register sha1sum command.
8437 (GRUB_MOD_FINI): Unregister sha1sum command.
8438
8439 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8440
8441 Keep boot and grub directory names in sync with utils scripts
8442
8443 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8444 * config.h.in: Add previous macros.
8445 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8446 * util/grub-install.in: Use $bootdir and $grubdir variables.
8447
8448 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8449
8450 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8451 convert partition names to disk names if the new `convert' parameter
8452 is set.
8453 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8454 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8455 disk in its own right. This can happen with Xen disk images.
8456
8457 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8458
8459 * util/grub-editenv.c: Update strings to avoid warnings when generating
8460 grub.pot file.
8461 * util/grub-setup.c: Likewise.
8462
8463 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * configure.ac: Change version to 1.99~beta0.
8466
8467 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8470 Add BADRAM.
8471 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8472 Likewise.
8473 * include/multiboot.h: Resynced with specification.
8474 * include/multiboot2.h: Likewise.
8475
8476 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8477
8478 Fix po directory handling.
8479
8480 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8481 * grub-core/gnulib/Makefile.am: Import gettext module.
8482 * m4/gnulib-cache.m4: Likewise.
8483 * m4/gnulib-comp.m4: Likewise.
8484 * m4/gettext.m4: New file, from gnulib.
8485 * m4/glibc2.m4: Likewise.
8486 * m4/iconv.m4: Likewise.
8487 * m4/intdiv0.m4: Likewise.
8488 * m4/intl.m4: Likewise.
8489 * m4/intldir.m4: Likewise.
8490 * m4/intlmacosx.m4: Likewise.
8491 * m4/intmax.m4: Likewise.
8492 * m4/inttypes-pri.m4: Likewise.
8493 * m4/lcmessage.m4: Likewise.
8494 * m4/lib-ld.m4: Likewise.
8495 * m4/lib-link.m4: Likewise.
8496 * m4/lib-prefix.m4: Likewise.
8497 * m4/lock.m4: Likewise.
8498 * m4/nls.m4: Likewise.
8499 * m4/po.m4: Likewise.
8500 * m4/printf-posix.m4: Likewise.
8501 * m4/progtest.m4: Likewise.
8502 * m4/threadlib.m4: Likewise.
8503 * m4/uintmax_t.m4: Likewise.
8504 * m4/visibility.m4: Likewise.
8505 * po/Makefile.am: Remove.
8506 * po/Makefile.in.in: New file, from gettext.
8507 ($(DOMAIN).pot-update): Support POTFILES-shell.
8508 * po/Makevars: New file.
8509 * po/POTFILES-shell: Rename to ...
8510 * po/POTFILES-shell.in: ... this. Update.
8511 * po/POTFILES: Rename to ...
8512 * po/POTFILES.in: ... this. Update.
8513 * po/Rules-quot: New file, from gettext.
8514 * po/boldquot.sed: Likewise.
8515 * po/en@boldquot.header: Likewise.
8516 * po/en@quot.header: Likewise.
8517 * po/insert-header.sin: Likewise.
8518 * po/quot.sed: Likewise.
8519 * po/remove-potcdate.sin: Likewise.
8520
8521 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8524
8525 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * util/grub.d/20_linux_xen.in: Use submenus.
8528
8529 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 Support submenus.
8532
8533 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8534 parameter submenu. All users updated.
8535 * grub-core/normal/main.c (free_menu): Rename to ...
8536 (grub_normal_free_menu): ... this. Made global.
8537 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8538 if requested.
8539 * grub-core/normal/menu_entry.c (screen): New field submenu.
8540 (make_screen): Set submenu.
8541 (run): Open new context if requested.
8542 * include/grub/menu.h (grub_menu_entry): New field submenu.
8543 * include/grub/normal.h (grub_normal_free_menu): New proto.
8544
8545 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 Menu entries extractor.
8548
8549 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8550 variants.
8551 (GRUB_MOD_INIT): Register new variants.
8552 (GRUB_MOD_FINI): Unregister new variants.
8553 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8554 into grub_cmd_legacy_source.
8555 (grub_cmd_legacy_source): Implement extractor variants.
8556 (GRUB_MOD_INIT): Register new variants.
8557 (GRUB_MOD_FINI): Unregister new variants.
8558 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8559 as an extractor.
8560 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8561 search as an extractor.
8562 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8563 test as an extractor.
8564 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8565 as an extractor.
8566 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8567 (grub_env_new_context): New function.
8568 (grub_env_context_open): Likewise.
8569 (grub_env_extractor_open): Likewise.
8570 (grub_env_extractor_close): Likewise.
8571 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8572 grub_extractor_level.
8573 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8574 * include/grub/env.h (grub_env_extractor_open): New proto.
8575 (grub_env_extractor_close): Likewise.
8576 * include/grub/normal.h (grub_extractor_level): New external variable.
8577
8578 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 Make cutmem accept a region specification.
8581 Suggested by: Samuel Thibault
8582
8583 * grub-core/mmap/mmap.c (parsemem): New function.
8584 (grub_cmd_cutmem): Handle new arguments.
8585
8586 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 New command cutmem.
8589
8590 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8591 (GRUB_MOD_INIT): Register new command.
8592 (GRUB_MOD_FINI): Unregister new command.
8593
8594 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 Support some annoying BSD and Minix subpartitions.
8597
8598 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8599 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8600 Properly handle concatenation.
8601 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8602 * grub-core/normal/completion.c (iterate_partition): Likewise.
8603 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8604 contain partition. All users updated.
8605 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8606 struct.
8607 (grub_openbsdlabel_partition_map): Likewise.
8608 (bsdlabel_partition_map_iterate): Rename to ..
8609 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8610 (bsdlabel_partition_map_iterate): New function.
8611 (netopenbsdlabel_partition_map_iterate): Likewise.
8612 (netbsdlabel_partition_map_iterate): Likewise.
8613 (openbsdlabel_partition_map_iterate): Likewise.
8614 (GRUB_MOD_INIT): Register new partmaps.
8615 (GRUB_MOD_FINI): Unregister new partmaps.
8616 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8617 (grub_partition_msdos_iterate): ... this. All users updated.
8618 Don't support embedding other than in a minix partition.
8619 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8620 proto.
8621 * include/grub/partition.h (grub_partition): New field msdostype.
8622 * util/grub-install.in: Handle openbsd and netbsd types being in
8623 part_bsd module.
8624
8625 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8628
8629 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8630 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8631 (mdraid09): ... this.
8632 (mdraid1x): New module.
8633 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8634 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8635
8636 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8639 vsprintf.
8640
8641 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8642
8643 * grub-core/commands/efi/lsefimmap.c: Correct header.
8644 * NEWS: Update.
8645
8646 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8647
8648 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8649 as printf format strings; the translations might contain '%' which
8650 could cause a crash.
8651 (main): Likewise.
8652 * util/grub-fstest.c (argp_parser): Likewise.
8653 * util/grub-setup.c (argp_parser): Likewise.
8654 (main): Likewise.
8655
8656 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 Use argp in grub-fstest.
8659
8660 * util/grub-fstest.c: Don't include getopt.h.
8661 Include argp.h.
8662 (root): New variable.
8663 (args_count): Likewise.
8664 (nparm): Likewise.
8665 (num_disks): Likewise.
8666 (images): Likewise.
8667 (cmd): Likewise.
8668 (debug_str): Likewise.
8669 (args): Likewise.
8670 (options): Transformed to argp.
8671 (usage): Removed.
8672 (main): Split argument parsing into ...
8673 (argp_parser): ... this. Changed to argp format.
8674 (argp): New variable.
8675 (main): Use argp_parse.
8676
8677 2010-09-20 Tristan Gingold <gingold@free.fr>
8678 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8679 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 * grub-core/commands/efi/lsefimmap.c: New file.
8682 * grub-core/Makefile.core.def (lsefimmap): New module.
8683 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8684
8685 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 Pause the execution (10s max) if any errors are displayed so the user
8688 has a chance to see them.
8689
8690 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8691 (grub_print_error): Increment grub_err_printed_errors.
8692 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8693 execution if any errors were displayed.
8694 (show_menu): Remove old code for pause.
8695 * grub-core/normal/menu_entry.c (run): Likewise.
8696 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8697 users updated.
8698 (grub_normal_get_char_counter): Likewise.
8699 * include/grub/err.h (grub_err_printed_errors): New external variable.
8700 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8701
8702 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 Support multiboot VBE info.
8705
8706 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8707 Take VBE info into account.
8708 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8709 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8710 Call fill_vbe_info when appropriate.
8711 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8712 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8713 as supported.
8714 (grub_multiboot_get_mbi_size): Take new tags into account.
8715 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8716 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8717 Call fill_vbe_tag when appropriate.
8718 (grub_multiboot_make_mbi): Properly align tags.
8719 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8720 function.
8721 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8722 proto.
8723 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8724
8725 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 Suport manual terminal geometry specification.
8728
8729 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8730 Save state in grub_ofconsole_terminfo_output.
8731 (grub_ofconsole_term): Use grub_terminfo_getwh.
8732 (grub_ofconsole_getwh): Removed.
8733 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8734 (grub_serial_term): Use grub_terminfo_getwh.
8735 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8736 (options): New struct.
8737 (OPTION_*): New enum.
8738 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8739 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8740 width and height.
8741 (grub_terminfo_getwh): New proto.
8742 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8743
8744 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Handle legacy "terminal" command.
8747
8748 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8749 and FLAG_TERMINAL.
8750 (legacy_commands): Add terminal and title.
8751 (grub_legacy_parse): Handle terminal. Simplify title handling.
8752
8753 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8756 parameters overflow.
8757
8758 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8759
8760 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8761 widthspec.h.
8762
8763 * docs/grub.texi (Shell-like scripting): Document `!'.
8764 (Network): Simplify using new i386-pc-pxe format. Mention
8765 grub-mknetdir.
8766
8767 * NEWS: Update.
8768
8769 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8770
8771 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8772 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8773 when needed.
8774
8775 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8776
8777 * grub-core/commands/efi/lsefisystab.c: Correct header.
8778 * grub-core/commands/efi/lssal.c: Likewise.
8779 * grub-core/commands/testload.c: Likewise.
8780
8781 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8782
8783 * util/grub-mkrescue.in: Add explicit root argument to --set to
8784 prevent the UUID being interpreted as an argument to --set (matches
8785 previous change to prepare_grub_to_access_device).
8786
8787 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8788
8789 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8790 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8791 the verbosity of later #ifs.
8792 (find_partition_start): Define this function on FreeBSD too.
8793 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8794 function.
8795 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8796 on FreeBSD.
8797
8798 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8799
8800 * util/grub-editenv.c: Use argp instead of getopt.
8801
8802 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8803
8804 * util/grub-setup.c: Use argp instead of getopt.
8805
8806 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8807
8808 Use gnulib-tool to create gnulib source files.
8809
8810 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8811 grub-core/gnulib directories
8812 * .bzignore: Add **/.deps and autogenerated gnulib files
8813 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8814 of gnulib macros, add grub-core/gnulib/Makefile
8815 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8816 include m4 directory to aclocal.
8817 * Makefile.util.def: Remove direct compilation of gnulib source files
8818 and use the new grub-core/gnulib/libgnu.a.
8819 * build-aux/config.rpath: move config.rpath from top directory to
8820 build-aux
8821 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8822 in gnulib headers
8823 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8824 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8825 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8826 header.
8827 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8828 string.
8829
8830 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8831
8832 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8833 grub-core/genmod.sh and grub-core/gensyminfo.sh
8834
8835 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8836
8837 Add a test for echo command options.
8838
8839 * tests/grub_cmd_echo.in: New test.
8840 * Makefile.util.def: Rules for new test.
8841
8842 2010-09-20 Szymon Janc <szymon@janc.net.pl>
8843
8844 Remove crc.mod and move crc command to hashsum.mod.
8845 Remove lib/crc.c - users updated to use gcrypt implementation.
8846
8847 * grub-core/commands/crc.c: Removed.
8848 * grub-core/Makefile.core.def (crc): Module removed.
8849 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8850 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8851 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8852 * grub-core/lib/crc.c: Removed.
8853 * include/grub/lib/crc.h: Removed.
8854 * Makefile.util.def (crc): Remove lib/crc.c
8855 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8856 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8857 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8858 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8859 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8860 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8861
8862 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8865
8866 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 Split config.h for util and core.
8869
8870 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8871 (ADDR32): Likewise.
8872 (DATA32): Likewise.
8873 (BSS_START_SYMBOL): Likewise.
8874 (END_SYMBOL): Likewise.
8875 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8876 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8877 * config.h.in: New file.
8878 * configure.ac: Use config-util.h as config define file.
8879 Rename MACHINE into GRUB_MACHINE. All users updated.
8880 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8881 updated.
8882 (NESTED_FUNC_ATTR): Likewise.
8883 Substitue new variables.
8884 (COND_HAVE_ASM_USCORE): New conditional.
8885 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8886 (kernel_syms.lst): Use ASM_PREFIX.
8887 * grub-core/kern/emu/console.c: Include config-util.h.
8888 * grub-core/kern/emu/misc.c: Likewise.
8889 * grub-core/kern/emu/mm.c: Likewise.
8890 * include/grub/emu/misc.h: Likewise.
8891 * include/grub/libgcc.h: Likewise.
8892
8893 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8896 constants usage.
8897 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8898 Fix GRUB_TERM_KEY_* constants usage.
8899 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8900
8901 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8904 print pointer.
8905 * grub-core/bus/usb/uhci.c: Remove empty define.
8906 (grub_uhci_check_transfer): Add missing cast.
8907 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8908 print pointer.
8909 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8910 PRIuGRUB_SIZE.
8911 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8912
8913 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * grub-core/Makefile.core.def (legacycfg): Add
8916 lib/i386/pc/vesa_modes_table.c on emu.
8917
8918 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8919
8920 Reduce number of temporary files generated by build system.
8921
8922 * grub-core/gencmdlist.sh: Removed.
8923 * grub-core/genfslist.sh: Removed.
8924 * grub-core/genhandlerlist.sh: Removed.
8925 * grub-core/genmodsrc.sh: Removed.
8926 * grub-core/genpartmaplist.sh: Removed.
8927 * grub-core/genparttoollist.sh: Removed.
8928 * grub-core/gentermiinallist.sh: Removed.
8929 * grub-core/genvideolist.sh: Removed.
8930
8931 * grub-core/genmod.sh.in: New file.
8932 * grub-core/gensyminfo.sh.in: New file.
8933
8934 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8935 * conf/Makefile.extra-dist: Update with new files.
8936 * gentpl.py: Remove rules related to unnecessary temporary files.
8937 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8938 and und-* files.
8939 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8940 genmod.sh scripts.
8941 * grub-core/bus/usb/uhci.c: Remove empty #define.
8942 * grub-core/genmoddep.awk: Updated with new syminfo format.
8943 * util/bash-completion.d/Makefile.am: Add config.log to
8944 CLEANFILES.
8945
8946 2010-09-19 Yves Blusseau <blusseau@zetam.org>
8947
8948 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8949
8950 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8951
8952 * util/grub-mkconfig.in: Check the config script for syntax errors
8953 before saving.
8954
8955 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
8956 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8959 platforms.
8960 * util/grub-install.in: Add EFI and IEEE1275 support.
8961 * util/i386/efi/grub-install.in: Removed.
8962 * util/ieee1275/grub-install.in: Likewise.
8963
8964 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8967 (grub_cmd_cmosclean): Likewise.
8968 (GRUB_MOD_INIT): Register command cmosclean.
8969 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8970 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8971
8972 2010-09-18 Carles Pina i Estany <carles@pina.cat>
8973 2010-09-18 Aleš Nesrsta <starous@volny.cz>
8974 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 Add keyboard layouts support.
8977
8978 * Makefile.util.def (grub-mklayout): New file.
8979 (grub-kbdcomp): New script.
8980 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8981 Add keyboard_layouts.h.
8982 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8983 commands/boot.c on yeeloong.
8984 (keylayouts): New module.
8985 * grub-core/bus/usb/ohci.c
8986 * grub-core/bus/usb/uhci.c
8987 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8988 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8989 (attach_root_port): Likewise.
8990 (poll_nonroot_hub): Likewise.
8991 (grub_usb_poll_devices): Likewise.
8992 (detach_device): Close transfer.
8993 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8994 function.
8995 (grub_usb_bulk_setup_readwrite): Likewise.
8996 (grub_usb_bulk_finish_readwrite): Likewise.
8997 * grub-core/commands/keylayouts.c: New file.
8998 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8999 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9000 aliases.
9001 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9002 support scancode 2.
9003 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9004 * include/grub/keyboard_layouts.h: New file.
9005 * util/grub-mklayout.c: New file.
9006 * util/grub-kbdcomp.in: Likewise.
9007
9008 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 Unify memory types.
9011
9012 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9013 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9014 types.
9015 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9016 (grub_upper_mem): Likewise.
9017 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9018 * include/grub/memory.h (grub_memory_type_t): New enum.
9019 All users updated.
9020
9021 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/Makefile.core.def (lsapm): New module.
9024 * grub-core/commands/i386/pc/lsapm.c: New file.
9025 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9026 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9027 Likewise.
9028 * include/grub/i386/pc/apm.h: New file.
9029 * include/multiboot.h (multiboot_apm_info): New struct.
9030
9031 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 GRUB-legacy configuration file support.
9034
9035 * Makefile.util.def (grub-menulst2cfg): New util.
9036 * docs/man/grub-menulst2cfg.h2m: New file.
9037 * grub-core/Makefile.core.def (legacycfg): New module.
9038 * grub-core/commands/legacycfg.c: New file.
9039 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9040 (grub_normal_add_menu_entry): ... this.
9041 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9042 (grub_normal_set_password): ...this.
9043 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9044 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9045 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9046 * grub-core/lib/legacy_parse.c: New file.
9047 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9048 * include/grub/i386/pc/vesa_modes_table.h: New file.
9049 * include/grub/legacy_parse.h: Likewise.
9050 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9051 * util/grub-menulst2cfg.c: New file.
9052
9053 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9054
9055 * grub-core/kern/emu/hostdisk.c
9056 (convert_system_partition_to_system_disk): Initialise node.
9057
9058 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9059
9060 * grub-core/kern/emu/hostdisk.c
9061 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9062 leak.
9063 Reported and based on patch by: Modestas Vainius.
9064
9065 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9066
9067 Fix DM-RAID probing with recent versions of device-mapper udev
9068 rules.
9069
9070 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9071 canonicalise device paths under /dev/mapper/.
9072 (convert_system_partition_to_system_disk): Compare the
9073 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9074 path, since device nodes under /dev/mapper/ are often symlinks.
9075
9076 2010-09-17 Yves Blusseau <blusseau@zetam.org>
9077
9078 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9079
9080 2010-09-16 Yves Blusseau <blusseau@zetam.org>
9081
9082 * configure.ac: Avoid some annoying error messages if freetype-config
9083 program is not found.
9084
9085 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9086
9087 Support RAID on virtio devices, and others.
9088
9089 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9090 Rename to ...
9091 [__MINGW32__] (grub_find_device): ... this.
9092 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9093 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9094 reasonable default if dir is NULL.
9095 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9096 ...
9097 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9098 (grub_guess_root_device): Update callers.
9099 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9100
9101 * util/raid.c (grub_util_getdiskname): Remove.
9102 (grub_util_raid_getmembers): Use grub_find_device rather than
9103 grub_util_getdiskname.
9104
9105 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9106
9107 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9108 needing to be compiled with serial support.
9109 (ls): Indicate that multiple files are accepted.
9110 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9111 indicate that multiple files are accepted.
9112
9113 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9114
9115 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9116 libgrub_a_init.c, and util/bash-completion.d/grub.
9117
9118 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * util/grub-setup.c (setup): Fix incorrect container semantics.
9121
9122 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9125 misusage.
9126 Reported by: J. Nick Terry
9127
9128 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Move embedding routines to partmap sources files.
9131
9132 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9133 [GRUB_UTIL]: New variable.
9134 (gpt_partition_map_iterate): Set part.parent.
9135 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9136 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9137 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9138 New function.
9139 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9140 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9141 (grub_partition_map) [GRUB_UTIL]: New field embed.
9142 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9143 (setup): Use ->embed.
9144
9145 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9148 function.
9149 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9150 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9151
9152 2010-09-15 Yves Blusseau <blusseau@zetam.org>
9153
9154 Add function to get completions from usage.
9155
9156 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9157 completions from usage. Use LC_ALL=C to get options properly.
9158
9159 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/gnulib/basename-lgpl.c: Imported.
9162 * grub-core/gnulib/basename.c: Likewise.
9163 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9164 * grub-core/gnulib/dirname.c: Likewise.
9165 * grub-core/gnulib/dirname.h: Likewise.
9166 * grub-core/gnulib/stripslash.c: Likewise.
9167
9168 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/gnulib/error.c: Resynced.
9171 * grub-core/gnulib/getopt.c: Likewise.
9172 * grub-core/gnulib/getopt_int.h: Likewise.
9173 * grub-core/gnulib/regex.h: Likewise.
9174 * grub-core/gnulib/regex_internal.c: Likewise.
9175 * grub-core/gnulib/regex_internal.h: Likewise.
9176
9177 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9178
9179 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9180 CRC calculations and validity checks.
9181 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9182 calculations.
9183
9184 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9185
9186 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9187
9188 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 Fix incorrect echo options handling.
9191 Reported by: Yves Blusseau.
9192
9193 * include/grub/command.h (grub_command_flags_t): New flags
9194 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9195 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9196 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9197
9198 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9201 users updated.
9202 (GRUB_COMMAND_FLAG_MENU): Likewise.
9203 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9204 (GRUB_COMMAND_FLAG_TITLE): Removed.
9205 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9206 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9207 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9208 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9209 (grub_command_flags_t): New enum. All users updated.
9210
9211 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9212
9213 Fix solaris compilation.
9214
9215 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9216 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9217 (grub-emu-list): Likewise.
9218
9219 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 Remove deprecated root command.
9222
9223 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9224 updated.
9225
9226 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * util/i386/pc/grub-setup.c: Merge this ...
9229 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9230 * util/grub-setup.c: ... into this.
9231 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9232 New struct.
9233
9234 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9237 possible.
9238
9239 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9242 allocate p.
9243
9244 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9247 explicit root argument to set to prevent UUID to be interpreted as
9248 argument to set.
9249
9250 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9253
9254 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 Don't export grub_gate_a20.
9257
9258 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9259 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9260 to ...
9261 (grub_gate_a20): ... this. All users updated.
9262 * include/grub/i386/pc/init.h: Removed. All users updated.
9263
9264 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 Create euro.pf2 which supports most European languages.
9267
9268 * Makefile.am (grubdata_DATA): Add euro.pf2.
9269 (euro.pf2): New target.
9270 (CLEANFILES): Add euro.pf2.
9271
9272 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * configure.ac: Disable emu-usb by default to prevent inadvertent
9275 device takeover.
9276
9277 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 Disable usbserial on grub-emu since our libusb code isn't good enough
9280 yet.
9281
9282 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9283 (usbserial_pl2303): Likewise.
9284 (usbserial_ftdi): Likewise.
9285
9286 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * include/grub/disk.h (grub_disk): Remove has_partitions.
9289 All users updated.
9290 * disk/loopback.c (grub_loopback): Remove has_partitions.
9291 All users updated.
9292 (options): Remove partitions. All users updated.
9293 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9294 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9295 actual partition table is found.
9296
9297 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 Remove readability checks (too many false negatives).
9300
9301 * util/grub-install.in: Remove readability checks.
9302 * util/grub-mkconfig.in: Likewise.
9303 * util/grub.d/10_hurd.in: Likewise.
9304 * util/grub.d/10_kfreebsd.in: Likewise.
9305 * util/grub.d/10_linux.in: Likewise.
9306 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9307 way.
9308
9309 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 Enable acpi shutdown on all ACPI platforms.
9312
9313 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9314 on coreboo, multiboot and EFI.
9315 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9316 (grub_acpi_halt): Likewise.
9317 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9318 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9319 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9320 * grub-core/lib/i386/halt.c (grub_halt)
9321 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9322
9323 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9326 context.
9327
9328 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9331 * grub-core/video/efi_uga.c: Likewise.
9332
9333 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 Filter devaliases and never open same device twice.
9336
9337 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9338 (last_ihandle): Likewise.
9339 (ofdisk_hash_ent): New member shortest.
9340 (ofdisk_hash_add): Add canonical path too.
9341 (scan): New function.
9342 (grub_ofdisk_iterate): Iterate over hashed entries.
9343 (compute_dev_path): Don't add :0.
9344 (grub_ofdisk_open): Don't really open the disk.
9345 (grub_ofdisk_close): Avoid closing unrelated disk.
9346 (grub_ofdisk_read): Implement reopen logic.
9347 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9348 New function.
9349 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9350 New proto.
9351
9352 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 Fix sparc64.
9355
9356 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9357 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9358 right address. Add sparc64_ieee1275_ldflags.
9359 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9360 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9361 to grub_host_to_target_addr
9362 (load_image): Likewise.
9363
9364 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 * grub-core/normal/completion.c (complete_file): Handle device
9367 containing slash.
9368 Fix based on patch by Doug Nazar.
9369
9370 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 grub-mknetdir script.
9373
9374 * Makefile.util.def (grub-mknetdir): New module.
9375 * tests/util/grub-shell.in: Support boot=net
9376 * util/grub-mknetdir.in: New file.
9377
9378 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 videoinfo on non-vbe.
9381
9382 * grub-core/Makefile.core.def (vbeinfo): Removed.
9383 (vbetest): Removed.
9384 (videoinfo): New module.
9385 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9386 * grub-core/commands/i386/pc/vbetest.c: Removed.
9387 * grub-core/commands/videoinfo.c: New file.
9388 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9389 specification.
9390 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9391 as vbetest.
9392 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9393 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9394 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9395 mode_number. New parameter mode. All users updated.
9396 (grub_video_gop_iterate): New function.
9397 (grub_video_efi_gop): New member iterate.
9398 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9399 (grub_vbe_set_video_mode): Remove setting useless fields.
9400 (vbe2videoinfo): New function.
9401 (grub_video_vbe_iterate): Likewise.
9402 (grub_video_vbe_setup): Use vbe2videoinfo.
9403 (grub_video_vbe_print_adapter_specific_info): New function.
9404 (grub_video_vbe_adapter): New fields iterate and
9405 print_adapter_specific_info.
9406 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9407 All users updated.
9408 (grub_video_mode_info): New field mode_number.
9409 (grub_video_adapter): New fields iterate and
9410 print_adapter_specific_info.
9411
9412 2010-09-13 Tristan Gingold <gingold@free.fr>
9413 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
9414 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * grub-core/commands/efi/lsefisystab.c: New file.
9417 * grub-core/commands/efi/lssal.c: Likewise.
9418 * grub-core/Makefile.core.def (lsacpi): New module.
9419 (lsefisystab): Likewise.
9420 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9421 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9422 (grub_efi_sal_system_table): New struct.
9423 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9424 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9425 (grub_efi_sal_system_table_platform_features): Likewise.
9426 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9427 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9428 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9429 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9430
9431 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 Support explicit user claim that a device is BIOS-visible.
9434
9435 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9436 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9437 * grub-core/kern/emu/hostdisk.c
9438 (convert_system_partition_to_system_disk): Support mdX.
9439 (find_system_device): New parameter add. All users updated.
9440 (grub_util_biosdisk_is_present): New function.
9441 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9442 proto.
9443
9444 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 Search hints support.
9447
9448 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9449 All users updated.
9450
9451 2010-09-13 Yves Blusseau <blusseau@zetam.org>
9452
9453 Bash completion script for util commands
9454
9455 * Makefile.am: Add util/bash-completion.d directory
9456 * configure.ac: Likewise.
9457 * util/bash-completion.d/Makefile.am: New file.
9458 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9459
9460 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9463 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9464 Reported by: Yves Blusseau.
9465
9466 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9469 partition size and offset.
9470
9471 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9474
9475 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9478
9479 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9482 (grub_xvasprintf): Likewise.
9483
9484 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9487
9488 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9491 args ending with NULL.
9492
9493 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9496 pointer.
9497
9498 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9499
9500 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9501
9502 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 Shutdown using ACPI.
9505
9506 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9507 * grub-core/commands/acpihalt.c: New file.
9508 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9509 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9510 (grub_acpi_halt): New proto.
9511 (GRUB_ACPI_SLP_EN): New const.
9512 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9513 (GRUB_ACPI_OPCODE_*): New enum.
9514 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9515
9516 2010-09-11 Tristan Gingold <gingold@free.fr>
9517 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9518 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * commands/lsacpi.c: New file.
9521 * grub-core/Makefile.core.def (lsacpi): New module.
9522 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9523 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9524 (grub_acpi_madt_entry_header): New struct.
9525 (grub_acpi_madt): Likewise.
9526 (grub_acpi_madt_entry_interrupt_override): Likewise.
9527 (grub_acpi_madt_entry_sapic): Likewise.
9528 (grub_acpi_madt_entry_lsapic): Likewise.
9529 (grub_acpi_madt_entry_platform_int_source): Likewise.
9530 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9531 (PRIuGRUB_UINT32_T): Likewise.
9532 (PRIxGRUB_UINT64_T): Likewise.
9533
9534 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 Implement loading palette on ieee1275_fb.
9537
9538 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9539 (have_setcolors): Likewise.
9540 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9541 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9542 (grub_video_ieee1275_set_palette): Implement.
9543
9544 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9545 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9546
9547 * util/grub-install.in (grub_partition): New variable.
9548 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9549 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9550 Fixes a bug reported by Yves Blusseau.
9551
9552 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 Fix emu on mipsel.
9555
9556 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9557 =grub_cpu_flush_cache on all mips and not only yeeloong.
9558 * configure.ac (COND_mips): New conditional.
9559 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9560 platforms.
9561 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9562 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9563 [GRUB_LINKER_HAVE_INIT]: New function.
9564 (grub_emu_post_init): Likewise.
9565 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9566 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9567 * include/grub/cache.h (_mips): Include mips/cache.h.
9568 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9569 LVM and RAID prototypes.
9570 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9571 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9572 function.
9573
9574 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9575
9576 * util/grub-install.in: Don't try to verify core.img until after
9577 running grub-mkimage to create it.
9578
9579 2010-09-10 Robert Millan <rmh@gnu.org>
9580
9581 * util/grub.d/10_hurd.in: Add misc readability checks.
9582 * util/grub.d/10_kfreebsd.in: Likewise.
9583 * util/grub.d/10_linux.in: Likewise.
9584
9585 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9586
9587 * util/grub-install.in: ${imgext} won't be defined here until the
9588 install branch is merged. For the meantime, only verify core.img on
9589 i386-pc and sparc64-ieee1275 platforms.
9590
9591 2010-09-10 Robert Millan <rmh@gnu.org>
9592
9593 Solaris support in grub_find_zpool_from_dir(). Thanks
9594 Seth Goldberg for referring to getextmntent() facility.
9595
9596 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9597 `sys/mkdev.h'.
9598 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9599 `<sys/mnttab.h>'.
9600 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9601 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9602 method for finding zpool name.
9603
9604 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9605
9606 grub-fstest needs the host and hostfs modules while other utilities
9607 actively require those modules to be absent, so grub-fstest needs
9608 its own initialisation and finalisation code.
9609
9610 * Makefile.am (grub_fstest.pp): New target.
9611 (grub_fstest_init.lst): Likewise.
9612 (grub_fstest_init.c): Likewise.
9613 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9614
9615 2010-09-10 Robert Millan <rmh@gnu.org>
9616
9617 * configure.ac: Check for `struct statfs.f_fstypename' and
9618 `struct statfs.f_mntfromname'.
9619
9620 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9621 kFreeBSD-specific code.
9622
9623 2010-09-10 Robert Millan <rmh@gnu.org>
9624
9625 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9626 on ZFS. Now non-main filesystems are supported as / too.
9627
9628 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9629
9630 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9631 and grub-core/disk/host.c to ...
9632 (grub-fstest): ... here. Having the host disk implementation
9633 present confuses grub-probe and other utility programs.
9634
9635 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9636 when writing to a file, not when writing to stdout.
9637
9638 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9639
9640 * tests/partmap_test.in: New test for partitions.
9641 * Makefile.util.def: Rules for new test.
9642
9643 2010-09-09 Robert Millan <rmh@gnu.org>
9644
9645 * util/grub-probe.c (probe): Fix a pair of unhandled error
9646 conditions.
9647
9648 2010-09-09 Robert Millan <rmh@gnu.org>
9649
9650 Basic Btrfs support (detection and UUID).
9651
9652 * grub-core/fs/btrfs.c: New file.
9653 * Makefile.util.def (library): Register btrfs.c.
9654 * grub-core/Makefile.core.def: Likewise.
9655
9656 2010-09-08 Robert Millan <rmh@gnu.org>
9657
9658 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9659 with (optional) parameters to specify device and relative path.
9660 * util/grub-install.in: Use is_path_readable_by_grub() to
9661 verify readability of a few critical files.
9662 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9663 verify readability of grub.cfg.new.
9664
9665 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 Split minix.mod into minix.mod and minix2.mod.
9668
9669 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9670 * grub-core/Makefile.core.def (minix2): New module.
9671 * grub-core/fs/minix.c: Use definitions instead of runtime version
9672 checking.
9673 * grub-core/fs/minix2.c: New file.
9674
9675 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9676
9677 Add new --boot-directory option to replace --root-directory
9678
9679 * util/grub-install.in: Add new --boot-directory option
9680 * util/grub-reboot.in: Likewise.
9681 * util/grub-set-default.in: Likewise.
9682
9683 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9684
9685 * util/grub-mkconfig.in: Use new variable.
9686
9687 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9688
9689 * configure.ac: Define some useful variables.
9690
9691 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9694 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9695 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9696 Use terminfo and don't use cursor-on/cursor-off unless it's known
9697 to work.
9698 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9699 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9700
9701 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
9702
9703 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9704 starts with "(,", fill the drive containing the loaded image in
9705 between those two characters, but expect that a full partition
9706 specification including partition map names will follow.
9707
9708 2010-09-08 Robert Millan <rmh@gnu.org>
9709
9710 * configure.ac: Remove `--enable-grub-fstest' option.
9711 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9712
9713 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9714 `grub-fstest' instead of `grub-probe' for readability verification.
9715 * util/grub-probe.c (probe): Remove readability verification kludge.
9716
9717 2010-09-08 Robert Millan <rmh@gnu.org>
9718
9719 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9720 initializing `GRUB_FS'.
9721
9722 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9723
9724 Not command (!) support to GRUB script.
9725
9726 * tests/grub_script_not.in: New test.
9727 * Makefile.util.def: Rules for new test.
9728
9729 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9730 ! command as a special case.
9731 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9732
9733 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9734
9735 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9736 grub_free.
9737
9738 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9739
9740 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9741
9742 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9743
9744 * docs/grub.texi (Shell-like scripting): Documentation for break,
9745 continue, shift and return commands.
9746
9747 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 Rename CD-ROM to cd on BIOS.
9750
9751 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9752 "cd".
9753 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9754
9755 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9758 * util/grub-probe.c (main): Likewise.
9759 * util/i386/pc/grub-setup.c (main): Likewise.
9760 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9761 Reported and debugged by: alexxy
9762
9763 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9766 diagnostic info.
9767
9768 2010-09-05 Jo Shields <directhex@apebox.org>
9769
9770 * util/grub.d/30_os-prober.in: Add missing classes.
9771
9772 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * docs/grub.texi (Theme file format): Document new position format.
9775
9776 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9779 a table. Use @code instead of @verbatim.
9780
9781 2010-09-05 Colin D Bennett <colin@gibibit.com>
9782
9783 Gfxmenu documentation.
9784
9785 * docs/grub.texi (Theme file format): New chapter.
9786
9787 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9788
9789 * grub-core/Makefile.core.def (xzio): New module.
9790 * grub-core/io/xzio.c: New file.
9791 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9792 * grub-core/lib/xzembed/xz_config.h: Likewise.
9793 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9794 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9795 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9796 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9797 * grub-core/lib/xzembed/xz_private.h: Likewise.
9798 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9799 * include/grub/file.h (grub_file_filter_id): New compression filter
9800 GRUB_FILE_FILTER_XZIO.
9801
9802 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9805 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9806 size.
9807
9808 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9811 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9812
9813 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 Uncompressed checksum support.
9816
9817 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9818 (check_list): New parameter uncompress.
9819 (grub_cmd_hashsum): Handle --uncompress.
9820
9821 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 Reintroduce testload.
9824
9825 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9826 from here ...
9827 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9828 (GRUB_MOD_INIT): New function.
9829 (GRUB_MOD_FINI): Likewise.
9830 * grub-core/Makefile.core.def (testload): New module.
9831
9832 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9833
9834 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9835 (uint8_t): New type.
9836 (uint16_t): Likewise.
9837 (uint32_t): Likewise.
9838 (uint64_t): Likewise.
9839
9840 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9841
9842 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9843
9844 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9847 Made static.
9848 (grub_gzfile_open): Removed. All users updated.
9849 (GRUB_MOD_INIT): New function.
9850 (GRUB_MOD_FINI): Likewise.
9851 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9852 (grub_file_filters_enabled): Likewise.
9853 (grub_file_open): Handle filters.
9854 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9855 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9856 * include/grub/file.h (grub_file_filter_id_t): New type.
9857 (grub_file_filter_t): Likewise.
9858 (grub_file_filters_all): New extern variable.
9859 (grub_file_filters_enabled): Likewise.
9860 (grub_file_filter_register): New inline function.
9861 (grub_file_filter_unregister): Likewise.
9862 (grub_file_filter_disable): Likewise.
9863 (grub_file_filter_disable_compression): Likewise.
9864 * include/grub/gzio.h: Removed.
9865
9866 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9867
9868 Filename expansion support for wildcards in GRUB script.
9869
9870 * tests/grub_script_expansion.in: New test.
9871 * Makefile.util.def: Rule for new test.
9872
9873 * grub-core/commands/wildcard.c: New file, implements filename
9874 expansion support for GRUB script.
9875 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9876 * grub-core/script/argv.c: Cosmetic changes.
9877 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9878 Refactored to perform wildcard expansion on arguments.
9879 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9880 struct.
9881
9882 * tests/util/grub-shell.in: Fix quoting for read input.
9883
9884 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9885
9886 Support for updating environment variables with matched substrings
9887 of regexp.
9888
9889 * tests/grub_cmd_regexp.in: New test.
9890 * Makefile.util.def: Rule for new test.
9891
9892 * grub-core/commands/regexp.c: New option -s to update environment
9893 variables with regexp matches.
9894
9895 2010-09-04 Szymon Janc <szymon@janc.net.pl>
9896
9897 * include/grub/file.h (grub_file): New member not_easly_seekable.
9898 (grub_file_seekable): New inline function.
9899 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9900 easily seekable.
9901 (grub_gzio_open): Set not_easly_seekable.
9902 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9903 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9904
9905 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9906
9907 Support for options to appear multiple times on cmdline.
9908
9909 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9910 * grub-core/commands/extcmd.c: Support for repeatable option.
9911 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9912 repeatable option support.
9913
9914 Refactor menuentry into a regular command.
9915
9916 * grub-core/commands/menuentry.c: New file, menuentry command
9917 implementation.
9918 * grub-core/Makefile.core.def: Rule update for normal.mod.
9919 * grub-core/normal/main.c: Moved menuentry creation to
9920 grub-core/commands/menuentry.c.
9921 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9922 (grub_menu_execute_entry_real): Removed.
9923 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9924 function.
9925 (grub_script_execute_menuentry): Removed.
9926 * grub-core/script/parser.y (menuentry): Removed.
9927 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9928 * grub-core/script/yylex.l (menuentry): Removed.
9929 * include/grub/menu.h (grub_menu_init): New prototype.
9930 (grub_menu_fini): New prototype.
9931 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9932 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9933 (grub_script_execute_sourcecode): New prototype.
9934
9935 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9936
9937 "return" command for GRUB script functions.
9938
9939 * tests/grub_script_return.in: New test.
9940 * Makefile.util.def: Rules for new test.
9941
9942 * grub-core/script/execute.c (grub_script_return): New function.
9943 * grub-core/script/main.c: Register/unregister return commaond.
9944 * include/grub/script_sh.h (grub_script_return): New prototype.
9945
9946 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9947
9948 "setparams" command to update positional parameters.
9949
9950 * tests/grub_script_setparams.in: New test.
9951 * Makefile.util.def: Rules for new test.
9952
9953 * grub-core/script/argv.c (grub_script_argv_make): New function.
9954 * grub-core/script/execute.c (replace_scope): New function.
9955 (grub_script_setparams): New function.
9956 * grub-core/script/lexer.c: Remove unused variables.
9957 * grub-core/script/main.c: Register/unregister setparams command.
9958 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9959 (grub_script_setparams): New prototype.
9960
9961 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9962
9963 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9964 grub_free order.
9965
9966 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9967
9968 Support for passing block of commands as an argument to extcmds.
9969
9970 * Makefile.util.def: Rules for new test.
9971 * tests/grub_script_blockarg.in: New test.
9972 * grub-core/tests/test_blockarg.c: New file, block argument
9973 command used in the test.
9974
9975 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9976 (grub_register_extcmd_prio): New function prototype.
9977 (grub_extcmd_dispatcher): New function prototype.
9978 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9979 type.
9980 * include/grub/script_sh.h (struct grub_script): New members
9981 `children', `next_siblings' and `refcnt' for block arguments and
9982 reference counting.
9983 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9984 (grub_script_arg): New member `script' for block argument.
9985 (grub_script_argv): New member `script' for block argument.
9986 (grub_parser_param): New member `scripts' for block argument.
9987 (grub_script_mem_free): New extern function prototype.
9988 (grub_script_ref): New function prototype.
9989 (grub_script_unref): New function prototype.
9990
9991 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9992 extcmd form to support block arguments.
9993 * grub-core/script/argv.c: Block arguments support.
9994 * grub-core/script/execute.c: Likewise.
9995 * grub-core/script/lexer.c: Likewise.
9996 * grub-core/script/main.c: Likewise.
9997 * grub-core/script/script.c: Likewise.
9998 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9999 non-terminals.
10000
10001 * grub-core/commands/acpi.c: Update extcmd implementations with
10002 grub_extcmd_context_t.
10003 * grub-core/commands/cat.c: Likewise.
10004 * grub-core/commands/echo.c: Likewise.
10005 * grub-core/commands/extcmd.c: Likewise.
10006 * grub-core/commands/hashsum.c: Likewise.
10007 * grub-core/commands/hdparm.c: Likewise.
10008 * grub-core/commands/help.c: Likewise.
10009 * grub-core/commands/hexdump.c: Likewise.
10010 * grub-core/commands/i386/cpuid.c: Likewise.
10011 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10012 * grub-core/commands/i386/pc/halt.c: Likewise.
10013 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10014 * grub-core/commands/iorw.c: Likewise.
10015 * grub-core/commands/keystatus.c: Likewise.
10016 * grub-core/commands/loadenv.c: Likewise.
10017 * grub-core/commands/ls.c: Likewise.
10018 * grub-core/commands/lspci.c: Likewise.
10019 * grub-core/commands/memrw.c: Likewise.
10020 * grub-core/commands/probe.c: Likewise.
10021 * grub-core/commands/search_wrap.c: Likewise.
10022 * grub-core/commands/setpci.c: Likewise.
10023 * grub-core/commands/sleep.c: Likewise.
10024 * grub-core/disk/loopback.c: Likewise.
10025 * grub-core/hello/hello.c: Likewise.
10026 * grub-core/loader/i386/bsd.c: Likewise.
10027 * grub-core/loader/xnu.c: Likewise.
10028 * grub-core/term/gfxterm.c: Likewise.
10029 * grub-core/term/serial.c: Likewise.
10030 * grub-core/tests/lib/functional_test.c: Likewise.
10031
10032 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10033
10034 Multi-line quoted strings support.
10035
10036 * grub-core/script/lexer.c (append_newline): Removed.
10037 (grub_script_lexer_yywrap): Refactored.
10038 (grub_script_lexer_init): Refactored.
10039 * grub-core/script/yylex.l (yywrap): New function.
10040 (grub_lexer_resplit): New function.
10041 (grub_lexer_unput): New function.
10042 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10043 and resplit.
10044 * tests/grub_script_echo1.in: Added few more testcases.
10045
10046 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/kern/misc.c: Don't add abort alias in utils.
10049 Reported by: echoline.
10050
10051 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10052
10053 Add missing files into "make dist" tarball for other platforms.
10054
10055 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10056 * conf/Makefile.common (dist_noinst_DATA): New variable.
10057 * conf/Makefile.extra-dist: Added missing make dist files.
10058 * grub-core/Makefile.core.def: Likewise.
10059
10060 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 Compress grub_prefix.
10063
10064 * grub-core/boot/i386/pc/lnxboot.S: Use
10065 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10066 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10067 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10068 GRUB_MACHINE_PREFIX_END. All users updated.
10069 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10070 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10071 + 0x40.
10072 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10073 * util/grub-mkimage.c (image_target_desc): Change data_end to
10074 prefix_end. All users updated.
10075
10076 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10079 value.
10080 (grub_openbsd_boot): Likewise.
10081 (grub_netbsd_boot): Likewise.
10082 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10083 (grub_xnu_boot): Likewise.
10084
10085 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * configure.ac: Clean LIBS variable after tests.
10088
10089 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10090
10091 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10092
10093 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10096 echo if libdevmapper will be used.
10097
10098 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10099
10100 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10101 constant for the same file.
10102
10103 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10106
10107 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10108
10109 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10110 grub-core/*.pp.
10111
10112 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10113
10114 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10115 required by the boot protocol.
10116
10117 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10118 ebp and edi members.
10119 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10120 state.ebp and state.edi.
10121 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10122 %ebp and %edi according to grub_relocator32_ebp and
10123 grub_relocator32_edi respectively.
10124 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10125 and state.edi.
10126
10127 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 Add i386-pc-pxe image target.
10130
10131 * util/grub-mkimage.c (image_target_desc): New enum value
10132 IMAGE_I386_PC_PXE.
10133 (image_targets): New target i386-pc-pxe.
10134 (generate_image): Handle i386-pc-pxe image.
10135
10136 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 Fix grub_pxe_scan.
10139
10140 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10141 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10142 All users updated.
10143 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10144 (grub_pxe_pxenv): Correct type.
10145
10146 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10147
10148 * NEWS: Document most of the important changes since 1.98.
10149
10150 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10151
10152 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10153 generated manual page) a little.
10154
10155 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10156
10157 * docs/grub.texi: Add myself as an author.
10158
10159 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * Makefile.util.def (libgrub.a): Add missing sunpc.
10162 Reported by: Seth Goldberg.
10163
10164 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 Interrupt wrapping and code simplifications.
10167
10168 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10169 x86_noieee1275 which are functionaly equivalent in this case.
10170 (grub-install): Make source on each platform explicit. Enable on
10171 all noemu.
10172 * gentpl.py (x86_efi_pc): Removed group.
10173 (x86_noefi): Likewise.
10174 (i386_noefi): Likewise.
10175 (x86_noieee1275): Likewise.
10176 (i386_noieee1275): Likewise.
10177 (i386_noefi_noieee1275): Likewise.
10178 (i386_pc_qemu_coreboot): Likewise.
10179 (i386_coreboot_multiboot): Likewise.
10180 (i386_pc_coreboot_multiboot_qemu): Likewise.
10181 (x86_noefi_mips): Likewise.
10182 (noieee1275): Likewise.
10183 (ieee1275_mips): Likewise.
10184 (noemu_noieee1275): Likewise.
10185 (cmos): New group.
10186 (usb): Likewise.
10187 (videoinkernel): Likewise.
10188 (videomodules): Likewise.
10189 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
10190 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10191 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10192 include/grub/loader.h, include/grub/msdos_partition.h,
10193 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10194 include/grub/machine/console.h, include/grub/machine/vga.h,
10195 include/grub/machine/vbe.h, include/grub/machine/init.h,
10196 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10197 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
10198 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
10199 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10200 * grub-core/Makefile.core.def (kernel): Explicit the source for
10201 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10202 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10203 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10204 Use videoinkernel tag.
10205 (usb): Enable on all usb.
10206 (usbserial_common): Likewise.
10207 (usbserial_pl2303): Likewise.
10208 (usbserial_ftdi): Likewise.
10209 (uhci): Enable on all x86.
10210 (ohci): Enable on all pci.
10211 (cmostest): Enable on all CMOS.
10212 (acpi): Include commands/acpi.c on all platforms.
10213 (halt): Add relevant lib/*/halt.c.
10214 (hdparm): Enable on all pci.
10215 (lspci): Likewise.
10216 (usbtest): Enable on all usb.
10217 (ata): Enable on all pci.
10218 (ata_pthru): Likewise.
10219 (usbms): Enable on all usb.
10220 (usb_keyboard): Likewise.
10221 (font): Use tag videomodules.
10222 (bufio): Likewise.
10223 (datetime): Use tag cmos. Enable on all noemu.
10224 (mmap): Use tags common and x86.
10225 (gfxterm): Use tag videomodules.
10226 (bitmap): Likewise.
10227 (bitmap_scale): Likewise.
10228 (video_fb): Likewise.
10229 (video): Likewise.
10230 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10231 adjust padding accordingly. All users updated.
10232 (grub_ohci_transaction): Fix bad format specification.
10233 (GRUB_MOD_INIT): Add asserts for struct size.
10234 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10235 (grub_alloc_td): Likewise.
10236 (grub_free_queue): Likewise.
10237 (grub_uhci_transfer): Likewise.
10238 (grub_uhci_transaction): Fix bad format specification.
10239 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10240 (grub_usb_bulk_readwrite): Likewise.
10241 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10242 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10243 Made static.
10244 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10245 Made static.
10246 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10247 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10248 Transformed into C.
10249 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10250 Moved from here ...
10251 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10252 ... here. Transformed into C. Made static.
10253 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10254 Moved from here ...
10255 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10256 ... here. Transformed into C. Made static.
10257 * grub-core/kern/i386/pc/startup.S
10258 (grub_biosdisk_check_int13_extensions): Moved from here ...
10259 * grub-core/disk/i386/pc/biosdisk.c
10260 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10261 Made static.
10262 * grub-core/kern/i386/pc/startup.S
10263 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10264 * grub-core/disk/i386/pc/biosdisk.c
10265 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10266 Transformed into C. Made static.
10267 * grub-core/kern/i386/pc/startup.S
10268 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10269 * grub-core/disk/i386/pc/biosdisk.c
10270 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10271 Transformed into C. Made static.
10272 * grub-core/kern/i386/pc/startup.S
10273 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10274 * grub-core/disk/i386/pc/biosdisk.c
10275 (grub_biosdisk_get_diskinfo_standard): ... here.
10276 Transformed into C. Made static.
10277 * grub-core/kern/i386/pc/startup.S
10278 (grub_biosdisk_get_num_floppies): Moved from here ...
10279 * grub-core/disk/i386/pc/biosdisk.c
10280 (grub_biosdisk_get_num_floppies): ... here.
10281 Transformed into C. Made static.
10282 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10283 New function.
10284 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10285 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10286 Transformed into C. Made static.
10287 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10288 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10289 Transformed into C. Made static.
10290 * grub-core/kern/i386/ieee1275/init.c: Removed.
10291 * grub-core/kern/i386/misc.S: Likewise.
10292 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10293 Splitted from here ...
10294 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10295 Transformed into C. Made static. All users updated.
10296 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10297 Transformed into C. Made static. All users updated.
10298 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10299 Moved from here...
10300 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10301 Transformed into C. Made static. All users updated.
10302 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10303 Moved from here...
10304 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10305 Transformed into C. Made static. All users updated.
10306 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10307 Removed (replaced by C version).
10308 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10309 Moved from here...
10310 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10311 Transformed into C. Made static.
10312 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10313 Moved from here...
10314 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10315 ... here. Transformed into C.
10316 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10317 Moved from here...
10318 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10319 ... here. Transformed into C.
10320 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10321 Moved from here...
10322 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10323 ... here. Transformed into C. Made static.
10324 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10325 Moved from here...
10326 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10327 ... here. Transformed into C.
10328 * grub-core/kern/i386/pc/startup.S
10329 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10330 * grub-core/video/i386/pc/vbe.c
10331 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
10332 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10333 Moved from here...
10334 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10335 ... here. Transformed into C.
10336 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10337 Moved from here...
10338 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10339 ... here. Transformed into C.
10340 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10341 Moved from here...
10342 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10343 ... here. Transformed into C.
10344 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10345 Moved from here...
10346 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10347 ... here. Transformed into C.
10348 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10349 Moved from here...
10350 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10351 ... here. Transformed into C. Made static.
10352 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10353 Moved from here...
10354 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10355 ... here. Transformed into C. Made static.
10356 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10357 Moved from here...
10358 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10359 ... here. Transformed into C. Made static.
10360 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10361 pxe_rm_entry as third argument.
10362 (grub_bios_interrupt): New function.
10363 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10364 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10365 of calling grub_stop.
10366 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10367 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10368 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10369 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10370 * grub-core/lib/i386/halt.c: Moved from here ...
10371 * grub-core/lib/i386/halt.c: ... here.
10372 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10373 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10374 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10375 grub_stop_floppy.
10376 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10377 * include/grub/i386/coreboot/init.h: Removed.
10378 * include/grub/i386/multiboot/init.h: Likewise.
10379 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10380 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10381 * include/grub/i386/pc/int.h: New file.
10382 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10383 (grub_pxe_scan): Removed.
10384 (grub_pxe_call): Update prototype.
10385 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10386 prototypes.
10387 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10388 * include/grub/i386/qemu/init.h: Removed.
10389 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10390 noreturn.
10391 (grub_halt): Likewise.
10392 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10393 (grub_reboot): Likewise.
10394 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10395 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
10396 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10397
10398 2010-08-30 Robert Millan <rmh@gnu.org>
10399
10400 * NEWS: Document addition of ZFS support in `grub-install' and
10401 `grub-mkconfig'.
10402
10403 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10404
10405 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10406 dprintf output.
10407
10408 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 Remove leftover embedding of font objects.
10411
10412 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10413 * util/grub-install.in (font): Removed.
10414 * util/grub-mkimage.c (generate_image): Remove font support. All users
10415 updated.
10416
10417 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 Remove leftover embedding of font objects.
10420
10421 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10422 * util/grub-install.in (font): Removed.
10423 * util/grub-mkimage.c (generate_image): Remove font support. All users
10424 updated.
10425
10426 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * docs/grub.texi (Network): Fix reference to pxe_blksize.
10429 Reported by: Ian Turner
10430
10431 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10434 timeout to avoid indefinite boot stalling.
10435
10436 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10439 (grub_env_write_color_highlight): Likewise.
10440
10441 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * grub-core/normal/term.c (print_more): Return to normal and not
10444 to standard state after printing "---MORE---".
10445
10446 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10449 Mask out the bit 0x80 since it has other meaning that specifiing color.
10450
10451 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 New relocator. Allows for more kernel support and more straightforward
10454 loader writing.
10455
10456 * Makefile.am (BOOTTARGET): New variable.
10457 (QEMU32): Likewise.
10458 (linux.init.x86_64): New target.
10459 (linux.init.i386): Likewise.
10460 (multiboot.elf): Likewise.
10461 (kfreebsd.elf): Likewise.
10462 (kfreebsd.aout): Likewise.
10463 (pc-chainloader.elf): Likewise.
10464 (pc-chainloader.bin): Likewise.
10465 (ntldr.elf): Likewise.
10466 (ntldr.bin): Likewise.
10467 (multiboot2.elf): Likewise.
10468 (kfreebsd.init.x86_64): Likewise.
10469 (kfreebsd.init.i386): Likewise.
10470 (knetbsd.init.i386): Likewise.
10471 (kopenbsd.init.i386): Likewise.
10472 (knetbsd.init.x86_64): Likewise.
10473 (kopenbsd.init.x86_64): Likewise.
10474 (linux-initramfs.i386): Likewise.
10475 (linux-initramfs.x86_64): Likewise.
10476 (kfreebsd-mfsroot.i386.img): Likewise.
10477 (knetbsd.image.i386): Likewise.
10478 (kopenbsd.image.i386): Likewise.
10479 (kopenbsd.image.x86_64): Likewise.
10480 (knetbsd.miniroot-image.i386.img): Likewise.
10481 (kfreebsd-mfsroot.x86_64.img): Likewise.
10482 (knetbsd.image.x86_64): Likewise.
10483 (knetbsd.miniroot-image.x86_64.img): Likewise.
10484 (kfreebsd-mfsroot.i386.gz): Likewise.
10485 (bootcheck-kfreebsd-i386): Likewise.
10486 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10487 (bootcheck-kfreebsd-x86_64): Likewise.
10488 (knetbsd.miniroot-image.i386.gz): Likewise.
10489 (bootcheck-knetbsd-i386): Likewise.
10490 (bootcheck-kopenbsd-i386): Likewise.
10491 (bootcheck-kopenbsd-x86_64): Likewise.
10492 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10493 (bootcheck-knetbsd-x86_64): Likewise.
10494 (bootcheck-linux-i386): Likewise.
10495 (bootcheck-linux-x86_64): Likewise.
10496 (bootcheck-linux16-i386): Likewise.
10497 (bootcheck-linux16-x86_64): Likewise.
10498 (bootcheck-multiboot): Likewise.
10499 (bootcheck-multiboot2): Likewise.
10500 (bootcheck-kfreebsd-aout): Likewise.
10501 (bootcheck-pc-chainloader): Likewise.
10502 (bootcheck-ntldr): Likewise.
10503 (CLEANFILES): Add new targets.
10504 (BOOTCHECKS): New variable.
10505 (.PHONY): Add bootchecks.
10506 (SUCCESSFUL_BOOT_STRING): New variable.
10507 (BOOTCHECK_TIMEOUT): Likewise.
10508 (bootcheck): New target
10509 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10510 * configure.ac: Correct efiemu excuse.
10511 * docs/grub.texi (Supported kernels): New chapter.
10512 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10513 include/grub/mm_private.h. Simplify inclusion of
10514 include/grub/boot.h, include/grub/loader.h
10515 and include/grub/msdos_partition.h
10516 (KERNEL_HEADER_FILES) [i386_coreboot]:
10517 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10518 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10519 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10520 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10521 include/grub/machine/loader.h.
10522 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10523 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10524 extra_dist.
10525 (pci.mod): Enable on i386-multiboot.
10526 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10527 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10528 i386-qemu.
10529 (relocator.mod): Rewritten.
10530 (aout.mod): Enable on all x86.
10531 (bsd.mod): Likewise.
10532 (ntldr.mod): New module.
10533 (linux.mod): Use loader/i386/linux.c on all x86.
10534 (xnu.mod): Enable on all x86.
10535 (vga_text.mod): disable on EFI and QEMU.
10536 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10537 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10538 * grub-core/efiemu/loadcore.c: Likewise.
10539 * grub-core/efiemu/main.c: Likewise.
10540 (grub_efiemu_exit_boot_services): Removed.
10541 (grub_efiemu_finish_boot_services): Likewise.
10542 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10543 function.
10544 * grub-core/efiemu/i386/nocfgtables.c: New file.
10545 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10546 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10547 (grub_efi_finish_boot_services): Moved from here ...
10548 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10549 Fille finish memory map and related data.
10550 (finish_mmap_buf): New variable.
10551 (grub_efi_uintn_t finish_mmap_size): Likewise.
10552 (grub_efi_uintn_t finish_key): Likewise.
10553 (grub_efi_uintn_t finish_desc_size): Likewise.
10554 (grub_efi_uint32_t finish_desc_version): Likewise.
10555 (grub_efi_is_finished): Likewise.
10556 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10557 finished.
10558 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10559 (grub_elf64_phdr_iterate): Likewise.
10560 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10561 (grub_os_area_size): Likewise.
10562 (grub_machine_init): Don't reserve os area.
10563 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10564 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10565 * grub-core/kern/i386/loader.S: Removed.
10566 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10567 (grub_os_area_size): Likewise.
10568 (grub_machine_init): Don't reserve os area.
10569 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10570 Don't call grub_dl_unload_all.
10571 Don't include loader.S.
10572 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10573 Declare the memory after _end as available.
10574 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10575 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10576 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10577 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10578 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10579 * include/grub/mm_private.h (grub_mm_header): ... here.
10580 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10581 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10582 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10583 (grub_mm_region): ..here. Removed addr. Added pre_size.
10584 All users updated.
10585 * grub-core/kern/mm.c (base): Renamed to ...
10586 (grub_mm_base): ... this. Made global.
10587 (grub_real_malloc): Alloc from end of region.
10588 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10589 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10590 * grub-core/kern/powerpc/cache_flush.S: ... here.
10591 * grub-core/lib/efi/relocator.c: New file.
10592 * grub-core/lib/i386/relocator.c: Rewritten.
10593 * grub-core/lib/i386/relocator16.S: New file.
10594 * grub-core/lib/i386/relocator32.S: Likewise.
10595 * grub-core/lib/i386/relocator64.S: Likewise.
10596 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10597 * grub-core/lib/i386/relocator_common.S: New file.
10598 * grub-core/lib/ieee1275/relocator.c: Likewise.
10599 * grub-core/lib/mips/relocator.c: Rewritten.
10600 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10601 stylistic adjustments.
10602 * grub-core/lib/powerpc/relocator.c: New file.
10603 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10604 * grub-core/lib/relocator.c: Rewritten.
10605 * grub-core/lib/x86_64/relocator_asm.S: New file.
10606 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10607 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10608 (bsd_tag): New struct.
10609 (tags): New variable.
10610 (tags_last): Likewise.
10611 (netbsd_module): New struct.
10612 (netbsd_mods): New variable.
10613 (netbsd_mods_last): Likewise.
10614 (openbsd_opts): New parameter "serial".
10615 (OPENBSD_SERIAL_ARG): New definition.
10616 (netbsd_opts): New parameter "serial".
10617 (NETBSD_SERIAL_ARG): New definition.
10618 (grub_freebsd_add_meta): Reorganised into ...
10619 (grub_bsd_add_meta): ...this. All users updated.
10620 (grub_freebsd_add_mmap): Reorganised into ...
10621 (generate_e820_mmap): ...this...
10622 (grub_bsd_add_mmap): ...and this. All users updated.
10623 (grub_freebsd_list_modules): Use tags.
10624 (grub_netbsd_add_meta_module): New function.
10625 (grub_netbsd_list_modules): Likewise.
10626 (grub_freebsd_boot): Use relocator and finish EFI.
10627 (grub_openbsd_boot): Likewise.
10628 (grub_netbsd_setup_video): New function.
10629 (grub_netbsd_add_modules): Likewise.
10630 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10631 and finish EFI.
10632 (grub_bsd_unload): Unload tags.
10633 (grub_bsd_load_aout): Use relocator.
10634 (grub_bsd_elf32_size_hook): New function.
10635 (grub_bsd_elf32_hook): Use relocator.
10636 (grub_bsd_elf64_size_hook): New function.
10637 (grub_bsd_elf64_hook): Use relocator.
10638 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10639 (grub_bsd_load): Zero-out openbsd_ramdisk.
10640 (grub_bsd_load): Use relocator.
10641 (grub_cmd_openbsd): Support serial.
10642 (grub_cmd_netbsd): Support modules.
10643 (grub_cmd_freebsd_module): Use relocator.
10644 (grub_netbsd_module_load): New function.
10645 (grub_cmd_netbsd_module): Likewise.
10646 (grub_cmd_openbsd_ramdisk): Likewise.
10647 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10648 kopenbsd_ramdisk.
10649 (GRUB_MOD_FINI): Unregister new commands.
10650 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10651 (grub_freebsd_load_elfmodule_obj): Use relocator.
10652 (grub_freebsd_load_elfmodule): Likewise.
10653 (grub_freebsd_load_elf_meta): Likewise.
10654 (grub_netbsd_load_elf_meta): New function.
10655 (grub_openbsd_find_ramdisk): Likewise.
10656 * grub-core/loader/i386/bsd_helper.S: Removed.
10657 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10658 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10659 * grub-core/loader/i386/efi/linux.c: Likewise.
10660 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10661 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10662 (DEFAULT_VIDEO_MODE): Likewise.
10663 (real_mode_target): New variable.
10664 (prot_mode_target): Likewise.
10665 (initrd_mem_target): Likewise.
10666 (relocator): Likewise.
10667 (efi_mmap_buf): Likewise.
10668 (efi_mmap_size): Likewise.
10669 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10670 (free_pages): Use relocator.
10671 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10672 (grub_linux_setup_video): Return error.
10673 (grub_linux_trampoline_start): Removed.
10674 (grub_linux_trampoline_end): Likewise.
10675 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10676 andd video parameters depending on firmware.
10677 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10678 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10679 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10680 (grub_cmd_initrd): Use relocator.
10681 * grub-core/loader/i386/linux_trampoline.S: Removed.
10682 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10683 (elf_sec_entsize): Likewise.
10684 (elf_sec_shstrndx): Likewise.
10685 (elf_sections): Likewise.
10686 (grub_multiboot_load): Use relocator.
10687 (grub_multiboot_get_mbi_size): Account for sections.
10688 (grub_multiboot_make_mbi): Use relocator and support sections.
10689 (grub_multiboot_add_elfsyms): New function.
10690 (grub_multiboot_free_mbi): Free sections.
10691 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10692 (grub_linux_real_target): Likewise.
10693 (grub_linux_real_chunk): Likewise.
10694 (grub_linux16_prot_size): Likewise.
10695 (grub_linux16_boot): Use relocator.
10696 (grub_linux_unload): Unload relocator.
10697 (grub_cmd_linux): Use relocator.
10698 (grub_cmd_initrd): Likewise.
10699 * grub-core/loader/i386/pc/ntldr.c: New file.
10700 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10701 Don't try to guess CPU frequency.
10702 (grub_xnu_set_video): Stretch bitmap.
10703 (grub_xnu_boot): Use relocator.
10704 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10705 (grub_linux_unload): Free relocator.
10706 (grub_linux_load32): Use relocator.
10707 (grub_linux_load64): Likewise.
10708 (grub_cmd_initrd): Likewise.
10709 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10710 (grub_multiboot_unload): Unload relocator.
10711 (grub_cmd_multiboot): Use relocator.
10712 (grub_cmd_module): Likewise.
10713 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10714 Use relocator and support sections.
10715 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10716 (elf_sec_entsize): Likewise.
10717 (elf_sec_shstrndx): Likewise.
10718 (elf_sections): Likewise.
10719 (grub_multiboot_load): Use relocator.
10720 (grub_multiboot_get_mbi_size): Account for sections.
10721 (grub_multiboot_make_mbi): Use relocator and support sections.
10722 (grub_multiboot_add_elfsyms): New function.
10723 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10724 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10725 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10726 Prototype changed. All users updated.
10727 (grub_xnu_align_heap): Simplified.
10728 (grub_xnu_writetree_toheap): Likewise.
10729 (grub_xnu_unload): Unload relocator.
10730 (grub_cmd_xnu_kernel): Use relocator.
10731 (grub_cmd_xnu_kernel64): Likewise.
10732 (grub_xnu_register_memory): Simplified.
10733 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
10734 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10735 EFI is finished.
10736 (grub_console_checkkey): Likewise.
10737 (grub_console_getkey): Likewise.
10738 (grub_console_getwh): Likewise.
10739 (grub_console_getxy): Likewise.
10740 (grub_console_gotoxy): Likewise.
10741 (grub_console_cls): Likewise.
10742 (grub_console_setcolorstate): Likewise.
10743 (grub_console_setcursor): Likewise.
10744 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10745 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10746 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10747 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10748 * grub-core/tests/boot/kernel-8086.S: Likewise.
10749 * grub-core/tests/boot/kernel-i386.S: Likewise.
10750 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10751 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10752 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10753 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10754 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10755 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10756 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10757 * grub-core/tests/boot/linux.cfg: Likewise.
10758 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10759 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10760 * grub-core/tests/boot/linux16.cfg: Likewise.
10761 * grub-core/tests/boot/multiboot.cfg: Likewise.
10762 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10763 * grub-core/tests/boot/ntldr.cfg: Likewise.
10764 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10765 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10766 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10767 New definition.
10768 * include/grub/dl.h (grub_dl_unload_all): Removed.
10769 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10770 (grub_efi_finish_boot_services): Change prototype.
10771 (grub_efi_is_finished): New variable.
10772 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10773 Changed prototype.
10774 (grub_efiemu_finish_boot_services): Removed.
10775 (grub_machine_efiemu_init_tables): New prototype.
10776 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10777 (grub_elf64_phdr_iterate): Likewise.
10778 * include/grub/i386/bsd.h: Include relocator.h.
10779 (freebsd_tag_header): New struct.
10780 (grub_openbsd_bios_mmap): Removed.
10781 (grub_unix_real_boot): Removed.
10782 (grub_freebsd_load_elfmodule32): Changed prototype.
10783 (grub_freebsd_load_elfmodule_obj64): Likewise.
10784 (grub_freebsd_load_elf_meta32): Likewise.
10785 (grub_freebsd_load_elf_meta64): Likewise.
10786 (grub_freebsd_add_meta): Removed.
10787 (grub_netbsd_load_elf_meta32): New prototype.
10788 (grub_netbsd_load_elf_meta64): Likewise.
10789 (grub_bsd_add_meta): Likewise.
10790 (grub_openbsd_ramdisk_descriptor): New struct.
10791 (grub_openbsd_find_ramdisk32): New prototype.
10792 (grub_openbsd_find_ramdisk64): Likewise.
10793 * include/grub/i386/coreboot/loader.h: Removed.
10794 * include/grub/i386/efi/loader.h: Likewise.
10795 * include/grub/i386/ieee1275/loader.h: Likewise.
10796 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10797 to grub_uint32_t.
10798 * include/grub/i386/loader.h: Removed.
10799 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10800 value.
10801 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10802 (grub_phys_addr_t): New type.
10803 (grub_vtop): New inline function.
10804 (grub_map_memory): Likewise.
10805 (grub_unmap_memory): Likewise.
10806 * include/grub/i386/multiboot/loader.h: Removed.
10807 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10808 (NETBSD_BTINFO_CONSOLE): New definition.
10809 (NETBSD_BTINFO_SYMTAB): Likewise.
10810 (NETBSD_BTINFO_MODULES): Likewise.
10811 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10812 (grub_netbsd_bootinfo): New struct.
10813 (grub_netbsd_btinfo_common): Use explicit bitsize.
10814 (grub_netbsd_btinfo_mmap_entry): Removed.
10815 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10816 (grub_netbsd_btinfo_bootdisk): New struct.
10817 (grub_netbsd_btinfo_symtab): Likewise.
10818 (grub_netbsd_btinfo_serial): Likewise.
10819 (grub_netbsd_btinfo_modules): Likewise.
10820 (grub_netbsd_btinfo_framebuf): Likewise.
10821 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10822 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10823 Likewise.
10824 (grub_openbsd_bootargs): Use explicit bitsize.
10825 (grub_openbsd_bootarg_console): New struct.
10826 (GRUB_OPENBSD_COM_MAJOR): New definition.
10827 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10828 * include/grub/i386/pc/efiemu.h: Removed.
10829 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10830 * include/grub/i386/qemu/loader.h: Removed.
10831 * include/grub/i386/relocator.h: Rewritten.
10832 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10833 * include/grub/mips/memory.h: New file.
10834 * include/grub/mips/multiboot.h: Rewritten.
10835 * include/grub/mips/relocator.h: Rewritten.
10836 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10837 (grub_vtop): New function.
10838 (grub_map_memory): Likewise.
10839 (grub_unmap_memory): Likewise.
10840 * include/grub/misc.h (ALIGN_DOWN): New definition.
10841 * include/grub/mm.h (grub_mm_check_real): New proto.
10842 (GRUB_MM_CHECK): New definition.
10843 * include/grub/mm_private.h: New file.
10844 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10845 (grub_multiboot_get_mbi_size): Removed.
10846 (grub_multiboot_make_mbi): Change prottype.
10847 (grub_multiboot_set_accepts_video): New proto.
10848 (grub_multiboot_add_elfsyms): Likewise.
10849 (grub_multiboot_payload_eip): New variable.
10850 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10851 New prototype.
10852 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10853 New definition.
10854 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10855 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10856 * include/grub/powerpc/ieee1275/loader.h: Removed.
10857 * include/grub/powerpc/memory.h: New file.
10858 * include/grub/powerpc/relocator.h: Likewise.
10859 * include/grub/relocator.h: Likewise.
10860 * include/grub/relocator_private.h: Likewise.
10861 * include/grub/sparc64/ieee1275/loader.h: Removed.
10862 * include/grub/x86_64/memory.h: New file.
10863 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10864 (grub_xnu_heap_malloc): Likewise.
10865 (grub_xnu_heap_real_start): Removed.
10866 (grub_xnu_heap_start): Likewise.
10867 (grub_xnu_relocator): New variable.
10868 (grub_xnu_heap_target_start): Likewise.
10869 * tests/util/grub-shell.in: Support non-pc.
10870 * util/grub-mkimage.c (image_targets): Fix multiboot target.
10871
10872 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10875 on malloc error.
10876 (grub_bidi_logical_to_visual): Check that malloc succeded.
10877 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10878 puts.
10879 (grub_xputs_normal): Likewise.
10880
10881 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10884 extra_dist.
10885
10886 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10889
10890 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10893
10894 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10897 dprintf.
10898
10899 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10900
10901 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10902
10903 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * grub-core/normal/term.c (print_more): Fix a memory leak.
10906 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10907 (grub_xputs_normal): Likewise.
10908
10909 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10912 the begining of the string
10913
10914 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/script/script.c (grub_script_parse): Free parsed on
10917 failure.
10918
10919 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10922 on failure.
10923
10924 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10927 return.
10928
10929 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10932 (scroll_up): Fix a memory leak.
10933
10934 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10937 errors.
10938
10939 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 Handle USB pendrives exposed as floppies.
10942
10943 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10944 floppy.
10945 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10946 Check for partitions on all devices.
10947
10948 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10951 (readkey): Likewise.
10952
10953 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10954
10955 Multiple variable names support to "export" command.
10956
10957 * normal/context.c (grub_cmd_export): "export" command supports
10958 multiple variable names.
10959
10960 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10961
10962 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10963 --target=drive output to Mach device name.
10964
10965 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10966
10967 New Automake based build system for GRUB.
10968
10969 * ABOUT-NLS: New file.
10970 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10971 in Makefile.util.def file.
10972 * Makefile.util.def: New file. Autogen build definitions file for
10973 GRUB host utils.
10974 * conf/Makefile.common: New file. Common variables for GRUB host
10975 utils and target modules.
10976 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10977 * docs/Makefile.am: New file. Automake file for docs.
10978 * gentpl.py: New file. Python script to generate Autogen
10979 template.
10980 * grub-core/Makefile.am: New file. GRUB target modules' rules
10981 that doesn't fit in Makefile.core.def file.
10982 * grub-core/Makefile.core.def: New file. Autogen build
10983 definitions file for GRUB target modules.
10984 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10985 specific setjmp.S file.
10986 * po/Makefile.am: New file.
10987
10988 * .bzrignore: New ignores.
10989 * INSTALL: New requirements, without Ruby.
10990 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10991 * autogen.sh: Updated to invoke autogen as necessary.
10992 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10993 and defines for Automake conditionals.
10994 * geninit.sh: Refactoring.
10995
10996 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10997 necessary.
10998 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10999 New prototype.
11000
11001 * include/grub/test.h: Fix functional test modules' naming.
11002 * grub-core/tests/example_functional_test.c: Fix test module name.
11003
11004 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11005 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11006 * util/grub-editenv.c: Likewise.
11007 * util/grub-fstest.c: Likewise.
11008 * util/grub-mkdevicemap.c: Likewise.
11009 * util/grub-mkfont.c: Likewise.
11010 * util/grub-mkimage.c: Likewise.
11011 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11012 * util/grub-probe.c: Likewise.
11013 * util/grub-script-check.c: Likewise.
11014 * util/i386/pc/grub-setup.c: Likewise.
11015 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11016
11017 * tests/util/grub-shell.in: Fix override directory path.
11018 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11019 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11020
11021 * util/lvm.c: Update #includes.
11022 * util/raid.c: Likewise.
11023 * util/resolve.c: Likewise.
11024 * grub-core/bus/emu/pci.c: Likewise.
11025 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11026 * grub-core/lib/posix_wrap/string.h: Likewise.
11027 * grub-core/kern/emu/main.c: Likewise.
11028
11029 * grub-core/gensymlist.sh: New file. Script for generating kernel
11030 symbols file.
11031 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11032
11033 * grub-core/gentrigtables.c: Fix unused variable warnings.
11034
11035 * Makefile.in: Removed.
11036 * conf/any-emu.rmk: Removed.
11037 * conf/common.rmk: Removed.
11038 * conf/i386-coreboot.rmk: Removed.
11039 * conf/i386-efi.rmk: Removed.
11040 * conf/i386-ieee1275.rmk: Removed.
11041 * conf/i386-multiboot.rmk: Removed.
11042 * conf/i386-pc.rmk: Removed.
11043 * conf/i386-qemu.rmk: Removed.
11044 * conf/i386.rmk: Removed.
11045 * conf/mips-yeeloong.rmk: Removed.
11046 * conf/mips.rmk: Removed.
11047 * conf/powerpc-ieee1275.rmk: Removed.
11048 * conf/sparc64-ieee1275.rmk: Removed.
11049 * conf/tests.rmk: Removed.
11050 * conf/x86-efi.rmk: Removed.
11051 * conf/x86_64-efi.rmk: Removed.
11052 * gendistlist.sh: Removed.
11053 * geninitheader.sh: Removed.
11054 * genkernsyms.sh.in: Removed.
11055 * genmk.rb: Removed.
11056 * gensymlist.sh.in: Removed.
11057 * mkinstalldirs: Removed.
11058 * boot: Moved ...
11059 * grub-core/boot: ... to here.
11060 * bus: Moved ...
11061 * grub-core/bus: ... to here.
11062 * commands: Moved ...
11063 * grub-core/commands: ... to here.
11064 * disk: Moved ...
11065 * grub-core/disk: ... to here.
11066 * efiemu: Moved ...
11067 * grub-core/efiemu: ... to here.
11068 * font: Moved ...
11069 * grub-core/font: ... to here.
11070 * fs: Moved ...
11071 * grub-core/fs: ... to here.
11072 * gencmdlist.sh: Moved ...
11073 * grub-core/gencmdlist.sh: ... to here.
11074 * genemuinit.sh: Moved ...
11075 * grub-core/genemuinit.sh: ... to here.
11076 * genemuinitheader.sh: Moved ...
11077 * grub-core/genemuinitheader.sh: ... to here.
11078 * genfslist.sh: Moved ...
11079 * grub-core/genfslist.sh: ... to here.
11080 * genhandlerlist.sh: Moved ...
11081 * grub-core/genhandlerlist.sh: ... to here.
11082 * genmoddep.awk: Moved ...
11083 * grub-core/genmoddep.awk: ... to here.
11084 * genmodsrc.sh: Moved ...
11085 * grub-core/genmodsrc.sh: ... to here.
11086 * genpartmaplist.sh: Moved ...
11087 * grub-core/genpartmaplist.sh: ... to here.
11088 * genparttoollist.sh: Moved ...
11089 * grub-core/genparttoollist.sh: ... to here.
11090 * genterminallist.sh: Moved ...
11091 * grub-core/genterminallist.sh: ... to here.
11092 * gentrigtables.c: Moved ...
11093 * grub-core/gentrigtables.c: ... to here.
11094 * genvideolist.sh: Moved ...
11095 * grub-core/genvideolist.sh: ... to here.
11096 * gettext: Moved ...
11097 * grub-core/gettext: ... to here.
11098 * gfxmenu: Moved ...
11099 * grub-core/gfxmenu: ... to here.
11100 * gnulib: Moved ...
11101 * grub-core/gnulib: ... to here.
11102 * hello: Moved ...
11103 * grub-core/hello: ... to here.
11104 * hook: Moved ...
11105 * grub-core/hook: ... to here.
11106 * io: Moved ...
11107 * grub-core/io: ... to here.
11108 * kern: Moved ...
11109 * grub-core/kern: ... to here.
11110 * lib: Moved ...
11111 * grub-core/lib: ... to here.
11112 * loader: Moved ...
11113 * grub-core/loader: ... to here.
11114 * mmap: Moved ...
11115 * grub-core/mmap: ... to here.
11116 * normal: Moved ...
11117 * grub-core/normal: ... to here.
11118 * partmap: Moved ...
11119 * grub-core/partmap: ... to here.
11120 * parttool: Moved ...
11121 * grub-core/parttool: ... to here.
11122 * script: Moved ...
11123 * grub-core/script: ... to here.
11124 * term: Moved ...
11125 * grub-core/term: ... to here
11126 * tests/example_functional_test.c: Moved ...
11127 * grub-core/tests/example_functional_test.c: ... to here.
11128 * tests/lib/functional_test.c: Moved ...
11129 * grub-core/tests/lib/functional_test.c: ... to here.
11130 * tests/lib/test.c: Moved ...
11131 * grub-core/tests/lib/test.c: ... to here.
11132 * video: Moved ...
11133 * grub-core/video: ... to here.
11134
11135 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11136
11137 Replace --enable-grub-emu-modules with grub-emu-lite.
11138
11139 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11140 cache.S.
11141
11142 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11143 * kern/emu/full.c: New file. For grub-emu specific initialization.
11144 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11145 * kern/emu/main.c: Call initialization function grub_emu_init.
11146
11147 * Makefile.in: Include grub-emu-lite in install.
11148 * commands/parttool.c: Use grub_no_autoload to differentiate
11149 between grub-emu and grub-emu-lite.
11150 * include/grub/misc.h: New variable grub_no_autoload.
11151
11152 * conf/any-emu.rmk: New rules for grub-emu-lite.
11153 * configure.ac: Remove --enable-grub-emu-modules.
11154 * genmk.rb: Cleanup unnecessary rules.
11155 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11156
11157 * normal/main.c: Don't load list files on grub-emu-lite.
11158 * util/misc.c (grub_arch_sync_caches): Removed.
11159
11160 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
11161
11162 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11163 grub-mkimage rather than grub-mkelfimage.
11164 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11165
11166 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11169 a key after CapsLock or NumLock. It's just a qemu bug.
11170
11171 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11174 needed by libusb wrapper.
11175
11176 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11177
11178 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11179
11180 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11183 --nounzip is passed.
11184
11185 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 USB hotunplugging and USB serial support.
11188
11189 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11190 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11191 (grub_uhci_transfer): Respect timeout and set *actual.
11192 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11193 non-standard length.
11194 (grub_usb_device_attach): Autoload modules.
11195 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11196 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11197 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11198 users updated.
11199 (grub_usb_add_hub): Fill nports and children.
11200 (attach_root_port): Receive hub instead of controller.
11201 All users updated. Fill hub->devices.
11202 (grub_usb_root_hub): Allocate hub->devices.
11203 (detach_device): New function.
11204 (poll_nonroot_hub): Fill children and detach devices.
11205 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11206 actual arguments. All users updated.
11207 (grub_usb_bulk_read_extended): New function.
11208 * bus/usb/serial/common.c: New file.
11209 * bus/usb/serial/ftdi.c: Likewise.
11210 * bus/usb/serial/pl2303.c: Likewise.
11211 * commands/terminal.c (handle_command): Support wildcard.
11212 * commands/usbtest.c: Output "Unknown" instead of empty string.
11213 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11214 (usbserial_common_mod_SOURCES): New variable.
11215 (usbserial_common_mod_CFLAGS): Likewise.
11216 (usbserial_common_mod_LDFLAGS): Likewise.
11217 (pkglib_MODULES): Add usbserial_pl2303.mod.
11218 (usbserial_pl2303_mod_SOURCES): New variable.
11219 (usbserial_pl2303_mod_CFLAGS): Likewise.
11220 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11221 (pkglib_MODULES): Add usbserial_ftdi.mod.
11222 (usbserial_ftdi_mod_SOURCES): New variable.
11223 (usbserial_ftdi_mod_CFLAGS): Likewise.
11224 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11225 (pkglib_MODULES): Add serial.mod.
11226 (serial_mod_SOURCES): New variable.
11227 (serial_mod_CFLAGS): Likewise.
11228 (serial_mod_LDFLAGS): Likewise.
11229 * conf/i386-pc.rmk: Likewise.
11230 * conf/mips-yeeloong.rmk: Likewise.
11231 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11232 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11233 * disk/usbms.c (first_available_slot): New variable.
11234 (grub_usbms_attach): Don't reuse free slots due to potential cache
11235 problems.
11236 * include/grub/serial.h: Moved to ..
11237 * include/grub/ns8250.h: ...this.
11238 * include/grub/serial.h: New file.
11239 * include/grub/term.h (grub_term_poll_usb): New variable.
11240 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11241 readkey. All users updated.
11242 (grub_terminfo_output_state): Pass term to put.
11243 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11244 (grub_usb_controller_dev): Add timeout and actual arguments to
11245 transfer. All users updated.
11246 (grub_usb_interface): New field detach_data.
11247 (grub_usb_device): New fields children and nports.
11248 (grub_usb_ep_type_t): New type.
11249 (grub_usb_get_ep_type): New function.
11250 (grub_usb_bulk_read_extended): Likewise.
11251 * include/grub/usbdesc.h (grub_usb_desc): New type.
11252 * include/grub/usbserial.h: New file.
11253 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11254 * kern/term.c (grub_term_poll_usb): New variable.
11255 (grub_getkey): Call grub_term_poll_usb if set.
11256 (grub_checkkey): Likewise.
11257 (grub_getkeystatus): Likewise.
11258 * term/serial.c: Moved controller-specific parts to ...
11259 * term/ns8250.c: ... here.
11260 * term/serial.c: Mostly rewritten.
11261 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11262 according to spec.
11263
11264 2010-08-20 Robert Millan <rmh@gnu.org>
11265
11266 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11267 a separate module and maybe other interesting combinations.
11268
11269 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11270 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11271 (kfreebsd_entry): Add generic filesystem module load routine.
11272 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11273
11274 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11275
11276 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11277 "numcenter" (I misunderstood the purpose of this entry).
11278 * docs/grub.texi (sendkey): Likewise.
11279
11280 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11281
11282 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11283 status flag options; simply omitting the option is equivalent and
11284 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11285 (keysym_table): Rename "num5numlock" to "numlock".
11286 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11287 can uniformly say that only the last of multiple `sendkey'
11288 invocations has any effect.
11289 * docs/grub.texi (sendkey): New section.
11290
11291 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
11292
11293 * commands/i386/pc/sendkey.c (options): Fix three typos.
11294
11295 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 Implement sendkey support.
11298
11299 * commands/i386/pc/sendkey.c: New file.
11300 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11301 (sendkey_mod_SOURCES): New variable.
11302 (sendkey_mod_CFLAGS): Likewise.
11303 (sendkey_mod_LDFLAGS): Likewise.
11304
11305 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11306
11307 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11308 fix warnings from Autoconf.
11309
11310 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11311
11312 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11313 to avoid false positives with some assemblers that output things
11314 like "someprefix_func" as part of their output.
11315
11316 2010-08-15 Robert Millan <rmh@gnu.org>
11317
11318 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11319 errors.
11320 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11321 grub_get_libzfs_handle() errors.
11322
11323 2010-08-14 Robert Millan <rmh@gnu.org>
11324
11325 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11326 filesystem is not ZFS.
11327
11328 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11329
11330 Fix for misspelled color names defaulting to black/black (bug
11331 reported by Doug Nazar)
11332
11333 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11334 status to prototype.
11335 * normal/color.c (grub_parse_color_name_pair): Return failure
11336 status.
11337 (grub_env_write_color_normal): Ignore bad color names.
11338 (grub_env_write_color_highlight): Likewise.
11339 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11340
11341 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11342
11343 "shift" command support to GRUB script.
11344
11345 * include/grub/script_sh.h (grub_script_shift): New prototype.
11346 * script/execute.c (grub_script_shift): New function.
11347 * script/main.c (grub_script_init): Register shift command.
11348 (grub_script_fini): Unregister shift command.
11349 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11350
11351 * tests/grub_script_shift.in: New testcase.
11352 * conf/tests.rmk: Rules for new testcase.
11353
11354 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11355
11356 "continue" command support to GRUB script.
11357
11358 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11359 (grub_script_break): Continue support.
11360 * script/main.c (grub_script_init): Register continue command.
11361 (grub_script_fini): Unregister continue command.
11362
11363 * tests/grub_script_continue.in: New testcase.
11364 * conf/tests.rmk: Rules for new testcase.
11365
11366 2010-08-12 BVK Chaitanya <bvk@dbook>
11367
11368 "break" command support to GRUB script.
11369
11370 * conf/common.rmk: Rule updates to grub-script-check.
11371 * include/grub/misc.h (grub_min): New function.
11372 * include/grub/script_sh.h (grub_script_init): New prototype.
11373 (grub_script_fini): New prototype.
11374 (grub_script_break): New prototype.
11375 * script/main.c (grub_script_init): New function.
11376 (grub_script_fini): New function.
11377 * script/execute.c (grub_script_break): New function.
11378 * normal/main.c: Calls to grub_script_{init,fini}.
11379 * util/grub-script-check.c (grub_script_break): New function.
11380
11381 * tests/grub_script_break.in: New testcase.
11382 * conf/tests.rmk: Rules for new test case.
11383
11384 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11385
11386 Function parameters support to GRUB script.
11387
11388 * script/yylex.l (VARIABLE): Regular expression update.
11389 * script/function.c (grub_script_function_call): Moved ...
11390 * script/execute.c (grub_script_function_call): ... to here.
11391 (grub_script_execute_arglist_to_argv): Removed.
11392 (grub_script_arglist_to_argv): New function.
11393 * script/argv.c: New file.
11394 (grub_script_argv_free): New function.
11395 (grub_script_argv_next): Likewise.
11396 (grub_script_argv_append): Likewise.
11397 (grub_script_argv_split_append): Likewise.
11398 * include/grub/script_sh.h (grub_script_argv): New struct.
11399 (grub_script_argv_free): New function.
11400 (grub_script_argv_next): Likewise.
11401 (grub_script_argv_append): Likewise.
11402 (grub_script_argv_split_append): Likewise.
11403
11404 * conf/common.rmk (normal.mod): New source script/argv.c.
11405
11406 * tests/grub_script_echo1.in: More tests.
11407 * tests/grub_script_vars1.in: Likewise.
11408 * tests/grub_script_functions.in: New test case.
11409 * conf/tests.rmk: Rules for new testcase.
11410
11411 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11412
11413 Remove grub_script_cmdblock struct.
11414
11415 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11416 * script/parser.y: Likewise.
11417 * script/execute.c: Rename cmdblock suffix to cmdlist.
11418 * script/script.c: Likewise.
11419 * util/grub-script-check.c: Likewise.
11420
11421 2010-08-11 Yves Blusseau <blusseau@zetam.org>
11422
11423 * .bzrignore: add grub-macho2img
11424
11425 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11428
11429 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 Remove the dump of sm712 initialisation sequence.
11432
11433 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11434 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11435 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11436 (GRUB_VGA_CR_*): Added many registers.
11437 (GRUB_VGA_SR_*): Likewise.
11438 (GRUB_VGA_GR_*): Likewise.
11439 (grub_vga_write_arx): New function.
11440 (grub_video_hw_config): New struct.
11441 (grub_vga_set_geometry): New function.
11442 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11443 GRUB_PCI_CLASS_SUBCLASS_VGA.
11444 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11445 * video/sm712.c (grub_sm712_write_reg): New function
11446 (grub_sm712_read_reg): Likewise.
11447 (grub_sm712_sr_write): Likewise.
11448 (grub_sm712_gr_write): Likewise.
11449 (grub_sm712_cr_write): Likewise.
11450 (grub_sm712_write_arx): Likewise.
11451 (grub_sm712_cr_shadow_write): Likewise.
11452 (grub_sm712_write_dda_lookup): Likewise.
11453 (grub_video_sm712_setup): Initialise the video rather then
11454 blindly replay the dump.
11455 (main) [TEST]: Add a routine to be able to compile as standalone for
11456 tests.
11457 * video/sm712_init.c (sm712_init): Removed.
11458 (sm712_sr_seq1): New array.
11459 (sm712_sr_seq2): Likewise.
11460
11461 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * include/grub/vga.h: Add missing grub/pci.h include.
11464
11465 2010-08-10 Yves Blusseau <blusseau@zetam.org>
11466
11467 * util/grub-macho2img.c (main): fix typo
11468
11469 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11472 (grub_vga_gr_read): Likewise.
11473 (grub_vga_cr_write): Likewise.
11474 (grub_vga_cr_read): Likewise.
11475 (grub_vga_sr_write): Likewise.
11476 (grub_vga_sr_read): Likewise.
11477 (grub_vga_palette_read): Likewise.
11478 (grub_vga_palette_write): Likewise.
11479 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11480 (grub_sm712_sr_read): New function.
11481 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11482 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11483
11484 2010-08-09 Robert Millan <rmh@gnu.org>
11485
11486 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11487 out unused variables on non-ZFS build.
11488
11489 2010-08-08 Robert Millan <rmh@gnu.org>
11490
11491 Fix path generation for sub-filesystems in ZFS.
11492
11493 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11494 missing slash.
11495
11496 2010-08-08 Robert Millan <rmh@gnu.org>
11497
11498 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11499
11500 2010-08-08 Robert Millan <rmh@gnu.org>
11501
11502 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11503 exist, issue a proper error message (rely on `ls' for translated
11504 strings).
11505
11506 2010-08-08 Robert Millan <rmh@gnu.org>
11507
11508 Fix grub-probe invocation.
11509
11510 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11511
11512 2010-08-04 Robert Millan <rmh@gnu.org>
11513
11514 * configure.ac: Remove checks for getfsstat() and getmntany().
11515 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11516 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11517 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11518 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11519 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11520 function.
11521 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11522 via find_mount_point_from_dir() and getfsstat() / getmntany().
11523
11524 2010-08-04 Robert Millan <rmh@gnu.org>
11525
11526 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11527 (grub_find_zpool_from_mount_point): Merge into ...
11528 (grub_find_zpool_from_dir): ... this.
11529 * kern/emu/misc.c: Likewise.
11530
11531 * kern/emu/misc.c
11532 (grub_make_system_path_relative_to_its_root): Replace
11533 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11534 with grub_find_zpool_from_dir().
11535 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11536
11537 2010-08-04 Robert Millan <rmh@gnu.org>
11538
11539 Support OpenSolaris in ZFS device resolution.
11540
11541 * configure.ac: Check for getmntany().
11542 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11543 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11544 support.
11545
11546 2010-08-03 Robert Millan <rmh@gnu.org>
11547
11548 Fix grub-emu build.
11549
11550 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11551 * include/grub/emu/misc.h: ... here.
11552
11553 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11554 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11555
11556 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11557 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11558 (grub_get_libzfs_handle): Move to ...
11559 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11560 (grub_get_libzfs_handle): ... here.
11561
11562 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11563
11564 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11565 as command name case.
11566
11567 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11568
11569 * disk/raid.c (insert_array): Select unique numbers for named arrays
11570 as well, for use as keys in the disk cache.
11571
11572 2010-08-01 Robert Millan <rmh@gnu.org>
11573
11574 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11575 kFreeBSD device name, except on ZFS where the filesystem label is
11576 used.
11577 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11578 `/boot/zfs/zpool.cache'.
11579 Set mountfrom kernel variable using ${kfreebsd_device}.
11580
11581 2010-08-01 Robert Millan <rmh@gnu.org>
11582
11583 Make it even harder to use uninitialized `libzfs_handle' (and
11584 make the interface a bit simpler).
11585
11586 * include/grub/util/misc.h (grub_util_init_libzfs)
11587 (libzfs_handle): Remove.
11588 (grub_get_libzfs_handle): New prototype.
11589
11590 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11591 attribute.
11592 (grub_util_init_libzfs): Remove.
11593 (grub_get_libzfs_handle): New function.
11594
11595 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11596 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11597 accessing `libzfs_handle' directly.
11598
11599 2010-08-01 Robert Millan <rmh@gnu.org>
11600
11601 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11602 (grub_find_zpool_from_mount_point): New function prototypes.
11603
11604 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11605 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11606
11607 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11608 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11609 `static' attribute.
11610
11611 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11612 finding zpool from mount point into ...
11613 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11614
11615 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11616 requested path is part of a ZFS pool, use
11617 grub_find_zpool_from_mount_point() to detect its filesystem name,
11618 and generate a path with `/fsname@path' syntax.
11619
11620 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11621
11622 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11623 (void) rather than () so that this is a proper prototype.
11624
11625 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11628
11629 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11632 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11633
11634 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11635
11636 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11637
11638 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11639
11640 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11641
11642 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11643
11644 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11645 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11646 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11647 disable gfxpayload.
11648 (Shell-like scripting): Add real content.
11649 (Serial terminal): Suggest `terminal_input serial; terminal_output
11650 serial' rather than putting the two commands on separate lines,
11651 since console input will be inoperative after the first command.
11652 (menuentry): Document --class, --users, and --hotkey options.
11653 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11654 Vladimir Serbinenko).
11655
11656 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11657 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11658
11659 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11660
11661 2010-08-01 Robert Millan <rmh@gnu.org>
11662
11663 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11664 (grub_find_zpool_from_mount_point): New function prototypes.
11665
11666 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11667 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11668
11669 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11670 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11671 `static' attribute.
11672
11673 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11674 finding zpool from mount point into ...
11675 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11676
11677 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11678 requested path is part of a ZFS pool, use
11679 grub_find_zpool_from_mount_point() to detect its filesystem name,
11680 and generate a path with `/fsname@path' syntax.
11681
11682 2010-08-01 Robert Millan <rmh@gnu.org>
11683
11684 Prevent accidental use of uninitialized libzfs_handle.
11685
11686 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11687 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11688 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11689
11690 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11691
11692 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11693 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11694
11695 2010-08-01 Robert Millan <rmh@gnu.org>
11696
11697 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
11698
11699 2010-07-31 Robert Millan <rmh@gnu.org>
11700
11701 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11702
11703 2010-07-31 Robert Millan <rmh@gnu.org>
11704
11705 * kern/emu/misc.c: Add missing license header.
11706
11707 2010-07-31 Robert Millan <rmh@gnu.org>
11708
11709 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11710
11711 * include/grub/util/libnvpair.h: Include `<config.h>'.
11712 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11713 declaring libnvpair prototypes ourselves.
11714 * include/grub/util/libzfs.h: Include `<config.h>'.
11715 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11716 declaring libzfs prototypes ourselves.
11717
11718 (libzfs_handle): Moved to ...
11719 * include/grub/util/misc.h (libzfs_handle): ... here.
11720 Include `<grub/util/libzfs.h>'.
11721
11722 2010-07-30 Robert Millan <rmh@gnu.org>
11723
11724 * include/grub/emu/misc.h: Add missing license header.
11725
11726 2010-07-30 Robert Millan <rmh@gnu.org>
11727
11728 Enable `grub-probe -t device' resolution on ZFS.
11729
11730 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11731 * include/grub/util/libnvpair.h: New file.
11732 * include/grub/util/libzfs.h: New file.
11733
11734 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11735 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11736 `<grub/util/libnvpair.h>'.
11737 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11738
11739 (find_mount_point_from_dir): New static function.
11740 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11741 function.
11742 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11743 find_root_device_from_libzfs() before ressorting to find_root_device().
11744
11745 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11746 prototype.
11747 * util/misc.c: Include `<grub/util/libzfs.h>'.
11748 (grub_util_init_libzfs): New function.
11749 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11750 [HAVE_LIBZFS] (fini_libzfs): New static function.
11751 (grub_util_init_libzfs): New function.
11752 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11753
11754 2010-07-30 Robert Millan <rmh@gnu.org>
11755
11756 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11757 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11758 `warn_unused_result' attribute.
11759 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11760 (grub_xasprintf, grub_xvasprintf): Likewise.
11761 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11762
11763 2010-07-29 Robert Millan <rmh@gnu.org>
11764
11765 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11766 (probe): Handle `PRINT_FS_LABEL'.
11767 (main): Handle `-t fs_label'.
11768
11769 2010-07-29 Robert Millan <rmh@gnu.org>
11770
11771 * configure.ac: Remove grub-mkisofs checks.
11772
11773 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11776 Reported by: Lennart Sorensen.
11777
11778 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11781 prior to terminal_input/terminal_output separation. It's been over 1.5
11782 years and those versions weren't widely deployed.
11783
11784 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
11785
11786 * disk/raid.c (insert_array): Don't count named arrays when looking
11787 for unused array numbers.
11788 Reported and tested by: Michael Guntsche.
11789
11790 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11791
11792 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11793 implementation of this so that grub-emu links again, with a note
11794 that this should support hotplugging in the future.
11795
11796 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11797
11798 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11799
11800 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11801
11802 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11803 handle on failure.
11804 (grub_loopback_close): Remove empty function.
11805 (grub_loopback_dev): Remove close method.
11806
11807 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11808
11809 Disable EFI cursor when the EFI console becomes inactive.
11810
11811 * term/efi/console.c (grub_efi_console_init): New function.
11812 (grub_efi_console_fini): New function.
11813 (grub_console_term_output): Register init and fini methods.
11814
11815 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11818 sh script.
11819
11820 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * disk/loopback.c (grub_loopback): Replace filename with file.
11823 (delete_loopback): Handle new semantics.
11824 (grub_cmd_loopback): Likewise.
11825 (grub_loopback_iterate): Likewise.
11826 (grub_loopback_close): Likewise.
11827
11828 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11831 with -p "".
11832 Reported by: Tito Keitel.
11833
11834 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 * docs/grub.texi (Naming convention): Document new naming convention.
11837
11838 2010-07-20 Vadim Solomin <vadic052@gmail.com>
11839 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11840
11841 Generate device.map in something closer to the old ordering.
11842
11843 * util/deviceiter.c (struct device): New declaration.
11844 (compare_file_names): Rename to ...
11845 (compare_devices): ... this. Sort by kernel name in preference to
11846 the stable by-id name, but keep the latter as a fallback comparison.
11847 Update header comment.
11848 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11849 of `struct device' rather than of plain file names.
11850
11851 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11852
11853 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11854 on i386.
11855
11856 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11859 hardcoding size.
11860 (setv1table): Likewise.
11861
11862 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11863
11864 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11865 removing the homehost if present.
11866 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11867 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11868 removing the homehost if present.
11869 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11870 if possible.
11871 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11872
11873 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11874 parameter. Set its pointer target to 0.
11875 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11876 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11877 `data_offset' value from the superblock for 1.x metadata.
11878 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11879 data on the device.
11880 (insert_array): Record the start sector of data on the device.
11881 (grub_raid_register): Pass start_sector parameters to
11882 grub_raid_list->detect and insert_array.
11883 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11884 member.
11885 (struct grub_raid): Add start_sector parameter to `detect'.
11886
11887 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11888 __attribute__ ((packed)), leaving a comment.
11889 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11890 (grub_mdraid_detect_09): ... here and ...
11891 (grub_mdraid_detect_1x): ... here.
11892
11893 2010-07-20 Peter Henn <peter.henn@web.de>
11894
11895 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11896 chunk size and disk size, which are already given as sector counts
11897 as distinct from the 0.90 units. Fetch the correct device number
11898 from the role table instead of using the table index.
11899
11900 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
11901
11902 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11903 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11904 (WriteMostly1): New macro.
11905 Set array->name to NULL for metadata format 0.90. Add support for
11906 metadata 1.x. Fix some comments.
11907 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11908 few comments.
11909 * util/getroot.c (grub_util_get_grub_dev): Add support for
11910 /dev/md/name style devices.
11911
11912 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11913
11914 * .bzrignore: Ignore 20_linux_xen.
11915
11916 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
11917
11918 * util/import_unicode.py: Remove unnecessary imports.
11919
11920 2010-07-17 Aleš Nesrsta <starous@volny.cz>
11921
11922 Hotplugging and USB hub support.
11923
11924 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11925 (grub_ohci): Likewise.
11926 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11927 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11928 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11929 (GRUB_OHCI_CTRL_EDS): Likewise.
11930 (GRUB_OHCI_BULK_EDS): Likewise.
11931 (GRUB_OHCI_TDS): Likewise.
11932 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11933 (grub_ohci_ed_phys2virt): New function.
11934 (grub_ohci_virt_to_phys): Likewise.
11935 (grub_ohci_td_phys2virt): Likewise.
11936 (grub_ohci_td_virt2phys): Likewise.
11937 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11938 attachment.
11939 (grub_ohci_find_ed): New function.
11940 (grub_ohci_alloc_td): Likewise.
11941 (grub_ohci_free_td): Likewise.
11942 (grub_ohci_free_tds): Likewise.
11943 (grub_ohci_transfer): Use previously allocated memory.
11944 (grub_ohci_portstatus): Reset status changed bit.
11945 (grub_ohci_detect_dev): Supply status changed.
11946 (grub_ohci_fini_hw): Free memory.
11947 (grub_ohci_restore_hw): Reallocate memory.
11948 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11949 Reset status change.
11950 (grub_uhci_detect_dev): Supply status_change.
11951 * bus/usb/usb.c (attach_hooks): New var.
11952 (grub_usb_device_attach): New function.
11953 (grub_usb_register_attach_hook_class): Likewise.
11954 (grub_usb_unregister_attach_hook_class): Likewise.
11955 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11956 (grub_usb_add_hub): Reset connection changed bit.
11957 (attach_root_port): New function.
11958 (grub_usb_root_hub): Likewise.
11959 (poll_nonroot_hub): Likewise.
11960 (grub_usb_poll_devices): Likewise.
11961 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11962 * disk/usbms.c (grub_usbms_open): Use device hooks.
11963 (grub_usbms_iterate) :Poll devices.
11964 (grub_usbms_finddevs): Split into ...
11965 (grub_usbms_attach): ... this ...
11966 (grub_usbms_attach): ... and this.
11967 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11968 in detect_dev.
11969 (grub_usb_interface): New fields attached and detach_hook.
11970 (grub_usb_attach_hook_class): New type.
11971 (grub_usb_attach_desc): New struct.
11972 (grub_usb_register_attach_hook_class): New function.
11973 (grub_usb_unregister_attach_hook_class): Likewise.
11974 (grub_usb_poll_devices): Likewise.
11975 (grub_usb_device_attach): Likewise.
11976 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11977 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11978
11979 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11982 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11983 delta determination style. Works with most NetBSD partitions too.
11984
11985 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11988 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11989
11990 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11993
11994 2010-07-14 Anton Blanchard <anton@samba.org>
11995
11996 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11997 ET_DYN files.
11998
11999 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12000
12001 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12002
12003 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12004
12005 * kern/partition.c (grub_partition_check_containment): New function to
12006 check that a partition is physically contained in a parent. Since
12007 offsets are relative (and non-negative), this reduces to checking that
12008 the partition ends before its parent.
12009 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12010 (grub_partition_iterate): Likewise.
12011 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12012 comments.
12013 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12014 partitions that start before their parent, and add debug printfs.
12015
12016 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
12017
12018 * Makefile.in (.SUFFIX): Spell correctly, as ...
12019 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12020 bare module name without `.mod', e.g. `test') tried to invoke a
12021 Modula-2 compiler.
12022
12023 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
12024
12025 * README: Point to the Info manual.
12026
12027 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
12028
12029 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12030 2nd superblock position from partition size.
12031
12032 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
12033
12034 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12035 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12036 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12037 outputs.
12038
12039 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 Restructure SCSI .id handling.
12042 Reported and tested by: Aleš Nesrsta.
12043
12044 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12045 (grub_atapi_dev): Changed .name to "ata". New field .id.
12046 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12047 (grub_usbms_dev): New field .id.
12048 * disk/scsi.c (grub_scsi_iterate): Generate name.
12049 (grub_scsi_open): Parse name.
12050 * include/grub/scsi.h (grub_make_scsi_id): New function.
12051 (grub_scsi_dev): Change iterate and open to number instead of naming
12052 busses. All users updated.
12053 (grub_scsi): Remove name. Add .bus.
12054
12055 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * commands/help.c (grub_cmd_help): Fix a typo.
12058
12059 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12062 Reported and tested by: Colin Watson.
12063
12064 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12067 in this context.
12068
12069 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12072
12073 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
12074
12075 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12076 indentation.
12077
12078 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12079
12080 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12081 and disk/raid6_recover.c.
12082 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12083 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12084
12085 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12086
12087 * term/gfxterm.c (repaint_schedulded): Rename to ...
12088 (repaint_scheduled): ... this. Update all callers.
12089 (repaint_was_schedulded): Rename to ...
12090 (repaint_was_scheduled): ... this. Update all callers.
12091
12092 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12093
12094 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12095 which we expect to be handled by upper layers.
12096
12097 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12098
12099 * bus/usb/usbhub.c: #include time.h header.
12100
12101 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12102
12103 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12104 entry_name also for entries without stat blocks (e.g. ".."); fixes
12105 corruption of the first entry in a directory.
12106
12107 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12108
12109 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12110 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12111 doesn't work otherwise.
12112
12113 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12114
12115 * docs/grub.texi (Features): Update list of supported file systems.
12116 (GNU/Linux): Update for GRUB 2.
12117 (Serial terminal): Remove mention of --disable-serial, which was a
12118 GRUB Legacy configure option. Update instructions to use
12119 `terminal_input' and `terminal_output' rather than `terminal'.
12120 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12121 configuration' and `Installing GRUB using grub-install'.
12122 (Menu entry editor): Update for GRUB 2.
12123 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12124 Document new -a, -u, and -v options.
12125 (initrd): New section.
12126 (initrd16): New section.
12127 (linux): New section.
12128 (linux16): New section.
12129 (search): The `var' argument to `--set' is optional.
12130 (GRUB only offers a rescue shell): Go into a little more detail on
12131 drive ordering.
12132
12133 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12134
12135 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12136
12137 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12138
12139 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12140 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12141
12142 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12143
12144 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12145 install_prefix, in line with install_dos_part and install_bsd_part.
12146 Add new prefix variable, which is copied to install_prefix after
12147 comparing core.img in memory with the one read from disk in the
12148 no-embedding case, and use that rather than overwriting
12149 install_prefix immediately when installing to a partition.
12150 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12151 Bicakci.
12152
12153 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12154
12155 * configure.ac: Avoid == in test command, it's not portable.
12156 * util/grub.d/30_os-prober.in: Likewise.
12157
12158 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
12159
12160 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12161
12162 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12163
12164 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12165 multiple (top-level) partmaps.
12166
12167 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * util/i386/efi/grub-install.in: Don't use empty grub_device.
12170 Reported by: Tino Keitel.
12171
12172 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 Bidi and diacritics support.
12175
12176 * Makefile.in (widthspec.bin): New target.
12177 (widthspec.h): Likewise.
12178 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12179 * autogen.sh: Generate unidata.c.
12180 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12181 * commands/ls.c (grub_ls_list_devices): Likewise.
12182 (grub_ls_list_files): Likewise.
12183 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12184 (grub_mini_cmd_lsmod): Likewise.
12185 * commands/read.c: Likewise.
12186 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12187 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12188 * lib/arg.c (grub_arg_show_help): Likewise.
12189 * lib/crypto.c (grub_password_get): Likewise.
12190 * normal/auth.c (grub_username_get): Likewise.
12191 * normal/misc.c (grub_normal_print_device_info): Likewise.
12192 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12193 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12194 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12195 (normal/charset.c_DEPENDENCIES): New variable.
12196 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12197 (pkglib_MODULES): Remove charset.mod.
12198 (charset_mod_SOURCES): Removed.
12199 (charset_mod_CFLAGS): Likewise.
12200 (charset_mod_LDFLAGS): Likewise.
12201 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12202 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12203 and term/tparm.c.
12204 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12205 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12206 (kernel_img_HEADERS): Add terminfo.h.
12207 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12208 Fill ->font. Reverse ascii bitmaps.
12209 (grub_font_get_xheight): New function.
12210 * font/font.c (grub_font_get_string_width): Moved from here ...
12211 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12212 * font/font.c (grub_font_draw_string): Moved from here ...
12213 * gfxmenu/font.c (grub_font_draw_string): ... here.
12214 * font/font.c (grub_font_dup_glyph): New function.
12215 (grub_font_blit_glyph): Likewise.
12216 (grub_font_blit_glyph_mirror): Likewise.
12217 (blit_comb): Likewise.
12218 (grub_font_construct_dry_run): Likewise.
12219 (grub_font_get_constructed_device_width): Likewise.
12220 (grub_font_construct_glyph): Likewise.
12221 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12222 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12223 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12224 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12225 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12226 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12227 (grub_font_get_xheight): New proto.
12228 (grub_font_get_constructed_device_width): Likewise.
12229 (grub_font_construct_glyph): Likewise.
12230 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12231 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12232 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12233 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12234 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12235 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12236 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12237 (grub_console_getcharwidth): Likewise.
12238 * include/grub/misc.h (grub_xputs): New proto.
12239 (grub_puts): Inlined.
12240 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12241 (grub_normal_get_line_counter): Removed.
12242 (grub_install_newline_hook): Likewise.
12243 (grub_normal_get_char_counter): New proto.
12244 (grub_normal_reset_more): Likewise.
12245 (grub_xputs_normal): Likewise.
12246 * include/grub/powerpc/ieee1275/console.h: Removed.
12247 * include/grub/sparc64/ieee1275/console.h: Likewise.
12248 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12249 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12250 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12251 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12252 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12253 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12254 (grub_term_input): Pass reference to self. All users updated.
12255 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12256 Pass reference to self. New fields normal_color, highlight_color and
12257 data. All users updated.
12258 (grub_putchar): Removed.
12259 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12260 (grub_unicode_estimate_width): New function.
12261 (grub_term_getcharwidth): Add defaults.
12262 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12263 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12264 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12265 (grub_cls): Remove EXPORT_FUNC.
12266 (grub_setcolorstate): Inline.
12267 (grub_newline_hook): Removed.
12268 * include/grub/terminfo.h: Rewritten. All users updated.
12269 * include/grub/unicode.h: New file.
12270 * include/grub/video.h (grub_video_signed_rect): New type.
12271 * kern/emu/console.c (grub_console_highlight_color): Removed.
12272 (grub_console_normal_color): Likewise.
12273 (grub_console_standard_color): Made static.
12274 (grub_ncurses_putchar): Remove mapping.
12275 (grub_ncurses_getcharwidth): Removed.
12276 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12277 (grub_ncurses_setcolor): Removed.
12278 (grub_ncurses_getcolor): Likewise.
12279 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12280 (grub_console_putchar): ... this.
12281 (grub_console_putchar): Handle argument difference.
12282 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12283 console_init_early and console_init_lately.
12284 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12285 * kern/misc.c (grub_puts): Removed.
12286 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12287 (grub_vsnprintf_real): Remove str = NULL support.
12288 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12289 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12290 * kern/term.c (grub_putcode): Renamed to ...
12291 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12292 (grub_putchar): Removed.
12293 (grub_xputs_dumb): New function.
12294 (grub_xputs): New variable.
12295 * lib/charset.c: Move from here ...
12296 * normal/charset.c: ... to here.
12297 (grub_ucs4_to_utf8): New function.
12298 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12299 (join_types): New variable.
12300 (unpack_join): New function.
12301 (bidi_types): New variable.
12302 (unpack_bidi): New function.
12303 (get_bidi_type): Likewise.
12304 (get_join_type): Likewise.
12305 (is_mirrored): Likewise.
12306 (grub_unicode_get_comb_type): Likewise.
12307 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12308 (is_type_after): Likewise.
12309 (grub_unicode_aglomerate_comb): Likewise.
12310 (bidi_line_wrap): Likewise.
12311 (grub_bidi_line_logical_to_visual): Likewise.
12312 (grub_bidi_logical_to_visual): Likewise.
12313 (grub_unicode_mirror_code): Likewise.
12314 (grub_unicode_shape_code): Likewise.
12315 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12316 Don't use grub_putchar.
12317 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12318 (grub_normal_reader_init): Likewise.
12319 (grub_xputs_saved): New variable.
12320 (GRUB_MOD_INIT): Set grub_xputs.
12321 (GRUB_MOD_FINI): Restore grub_xputs.
12322 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12323 (menu_init): Avoid printing gfxmenu error.
12324 (show_menu): Use grub_normal_get_char_counter.
12325 * normal/menu_entry.c (update_screen): Fix out-of-array.
12326 (complete): Avoid NULL dereferencing.
12327 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12328 * normal/menu_text.c (print_spaces): Removed.
12329 (grub_print_ucs4): Likewise.
12330 (grub_print_message_indented): Use grub_print_ucs4.
12331 (print_message): Use grub_putcode.
12332 (print_entry): Hanlde diacritics.
12333 * normal/term.c (term_state): New type.
12334 (grub_more_lines): Removed.
12335 (term_states): New variable.
12336 (grub_normal_line_counter): Renamed to ..
12337 (grub_normal_char_counter): ...this. All users updated.
12338 (grub_normal_get_line_counter): Renamed to ...
12339 (grub_normal_get_char_counter): ... this.
12340 (grub_normal_reset_more): New function.
12341 (process_newline): Removed.
12342 (print_more): New function.
12343 (grub_install_newline_hook): Removed.
12344 (map_code): New function.
12345 (grub_puts_terminal): Use grub_print_ucs4.
12346 (putglyph): New function.
12347 (putcode_real): Likewise.
12348 (grub_putcode): Use putcode_real.
12349 (get_maxwidth): New function.
12350 (get_startwidth): Likewise.
12351 (print_ucs4_terminal): Likewise.
12352 (find_term_state): Likewise.
12353 (put_glyphs_terminal): Likewise.
12354 (print_backlog): Likewise.
12355 (print_ucs4_real): Likewise.
12356 (grub_print_ucs4): Likewise.
12357 (grub_xputs_normal): Likewise.
12358 * term/efi/console.c (grub_console_putchar): Output diacritics.
12359 (grub_console_getcharwidth): Removed.
12360 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12361 * term/gfxterm.c (clear_char): Free chars.
12362 (scroll_up): Avoid leaking memory.
12363 (grub_gfxterm_putchar): Support diacritics.
12364 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12365 * term/i386/pc/console.c (grub_console_term_output): Declare as
12366 GRUB_TERM_CODE_TYPE_VGA.
12367 * term/i386/pc/vga.c (grub_vga_term): Declare as
12368 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12369 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12370 GRUB_TERM_CODE_TYPE_VGA.
12371 * term/i386/vga_common.c (map_char): Removed.
12372 (grub_console_putchar): Likewise.
12373 (grub_console_getcharwidth): Likewise.
12374 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12375 (colors): Reordered to match terminfo.
12376 (grub_ofconsole_normal_color): Removed.
12377 (grub_ofconsole_writeesc): Likewise.
12378 (grub_ofconsole_highlight_color): Likewise.
12379 (grub_ofconsole_getcharwidth): Likewise.
12380 (grub_ofconsole_setcolorstate): Likewise.
12381 (grub_ofconsole_setcolor): Likewise.
12382 (grub_ofconsole_getcolor): Likewise.
12383 (grub_ofconsole_readkey): Renamed to ...
12384 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12385 key.
12386 (grub_ofconsole_checkkey): Removed.
12387 (grub_ofconsole_getkey): Likewise.
12388 (grub_ofconsole_getxy): Likewise.
12389 (grub_ofconsole_gotoxy): Likewise.
12390 (grub_ofconsole_cls): Likewise.
12391 (grub_ofconsole_refresh): Likewise.
12392 (grub_ofconsole_terminfo_input): New struct.
12393 (grub_ofconsole_terminfo_output): Likewise.
12394 (grub_ofconsole_term_input): Use terminfo.
12395 (grub_ofconsole_term_output): Likewise.
12396 (grub_console_init): Split into ...
12397 (grub_console_init_early): ...this and ...
12398 (grub_console_init_lately): ...this. Use terminfo.
12399 (grub_ofconsole_putchar): Renamed to ...
12400 (put): ... this. Remove mapping.
12401 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12402 * term/serial.c: Simplify using terminfo.
12403 (xpos): Removed.
12404 (ypos): Likewise.
12405 (keep_track): Likewise.
12406 (registered): Likewise.
12407 (input_buf): Likewise.
12408 (npending): Likewise.
12409 (serial_translate_key_sequence): Likewise.
12410 (fill_input_buf): Likewise.
12411 (grub_serial_checkkey): Likewise.
12412 (grub_serial_getkey): Likewise.
12413 (grub_serial_getxy): Likewise.
12414 (grub_serial_gotoxy): Likewise.
12415 (grub_serial_putchar): Likewise.
12416 (grub_serial_cls): Likewise.
12417 (grub_serial_setcolorstate): Likewise.
12418 (grub_serial_setcursor): Likewise.
12419 (serial_hw_init): Use serial_hw_fetch.
12420 (grub_serial_terminfo_input): New variable.
12421 (grub_serial_terminfo_output): Likewise.
12422 (grub_serial_term_input): Use terminfo.
12423 (grub_serial_term_output): Likewise.
12424 * term/terminfo.c (putstr): Use put.
12425 (grub_terminfo_all_free): New function
12426 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12427 (grub_terminfo_output_register): New function.
12428 (grub_terminfo_output_unregister): Likewise.
12429 (grub_terminfo_getxy): Likewise.
12430 (grub_terminfo_readkey): Likewise.
12431 (grub_terminfo_checkkey): Likewise.
12432 (grub_terminfo_getkey): Likewise.
12433 (grub_terminfo_input_init): Likewise.
12434 (print_terminfo): Likewise.
12435 (grub_cmd_terminfo): Handle encoding.
12436 (grub_terminfo_gotoxy): Track position.
12437 (grub_terminfo_cls): Likewise.
12438 (grub_terminfo_putchar): Likewise.
12439 (grub_terminfo_setcolorstate): Handle colors
12440 (grub_terminfo_cursor_on): This ...
12441 (grub_terminfo_cursor_off): ... and this merged into ...
12442 (grub_terminfo_setcursor): ... this.
12443 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12444 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12445 * unicode/BidiMirroring.txt: Likewise.
12446 * unicode/UnicodeData.txt: Likewise.
12447 * unicode/COPYING: Likewise.
12448 * util/grub-editenv.c (grub_putchar): Removed.
12449 (grub_xputs_real): New function.
12450 (grub_xputs): New variable.
12451 * util/grub-fstest.c (grub_putchar): Removed.
12452 (grub_xputs_real): New function.
12453 (grub_xputs): New variable.
12454 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12455 (grub_xputs_real): New function.
12456 (grub_xputs): New variable.
12457 * util/grub-probe.c (grub_putchar): Removed.
12458 (grub_xputs_real): New function.
12459 (grub_xputs): New variable.
12460 * util/grub-script-check.c (grub_putchar): Removed.
12461 (grub_xputs_real): New function.
12462 (grub_xputs): New variable.
12463 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12464 (grub_xputs_real): New function.
12465 (grub_xputs): New variable.
12466 * util/import_unicode.py: New file.
12467 * util/grub-mkfont.c (ft_errmsgs): New array.
12468 (grub_glyph_info): Make bitmap a pointer.
12469 (file_formats): New type WIDTH_SPEC.
12470 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12471 (options): Add width-spec.
12472 (help): Likewise.
12473 (add_char): Renamed to ...
12474 (add_glyph): ... this.
12475 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12476 (glyph_replace): New type.
12477 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12478 (add_char): New function.
12479 (add_subst): Likewise.
12480 (process_cursive): Likewise.
12481 (add_font): Handle GSUB.
12482 (write_font_width_spec): New function.
12483 (main): Sort glyphs.
12484 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12485 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12486 * kern/term.c (grub_cls): Moved from here...
12487 * normal/term.c (grub_cls): ... here.
12488
12489 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12490
12491 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12492 suitable for using within the format argument of printf when
12493 converting grub_size_t.
12494 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12495 "x" to convert grub_size_t arguments.
12496
12497 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12500 too long captions.
12501 (list_get_minimal_size): Take selection box into account.
12502
12503 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12506 NULL font.
12507
12508 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12509
12510 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12511 devices when iterating over /dev/disk/by-id; they will be handled
12512 later if appropriate, which they aren't always (e.g. LVM).
12513
12514 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12515
12516 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12517 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12518 fails.
12519 (grub_halt): Likewise.
12520 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12521 reset-all fails.
12522 (grub_halt): Don't return, even if all of shut-down, power-off, and
12523 poweroff fail.
12524
12525 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12526
12527 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12528 arguments, not three.
12529
12530 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12531
12532 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12533 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12534 LVM-on-RAID is handled correctly.
12535
12536 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12537
12538 * docs/grub.texi (Changes from GRUB Legacy): New section.
12539 (Future): Fix typo.
12540
12541 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12542
12543 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12544 grub.d/README accidentally ends up executable for one reason or
12545 another. Ignore it.
12546
12547 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12550 (gpt_partition_map_iterate): Support non-512B sectors.
12551
12552 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12555 Tested by: Seth Goldberg.
12556
12557 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12560 Properly align mbi.
12561 Reported by: Seth Goldberg.
12562
12563 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * util/grub-mkrescue.in: Avoid module duplication.
12566
12567 2010-07-01 Sean Finney <seanius@seanius.net>
12568
12569 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12570
12571 2010-07-01 Sean Finney <seanius@seanius.net>
12572
12573 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12574
12575 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * disk/lvm.c (grub_lvm_checkvalue): New function.
12578 (grub_lvm_check_flag): Likewise.
12579
12580 2010-07-01 Robert Millan <rmh@gnu.org>
12581
12582 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12583 Support 'p' as partition separator on kernel of FreeBSD (used
12584 with GPT labels).
12585 (grub_util_biosdisk_get_grub_dev): Likewise.
12586
12587 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 Yeeloong firmware port.
12590
12591 * boot/mips/yeeloong/fwstart.S: New file.
12592 * bus/cs5536.c (gpiodump): New const.
12593 (set_io_space): New function.
12594 (set_iod): Likewise.
12595 (set_p2d): Likewise.
12596 (grub_cs5536_init_geode): Likewise.
12597 * commands/mips/yeeloong/lsspd.c: New file.
12598 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12599 (serial_mod_SOURCES): New variable.
12600 (serial_mod_CFLAGS): Likewise.
12601 (serial_mod_LDFLAGS): Likewise.
12602 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12603 term/terminfo.c and term/tparm.c.
12604 (pkglib_IMAGES): Add fwstart.img.
12605 (fwstart_img_SOURCES): New variable.
12606 (fwstart_img_CFLAGS): Likewise.
12607 (fwstart_img_ASFLAGS): Likewise.
12608 (fwstart_img_LDFLAGS): Likewise.
12609 (fwstart_img_FORMAT): Likewise.
12610 (pkglib_MODULES): Add lsspd.mod.
12611 (lsspd_mod_SOURCES): New variable.
12612 (lsspd_mod_CFLAGS): Likewise.
12613 (lsspd_mod_LDFLAGS): Likewise.
12614 (pkglib_MODULES): Add halt.mod.
12615 (halt_mod_SOURCES): New variable.
12616 (halt_mod_CFLAGS): Likewise.
12617 (halt_mod_LDFLAGS): Likewise.
12618 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12619 (serial_mod_SOURCES): Removed.
12620 (serial_mod_CFLAGS): Likewise.
12621 (serial_mod_LDFLAGS): Likewise.
12622 * disk/ata.c (check_device): New function.
12623 (grub_ata_device_initialize): Use check_device.
12624 (grub_ata_iterate): Recheck devices.
12625 (grub_ata_open): Likewise.
12626 (grub_atapi_iterate): Likewise.
12627 (grub_atapi_open): Likewise.
12628 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12629 (GRUB_ATA_CH1_PORT1): Likewise.
12630 (GRUB_ATA_CH0_PORT2): Likewise.
12631 (GRUB_ATA_CH1_PORT2): Likewise.
12632 * include/grub/mips/loongson.h: New file.
12633 * include/grub/mips/yeeloong/ec.h: Likewise.
12634 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12635 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12636 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12637 * include/grub/misc.h (grub_halt): Declare as noreturn.
12638 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12639 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12640 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12641 (UART_ENABLE_DTRRTS): Likewise.
12642 (UART_ENABLE_MODEM): Removed.
12643 (UART_ENABLE_OUT2): New const.
12644 * include/grub/term.h (grub_term_register_input_active): New function.
12645 (grub_term_register_output_active): Likewise.
12646 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12647 argument.
12648 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12649 (init_pci): New function.
12650 (grub_machine_init): Execute platform init when firmware. Init serial.
12651 (grub_halt): Implement.
12652 (grub_exit): Likewise.
12653 (grub_reboot): Likewise.
12654 * term/serial.c (serial_hw_init): Update macros.
12655 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12656 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12657 (image_targets): New target mipsel-yeeloong-flash.
12658 (generate_image): Support IMAGE_YEELOONG_FLASH.
12659 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12660 (grub_video_sm712_setup): Init card.
12661 (grub_video_sm712_set_palette): Removed.
12662 * video/sm712_init.c: New file.
12663
12664 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12665
12666 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12667 PATH when running help2man and then run it on the unadorned
12668 executable names, rather than passing $(builddir)/* paths to
12669 help2man. This avoids the build directory ending up in generated
12670 manual pages.
12671
12672 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12673
12674 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12675 to avoid accidents when debugging with 'sh -x'.
12676 * util/grub-mkrescue.in: Likewise.
12677 * util/grub.d/00_header.in: Likewise.
12678 * util/grub.d/10_hurd.in: Likewise.
12679 * util/grub.d/10_kfreebsd.in: Likewise.
12680 * util/grub.d/10_linux.in: Likewise.
12681 * util/grub.d/10_netbsd.in: Likewise.
12682 * util/grub.d/10_windows.in: Likewise.
12683 * util/grub.d/20_linux_xen.in: Likewise.
12684 * util/grub.d/30_os-prober.in: Likewise.
12685 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12686
12687 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12688
12689 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12690 last character in the buffer.
12691 Reported by: Vladimir Serbinenko.
12692
12693 2010-06-29 Robert Millan <rmh@gnu.org>
12694
12695 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12696 (Command-line and menu entry commands): Document `badram' command.
12697
12698 2010-06-28 Robert Millan <rmh@gnu.org>
12699
12700 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12701 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12702 command using ${GRUB_BADRAM} as parameter.
12703
12704 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12705
12706 * docs/grub.texi (Device map): New section.
12707 (Themes): New section (stub).
12708 * Makefile.in (docs/grub.info): The info documentation now builds
12709 without errors. Make sure it stays that way.
12710
12711 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 Use normal parser for menu entries.
12714 Reported by: Thomas Frauendorfer
12715
12716 * include/grub/parser.h (grub_parser_execute): Don't export.
12717 * normal/menu.c (grub_menu_execute_entry_real): New function.
12718 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12719
12720 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12721
12722 * docs/grub.texi (Embedded configuration): New section (replacing
12723 old "Preset Menu" stub).
12724 (Images): New section.
12725 (configfile): Note that any menu entries defined in `file' are shown
12726 immediately.
12727
12728 2010-06-28 Josh Triplett <josh@joshtriplett.org>
12729
12730 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12731
12732 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12733
12734 * util/grub-install.in: Add --debug-image= option.
12735
12736 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12737
12738 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12739 possible on Linux.
12740
12741 * util/deviceiter.c (check_device): Rename to ...
12742 (check_device_readable_unique): ... this. Update all callers.
12743 Maintain and check a list of which devices (by canonicalized name)
12744 have already been seen.
12745 (clear_seen_devices): New function.
12746 (compare_file_names) [__linux__]: New function.
12747 (grub_util_iterate_devices): Clear the list of seen devices on exit
12748 and (just in case) on entry.
12749 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12750 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12751 seen-devices list, superseded by general code in check_device.
12752
12753 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12754
12755 * commands/cat.c (options): New variable.
12756 (grub_cmd_cat): Parse options. If the --dos option is given, print
12757 DOS-style "\r\n" line endings as simple newlines (Debian bug
12758 #586358).
12759 (GRUB_MOD_INIT): Use extcmd.
12760 (GRUB_MOD_FINI): Likewise.
12761 * docs/grub.texi (cat): Document --dos.
12762
12763 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 XEN with Linux grub-mkconfig support.
12766
12767 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12768 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12769 GRUB_CMDLINE_XEN_DEFAULT.
12770 * util/grub.d/20_linux_xen.in: New file.
12771
12772 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 Initialise VGA video on qemu ourselves.
12775
12776 * boot/i386/qemu/boot.S: Don't call 0xc000.
12777 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12778 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12779 (kernel_img_HEADERS): Add pci.h.
12780 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12781 * configure.ac: Force unifont on qemu and yeeloong.
12782 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12783 (grub_vga_palette_write): Use correct register.
12784 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12785 Call grub_qemu_init_cirrus.
12786 * kern/i386/qemu/init.c: New file.
12787 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12788
12789 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12790
12791 2010-06-26 Pavel Roskin <proski@gnu.org>
12792
12793 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12794 13.
12795
12796 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12797
12798 * docs/grub.texi (Simple configuration): Explain that
12799 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12800 set to `true' to disable their respective recovery entries, not
12801 merely set.
12802
12803 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12804
12805 Make the `source' command slightly faster.
12806
12807 * normal/main.c (grub_normal_execute): Don't re-read list files when
12808 nested.
12809
12810 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12811
12812 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12813 field position and mask size to red fields from mode_info, not
12814 green.
12815 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12816 Remove redundant tag->common.framebuffer_type assignment.
12817 Reported by: Seth Goldberg.
12818
12819 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12820
12821 Sync up other versions of the Linux loader with Robert Millan's
12822 change of 2010-01-09, "Make loader output a bit more user-friendly".
12823
12824 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12825 grub_dprintf().
12826 (grub_cmd_linux): Likewise.
12827 (grub_cmd_initrd): Likewise.
12828 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12829 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12830
12831 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
12832
12833 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12834 larger than MEMORY_MAP_SIZE.
12835
12836 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12837
12838 Fix parallel build.
12839
12840 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12841 dependency.
12842 * script/parser.y: #include grub_script.tab.h header.
12843
12844 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 Support >3GiB and <16MiB RAM in i386-qemu.
12847
12848 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12849 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12850 (grub_lower_mem): Removed.
12851 (grub_upper_mem): Likewise.
12852 (mem_size): Made static.
12853 (above_4g): New variable.
12854 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12855 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12856 support.
12857
12858 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 Cirrus 5446 and Bochs video cards support.
12861
12862 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12863 video_bochs.mod
12864 (video_cirrus_mod_SOURCES): New variable.
12865 (video_cirrus_mod_CFLAGS): Likewise.
12866 (video_cirrus_mod_LDFLAGS): Likewise.
12867 (video_bochs_mod_SOURCES): Likewise.
12868 (video_bochs_mod_CFLAGS): Likewise.
12869 (video_bochs_mod_LDFLAGS): Likewise.
12870 * include/grub/vga.h: New file.
12871 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12872 (grub_video_fb_set_page_t): New type.
12873 (grub_video_fb_setup): New prototype.
12874 (grub_video_fb_swap_buffers): Likewise.
12875 (grub_video_fb_get_info_and_fini): Likewise.
12876 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12877 (CRTC_DATA_PORT): Likewise.
12878 (CRTC_CURSOR): Likewise.
12879 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12880 (CRTC_CURSOR_ADDR_LOW): Likewise.
12881 (CRTC_CURSOR_DISABLE): Likewise.
12882 (update_cursor): Use grub_vga_cr_write.
12883 (grub_vga_text_setcursor): Likewise.
12884 * video/bochs.c: New file.
12885 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12886 (palette): Likewise.
12887 (palette_size): Likewise.
12888 (framebuffer): New variable.
12889 (grub_video_fb_init): Use 'framebuffer'.
12890 (grub_video_fb_fini): Likewise.
12891 (grub_video_fb_get_info): Likewise.
12892 (grub_video_fb_get_palette): Likewise.
12893 (grub_video_fb_set_palette): Likewise.
12894 (grub_video_fb_set_viewport): Likewise.
12895 (grub_video_fb_get_viewport): Likewise.
12896 (grub_video_fb_map_color): Likewise.
12897 (grub_video_fb_map_rgb): Likewise.
12898 (grub_video_fb_map_rgba): Likewise.
12899 (grub_video_fb_unmap_color): Likewise.
12900 (grub_video_fb_unmap_color_int): Likewise.
12901 (grub_video_fb_fill_rect): Likewise.
12902 (grub_video_fb_blit_bitmap): Likewise.
12903 (grub_video_fb_blit_render_target): Likewise.
12904 (grub_video_fb_scroll): Likewise.
12905 (grub_video_fb_create_render_target): Likewise.
12906 (grub_video_fb_doublebuf_blit_init): Likewise.
12907 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12908 (doublebuf_pageflipping_update_screen): New function.
12909 (doublebuf_pageflipping_init): Likewise.
12910 (grub_video_fb_setup): Likewise.
12911 (grub_video_fb_swap_buffers): Likewise.
12912 (grub_video_fb_get_info_and_fini): Likewise.
12913 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12914 All users updated.
12915 (doublebuf_pageflipping_commit): Restructured into ...
12916 (doublebuf_pageflipping_set_page): ... this.
12917 (doublebuf_pageflipping_update_screen): Removed.
12918 (doublebuf_pageflipping_init): Likewise.
12919 (double_buffering_init): Likewise.
12920 (grub_video_vbe_setup): Use grub_video_fb_setup.
12921 (grub_video_vbe_swap_buffers): Removed.
12922 (grub_video_vbe_set_active_render_target): Likewise.
12923 (grub_video_vbe_get_active_render_target): Likewise.
12924 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12925 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12926 grub_video_fb_set_active_render_target and
12927 grub_video_fb_get_active_render_target.
12928 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12929 (SEQUENCER_DATA_PORT): Likewise.
12930 (MAP_MASK_REGISTER): Likewise.
12931 (CRTC_ADDR_PORT): Likewise.
12932 (CRTC_DATA_PORT): Likewise.
12933 (START_ADDR_HIGH_REGISTER): Likewise.
12934 (START_ADDR_LOW_REGISTER): Likewise.
12935 (GRAPHICS_ADDR_PORT): Likewise.
12936 (GRAPHICS_DATA_PORT): Likewise.
12937 (READ_MAP_REGISTER): Likewise.
12938 (INPUT_STATUS1_REGISTER): Likewise.
12939 (INPUT_STATUS1_VERTR_BIT): Likewise.
12940 (get_map_mask): Use grub_vga_sr_read.
12941 (set_map_mask): Use grub_vga_sr_write.
12942 (set_read_map): Use grub_vga_gr_write.
12943 (set_start_address): Use grub_vga_cr_write.
12944 * video/sm712.c (framebuffer): Remove leftover fields.
12945
12946 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
12947
12948 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12949 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12950 instead. Replace the gfxterm backend check with a check that
12951 ${GRUB_PREFIX}/video.lst is non-empty.
12952 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12953 again.
12954 (load_video): New generated function. Call it before loading
12955 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12956 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12957 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12958 * docs/grub.texi (Simple configuration): Document
12959 GRUB_VIDEO_BACKEND.
12960
12961 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 Use video functions in linux and xnu loaders.
12964
12965 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12966 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12967 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12968 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12969 loader/i386/pc/linux.c.
12970 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12971 (find_line_len): Removed.
12972 (find_framebuf): Likewise.
12973 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12974 * loader/i386/efi/xnu.c: Removed.
12975 * loader/i386/pc/xnu.c: Moved from here...
12976 * loader/i386/xnu.c: ...here.
12977
12978 Enable priorities in video drivers.
12979
12980 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12981 (grub_video_adapter): New field prio.
12982 (grub_video_register): Respect prio when inserting.
12983 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12984 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12985 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12986 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12987 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12988 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12989 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12990
12991 Fix SDL driver ID.
12992
12993 * include/grub/video.h (grub_video_driver_id_t): New value
12994 GRUB_VIDEO_DRIVER_SDL.
12995 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12996
12997 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12998
12999 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13000 argument to printf.
13001 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13002
13003 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13004
13005 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13006 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13007
13008 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13009
13010 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13011 directly, and recommend grub-install instead.
13012 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13013
13014 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13015
13016 Fix i386-pc prefix handling with nested partitions (Debian bug
13017 #585068). Note that the case where the core image is booted using
13018 multiboot and relocated from its original location still requires
13019 more work.
13020
13021 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13022 with "(,", fill the boot drive in between those two characters, but
13023 expect that a full partition specification including partition map
13024 names will follow.
13025 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13026 specified, write a prefix without the drive name but including a
13027 full partition specification.
13028
13029 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
13030
13031 * util/grub-mkconfig.in: Ignore non-option arguments, for
13032 compatibility with older versions (before 2010-06-12) which did the
13033 same. In particular, this makes it easier to ship an update-grub
13034 wrapper which is compatible with that used with GRUB Legacy (Debian
13035 bug #586056).
13036
13037 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13038
13039 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13040 for manual page generation.
13041
13042 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13043
13044 * po/POTFILES: Remove leftover commands/handler.c.
13045
13046 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
13047
13048 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13049 left this script non-functional.
13050
13051 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
13052
13053 * docs/man/grub-emu.h2m: New file.
13054
13055 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
13056
13057 * docs/grub.texi (Commands): Document reduced command set in rescue
13058 mode.
13059 (cpuid): New section.
13060
13061 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13062
13063 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13064 new partition naming style.
13065 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13066
13067 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13068
13069 Add "-o grub.iso" like cmdline options support.
13070
13071 * util/grub-install.in: Improve cmdline option parsing.
13072 * util/grub-mkconfig.in: Likewise.
13073 * util/grub-mkrescue.in: Likewise.
13074 * util/grub-reboot.in: Likewise.
13075 * util/grub-set-default.in: Likewise.
13076 * util/i386/efi/grub-install.in: Likewise.
13077 * util/ieee1275/grub-install.in: Likewise.
13078 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13079
13080 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13081
13082 * .bzrignore: Ignore 41_custom.
13083
13084 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13085
13086 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13087
13088 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13089
13090 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13091 prototype declarations.
13092
13093 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13094 generating fs, partmap, and video lists.
13095 * include/grub/fs.h (grub_fs_register): Omit prototype if
13096 GRUB_LST_GENERATOR is defined.
13097 * include/grub/partition.h (grub_partition_map_register): Likewise.
13098 * include/grub/video.h (grub_video_register): Likewise.
13099
13100 2010-06-12 Javier Martín <lordhabbit@gmail.com>
13101
13102 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13103
13104 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13105
13106 * util/grub-mkrescue.in: Support --xorriso argument.
13107
13108 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13109
13110 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13111 Suggested by: Thomas Schmitt.
13112
13113 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13116 Suggested by: Thomas Schmitt.
13117
13118 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 custom.cfg support.
13121
13122 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13123 * util/grub.d/41_custom.in: New file.
13124
13125 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13126
13127 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13128 been merged back into normal.
13129
13130 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
13131
13132 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13133 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13134
13135 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
13136
13137 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13138 when generating manual pages.
13139 * docs/man/grub-bin2h.h2m: New file.
13140 * docs/man/grub-editenv.h2m: New file.
13141 * docs/man/grub-fstest.h2m: New file.
13142 * docs/man/grub-install.h2m: New file.
13143 * docs/man/grub-macho2img.h2m: New file.
13144 * docs/man/grub-mkconfig.h2m: New file.
13145 * docs/man/grub-mkdevicemap.h2m: New file.
13146 * docs/man/grub-mkfont.h2m: New file.
13147 * docs/man/grub-mkimage.h2m: New file.
13148 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13149 * docs/man/grub-mkrelpath.h2m: New file.
13150 * docs/man/grub-mkrescue.h2m: New file.
13151 * docs/man/grub-ofpathname.h2m: New file.
13152 * docs/man/grub-pe2elf.h2m: New file.
13153 * docs/man/grub-probe.h2m: New file.
13154 * docs/man/grub-reboot.h2m: New file.
13155 * docs/man/grub-script-check.h2m: New file.
13156 * docs/man/grub-set-default.h2m: New file.
13157 * docs/man/grub-setup.h2m: New file.
13158
13159 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 Use FOR_* macros instead of *_iterate whenever possible.
13162
13163 * commands/handler.c: Removed.
13164 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13165 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13166 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13167 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13168 (grub_probe_SOURCES): Remove kern/parser.c.
13169 (util/grub-script-check.c_DEPENDENCIES): Removed.
13170 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13171 and grub_script_check_init.c.
13172 (grub_script_check_init.lst): Removed.
13173 (grub_script_check_init.h): Likewise.
13174 (grub_script_check_init.c): Likewise.
13175 (pkglib_MODULES): Remove handler.mod and sh.mod.
13176 (handler_mod_SOURCES): Removed.
13177 (handler_mod_CFLAGS): Likewise.
13178 (handler_mod_LDFLAGS): Likewise.
13179 (normal_mod_SOURCES): Remove normal/handler.c.
13180 Add script/main.c, script/script.c, script/execute.c,
13181 script/function.c, script/lexer.c, grub_script.tab.c
13182 and grub_script.yy.c.
13183 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13184 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13185 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13186 (grub_setup_SOURCES): Remove kern/parser.c.
13187 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13188 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13189 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13190 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13191 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13192 (grub_setup_SOURCES): Remove kern/parser.c.
13193 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13194 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13195 * include/grub/command.h (grub_command_iterate): Removed.
13196 (FOR_COMMANDS): New macro.
13197 * include/grub/dl.h (grub_dl): New member next.
13198 (grub_dl_iterate): Removed.
13199 (grub_dl_head): New variable declaration.
13200 (FOR_DL_MODULES): New macro.
13201 * include/grub/fs.h: Include list.h.
13202 (grub_fs): Make next first element.
13203 (grub_fs_list): New variable declaration.
13204 (grub_fs_register): Make inline.
13205 (grub_fs_unregister): Likewise.
13206 (grub_fs_iterate): Removed.
13207 (FOR_FILESYSTEMS): New macro.
13208 * include/grub/handler.h: Removed.
13209 * include/grub/list.h (grub_list_hook_t): Removed.
13210 (grub_list_test_t): Likewise.
13211 (grub_list_pop): Likewise.
13212 (grub_list_iterate): Likewise.
13213 (grub_list_insert): Likewise.
13214 (FOR_LIST_ELEMENTS): New macro.
13215 * include/grub/parser.h (grub_parser_class): Removed.
13216 (grub_parser_register): Likewise.
13217 (grub_parser_unregister): Likewise.
13218 (grub_parser_get_current): Likewise.
13219 (grub_parser_set_current): Likewise.
13220 (grub_register_rescue_parser): Likewise.
13221 (grub_rescue_parse_line): New function.
13222 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13223 * include/grub/script_sh.h (grub_script_function_list): New variable
13224 declaration.
13225 (FOR_SCRIPT_FUNCTIONS): New macro.
13226 (grub_script_function_iterate): Removed.
13227 (grub_normal_parse_line): New prototype.
13228 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13229 (FOR_DISABLED_TERM_INPUTS): Likewise.
13230 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13231 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13232 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13233 element.
13234 (grub_video_register): Inline.
13235 (grub_video_unregister): Likewise.
13236 (grub_video_adapter_list): New variable declaration.
13237 (grub_video_iterate): Removed.
13238 (FOR_VIDEO_ADAPTERS): New macro.
13239 * kern/dl.c (grub_dl_list): Removed. All users updated.
13240 (grub_dl_iterate): Removed.
13241 * kern/fs.c (grub_fs_list): Make global.
13242 (grub_fs_register): Removed.
13243 (grub_fs_unregister): Likewise.
13244 (grub_fs_iterate): Likewise.
13245 * kern/handler.c: Removed.
13246 * kern/list.c (grub_list_pop): Removed.
13247 (grub_list_iterate): Likewise.
13248 (grub_list_insert): Likewise.
13249 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13250 (grub_prio_list_insert): Don't use grub_list_insert.
13251 * kern/main.c (grub_register_rescue_parser): Don't call
13252 grub_register_rescue_parser.
13253 * kern/parser.c (grub_parser_class): Removed.
13254 (grub_parser_execute): Use grub_rescue_parse_line.
13255 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13256 (grub_rescue_parser): Removed.
13257 (grub_register_rescue_parser): Likewise.
13258 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13259 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13260 (grub_auth_check_authentication): Likewise.
13261 * normal/completion.c (iterate_command): Removed.
13262 (grub_normal_do_completion): Use FOR_COMMANDS.
13263 * normal/handler.c: Removed.
13264 * normal/main.c (read_config_file): Remove parser changing.
13265 (grub_normal_execute): Don't call read_handler_list.
13266 (grub_normal_read_line_real): Statically allocate prompt.
13267 (grub_cmdline_run): Use grub_normal_parse_line.
13268 (GRUB_MOD_FINI): Don't call free_handler_list.
13269 * normal/menu_entry.c (run): Likewise.
13270 * script/function.c (grub_script_function_list): Make global.
13271 (grub_script_function_iterate): Removed.
13272 * script/main.c (grub_normal_parse_line): Make global.
13273 (grub_sh_parser): Removed.
13274 (GRUB_MOD_INIT): Likewise.
13275 (GRUB_MOD_FINI): Likewise.
13276 * tests/lib/functional_test.c (grub_functional_test): Use
13277 FOR_LIST_ELEMENTS.
13278 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13279 (grub_test_run): Use FOR_LIST_ELEMENTS.
13280 * tests/lib/unit_test.c (main): Likewise.
13281 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13282 grub_list_pop.
13283 * util/grub-fstest.c (grub_term_input_class): Removed.
13284 (grub_term_output_class): Likewise.
13285 * util/grub-probe.c: Likewise.
13286 * util/i386/pc/grub-setup.c: Likewise.
13287 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13288 * util/grub-script-check.c (main): Don't call grub_init_all and
13289 grub_fini_all.
13290 * video/video.c (grub_video_adapter_list): Make global.
13291 (grub_video_register): Removed.
13292 (grub_video_unregister): Likewise.
13293 (grub_video_iterate): Likewise.
13294
13295 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13298 reported by Henrique Ferreiro.
13299
13300 2010-06-09 Robert Millan <rmh@gnu.org>
13301
13302 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13303 ones, when both are available.
13304
13305 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13306
13307 Make --version uniform and avoid hard-coded program name.
13308
13309 * util/grub-mkimage.c (main): Use `program_name' instead of
13310 hard-coded string.
13311 * util/i386/pc/grub-setup.c (main): Likewise.
13312 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13313 * util/grub-install.in: Save the basename of $0 in $self, and use the
13314 latter in informational messages. Use the same format for --version
13315 as the binary programs.
13316 * util/grub-mkconfig.in: Likewise.
13317 * util/grub-mkrescue.in: Likewise.
13318 * util/grub-reboot.in: Likewise.
13319 * util/grub-set-default.in: Likewise.
13320 * util/i386/efi/grub-install.in: Likewise.
13321 * util/ieee1275/grub-install.in: Likewise.
13322 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13323
13324 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13325
13326 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13327 embedding area. Use <= instead of == when checking for non-emptiness.
13328
13329 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13330
13331 * configure.ac: Add `.' to the directories searched for unifont.
13332
13333 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13334
13335 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13336 grub_script.yy.h.
13337
13338 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13339
13340 * docs/grub.texi (History): Expand to cover GRUB 2.
13341 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13342 commands, not `terminal'.
13343 (serial): Likewise.
13344 (terminal_input): New section.
13345 (terminal_output): New section.
13346 (uppermem): New section (stub).
13347 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13348
13349 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13350
13351 * docs/grub.texi (Security): Menu entries are unrestricted by
13352 default, not restricted to superusers as I had previously thought.
13353 Reword to account for this.
13354
13355 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13356
13357 * kern/emu/misc.c (device_mapper_null_log): New function.
13358 (grub_device_mapper_supported): New function.
13359 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13360 prototype.
13361 * kern/emu/hostdisk.c (find_partition_start): Check whether
13362 device-mapper is supported before trying to use it.
13363 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13364
13365 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13366
13367 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13368 (File name syntax): Likewise.
13369 (help): --all is no longer supported in GRUB 2. Be more precise
13370 about pattern matching.
13371
13372 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13373
13374 * normal/completion.c (grub_normal_do_completion): When completing
13375 arguments to "set" and the current word contains an equals sign,
13376 skip to after the equals sign before starting completion.
13377
13378 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13379
13380 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13381
13382 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13383
13384 * docs/grub.texi (Network): New section.
13385 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13386 `(nd)' as in GRUB Legacy.
13387 (pxe_unload): New section.
13388
13389 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13390
13391 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13392 in the rescue shell, so recommend using `set' instead. Thanks,
13393 Jordan Uggla.
13394
13395 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13396
13397 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13398 (password): New section.
13399 (password_pbkdf2): New section.
13400 (search): New section.
13401 (Security): New section.
13402 (Troubleshooting): New section, currently very incomplete.
13403 (Invoking grub-mkpasswd-pbkdf2): New section.
13404 (Internals): New section, currently very incomplete.
13405
13406 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13407
13408 * util/grub.d/00_header.in: Add some more quoting (of
13409 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13410 work again.
13411 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13412
13413 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13414
13415 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13416 to `count', fixing variable shadowing that broke the -c option.
13417
13418 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
13419
13420 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13421 in case they contain spaces.
13422
13423 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13424
13425 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13426 "part_" to partmap module names, in line with grub-install.
13427 Reported by: Jindřich Makovička (Debian bug #584426).
13428
13429 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13430
13431 * util/grub-mkimage.c: Make target-related error messages slightly
13432 more helpful; -O talks about "format". Explicitly point to the use
13433 of -O if no target is specified.
13434 Reported by: Didier Raboud (Debian bug #584415).
13435
13436 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
13437
13438 * INSTALL: Document several build requirements for optional features
13439 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13440
13441 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13442
13443 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13444 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13445 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13446
13447 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13448
13449 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13450 Thanks to Jordan Uggla for spotting this.
13451
13452 2010-06-02 Aleš Nesrsta <starous@volny.cz>
13453
13454 Finally make USB usable.
13455
13456 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13457 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13458 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13459 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13460 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13461 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13462 (GRUB_OHCI_FSMPS): Likewise.
13463 (GRUB_OHCI_PERIODIC_START): Likewise.
13464 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13465 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13466 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13467 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13468 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13469 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13470 (grub_ohci_transaction): Likewise.
13471 (grub_ohci_transfer): Improve condition detection algorithms.
13472 Handle toggle property. Program the transactions correctly.
13473 Improve error handling. Various important fixups.
13474 (grub_ohci_portstatus): Put register writes in right order.
13475 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13476 (grub_uhci_transfer): Don't show "failed" message on success.
13477 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13478 array.
13479 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13480 determine its size.
13481 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13482 before initialization is completed. Use IN direction for empty
13483 transfers. Use last_trans and compute toggle.
13484 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13485 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13486 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13487 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13488 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13489 (grub_usb_device): Increase toggle to 256.
13490 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13491 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13492 GRUB_USBMS_SUBCLASS_SFF8070.
13493 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13494 (grub_scsi_inquiry): New member page and alloc_length.
13495 (grub_scsi_request_sense): New structure.
13496 (grub_scsi_request_sense_data): Likewise.
13497 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13498 control.
13499 * disk/scsi.c (grub_scsi_request_sense): New function.
13500 (grub_scsi_test_unit_ready): Likewise.
13501 (grub_scsi_inquiry): Fill new fields.
13502 (grub_scsi_read_capacity): Likewise.
13503 (grub_scsi_read10): Add request sense at the end.
13504 (grub_scsi_read12): Likewise.
13505 (grub_scsi_write10): Likewise.
13506 (grub_scsi_write12): Likewise.
13507 (grub_scsi_open): Add Test Unit Ready.
13508 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13509 Support additional subclasses. Con't clear halt yet. Activate the
13510 proper config. Calculate LUNs correctly.
13511 (grub_usbms_transfer): Various important fixups.
13512
13513 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13516 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13517 (grub_ohci_fini_hw): New function.
13518 (grub_ohci_restore_hw): Likewise.
13519 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13520 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13521 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13522
13523 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 Dedicated DMA allocations.
13526
13527 * bus/pci.c (grub_memalign_dma32): New function
13528 (grub_dma_free): Likewise.
13529 (grub_dma_get_virt): Likewise.
13530 (grub_dma_get_phys): Likewise.
13531 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13532 (grub_ohci_pci_iter): Use dma32_alloc.
13533 (grub_ohci_transfer): Likewise.
13534 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13535 (grub_usb_bulk_readwrite): Likewise.
13536 * include/grub/pci.h: Add declarations.
13537
13538 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 CS5536 support.
13541
13542 * bus/cs5536.c: New file.
13543 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13544 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13545 (cs5536_mod_SOURCES): New variable.
13546 (cs5536_mod_CFLAGS): Likewise.
13547 (cs5536_mod_LDFLAGS): Likewise.
13548 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13549 machine/pci.h.
13550 (kernel_img_SOURCES): Add bus/cs5536.c.
13551 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13552 usb_keyboard.mod.
13553 (usb_mod_SOURCES): New variable.
13554 (usb_mod_CFLAGS): New variable.
13555 (usb_mod_LDFLAGS): New variable.
13556 (usbtest_mod_SOURCES): New variable.
13557 (usbtest_mod_CFLAGS): New variable.
13558 (usbtest_mod_LDFLAGS): New variable.
13559 (ohci_mod_SOURCES): New variable.
13560 (ohci_mod_CFLAGS): New variable.
13561 (ohci_mod_LDFLAGS): New variable.
13562 (usbms_mod_SOURCES): New variable.
13563 (usbms_mod_CFLAGS): New variable.
13564 (usbms_mod_LDFLAGS): New variable.
13565 (usb_keyboard_mod_SOURCES): New variable.
13566 (usb_keyboard_mod_CFLAGS): New variable.
13567 (usb_keyboard_mod_LDFLAGS): New variable.
13568 * include/grub/smbus.h: New file.
13569 * include/grub/cs5536.h: New file.
13570
13571 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13572
13573 * util/grub.d/00_header.in: Add safety check to make sure that
13574 ${locale_dir} exists before trying to probe it.
13575
13576 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13577
13578 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13579 per the GNU Coding Standards; this is now too obscure to be worth
13580 documenting.
13581 (QNX): Likewise.
13582 (chainloader): Remove cross-reference to `SCO UnixWare'.
13583
13584 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13585
13586 * docs/grub.texi (Chain-loading): New section.
13587 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13588 adjusted for GRUB 2.
13589 (SCO UnixWare): Likewise.
13590 (QNX): Likewise.
13591 (chainloader): Add reference to `Block list syntax'.
13592 (drivemap): New section.
13593 (parttool): New section.
13594
13595 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13596
13597 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13598 the grub shell'.
13599 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13600 (Installing GRUB using grub-install): Remove reference to the grub
13601 shell; mention `grub-mkimage' and `grub-setup' instead.
13602 (Invoking grub-install): Likewise.
13603 (Interface): Add reference to `Menu entry editor'.
13604 (serial): Remove `--device' option.
13605
13606 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13607
13608 * docs/grub.texi (Configuration): New section, documenting
13609 configuration file generation using grub-mkconfig. I've left a slot
13610 for documenting the full shell scripting format but have not yet
13611 started on writing that up.
13612 (Invoking grub-mkconfig): New section.
13613
13614 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13615
13616 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13617 (GNU GRUB manual): Likewise.
13618 (General commands): Update description of `terminfo' for GRUB 2.
13619
13620 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13621
13622 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13623 (GRUB_MOD_INIT): Fix capitalisation.
13624 * docs/grub.texi (Command-line and menu entry commands): Document
13625 gettext and gptsync commands.
13626
13627 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13628
13629 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13630 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13631
13632 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13633
13634 Add btrfs probing support, currently only in the single-device case.
13635
13636 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13637 function.
13638 (grub_guess_root_device): Call find_root_device_from_mountinfo
13639 before looking in /dev.
13640
13641 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13644 GRUB_DISK_SIZE_UNKNOWN.
13645 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13646
13647 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13648
13649 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13650 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13651 corrupted or not synced properly.
13652
13653 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13656 Reported by: Seth Goldberg.
13657
13658 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13661 addition of dest.
13662 Reported by: Seth Goldberg.
13663
13664 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13667 Reported by: Seth Goldberg.
13668
13669 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13672 64-bit address as signed on MIPS.
13673
13674 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13675
13676 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13677 to the empty string.
13678
13679 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13680
13681 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13682
13683 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13684 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13685 * kern/misc.c (__enable_execute_stack): Disable on
13686 GRUB_MACHINE_EMU.
13687
13688 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13689
13690 Make grub-probe work with symbolic links under /dev/mapper as well
13691 as with real block devices. The Linux world seems to be (at best)
13692 in transition here, and GRUB shouldn't get caught in the middle.
13693
13694 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13695 /dev/mapper.
13696
13697 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13698
13699 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13700 input files (in which case exit zero).
13701
13702 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13703
13704 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13705 return NULL for various reasons even if it has a maximum-length
13706 buffer: for example, there might be a symlink loop, or the path
13707 might exceed PATH_MAX. If this happens, return NULL.
13708
13709 2010-05-27 Robert Millan <rmh@gnu.org>
13710
13711 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13712 partmap module to handle cross-partmap setups.
13713 Reported by Orestes Mas. Gràcies!
13714
13715 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13716
13717 * util/grub-mkrescue.in: Initialise override_dir rather than
13718 assuming that it's unset or empty in the environment.
13719
13720 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13721
13722 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13723 variable index into p_index to suppress a warning with -Wshadow.
13724
13725 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13726
13727 * INSTALL: Added flex >= 2.5.35 requirement.
13728
13729 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13732
13733 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 cmostest support.
13736
13737 * commands/i386/cmostest.c: New file.
13738 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13739 (cmostest_mod_SOURCES): New variable.
13740 (cmostest_mod_CFLAGS): Likewise.
13741 (cmostest_mod_LDFLAGS): Likewise.
13742 * conf/i386-pc.rmk: Likewise.
13743 * docs/grub.texi (Vendor power-on keys): New section.
13744 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13745 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13746 and GRUB_BUTTON_CMOS_ADDRESS.
13747 * util/grub.d/00_header.in: Handle powering-on by separate button.
13748
13749 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13752 Removed drawing_scrollbar argument. All users updated
13753 Fixes #29792.
13754 Reported by Jo Shields
13755
13756 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13759 buffer since gfxterm handles double repaint.
13760
13761 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13762
13763 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13764 * term/gfxterm.c (real_scroll): Likewise.
13765
13766 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13767
13768 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13769 before calling BIOS.
13770
13771 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13772
13773 * include/grub/i18n.h: Always enable grub_gettext.
13774
13775 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13778 partition naming style.
13779
13780 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
13781
13782 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13783 not the first option.
13784
13785 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13786
13787 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13788
13789 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13790
13791 * util/misc.c: Move inclusion of <limits.h> to ...
13792 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13793
13794 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13795
13796 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13797 Fix merge error in NetBSD code.
13798 (find_partition_start) [__NetBSD__]: Likewise.
13799
13800 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13801
13802 Fix grub-mkrescue usage unit testing.
13803
13804 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13805
13806 2010-05-18 Christian Franke <franke@computer.org>
13807
13808 * util/grub.d/10_windows.in: Use path names instead of
13809 drive letters to prevent warning from Cygwin 1.7.
13810 Add drivemap command to menuentry if needed.
13811
13812 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13813
13814 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13815 gnumach and gnumach.gz.
13816
13817 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * include/grub/i18n.h (gettext): Inline instead of using #define.
13820 (grub_gettext): Likewise.
13821 (_): Likewise.
13822
13823 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13826 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13827 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13828 (main): Add a slash after pkglibdirroot.
13829
13830 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * util/grub-install.in: Add missing "in" keyword.
13833
13834 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13837 Reported by: Seth Goldberg.
13838
13839 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13842
13843 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13844
13845 * configure.ac: Check for Linux device-mapper support.
13846
13847 * util/hostdisk.c (device_is_mapped): New function.
13848 (find_partition_start): New function, partly broken out from
13849 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13850 device-mapper support added.
13851 (linux_find_partition): Use find_partition_start.
13852 (convert_system_partition_to_system_disk): Add `st' argument.
13853 Support Linux /dev/mapper/* devices if device-mapper support is
13854 available; only DM-RAID devices are understood at present.
13855 (find_system_device): Add `st' argument. Pass it to
13856 convert_system_partition_to_system_disk.
13857 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13858 find_system_device and convert_system_partition_to_system_disk. Use
13859 find_partition_start.
13860
13861 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13862 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13863 * util/deviceiter.c [__linux__]: Define MINOR.
13864 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13865 * util/mkdevicemap.c (grub_putchar): New function.
13866 (grub_getkey): New function.
13867 (grub_refresh): New function.
13868 (main): Set debug=all if -v -v is used.
13869
13870 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13871
13872 Fix build with non-GNU libcs.
13873
13874 * util/misc.c (canonicalize_file_name): Move to ...
13875 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13876 grub_make_system_path_relative_to_its_root.
13877
13878 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13879
13880 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13881 we handle finding grub-mkimage. Default to finding grub-mkimage in
13882 ${bindir} with program_transform_name applied, and provide a
13883 --grub-mkimage option to override this.
13884
13885 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 Remove grub-mkisofs.
13888
13889 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13890 (grub_mkisofs_SOURCES): Removed.
13891 (grub_mkisofs_CFLAGS): Removed.
13892 * util/mkisofs/defaults.h: Removed.
13893 * util/mkisofs/eltorito.c: Likewise.
13894 * util/mkisofs/exclude.h: Likewise.
13895 * util/mkisofs/hash.c: Likewise.
13896 * util/mkisofs/include/: Likewise.
13897 * util/mkisofs/include/fctldefs.h: Likewise.
13898 * util/mkisofs/include/mconfig.h: Likewise.
13899 * util/mkisofs/include/prototyp.h: Likewise.
13900 * util/mkisofs/include/statdefs.h: Likewise.
13901 * util/mkisofs/iso9660.h: Likewise.
13902 * util/mkisofs/joliet.c: Likewise.
13903 * util/mkisofs/match.c: Likewise.
13904 * util/mkisofs/match.h: Likewise.
13905 * util/mkisofs/mkisofs.c: Likewise.
13906 * util/mkisofs/mkisofs.h: Likewise.
13907 * util/mkisofs/msdos_partition.h: Likewise.
13908 * util/mkisofs/multi.c: Likewise.
13909 * util/mkisofs/name.c: Likewise.
13910 * util/mkisofs/rock.c: Likewise.
13911 * util/mkisofs/tree.c: Likewise.
13912 * util/mkisofs/write.c: Likewise.
13913
13914 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 Unify grub-mkimage accross platforms.
13917
13918 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13919 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13920 (grub_mkelfimage_SOURCES): Removed.
13921 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13922 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13923 (bin_UTILITIES): Add grub-mkimage.
13924 (grub_mkimage_SOURCES): New variable.
13925 (kernel_img_HEADERS): Remove machine/kernel.h.
13926 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13927 (pkglib_PROGRAMS): Add kernel.img.
13928 (kernel_img_HEADERS): Add machine/kernel.h.
13929 (kernel_img_FORMAT): Removed.
13930 (bin_UTILITIES): Remove grub-mkimage.
13931 (grub_mkimage_SOURCES): Removed.
13932 (grub_mkimage_CFLAGS): Likewise.
13933 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13934 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13935 (pkglib_PROGRAMS): Add kernel.img.
13936 (bin_UTILITIES): Remove grub-mkimage.
13937 (grub_mkimage_SOURCES): Removed.
13938 (grub_mkimage_CFLAGS): Likewise.
13939 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13940 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13941 (pkglib_PROGRAMS): Add kernel.img.
13942 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13943 (pkglib_PROGRAMS): Add kernel.img.
13944 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13945 (grub_mkimage_SOURCES): Removed.
13946 (grub_mkimage_CFLAGS): Likewise.
13947 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13948 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13949 (pkglib_PROGRAMS): Add kernel.img.
13950 (bin_UTILITIES): Remove grub-mkimage.
13951 (grub_mkimage_SOURCES): Removed.
13952 (grub_mkimage_CFLAGS): Likewise.
13953 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13954 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13955 (grub_mkimage_SOURCES): Removed.
13956 (grub_mkimage_CFLAGS): Likewise.
13957 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13958 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13959 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13960 (grub_pe32_optional_header): ... this.
13961 (grub_pe64_optional_header): ... and this. All users updated.
13962 (GRUB_PE32_PE32_MAGIC): Split into ..
13963 (GRUB_PE32_PE32_MAGIC): .. this.
13964 (GRUB_PE32_PE64_MAGIC): .. and this.
13965 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13966 * include/grub/elf.h (PT_GNU_STACK): New definition.
13967 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13968 * include/grub/i386/efi/kernel.h: Likewise.
13969 * include/grub/i386/kernel.h: Likewise.
13970 * include/grub/i386/pc/kernel.h: Likewise.
13971 * include/grub/i386/qemu/boot.h: Likewise.
13972 * include/grub/mips/kernel.h: Likewise.
13973 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13974 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13975 * include/grub/powerpc/kernel.h: Likewise.
13976 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13977 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13978 * include/grub/sparc64/kernel.h: Likewise.
13979 * include/grub/x86_64/efi/kernel.h: Likewise.
13980 * include/grub/x86_64/kernel.h: Likewise.
13981 * include/grub/offsets.h: New file.
13982 * include/grub/kernel.h (grub_module_info): Split into ...
13983 (grub_module_info32): ... this.
13984 (grub_module_info64): ... and this.
13985 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13986 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13987 (grub_boot_blocklist): Moved from here ...
13988 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13989 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13990 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13991 * include/grub/types.h (grub_target_to_host16): Removed.
13992 (grub_target_to_host32): Likewise.
13993 (grub_target_to_host64): Likewise.
13994 (grub_host_to_target16): Likewise.
13995 (grub_host_to_target32): Likewise.
13996 (grub_host_to_target64): Likewise.
13997 (grub_host_to_target_addr): Likewise.
13998
13999 Support grub-mkrescue for efi, coreboot and qemu.
14000
14001 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14002 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14003 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14004 * util/grub-mkrawimage.c: Moved from here ...
14005 * util/grub-mkimage.c: ... here. All users updated.
14006 (ALIGN_ADDR): Use image_target.
14007 (TARGET_NO_FIELD): New const.
14008 (image_target_desc): New type.
14009 (image_targets): New array.
14010 (grub_target_to_host64): Use image_target.
14011 (grub_target_to_host32): Likewise.
14012 (grub_target_to_host16): Likewise.
14013 (grub_host_to_target64): Likewise.
14014 (grub_host_to_target32): Likewise.
14015 (grub_host_to_target16): Likewise.
14016 (grub_host_to_target_addr): Likewise.
14017 (generate_image): Handle multiimage.
14018 (main): Require -O parameter. All users updated.
14019 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14020 util/efi/grub-mkimage.c
14021 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14022 New option --rom-directory.
14023 Use xorriso.
14024 * util/i386/efi/grub-mkimage.c: Removed.
14025 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14026 (grub_target_to_host32): Likewise.
14027 (grub_target_to_host64): Likewise.
14028 (grub_host_to_target16): Likewise.
14029 (grub_host_to_target32): Likewise.
14030 (grub_host_to_target64): Likewise.
14031 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14032 (grub_target_to_host32): Likewise.
14033 (grub_target_to_host64): Likewise.
14034 (grub_host_to_target16): Likewise.
14035 (grub_host_to_target32): Likewise.
14036 (grub_host_to_target64): Likewise.
14037
14038 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14039
14040 Source tree is reorganized for emu build.
14041
14042 * include/grub/util/console.h: Move from here...
14043 * include/grub/emu/console.h: ...to here.
14044 * include/grub/util/getroot.h: Move from here...
14045 * include/grub/emu/getroot.h: ...to here.
14046 * include/grub/util/hostdisk.h: Move from here...
14047 * include/grub/emu/hostdisk.h: ...to here.
14048 * util/console.c: Move from here...
14049 * kern/emu/console.c: ...to here.
14050 * util/getroot.c: Move from here...
14051 * kern/emu/getroot.c: ...to here.
14052 * util/grub-emu.c: Move from here...
14053 * kern/emu/main.c: ...to here.
14054 * util/hostdisk.c: Move from here...
14055 * kern/emu/hostdisk.c: ...to here.
14056 * util/hostfs.c: Move from here...
14057 * kern/emu/hostfs.c: ...to here.
14058 * util/mm.c: Move from here...
14059 * kern/emu/mm.c: ...to here.
14060 * util/pci.c: Move from here...
14061 * bus/emu/pci.c: ...to here.
14062 * util/sdl.c: Move from here...
14063 * video/emu/sdl.c: ...to here.
14064 * util/time.c: Move from here...
14065 * kern/emu/time.c: ...to here.
14066 * util/usb.c: Move from here...
14067 * bus/usb/emu/usb.c: ...to here.
14068
14069 * include/grub/emu/misc.h: New header for grub-emu functions.
14070 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14071
14072 * conf/any-emu.rmk: Rule updates for above renames.
14073 * conf/common.rmk: Likewise.
14074 * conf/i386-pc.rmk: Likewise.
14075 * conf/i386-qemu.rmk: Likewise.
14076 * conf/mips.rmk: Likewise.
14077 * conf/sparc64-ieee1275.rmk: Likewise.
14078 * conf/x86-efi.rmk: Likewise.
14079
14080 * disk/lvm.h: #include updates for above renames.
14081 * util/grub-mkrelpath.c: Likewise.
14082 * util/grub-probe.c: Likewise.
14083 * util/i386/pc/grub-setup.c: Likewise.
14084 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14085 * kern/emu/console.c: Likewise.
14086 * kern/emu/getroot.c: Likewise.
14087 * kern/emu/hostdisk.c: Likewise.
14088 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14089
14090 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14091 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14092 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14093 * util/misc.c: Remove grub-emu functions.
14094
14095 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 Fix gfxmenu crash.
14098 Reported by: Thorsten Grützmacher.
14099
14100 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14101 timeout hook.
14102 (circprog_set_property): Register and unregister timeout hook.
14103 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14104 (label_destroy): Free template. and unregister hook.
14105 (label_set_state): New function.
14106 (label_set_property): Handle templates and hooks.
14107 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14108 timeout hook.
14109 (progress_bar_set_property): Register and unregister timeout hook.
14110 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14111 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14112 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14113 (update_timeout_visit): Removed.
14114 (update_timeouts): New function.
14115 (redraw_timeouts): Likewise.
14116 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14117 (grub_gfxmenu_clear_timeout): Likewise.
14118 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14119 (grub_gfxmenu_timeout_notify): Likewise.
14120 (grub_gfxmenu_timeout_notifications): New external variable.
14121 (grub_gfxmenu_timeout_register): New function.
14122 (grub_gfxmenu_timeout_unregister): Likewise.
14123
14124 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 Transform (broken) vga terminal into (working) vga video driver.
14127
14128 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14129 video/i386/pc/vga.c.
14130 * include/grub/video.h (grub_video_driver_id):
14131 Add GRUB_VIDEO_DRIVER_VGA.
14132 * term/i386/pc/vga.c: Renamed to ...
14133 * video/i386/pc/vga.c: ...this
14134 (DEBUG_VGA): Removed.
14135 (CHAR_WIDTH): Likewise.
14136 (CHAR_HEIGHT): Likewise.
14137 (TEXT_WIDTH): Likewise.
14138 (TEXT_HEIGHT): Likewise.
14139 (DEFAULT_FG_COLOR): Likewise.
14140 (DEFAULT_BG_COLOR): Likewise.
14141 (colored_char): Likewise.
14142 (xpos): Likewise.
14143 (ypos): Likewise.
14144 (cursor_state): Likewise.
14145 (fg_color): Likewise.
14146 (bg_color): Likewise.
14147 (text_buf): Likewise.
14148 (page): Likewise.
14149 (font): Likewise.
14150 (framebuffer): New variable.
14151 (set_read_map): Disabled.
14152 (setup): New variable.
14153 (is_target): Likewise.
14154 (grub_vga_mod_init): Likewise.
14155 (grub_vga_mod_fini): Likewise.
14156 (check_vga_mem): Likewise.
14157 (write_char): Likewise.
14158 (write_cursor): Likewise.
14159 (scroll_up): Likewise.
14160 (grub_vga_putchar): Likewise.
14161 (grub_vga_getcharwidth): Likewise.
14162 (grub_vga_getwh): Likewise.
14163 (grub_vga_getxy): Likewise.
14164 (grub_vga_gotoxy): Likewise.
14165 (grub_vga_cls): Likewise.
14166 (grub_vga_setcolorstate): Likewise.
14167 (grub_vga_setcursor): Likewise.
14168 (grub_video_vga_init): New function.
14169 (grub_video_vga_setup): Likewise.
14170 (grub_video_vga_fini): Likewise.
14171 (update_target): Likewise.
14172 (grub_video_vga_blit_bitmap): Likewise.
14173 (grub_video_vga_blit_render_target): Likewise.
14174 (grub_video_vga_set_active_render_target): Likewise.
14175 (grub_video_vga_get_active_render_target): Likewise.
14176 (grub_video_vga_swap_buffers): Likewise.
14177 (grub_video_vga_set_palette): Likewise.
14178 (grub_video_vga_get_info_and_fini): Likewise.
14179 (grub_vga_term): Removed.
14180 (grub_video_vga_adapter): New variable.
14181 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14182 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14183
14184 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 * video/readers/jpeg.c: Indented.
14187
14188 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14189
14190 Various jpeg cleanups.
14191
14192 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14193 (grub_jpeg_decode_quan_table): Use sizeof.
14194 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14195
14196 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
14197
14198 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14199 tables. Ignore non-last ac bit.
14200 (grub_jpeg_decode_quan_table): Likewise.
14201
14202 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14205 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14206 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14207 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14208 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14209 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14210
14211 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14212
14213 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14214 error.
14215
14216 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14217
14218 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14219
14220 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14223 condition.
14224
14225 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14228 part.
14229
14230 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14233 pointers.
14234
14235 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14238
14239 2010-05-01 Christian Franke <franke@computer.org>
14240
14241 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14242 Remove broken Cygwin path conversion.
14243 * util/misc.c: [__CYGWIN__] Add include and define.
14244 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14245 for Cygwin 1.7.
14246 (make_system_path_relative_to_its_root): Simplify loop, replace early
14247 return by break.
14248 [__CYGWIN__] Add conversion to win32 path.
14249 Include "/" case in trailing slash removal.
14250
14251 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14254 Reported by: Seth Goldberg
14255
14256 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * commands/help.c (grub_cmd_help): Fix a typo.
14259 Reported by: Seth Goldberg
14260
14261 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14264 name and add N_.
14265 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14266 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14267 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14268 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14269 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14270 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14271 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14272 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14273 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14274 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14275 * normal/context.c (GRUB_MOD_INIT): Likewise.
14276 * normal/main.c (GRUB_MOD_INIT): Likewise.
14277 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14278 * term/serial.c (GRUB_MOD_INIT): Likewise.
14279 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14280
14281 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14282
14283 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14284 extra == 0.
14285
14286 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 * commands/iorw.c: New file.
14289 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14290 (iorw_mod_SOURCES): New variable.
14291 (iorw_mod_CFLAGS): Likewise.
14292 (iorw_mod_LDFLAGS): Likewise.
14293
14294 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 Hotkey support
14297
14298 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14299 * normal/main.c (hotkey_aliases): New variable.
14300 (grub_normal_add_menu_entry): Parse "--hotkey".
14301 * normal/menu_text.c (run_menu): Handle hotkeys.
14302
14303 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 * kern/i386/coreboot/init.c (grub_machine_init): Call
14306 grub_machine_mmap_init on qemu.
14307
14308 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * boot/i386/qemu/boot.S: Add a missing .code16.
14311
14312 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 Use LBIO on coreboot.
14315
14316 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14317 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14318 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14319 New declaration.
14320 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14321 grub_machine_mmap_init on coreboot.
14322 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14323 GRUB_LINUXBIOS_MEMBER_LINK.
14324 (grub_machine_mmap_iterate): Fix declaration.
14325 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14326
14327 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 Split coreboot and multiboot ports.
14330
14331 * conf/i386-multiboot.rmk: New file.
14332 * configure.ac: Add multiboot port.
14333 * include/grub/i386/multiboot/boot.h: New file.
14334 * include/grub/i386/multiboot/console.h: Likewise.
14335 * include/grub/i386/multiboot/init.h: Likewise.
14336 * include/grub/i386/multiboot/kernel.h: Likewise.
14337 * include/grub/i386/multiboot/loader.h: Likewise.
14338 * include/grub/i386/multiboot/memory.h: Likewise.
14339 * include/grub/i386/multiboot/serial.h: Likewise.
14340 * include/grub/i386/multiboot/time.h: Likewise.
14341 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14342 * loader/multiboot.c: Likewise.
14343 * loader/multiboot_mbi2.c: Likewise.
14344 * util/grub-mkrescue.in: Generate multiboot rescue.
14345
14346 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14349
14350 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 Merge handling of input and output terminals. Fix a hang.
14353
14354 * commands/terminal.c (abstract_terminal): New struct.
14355 (handle_command): New function. Based on grub_cmd_terminal_input.
14356 (grub_cmd_terminal_input): Use handle_command.
14357 (grub_cmd_terminal_output): Use handle_command.
14358
14359 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14360
14361 Fix comment handling.
14362
14363 * tests/grub_script_comments.in: New testcase.
14364 * conf/tests.rmk: Rules for new testcase.
14365 * script/yylex.l: Updated flex rules.
14366
14367 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14368
14369 * docs/grub.texi (play): Document that zero pitches produce rests.
14370 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14371 if argc is 1.
14372
14373 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14376 autogen issues.
14377
14378 2010-04-26 Christian Franke <franke@computer.org>
14379
14380 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14381 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14382 (grub_get_prefix): Remove function.
14383 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14384 make_system_path_relative_to_its_root ().
14385 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14386
14387 2010-04-24 Christian Franke <franke@computer.org>
14388
14389 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14390 (kernel_img_LDFLAGS): Remove -static-libgcc.
14391
14392 2010-04-24 Christian Franke <franke@computer.org>
14393
14394 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14395 and CHECK_END_SYMBOL if grub-emu is built.
14396 Unset TARGET_OBJ2ELF if grub-emu is built
14397 without module support.
14398
14399 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
14400
14401 Nilfs2 support.
14402
14403 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14404 (grub_fstest_SOURCES): Likewise.
14405 (pkglib_MODULES): Add nilfs2.mod.
14406 (nilfs2_mod_SOURCES): New variable.
14407 (nilfs2_mod_CFLAGS): Likewise.
14408 (nilfs2_mod_LDFLAGS): Likewise.
14409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14410 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14411 * fs/nilfs2.c: New file.
14412
14413 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14416 is not supported.
14417
14418 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14419
14420 Add grub-mkconfig support for NetBSD.
14421
14422 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14423 * util/grub-mkconfig.in: export new NetBSD specific variables.
14424 * po/POTFILES-shell: added 10_netbsd.in.
14425 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14426
14427 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14428
14429 Fix emu build with grub-emu-pci and grub-emu-modules.
14430
14431 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14432 functions.
14433 * include/grub/libpciaccess.h: New file.
14434 * conf/any-emu.rmk: Update kernel headers for emu build.
14435
14436 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14439
14440 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14443
14444 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14447 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14448 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14449 util/ieee1275/ofpath.c.
14450 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14451 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14452 * include/grub/sparc64/ieee1275/boot.h
14453 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14454 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14455 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14456 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14457 const char *.
14458 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14459 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14460 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14461 install.
14462
14463 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14464
14465 * util/grub-mkconfig.in: Corrected two == equality tests.
14466 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14467 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14468 expect a number appended to it.
14469 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14470 expects a number appended to it.
14471
14472 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14475
14476 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 * util/hostdisk.c (make_device_name): Change to new partition naming.
14479
14480 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14483
14484 2010-04-17 Christian Franke <franke@computer.org>
14485
14486 * Makefile.in: Add missing localedir setting.
14487
14488 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14489
14490 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14491 mistake in r2156. Noticed by Anthony Fok.
14492
14493 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14494 @localedir@.
14495 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14496
14497 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14498
14499 Fix a spurious, uninitialized variable warning.
14500
14501 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14502 Initialize variable, shdr.
14503 (grub_freebsd_load_elfmodule): Likewise.
14504 (grub_freebsd_load_elf_meta): Likewise.
14505
14506 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14507
14508 Fix for escaped dollar in double quoted strings.
14509
14510 * script/yylex.l: Updated flex rules.
14511 * conf/tests.rmk: Rule for new testcase.
14512 * tests/grub_script_dollar.in: New testcase.
14513
14514 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14515 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14516
14517 Enclose all translated strings in grub.cfg in single quotes, and
14518 escape them appropriately (Ubuntu bug #552921).
14519
14520 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14521 * util/grub.d/10_hurd.in: Use it.
14522 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14523 * util/grub.d/10_linux.in (linux_entry): Likewise.
14524
14525 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 Fix cygwin compilation.
14528
14529 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14530 * include/grub/misc.h (__register_frame_info)
14531 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14532 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14533 * kern/misc.c (__register_frame_info)
14534 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14535 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14536
14537 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14540
14541 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 Unify libgcc processing.
14544
14545 * Makefile.in (kernel_img_LDFLAGS): New variable.
14546 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14547 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14548 overwriting.
14549 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14550 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14551 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14552 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14553 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14554 overwriting. Remove -lgcc and -static-libgcc
14555 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14556 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14557 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14558 (kernel_img_LDFLAGS): Append instead of overwriting.
14559 Remove -lgcc and -static-libgcc
14560 * conf/sparc64-ieee1275.rmk: Likewise.
14561 * include/grub/powerpc/libgcc.h: Move to ...
14562 * include/grub/libgcc.h: .. this.
14563 * include/grub/libgcc.h: Don't export most of the function on x86.
14564 (__bswapsi2): New export.
14565 (__bswapdi2): Likewise.
14566 * include/grub/mips/libgcc.h: Removed.
14567 * include/grub/sparc64/libgcc.h: Likewise.
14568
14569 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14572 disk_info_msg (conflicts with gettexting into languages with cases).
14573
14574 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14575
14576 Add grub-probe support for NetBSD.
14577
14578 * util/getroot.c (find_root_device): Convert block device to
14579 character device on NetBSD.
14580 * util/probe.c (probe): Require character device on NetBSD.
14581 * util/hostdisk.c: NetBSD specific headers.
14582 (configure_device_driver): new function to tune device driver
14583 parameters (currently only for NetBSD floppy driver).
14584 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14585 via disklabel ioctl).
14586 (open_device): call configure_device_driver on NetBSD.
14587 (convert_system_partition_to_system_disk): NetBSD specific code.
14588 (device_is_wholedisk): Likewise.
14589 (grub_util_biosdisk_get_grub_dev): Likewise.
14590 (make_device_name): Fixed a typo in bsd_part_str.
14591 * configure.ac: check for opendisk() and getrawpartition() on
14592 NetBSD and set LIBUTIL.
14593 * Makefile.in: add LIBUTIL to LIBS.
14594
14595 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14596
14597 Documentation fix.
14598
14599 * util/grub-script-check.c: Better help message.
14600
14601 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14602
14603 Fix FreeBSD build.
14604
14605 * configure.ac: Flex version check.
14606 * conf/common.rmk: Add -Wno-error to sh.mod.
14607 * script/yylex.l: Remove all #pragma.
14608
14609 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14612 prototype.
14613 Reported by: Seth Goldberg.
14614
14615 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14618 Rename "module" to "module2".
14619 Reported by: Seth Goldberg.
14620
14621 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14624 EXPORT_FUNC.
14625 Reported by: Seth Goldberg.
14626
14627 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * lib/posix_wrap/locale.h: Add missing file.
14630 Reported by: Seth Goldberg.
14631
14632 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 grub-emu module load support.
14635
14636 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14637 NO_DYNAMIC_MODULES switched to this.
14638 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14639 (CFLAGS): Likewise.
14640 * conf/any-emu.rmk: Generate symlist.
14641 (kernel_img_HEADERS): Add util/datetime.h.
14642 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14643 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14644 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14645 kern/$(target_cpu)/cache.S.
14646 * configure.ac (grub-emu-modules): New option.
14647 * genmk.rb: Handle multiple source lists.
14648 * include/grub/sdl.h: New file.
14649 * include/grub/libusb.h: Likewise.
14650 * util/grub-emu.c (main): Hanle (host) root.
14651 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14652 GRUB_ERR_UNKNOWN_DEVICE.
14653 * util/misc.c: Move mm functions to ...
14654 * util/mm.c: ... here. All users updated.
14655
14656 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14659 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14660 missing files.
14661 (maintainer-clean): Remove libgcrypt-grub.
14662
14663 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14666
14667 2010-04-09 EFI Coder <eficoder@hotmail.com>
14668
14669 * normal/menu_text.c (print_message): Clean up the message and show
14670 the Fn information when on EFI
14671 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14672
14673 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14676 All users updated.
14677 * normal/crypto.c (read_crypto_list): Likewise.
14678 * normal/dyncmd.c (read_command_list): Likewise.
14679 * normal/term.c (read_terminal_list): Likewise.
14680 * normal/main.c (read_lists): Use explicit prefix.
14681 (read_lists_hook): Use read_lists.
14682 (grub_normal_execute): Likewise.
14683
14684 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14687 Reported by: Thomas Schmitt.
14688 Add -no-emul-boot to grub-mkisofs parameters.
14689
14690 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 * font/font.c: Indented.
14693
14694 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14695
14696 Elif support to GRUB script (by Deepak Vankadaru).
14697
14698 * tests/grub_script_if.in: New testcase.
14699 * conf/tests.rmk: Rule for new testcase.
14700 * script/parser.y: Grammar rules for elif.
14701
14702 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14703
14704 While and until loops support to GRUB script.
14705
14706 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14707 (grub_script_create_cmdwhile): New function prototype.
14708 (grub_script_execute_cmdwhile): New function prototype.
14709 * script/execute.c (grub_script_execute_cmdwhile): New function.
14710 * script/parser.y (command): New commands.
14711 (whilecmd): New grammar rule.
14712 (untilcmd): New grammar rule.
14713 * script/script.c (grub_script_create_cmdwhile): New function.
14714 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14715 function.
14716
14717 * tests/grub_script_while1.in: New testcase.
14718 * conf/tests.rmk: Rule for new testcase.
14719
14720 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14723 as *.jpg.
14724
14725 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
14726
14727 GRUB_BACKGROUND support.
14728
14729 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14730 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14731
14732 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 Load fonts and modules for gfxmenu in grub-mkconfig.
14735 Idea by: Mario Vazquez
14736
14737 * util/grub.d/00_header.in: Load pf2 and image modules.
14738
14739 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 grub-mkconfig multiple terminal support.
14742
14743 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14744 * util/grub.d/00_header.in: Likewise.
14745
14746 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14749 we use cd $(srcdir).
14750
14751 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
14752
14753 * util/grub.d/10_linux.in: Only use the first word of
14754 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14755 spaces in GRUB_DISTRIBUTOR.
14756 * util/grub.d/10_kfreebsd.in: Likewise.
14757 * util/grub.d/10_hurd.in: Likewise.
14758
14759 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14760
14761 Fix unit testing framework for Qemu 0.12.
14762
14763 * tests/util/grub-shell.in: Remove -serial stdio option.
14764
14765 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 POSIX header file wrappers.
14768
14769 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14770 equivalents.
14771 * lib/posix_wrap/ctype.h: Likewise.
14772 * lib/posix_wrap/errno.h: Likewise.
14773 * lib/posix_wrap/langinfo.h: Likewise.
14774 * lib/posix_wrap/limits.h: Likewise.
14775 * lib/posix_wrap/localcharset.h: Likewise.
14776 * lib/posix_wrap/stdint.h: Likewise.
14777 * lib/posix_wrap/stdio.h: Likewise.
14778 * lib/posix_wrap/stdlib.h: Likewise.
14779 * lib/posix_wrap/string.h: Likewise.
14780 * lib/posix_wrap/sys/types.h: Likewise.
14781 * lib/posix_wrap/unistd.h: Likewise.
14782 * lib/posix_wrap/wchar.h: Likewise.
14783 * lib/posix_wrap/wctype.h: Likewise.
14784 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14785 (grub_script.yy.h): Likewise.
14786 * script/yylex.l: Remove POSIX emulation #defines.
14787 * Makefile.in (POSIX_CFLAGS): New variable.
14788 (GNULIB_UTIL_CFLAGS): Likewise.
14789
14790 Regexp support.
14791
14792 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14793 (regexp_mod_SOURCES): New variable.
14794 (regexp_mod_CFLAGS): Likewise.
14795 (regexp_mod_LDFLAGS): Likewise.
14796 * commands/regexp.c: New file.
14797 * gnulib/regcomp.c: New file. Imported from gnulib.
14798 * gnulib/regex.c: Likewise.
14799 * gnulib/regex_internal.c: Likewise.
14800 * gnulib/regex_internal.h: Likewise.
14801 * gnulib/regexec.c: Likewise.
14802 * gnulib/regex.h: Likewise.
14803
14804 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14805
14806 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14807 unsupported video mode types.
14808
14809 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14812
14813 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14816 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14817
14818 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14819
14820 Remove unused grub_vga_get_font.
14821
14822 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14823 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14824
14825 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14826
14827 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14828 * include/grub/misc.h: Likewise.
14829
14830 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14831
14832 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14833 for which failure is fatal.
14834
14835 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14836
14837 * util/grub-install.in: Use mkdir -p to create grub directory.
14838 * util/i386/efi/grub-install.in: Likewise.
14839 * util/ieee1275/grub-install.in: Likewise.
14840
14841 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14842
14843 * Makefile.in (LEX): new variable.
14844
14845 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14846
14847 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14848 `=' and added double quotes on operands of this equality test.
14849
14850 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 * Makefile.in (uninstall): Remove a leftover debug echo.
14853 Reported by: Grégoire Sutre
14854
14855 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 MIPS multiboot2 support.
14858
14859 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14860 (multiboot2_mod_SOURCES): New variable.
14861 (multiboot2_mod_CFLAGS): Likewise.
14862 (multiboot2_mod_LDFLAGS): Likewise.
14863 (multiboot2_mod_ASFLAGS): Likewise.
14864 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14865 definition.
14866 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14867 (MULTIBOOT_MBI_REGISTER): Likewise.
14868 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14869 (MULTIBOOT_ELF32_MACHINE): Likewise.
14870 (MULTIBOOT_ELF64_MACHINE): Likewise.
14871 * include/grub/mips/multiboot.h: New file.
14872 * include/grub/video.h (grub_video_driver_id): New type
14873 GRUB_VIDEO_DRIVER_SM712.
14874 (grub_video_get_info_and_fini): Export.
14875 (grub_video_get_palette): Likewise.
14876 (grub_video_get_driver_id): Likewise.
14877 * include/multiboot2.h: Resynced with spec.
14878 * loader/i386/multiboot.c: Moved from here ...
14879 * loader/multiboot.c: ... here. All users updated.
14880 (grub_multiboot_boot): Use platform-specific macros.
14881 * loader/i386/multiboot_elfxx.c: Moved from here ...
14882 * loader/multiboot_elfxx.c: ... here. All users updated.
14883 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14884 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14885 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14886
14887 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 Import gnulib argp module.
14890
14891 * gnulib/argp-ba.c: New file.
14892 * gnulib/argp-eexst.c: Likewise.
14893 * gnulib/argp-fmtstream.c: Likewise.
14894 * gnulib/argp-fmtstream.h: Likewise.
14895 * gnulib/argp-fs-xinl.c: Likewise.
14896 * gnulib/argp-help.c: Likewise.
14897 * gnulib/argp-namefrob.h: Likewise.
14898 * gnulib/argp-parse.c: Likewise.
14899 * gnulib/argp-pin.c: Likewise.
14900 * gnulib/argp-pv.c: Likewise.
14901 * gnulib/argp-pvh.c: Likewise.
14902 * gnulib/argp-version-etc.c: Likewise.
14903 * gnulib/argp-version-etc.h: Likewise.
14904 * gnulib/argp-xinl.c: Likewise.
14905 * gnulib/argp.h: Likewise.
14906
14907 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 * kern/device.c (grub_device_iterate): Clear errors after failed
14910 opening device.
14911
14912 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14915 returned by firmware.
14916
14917 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14920 compilation on coreboot and qemu
14921
14922 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 * include/multiboot2.h: Resync with spec.
14925
14926 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 Multiboot2 tag support
14929
14930 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14931 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14932 Remove loader/multiboot_loader.c.
14933 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14934 (grub_multiboot2_real_boot): Likewise.
14935 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14936 (grub_get_multiboot_mmap_count): New proto.
14937 (grub_fill_multiboot_mmap): Likewise.
14938 (grub_multiboot_set_video_mode): Likewise.
14939 (grub_multiboot_set_console): Likewise.
14940 (grub_multiboot_load): Likewise.
14941 (grub_multiboot_load_elf): Likewise.
14942 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14943 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14944 * include/multiboot.h: Resynced with specification.
14945 * include/multiboot2.h: Resynced with specification.
14946 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14947 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14948 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14949 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14950 users updated.
14951 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14952 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14953 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14954 Removed.
14955 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14956 Moved from here...
14957 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14958 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14959 Moved from here...
14960 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14961 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14962 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14963 All users updated.
14964 * loader/i386/multiboot_mbi2.c: New file.
14965
14966 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 Resync with gnulib.
14969
14970 * Makefile.in (GNULIB_CFLAGS): New variable.
14971 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14972 (grub_script_check_CFLAGS): New variable.
14973 * gnulib/alloca.h: Resync with gnulib.
14974 * gnulib/error.c: Likewise.
14975 * gnulib/error.h: Likewise.
14976 * gnulib/fnmatch.c: Likewise.
14977 * gnulib/fnmatch_loop.c: Likewise.
14978 * gnulib/getdelim.c: Likewise.
14979 * gnulib/getline.c: Likewise.
14980 * gnulib/getopt.c: Likewise.
14981 * gnulib/getopt1.c: Likewise.
14982 * gnulib/getopt_int.h: Likewise.
14983 * gnulib/gettext.h: Likewise.
14984 * gnulib/progname.c: Likewise.
14985 * gnulib/progname.h: Likewise.
14986
14987 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14988
14989 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14990 which is the case with --disabled-nls.
14991
14992 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14993 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14994 * util/misc.c: Likewise.
14995 * util/mkisofs/mkisofs.c: Likewise.
14996 * util/mkisofs/mkisofs.h: Likewise.
14997
14998 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 Simplify Apple CC support.
15001
15002 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15003 Add 0 byte at the end not to have a symbol with empty target.
15004 * mmap/i386/pc/mmap_helper.S: Likewise.
15005 * genmk.rb: Ignore errors 2030 and 2050.
15006 * kern/i386/pc/startup.S: Use LOCAL when possible.
15007
15008 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15009
15010 Testcase and the fix for final semicolon on cmdline.
15011
15012 * tests/grub_script_final_semicolon.in: New testcase.
15013 * conf/tests.rmk: Rules for the new testcase.
15014 * script/parser.y: Grammar fix.
15015
15016 2010-03-26 BVK Chaitanya <bvk@localhost>
15017
15018 Blank lines testcase for GRUB script.
15019
15020 * tests/grub_script_blanklines.in: New testcase.
15021 * conf/tests.rmk: Rules for the new testcase.
15022
15023 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 Don't use __FILE__.
15026
15027 * genmk.rb: Add -DGRUB_FILE to all C targets.
15028 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15029 * include/grub/list.h: Likewise.
15030 * include/grub/misc.h: Likewise.
15031 * include/grub/mm.h: Likewise.
15032 * include/grub/test.h: Likewise.
15033 * kern/mm.c: Likewise.
15034 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15035
15036 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 Sunpc partitions support.
15039
15040 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15041 (grub_fstest_SOURCES): Likewise.
15042 (pkglib_MODULES): Add part_sunpc.mod.
15043 (part_sunpc_mod_SOURCES): New variable.
15044 (part_sunpc_mod_CFLAGS): Likewise.
15045 (part_sunpc_mod_LDFLAGS): Likewise.
15046 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15047 * partmap/sunpc.c: New file.
15048
15049 2010-03-26 BVK Chaitanya <bvk@localhost>
15050
15051 For loop support to GRUB script.
15052
15053 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15054 (grub_script_create_cmdfor): New function prototype.
15055 (grub_script_execute_cmdfor): New function prototype.
15056 * script/execute.c (grub_script_execute_cmdfor): New function.
15057 * script/parser.y (command): New for command.
15058 (forcmd): New grammar rule.
15059 * script/script.c (grub_script_create_cmdfor): New function.
15060 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15061 function.
15062 * tests/grub_script_for1.in: New testcase.
15063 * conf/tests.rmk: Rules for new testcase.
15064
15065 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 Nested partitions
15068
15069 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15070 'partition' is NULL, grub_partition_get_start already does that.
15071 * commands/loadenv.c (check_blocklists): Likewise.
15072 (write_blocklists): Likewise.
15073 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15074 (grub_fstest_SOURCES): Likewise.
15075 (pkglib_MODULES): Add part_bsd.mod.
15076 (part_bsd_mod_SOURCES): New variable.
15077 (part_bsd_mod_CFLAGS): Likewise.
15078 (part_bsd_mod_LDFLAGS): Likewise.
15079 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15080 (grub_emu_SOURCES): Likewise.
15081 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15082 * include/grub/bsdlabel.h: New file.
15083 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15084 'get_name'.
15085 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15086 (grub_partition_map_list): New variable.
15087 (grub_partition_map_register): Inline.
15088 (grub_partition_map_unregister): Likewise.
15089 (FOR_PARTITION_MAPS): New macro.
15090 (grub_partition_map_iterate): Removed.
15091 (grub_partition_get_start): Handle nested partitions.
15092 * include/grub/msdos_partition.h: Remove bsd-related entries.
15093 (grub_pc_partition): Remove.
15094 * kern/disk.c (grub_disk_close): Free partition data.
15095 (grub_disk_adjust_range): Handle nested partitions.
15096 * kern/partition.c (grub_partition_map_probe): New function.
15097 (grub_partition_probe): Parse name to number, handle subpartitions.
15098 (get_partmap): New function.
15099 (grub_partition_iterate): Handle subpartitions.
15100 (grub_partition_get_name): Likewise.
15101 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15102 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15103 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15104 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15105 Set 'number'.
15106 (acorn_partition_map_probe): Remove.
15107 (acorn_partition_map_get_name): Likewise.
15108 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15109 Set 'number'.
15110 Set 'index' to 0 since there can be only one partition entry per sector.
15111 (amiga_partition_map_probe): Remove.
15112 (amiga_partition_map_get_name): Likewise.
15113 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15114 Set 'number'.
15115 Set 'offset' and 'index' to real positions of partitions.
15116 (apple_partition_map_probe): Remove.
15117 (apple_partition_map_get_name): Likewise.
15118 * partmap/bsdlabel.c: New file.
15119 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15120 Set 'number'.
15121 Allocate 'data' so it can be correctly freed.
15122 Set 'index' to offset inside sector.
15123 (gpt_partition_map_probe): Remove.
15124 (gpt_partition_map_get_name): Likewise.
15125 * partmap/msdos.c (grub_partition_parse): Remove.
15126 (pc_partition_map_iterate): Don't force raw access.
15127 Set 'number'.
15128 Make 'ext_offset' a local variable.
15129 (pc_partition_map_probe): Remove.
15130 (pc_partition_map_get_name): Remove.
15131 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15132 Set 'number'.
15133 (sun_partition_map_probe): Remove.
15134 (sun_partition_map_get_name): Likewise.
15135 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15136 (grub_pcpart_type): Likewise.
15137 * util/hostdisk.c (open_device): Handle new numbering scheme.
15138 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15139 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15140 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15141 * util/grub-install.in: Insert all subpartition modules.
15142 * util/ieee1275/grub-install.in: Likewise.
15143
15144 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15145
15146 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15147 grammar.
15148
15149 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
15150
15151 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15152
15153 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
15154
15155 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15156 match where 'make install' puts them.
15157 * util/i386/efi/grub-install.in: Likewise.
15158
15159 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
15160
15161 * .bzrignore: Add gentrigtables, grub-script-check,
15162 grub_script_check_init.c, grub_script_check_init.h, and
15163 trigtables.c.
15164
15165 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 * kern/parser.c: Indented.
15168
15169 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15170
15171 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15172
15173 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15176 alpha_mask_size == 0 case.
15177
15178 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15179
15180 GRUB shell lexer and parser improvements.
15181
15182 * conf/any-emu.rmk: Build rule updates.
15183 * conf/common.rmk: Likewise.
15184 * conf/i386-coreboot.rmk: Likewise.
15185 * conf/i386-efi.rmk: Likewise.
15186 * conf/i386-ieee1275.rmk: Likewise.
15187 * conf/i386-pc.rmk: Likewise.
15188 * conf/powerpc-ieee1275.rmk: Likewise.
15189 * conf/x86_64-efi.rmk: Likewise.
15190
15191 * configure.ac: Configure check for flex.
15192
15193 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15194 types.
15195 (grub_lexer_param): Struct member updates.
15196 (grub_parser_param): Likewise.
15197 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15198 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15199 (grub_script_lexer_init): Prototype update.
15200 (grub_script_lexer_record_start): Likewise.
15201 (grub_script_lexer_record_stop): Likewise.
15202 (grub_script_lexer_yywrap): New function prototype.
15203 (grub_script_lexer_fini): Likewise.
15204 (grub_script_execute_argument_to_string): Removed by...
15205 (grub_script_execute_argument_to_argv): ...better version.
15206
15207 * script/execute.c (ROUND_UPTO): New macro.
15208 (grub_script_execute_cmdline): Out of memory fixes.
15209 (grub_script_execute_menuentry): Likewise.
15210 (grub_script_execute_argument_to_string): Removed. Update all
15211 users by...
15212 (grub_script_execute_argument_to_argv): ...better version.
15213 * script/function.c (grub_script_function_create): Use
15214 grub_script_execute_argument_to_argv instead of
15215 grub_script_execute_argument_to_string.
15216
15217 * script/lexer.c (check_varstate): Removed.
15218 (check_textstate): Removed.
15219 (grub_script_lexer_record_start): Likewise.
15220 (grub_script_lexer_record_stop): Likewise.
15221 (recordchar): Replaced with...
15222 (grub_script_lexer_record): ...new function.
15223 (nextchar): Removed.
15224 (grub_script_lexer_init): Rewritten.
15225 (grub_script_yylex): Rewritten.
15226 (append_newline): New function.
15227 (grub_script_lexer_yywrap): New function.
15228 (grub_script_lexer_fini): New function.
15229 (grub_script_yyerror): Sets error flag.
15230
15231 * script/yylex.l: New file.
15232 (grub_lexer_yyfree): Wrapper for flex yyffre.
15233 (grub_lexer_yyalloc): Likewise.
15234 (grub_lexer_yyrealloc): Likewise.
15235 * script/parser.y: Refactored.
15236
15237 * script/script.c (grub_script_arg_add): Out of memory fixes.
15238 (grub_script_add_arglist): Likewise.
15239 (grub_script_create_cmdline): Likewise.
15240 (grub_script_create_cmdmenu): Likewise.
15241 (grub_script_add_cmd): Likewise.
15242 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15243 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15244 unnecessary code.
15245
15246 * tests/grub_script_echo1.in: New testcase.
15247 * tests/grub_script_vars1.in: New testcase.
15248 * tests/grub_script_echo_keywords.in: New testcase.
15249
15250 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 Remove some redundancy in build system.
15253
15254 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15255 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15256 (TARGET_LDFLAGS): Add -nostdlib.
15257 (TARGET_IMG_LDFLAGS): Likewise.
15258 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15259 anything since mmap isn't available.
15260 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15261 Add util/time.c.
15262 (pkglib_MODULES): Remove reboot.mod.
15263 (reboot_mod_SOURCES): Removed.
15264 (reboot_mod_CFLAGS): Likewise.
15265 (reboot_mod_LDFLAGS): Likewise.
15266 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15267 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15268 (DEFSYMFILES): Add kernel_syms.lst.
15269 (kernel_img_HEADERS): Add common headers.
15270 (symlist.c): New target.
15271 (kernel_syms.lst): Likewise.
15272 (pkglib_MODULES): Add memdisk.mod.
15273 (memdisk_mod_SOURCES): New variable.
15274 (memdisk_mod_CFLAGS): Likewise.
15275 (memdisk_mod_LDFLAGS): Likewise.
15276 (pkglib_MODULES): Add reboot.mod.
15277 (reboot_mod_SOURCES): New variable.
15278 (reboot_mod_CFLAGS): Likewise.
15279 (reboot_mod_LDFLAGS): Likewise.
15280 (pkglib_MODULES): Add date.mod.
15281 (date_mod_SOURCES): New variable.
15282 (date_mod_CFLAGS): Likewise.
15283 (date_mod_LDFLAGS): Likewise.
15284 (pkglib_MODULES): Add datehook.mod.
15285 (datehook_mod_SOURCES): New variable.
15286 (datehook_mod_CFLAGS): Likewise.
15287 (datehook_mod_LDFLAGS): Likewise.
15288 (pkglib_MODULES): Add lsmmap.mod.
15289 (lsmmap_mod_SOURCES): New variable.
15290 (lsmmap_mod_CFLAGS): Likewise.
15291 (lsmmap_mod_LDFLAGS): Likewise.
15292 (pkglib_MODULES): Add boot.mod.
15293 (boot_mod_SOURCES): New variable.
15294 (boot_mod_CFLAGS): Likewise.
15295 (boot_mod_LDFLAGS): Likewise.
15296 * conf/i386-coreboot.rmk: Removed redundant parts.
15297 * conf/i386-ieee1275.rmk: Likewise.
15298 * conf/i386-pc.rmk: Likewise.
15299 * conf/mips-yeeloong.rmk: Likewise.
15300 * conf/mips.rmk: Likewise.
15301 * conf/powerpc-ieee1275.rmk: Likewise.
15302 * conf/sparc64-ieee1275.rmk: Likewise.
15303 * conf/x86_64-efi.rmk: Likewise.
15304 * conf/i386-coreboot.rmk: Moved qemu parts ..
15305 * conf/i386-qemu.rmk: ... here
15306 * conf/i386-efi.rmk: Moved common parts to...
15307 * conf/x86-efi.rmk: ... here.
15308 * conf/i386.rmk: Added modules common to all x86 variants.
15309 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15310 * disk/memdisk.c: Remove grub/machine/kernel.h.
15311 * gensymlist.sh.in: Include symbol.h.
15312 * hook/datehook.c: Correct module name.
15313 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15314 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15315 * include/grub/i386/efi/serial.h: New file.
15316 * include/grub/x86_64/efi/serial.h: Likewise.
15317 * util/time.c: Likewise.
15318 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15319
15320 2010-03-14 Colin King <colin.king@ubuntu.com>
15321 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15322
15323 Shrink the pre-partition-table part of boot.img by eight bytes.
15324
15325 * boot/i386/pc/boot.S (ERR): New macro.
15326 (chs_mode): Use ERR.
15327 (geometry_error): Likewise.
15328 (hd_probe_error): Remove. This is only used once, so we wrwite
15329 it inline instead.
15330 (read_error): Instead of printing read_error_string, just set up
15331 %si and fall through to ...
15332 (error_message): ... this new function, also used by ERR.
15333
15334 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15335
15336 Speed up consecutive hostdisk operations on the same device.
15337
15338 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15339 (grub_util_biosdisk_open): Initialise disk->data.
15340 (struct linux_partition_cache): New structure.
15341 (linux_find_partition): Cache partition start positions; these are
15342 expensive to compute on every read and write.
15343 (open_device): Cache open file descriptor in disk->data, so that we
15344 don't have to reopen it and flush the buffer cache for consecutive
15345 operations on the same device.
15346 (grub_util_biosdisk_close): New function.
15347 (grub_util_biosdisk_dev): Set `close' member.
15348
15349 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15350 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15351 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15352 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15353 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15354
15355 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15356
15357 Compile parts of grub-emu as modules.
15358
15359 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15360 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15361 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15362 (all-local): Add $(GRUB_EMU).
15363 (install-local): Install $(GRUB_EMU).
15364 (uninstall): Uninstall $(GRUB_EMU).
15365 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15366 * kern/dl.c: Likewise.
15367 * commands/sleep.c: Not include machine/time.h.
15368 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15369 (COMMON_CFLAGS): Likewise.
15370 (sbin_UTILITIES): Remove grub-emu.
15371 (grub_emu_SOURCES): Removed.
15372 (kernel_img_RELOCATABLE): New variable.
15373 (pkglib_PROGRAMS): Add kernel.img.
15374 (kernel_img_SOURCES): New variable
15375 (kernel_img_CFLAGS): Likewise.
15376 (kernel_img_LDFLAGS): Likewise.
15377 (TARGET_NO_STRIP): Likewise.
15378 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15379 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15380 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15381 (grub-emu): New target.
15382 (GRUB_EMU): New variable.
15383 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15384 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15385 * loader/xnu.c: Likewise.
15386 * include/grub/pci.h: Likewise.
15387 * genemuinit.sh: New file.
15388 * genemuinitheader.sh: Likewise.
15389 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15390 Support TARGET_NO_DYNAMIC_MODULES.
15391 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15392 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15393 * disk/loopback.c: Likewise.
15394 * font/font_cmd.c: Likewise.
15395 * partmap/acorn.c: Likewise.
15396 * partmap/amiga.c: Likewise.
15397 * partmap/apple.c: Likewise.
15398 * partmap/gpt.c: Likewise.
15399 * partmap/msdos.c: Likewise.
15400 * partmap/sun.c: Likewise.
15401 * parttool/msdospart.c: Likewise.
15402 * term/gfxterm.c: Likewise.
15403 * video/bitmap.c: Likewise.
15404 * video/readers/jpeg.c: Likewise.
15405 * video/readers/png.c: Likewise.
15406 * video/readers/tga.c: Likewise.
15407 * video/video.c: Likewise.
15408 * util/grub-emu.c (read_command_list): Removed.
15409 (main): Don't call util_init_nls.
15410 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15411 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15412
15413 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15414
15415 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15416 date.mod, datehook.mod.
15417 (datetime_mod_SOURCES): New variable.
15418 (datetime_mod_CFLAGS): Likewise.
15419 (datetime_mod_LDFLAGS): Likewise.
15420 (date_mod_SOURCES): Likewise.
15421 (date_mod_CFLAGS): Likewise.
15422 (date_mod_LDFLAGS): Likewise.
15423 (datehook_mod_SOURCES): Likewise.
15424 (datehook_mod_CFLAGS): Likewise.
15425 (datehook_mod_LDFLAGS): Likewise.
15426 * conf/sparc64-ieee1275.rmk: Likewise.
15427 * lib/ieee1275/datetime.c: New file.
15428
15429 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15432 (ieee1275_fb_mod_SOURCES): New variable.
15433 (ieee1275_fb_mod_CFLAGS): Likewise.
15434 (ieee1275_fb_mod_LDFLAGS): Likewise.
15435 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15436 New proto.
15437 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15438 (HEAP_MAX_ADDR): Likewise.
15439 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15440 type.
15441 Correct stop condition.
15442 (grub_ieee1275_devices_iterate): New function.
15443 * video/ieee1275.c: New file.
15444
15445 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15448
15449 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15450 as scratch.
15451 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15452 SCRATCH_PAD_DISKBOOT as scratch.
15453 (bootit): Pass Openfirmware pointer in %o4.
15454 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15455 of 0x200000.
15456 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15457 with util/grub-mkrawimage.c.
15458 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15459 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15460 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15461 (grub_aout_load) [GRUB_UTIL]: Likewise.
15462 * include/grub/kernel.h (grub_modules_get_end): New proto.
15463 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15464 (SCRATCH_PAD_BOOT): New definition.
15465 (SCRATCH_PAD_DISKBOOT): Likewise.
15466 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15467 * include/grub/sparc64/ieee1275/ieee1275.h
15468 (grub_ieee1275_original_stack): New variable
15469 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15470 New definition
15471 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15472 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15473 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15474 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15475 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15476 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15477 (grub_platform_image_format_t): New type.
15478 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15479 * kern/main.c (grub_modules_get_end)
15480 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15481 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15482 (codestart): Switch stacks.
15483 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15484 variable.
15485 (grub_heap_init): Use grub_modules_get_end.
15486 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15487 stack.
15488 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15489 (main): Likewise.
15490 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15491
15492 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15493
15494 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15495
15496 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15497
15498 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15499 bug #559005).
15500
15501 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * genmoddep.awk: Output all missing symbols and not only first.
15504
15505 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * NEWS: Put the date of 1.98 release.
15508
15509 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15512 ft2build.h.
15513
15514 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15517 completition in the middle of string.
15518
15519 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 * util/grub-mkrescue.in: Use mktemp with explicit template.
15522
15523 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15524
15525 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15526
15527 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15530 right pointer.
15531
15532 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 Fix FreeBSD compilation.
15535
15536 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15537 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15538
15539 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15540
15541 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15542
15543 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15546
15547 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15550
15551 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15552
15553 Support relative image path in theme file.
15554
15555 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15556 (image_set_property): Handle theme_dir and relative path.
15557
15558 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * configure.ac: Alias amd64 to x86_64.
15561
15562 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * NEWS: mention multiboot on EFI.
15565
15566 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15567
15568 * kern/main.c (grub_load_modules): Handle errors from init functions of
15569 embeded modules.
15570
15571 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 * normal/autofs.c (autoload_fs_module): Handle errors.
15574
15575 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 Disable linux.mod on qemu-mips since it's not functional and leads
15578 to compilation failure.
15579
15580 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15581 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15582 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15583 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15584 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15585 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15586 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15587 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15588 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15589 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15590 Reported by: BVK Chaitanya
15591
15592 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15593
15594 * INSTALL: Add gettext as a dependency and add qemu to a new section
15595 "Prerequisites for make-check".
15596
15597 2010-03-04 Christian Franke <franke@computer.org>
15598
15599 * util/grub-pe2elf.c: Add missing include "progname.h".
15600
15601 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * normal/crypto.c (read_crypto_list): Fix a typo.
15604 Reported by: Seth Goldberg.
15605
15606 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15607
15608 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15609 Reported by: Seth Goldberg.
15610
15611 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15614 ascii.bitmaps.
15615
15616 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 * genmk.rb: Remove terminal*.lst in make clean.
15619 Reported by: Seth Goldberg.
15620
15621 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 * util/i386/efi/grub-install.in: Copy gettext files.
15624
15625 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15628
15629 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 Wait for user entry basing on presence of output rather than on errors.
15632
15633 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15634 (grub_install_newline_hook): Likewise.
15635 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15636 * normal/menu.c (show_menu): Check line_counter to determine presence
15637 of output.
15638 * normal/term.c (grub_normal_line_counter): New variable.
15639 (grub_normal_get_line_counter): New function.
15640 (grub_install_newline_hook): Likewise.
15641
15642 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15645
15646 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * configure.ac: Update version to 1.98.
15649
15650 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 * util/grub.d/10_linux.in (linux_entry): Don't default to
15653 gfxpayload=keep if Linux doesn't support video handover.
15654
15655 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 Don't compile video modules on yeeloong since video subsystem is part
15658 of kernel.
15659
15660 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15661 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15662 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15663 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15664 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15665 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15666 * include/grub/bitmap_scale.h: Likewise.
15667 * include/grub/bufio.h: Likewise.
15668 * include/grub/font.h: Likewise.
15669 * include/grub/gfxterm.h: Likewise.
15670 * include/grub/video.h: Likewise.
15671 * include/grub/vbe.h: Don't include video_fb.h.
15672 * video/i386/pc/vbe.c: Include video_fb.h.
15673 * commands/i386/pc/vbetest.c: Include video.h.
15674
15675 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15676
15677 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15678 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15679 default entry if GRUB_SAVEDEFAULT=true. This allows using
15680 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15681 saving a new default on every boot.
15682
15683 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15684
15685 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15686 * normal/term.c (read_terminal_list): Likewise.
15687 * normal/main.c (grub_normal_init_page): Likewise.
15688 (grub_normal_read_line_real): Likewise.
15689
15690 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15693 memory leak.
15694 Reported by: Seth Goldberg.
15695
15696 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15697
15698 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15699 duplicate declaration of `start'.
15700
15701 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15704 filename.
15705 Reported by: Georgy Buranov
15706
15707 2010-02-20 Carles Pina i Estany <carles@pina.cat>
15708
15709 * util/grub-mkrawimage.c (usage): Change string formatting to
15710 improve gettext.
15711
15712 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15713
15714 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15715 backspace keys.
15716
15717 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15720 Reported by: Michael Suchanek.
15721
15722 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
15723
15724 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15725 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15726
15727 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 Remove any reference to non-free fonts.
15730
15731 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15732 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15733 uses non-free components.
15734 * font/font.c (grub_font_get_name): Remove example name.
15735 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15736 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15737 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15738 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15739
15740 2010-02-16 Georgy Buranov <gburanov@gmail.com>
15741
15742 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15743
15744 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15747 Double divisor.
15748 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15749 features.
15750 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15751
15752 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15755
15756 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15757
15758 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15759 * docs/grub.texi (Command-line and menu entry commands): Document play
15760 command.
15761
15762 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15763
15764 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15765 parse arguments as inline tempo and notes. Move code for playing notes
15766 to...
15767 (play): ... new function.
15768
15769 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15770
15771 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15772 grub_uint16_t instead of short.
15773 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15774 disk from little endian to cpu endianness.
15775
15776 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15777
15778 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15779 GRUB_TICKS_PER_SECOND instead of 120.
15780
15781 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15784 escape sequence after \e.
15785
15786 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15789 non-ASCII characters.
15790
15791 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15792
15793 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15794 set root in single quotes to prevent \, from being unescaped.
15795
15796 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 Prevent unknown commands from stopping menuentry execution.
15799
15800 * script/execute.c (grub_script_execute_cmdline): Print error after
15801 unknown command.
15802
15803 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15806 Reported by: Pavel Pisa.
15807
15808 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15811
15812 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 Merge grub_ieee1275_map_physical into grub_map and rename to
15815 grub_ieee1275_map
15816
15817 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15818 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15819 Remove.
15820 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15821 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15822 necessary.
15823 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15824
15825 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15828 opening and not after.
15829
15830 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15833 constants.
15834
15835 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15838 (alloc_phys): Use ALIGN_UP instead of align_addr.
15839
15840 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15843
15844 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15847
15848 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15851 verbose dprintf.
15852
15853 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 Fix over-4GiB seek on sparc64.
15856
15857 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15858 Replace pos_i and pos_lo with pos. All users updated.
15859 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15860 New constant.
15861 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15862 Likewise.
15863 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15864 and pos_lo.
15865
15866 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 * util/grub-mkrawimage.c (main): Call set_program_name.
15869
15870 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15871
15872 Properly align 64-bit targets.
15873
15874 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15875 (generate_image): Use ALIGN_ADDR.
15876
15877 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 Properly create cross-endian images.
15880
15881 * include/grub/types.h (grub_host_to_target_addr): New macro
15882 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15883
15884 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15887
15888 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15891
15892 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15893 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15894 (grub_linux_boot): Divide by 64K when on VESA.
15895
15896 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 Support GRUB_GFXPAYLOAD_LINUX.
15899
15900 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15901 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15902
15903 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15906 to show messages instead of discarding them.
15907 Process errors after executing command and not before. Keep old method
15908 too as precaution.
15909
15910 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 * configure.ac: Check for ft2build.h.
15913
15914 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15917
15918 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 * genkernsyms.sh.in: Use TARGET_CC.
15921
15922 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
15923
15924 * NEWS: Update.
15925
15926 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 * include/grub/multiboot2.h: Remove leftover file.
15929 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15930 * include/grub/partition.h [GRUB_UTIL]: Likewise.
15931
15932 2010-02-07 Yves Blusseau <blusseau@zetam.org>
15933
15934 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
15935
15936 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15937
15938 Fix warnings in grub-emu when compiling with maximum warning options.
15939
15940 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15941 (grub_arch_modules_addr): Return 0 and not NULL.
15942 * util/misc.c (ENABLE_RELOCATABLE): New definition.
15943 (xstrdup): Use newstr instead of dup.
15944 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15945 of disk to dsk to avoid shadowing.
15946 (find_free_slot): Fix prototype.
15947 * util/getroot.c (grub_util_is_dmraid): Make static.
15948 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15949 Add missing prototype.
15950 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
15951
15952 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15955 appropriately.
15956
15957 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15960 code out.
15961
15962 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15965 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15966 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15967 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15968 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15969 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15970
15971 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15972
15973 * include/grub/err.h (grub_err_printf): Don't export.
15974
15975 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15978
15979 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15982 * kern/misc.c (grub_gettext_dummy): Make static.
15983
15984 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15987 by non-valid ones.
15988 * kern/term.c (grub_putchar): Likewise.
15989
15990 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15993 buggy hook call and memory leak.
15994
15995 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15998
15999 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16000
16001 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16002
16003 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16006 modevar.
16007 Return grub_errno on allocation error.
16008
16009 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16012
16013 2010-02-06 Yves Blusseau <blusseau@zetam.org>
16014
16015 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16016 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16017
16018 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16021 non-pxe disk.
16022 (grub_pxefs_open): Likewise.
16023
16024 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16025
16026 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16027 * util/grub.d/10_kfreebsd.in: Likewise.
16028 * util/grub.d/10_linux.in: Likewise.
16029
16030 2010-02-06 Colin D Bennett <colin@gibibit.com>
16031
16032 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16033 (gfxmenu_mod_SOURCES): New variable.
16034 (gfxmenu_mod_CFLAGS): Likewise.
16035 (gfxmenu_mod_LDFLAGS): Likewise.
16036 * include/grub/term.h (grub_term_set_current_output): Declare
16037 argument as const.
16038 * docs/gfxmenu-theme-example.txt: New file.
16039 * gfxmenu/gfxmenu.c: Likewise.
16040 * gfxmenu/gui_box.c: Likewise.
16041 * gfxmenu/gui_canvas.c: Likewise.
16042 * gfxmenu/gui_circular_progress.c: Likewise.
16043 * gfxmenu/gui_image.c: Likewise.
16044 * gfxmenu/gui_label.c: Likewise.
16045 * gfxmenu/gui_list.c: Likewise.
16046 * gfxmenu/gui_progress_bar.c: Likewise.
16047 * gfxmenu/gui_string_util.c: Likewise.
16048 * gfxmenu/gui_util.c: Likewise.
16049 * gfxmenu/icon_manager.c: Likewise.
16050 * gfxmenu/model.c: Likewise.
16051 * gfxmenu/named_colors.c: Likewise.
16052 * gfxmenu/theme_loader.c: Likewise.
16053 * gfxmenu/view.c: Likewise.
16054 * gfxmenu/widget-box.c: Likewise.
16055 * include/grub/gfxmenu_model.h: Likewise.
16056 * include/grub/gfxmenu_view.h: Likewise.
16057 * include/grub/gfxwidgets.h: Likewise.
16058 * include/grub/gui.h: Likewise.
16059 * include/grub/gui_string_util.h: Likewise.
16060 * include/grub/icon_manager.h: Likewise.
16061
16062 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16063
16064 Agglomerate scrolling in gfxterm.
16065
16066 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16067 (grub_virtual_screen_setup): Initialise 'total_screen'.
16068 (write_char): Split to ...
16069 (paint_char): ... this ...
16070 (write_char): ... and this.
16071 (paint_char): Handle delayed scrolling.
16072 (draw_cursor): Likewise.
16073 (scroll_up): Split to ...
16074 (real_scroll): ... this ...
16075 (scroll_up): ... and this.
16076 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16077 characters.
16078 (grub_gfxterm_refresh): Call real_scroll.
16079
16080 2010-02-06 Colin D Bennett <colin@gibibit.com>
16081
16082 * include/grub/misc.h (grub_iscntrl): New inline function.
16083 (grub_isalnum): Likewise.
16084 (grub_strtol): Likewise.
16085
16086 2010-02-06 Colin D Bennett <colin@gibibit.com>
16087
16088 * normal/menu_text.c (get_entry_number): Move from here ...
16089 * normal/menu.c (get_entry_number): ... moved here.
16090 * include/grub/menu.h (grub_menu_get_default_entry_index):
16091 New prototype.
16092 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16093 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16094 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16095 (grub_menu_viewer_should_return): Likewise.
16096 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16097 * normal/menu_text.c (run_menu): Enable menu switching.
16098 * normal/menu_viewer.c (should_return): New variable.
16099 (menu_viewer_changed): Likewise.
16100 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16101 (grub_menu_viewer_should_return): New function.
16102 (menuviewer_write_hook): Likewise.
16103 (grub_menu_viewer_init): Likewise.
16104
16105 2010-02-06 Colin D Bennet <colin@gibibit.com>
16106 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 Support for gfxterm in a window.
16109
16110 * include/grub/gfxterm.h: New file.
16111 * include/grub/video.h (struct grub_video_rect): New declaration.
16112 (grub_video_rect_t): Likewise.
16113 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16114 (refcount): New variable.
16115 (render_target): Likewise.
16116 (window): Likewise.
16117 (repaint_callback): Likewise.
16118 (grub_virtual_screen_setup): Use 'render_target'.
16119 (init_window): New function.
16120 (grub_gfxterm_init_window): Likewise.
16121 (grub_gfxterm_init): Check reference counter.
16122 Use init_window.
16123 (destroy_window): New function.
16124 (grub_gfxterm_destroy_window): Likewise.
16125 (grub_gfxterm_fini): Check reference counter.
16126 Use destroy_window.
16127 (redraw_screen_rect): Restore viewport.
16128 Use 'render_target' and 'window'.
16129 Call 'repaint_callback'.
16130 (write_char): Use 'render_target'.
16131 (draw_cursor): Likewise.
16132 (scroll_up): Restore viewport.
16133 Use 'render_target' and 'window'.
16134 Call 'repaint_callback'.
16135 (grub_gfxterm_cls): Likewise.
16136 (grub_gfxterm_refresh): Use 'window'.
16137 (grub_gfxterm_set_repaint_callback): New function.
16138 (grub_gfxterm_background_image_cmd): Use 'window'.
16139 (grub_gfxterm_get_term): New function.
16140 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16141
16142 2010-02-06 Colin D Bennett <colin@gibibit.com>
16143
16144 Bitmap scaling support.
16145
16146 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16147 (bitmap_scale_mod_SOURCES): New variable.
16148 (bitmap_scale_mod_CFLAGS): Likewise.
16149 (bitmap_scale_mod_LDFLAGS): Likewise.
16150 * include/grub/bitmap_scale.h: New file.
16151 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16152 (background_image_cmd_options): New variable.
16153 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16154 (cmd): Rename and change type to ...
16155 (background_image_cmd_handle): ... this. All users updated.
16156 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16157 * video/bitmap_scale.c: New file.
16158
16159 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 SDL support.
16162
16163 * Makefile.in (LIBSDL): New variable.
16164 (enable_grub_emu_sdl): Likewise.
16165 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16166 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16167 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16168 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16169 * util/sdl.c: New file.
16170
16171 2010-02-06 Colin D Bennett <colin@gibibit.com>
16172 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16173
16174 Double buffering support.
16175
16176 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16177 * include/grub/video.h: Update comment.
16178 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16179 New type.
16180 (grub_video_fb_doublebuf_blit_init): New prototype.
16181 * term/gfxterm.c (scroll_up): Support double buffering.
16182 (grub_gfxterm_refresh): Likewise.
16183 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16184 (grub_video_fb_doublebuf_blit_init): Likewise.
16185 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16186 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16187 'displayed_page', 'render_page' and 'update_screen'.
16188 (grub_video_vbe_fini): Free offscreen buffer.
16189 (doublebuf_pageflipping_commit): New function.
16190 (doublebuf_pageflipping_update_screen): Likewise.
16191 (doublebuf_pageflipping_init): Likewise.
16192 (double_buffering_init): Likewise.
16193 (grub_video_vbe_setup): Enable doublebuffering.
16194 (grub_video_vbe_swap_buffers): Implement.
16195 (grub_video_vbe_set_active_render_target): Handle double buffering.
16196 (grub_video_vbe_get_active_render_target): Likewise.
16197 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16198 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16199 (grub_video_vbe_enable_double_buffering): Likewise.
16200 (grub_video_vbe_swap_buffers): Use update_screen.
16201 (grub_video_set_mode): Use double buffering.
16202
16203 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16204
16205 * maintainance/gentrigtables.py: Remove.
16206 * lib/trig.c: Likewise.
16207
16208 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16209
16210 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16211 `trigtables.c'.
16212 (trigtables.c): New rule.
16213 (gentrigtables): Likewise.
16214 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16215
16216 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16217
16218 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16219 integer constants.
16220
16221 2010-02-06 Colin D Bennet <colin@gibibit.com>
16222
16223 Trigonometry support.
16224
16225 * include/grub/trig.h: New file.
16226 * lib/trig.c: Likewise.
16227 * maintainance/gentrigtables.py: Likewise.
16228 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16229 (trig_mod_SOURCES): New variable.
16230 (trig_mod_CFLAGS): Likewise.
16231 (trig_mod_LDFLAGS): Likewise.
16232
16233 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16236 disk devices.
16237
16238 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16241 error.
16242
16243 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * util/hostdisk.c (open_device): Don't use partition device when reading
16246 before the partition.
16247 (grub_util_biosdisk_read): Don't read from partition and before the
16248 partition in single operation.
16249 (grub_util_biosdisk_write): Don't write to partition and before the
16250 partition in single operation.
16251
16252 2010-02-03 Torsten Landschoff <torsten@debian.org>
16253
16254 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16255 last sectors.
16256
16257 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16260 CDROM reads.
16261 (grub_biosdisk_write): Refuse to write to CDROM.
16262
16263 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16266
16267 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16268
16269 * font/font.c (find_glyph): Check that bmp_idx is available before
16270 using it.
16271 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16272 with (font == NULL).
16273
16274 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
16275
16276 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16277
16278 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16279
16280 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16281 * util/grub-script-check.c (getline): Fix empty lines case.
16282
16283 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16284
16285 * Makefile.in (check): Exit with fail status when one of the tests
16286 fails.
16287 * tests/example_functional_test.c (example_test): Fix reversed assert.
16288 * tests/example_unit_test.c (example_test): Likewise.
16289
16290 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
16291
16292 * util/grub.d/10_linux.in: This script does not use any of the
16293 contents of gettext.sh, only the external command `gettext', so stop
16294 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16295 the same prefix as GRUB.)
16296 * util/grub.d/10_kfreebsd.in: Likewise.
16297
16298 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16301 of the line.
16302
16303 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16304
16305 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16306 last sectors.
16307
16308 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16311 having a 4KiB and not 32KiB buffer size.
16312
16313 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16314
16315 * util/hostfs.c: Include `<errno.h>'.
16316 (grub_hostfs_read): Handle errors from fseeko() and fread().
16317
16318 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16319
16320 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16321 loop when using read hooks on files whose size isn't sector-aligned.
16322
16323 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16324
16325 Remove unused parameter.
16326
16327 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16328 (grub_iso9660_open): Remove initialization of `data->length'.
16329
16330 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16331
16332 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16333 memleak conditions.
16334
16335 2010-01-27 Carles Pina i Estany <carles@pina.cat>
16336
16337 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16338 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16339
16340 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16341
16342 * util/bin2h.c (usage): Fix warning (space after backslash).
16343
16344 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16345
16346 * font/font.c: Include `grub/fontformat.h.
16347 Remove font file format constants.
16348 (grub_font_load): Use the new macros.
16349 * include/grub/fontformat.h: New file.
16350 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16351 (write_font_pf2): Use the new macros.
16352
16353 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16354
16355 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16356 does.
16357
16358 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16359
16360 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16361
16362 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16363 (_start): Macroify `0x7F'.
16364
16365 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16366 (make_install_device): Use "(pxe)" as fallback prefix when booting
16367 via PXE.
16368
16369 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * configure.ac: Reset LIBS after check for libgcc symbols.
16372
16373 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
16374
16375 * util/hostdisk.c (open_device): Add trailing newline to debug
16376 message.
16377
16378 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16379
16380 * configure.ac: Check for `limits.h'.
16381 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16382
16383 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16384
16385 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16386 capitalize error strings.
16387
16388 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16389
16390 * util/grub.d/10_hurd.in: Add a recovery mode.
16391
16392 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 * configure.ac: Check for libgcc symbols with -nostdlib.
16395
16396 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16397
16398 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16399
16400 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16403 stack since heap may be unavailable at that point.
16404 (grub_ofconsole_gotoxy): Likewise.
16405
16406 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 * configure.ac: Check for _restgpr_14_x.
16409 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16410 and _savegpr_* prototypes.
16411
16412 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16413
16414 Use generic grub_reboot() for i386-efi.
16415
16416 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16417 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16418 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16419
16420 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16421
16422 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16423 presence of "prefix" variable as it breaks when normal.mod is
16424 embedded.
16425
16426 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16429 stack since heap is unavailable at that point.
16430
16431 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16434 (grub_freebsd_bootinfo): Rewritten.
16435 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16436
16437 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16438
16439 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16440
16441 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16442
16443 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16444 domain now.
16445
16446 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
16447
16448 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16449 around for handling "/" to the correct fix. Fix a memory leak. Use
16450 xstrdup instead of strdup.
16451
16452 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16455
16456 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16459
16460 * font/font.c (struct grub_font): New member 'bmp_idx'.
16461 (font_init): Initialise 'bmp_idx'.
16462 (load_font_index): Fill 'bmp_idx'.
16463 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16464
16465 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16468 unnecessary calls.
16469
16470 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16471
16472 Move context handling out of the kernel.
16473
16474 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16475 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16476 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16477 * conf/i386-efi.rmk: Likewise.
16478 * conf/i386-ieee1275.rmk: Likewise.
16479 * conf/i386-pc.rmk: Likewise.
16480 * conf/powerpc-ieee1275.rmk: Likewise.
16481 * conf/sparc64-ieee1275.rmk: Likewise.
16482 * conf/x86_64-efi.rmk: Likewise.
16483 * include/grub/env.h: Include grub/menu.h.
16484 (grub_env_var_type): Removed.
16485 (grub_env_var): Replaced field 'type' with 'global'.
16486 (grub_env_find): New prototype.
16487 (grub_env_context_open): Remove EXPORT_FUNC.
16488 (grub_env_context_close): Likewise.
16489 (grub_env_export): Likewise.
16490 (grub_env_set_data_slot): Removed.
16491 (grub_env_get_data_slot): Likewise.
16492 (grub_env_unset_data_slot): Likewise.
16493 (grub_env_unset_menu): New prototype.
16494 (grub_env_set_menu): Likewise.
16495 (grub_env_get_menu): Likewise.
16496 * include/grub/env_private.h: New file.
16497 * include/grub/normal.h (grub_context_init): New prototype.
16498 (grub_context_fini): Likewise.
16499 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16500 * normal/context.c (grub_cmd_export): ... to here.
16501 * kern/env.c: Include env_private.h.
16502 (HASHSZ): Moved to include/grub/env_private.h.
16503 (grub_env_context): Likewise.
16504 (grub_env_sorted_var): Likewise.
16505 (current_context): Renamed from this ...
16506 (grub_current_context): ...to this. 'static' removed. All users updated.
16507 (grub_env_find): Removed 'static'.
16508 (grub_env_context_open): Moved to normal/context.c.
16509 (grub_env_context_close): Likewise.
16510 (grub_env_export): Likewise.
16511 (mangle_data_slot_name): Removed.
16512 (grub_env_set_data_slot): Likewise.
16513 (grub_env_get_data_slot): Likewise.
16514 (grub_env_unset_data_slot): Likewise.
16515 * kern/main.c (grub_set_root_dev): Don't export root.
16516 It will be done later.
16517 (grub_main): Don't export prefix.
16518 It will be done later.
16519 * normal/context.c: New file.
16520 * normal/main.c (free_menu): Use grub_env_unset_menu.
16521 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16522 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16523 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16524 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16525
16526 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 setpci support.
16529
16530 * commands/setpci.c: New file.
16531 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16532 (setpci_mod_SOURCES): New variable.
16533 (setpci_mod_CFLAGS): Likewise.
16534 (setpci_mod_LDFLAGS): Likewise.
16535
16536 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 Byte-addressable PCI configuration space.
16539
16540 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16541 dword address.
16542 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16543 GRUB_PCI_REG_CACHELINE.
16544 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16545 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16546 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16547 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16548 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16549 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16550 grub_pci_make_address.
16551 (lock_rom_area): Likewise.
16552 * commands/lspci.c (grub_lspci_iter): Use macroses
16553 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16554 of grub_pci_make_address.
16555 * disk/ata.c (grub_ata_pciinit): Likewise.
16556 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16557 (GRUB_PCI_REG_VENDOR): Likewise.
16558 (GRUB_PCI_REG_DEVICE): Likewise.
16559 (GRUB_PCI_REG_COMMAND): Likewise.
16560 (GRUB_PCI_REG_STATUS): Likewise.
16561 (GRUB_PCI_REG_REVISION): Likewise.
16562 (GRUB_PCI_REG_CLASS): Likewise.
16563 (GRUB_PCI_REG_CACHELINE): Likewise.
16564 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16565 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16566 (GRUB_PCI_REG_BIST): Likewise.
16567 (GRUB_PCI_REG_ADDRESSES): Likewise.
16568 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16569 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16570 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16571 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16572 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16573 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16574 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16575 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16576 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16577 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16578 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16579 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16580 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16581 (GRUB_PCI_REG_MIN_GNT): Likewise.
16582 (GRUB_PCI_REG_MAX_LAT): Likewise.
16583 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16584 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16585 * video/efi_uga.c (find_framebuf): Likewise.
16586 * video/sm712.c (grub_video_sm712_setup): Likewise.
16587 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16588 space.
16589
16590 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16591
16592 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16593 can be reliably determined to be supported.
16594
16595 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16596
16597 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16598 that VESA is supported.
16599 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16600 supported.
16601
16602 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16605
16606 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16607
16608 * util/misc.c (make_system_path_relative_to_its_root): Work around
16609 special-casing of "/", as previous incarnation of this routine did.
16610
16611 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 Fix any-emu compilation.
16614
16615 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16616 * grub_bin2h_SOURCES: New variable.
16617
16618 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16619
16620 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16621
16622 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16623
16624 * util/grub.d/00_header.in: Fix handling of locale_dir.
16625
16626 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16629 as possible unifont location (Gentoo).
16630 Reported by: Alexander Brüning
16631
16632 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 Don't try to generate lists for kernel.img.
16635
16636 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16637 (pkglib_MODULES): Remove kernel.img.
16638 (kernel_img_EXPORTS): Removed.
16639 (kernel_img_RELOCATABLE): New variable.
16640 * conf/x86_64-efi.rmk: Likewise.
16641 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16642
16643 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16646 grub_xasprintf or grub_snprintf.
16647 (grub_vsprintf): Likewise.
16648 (grub_snprintf): New proto.
16649 (grub_vsnprintf): Likewise.
16650 (grub_xasprintf): Likewise.
16651 (grub_xvasprintf): Likewise.
16652 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16653 (grub_sprintf): Removed.
16654 (grub_vsnprintf): New function.
16655 (grub_snprintf): Likewise.
16656 (grub_xvasprintf): Likewise.
16657 (grub_xasprintf): Likewise.
16658 (grub_vsprintf): Renamed to ...
16659 (grub_vsnprintf_real): ...this. New argument max_len.
16660
16661 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16662
16663 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16664 fix grub-script-check warning.
16665
16666 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 * include/grub/font.h (grub_font_load): Fix prototype.
16669
16670 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16673
16674 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16675
16676 * include/grub/x86_64/at_keyboard.h: New file.
16677
16678 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 * loader/mips/linux.c: Include missing grub/i18n.h.
16681
16682 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16683
16684 * normal/menu.c (notify_execution_failure): Clarify error message.
16685
16686 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16687
16688 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16689 return value (and revert all return statements). Update users.
16690
16691 2010-01-20 Dan Merillat <debian@dan.merillat.org>
16692
16693 * kern/device.c (grub_device_iterate): Allocate new part_ent
16694 structure based on sizeof (*p) rather than sizeof (p->next), to
16695 account for structure padding.
16696
16697 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16698 disk is NULL, which might happen for LVM physical volumes with no
16699 LVM signature.
16700
16701 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16702
16703 * loader/mips/linux.c (grub_cmd_initrd)
16704 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16705
16706 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16707
16708 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16709 (grub_video_video_init, grub_video_bitmap_init)
16710 (grub_font_manager_init, grub_term_gfxterm_init)
16711 (grub_at_keyboard_init): New extern declarations.
16712 (grub_machine_init): Initialize gfxterm and at_keyboard.
16713
16714 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16715
16716 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16717 `gfxterm.mod' into core image.
16718
16719 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16720 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16721 (kernel_img_FORMAT): Copy to ...
16722
16723 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16724 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16725 (kernel_img_FORMAT): ... here, and ...
16726
16727 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16728 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16729 (kernel_img_FORMAT): ... here.
16730
16731 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16732 and input (at_keyboard) terminals in kernel.
16733 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16734
16735 (pkglib_MODULES): Remove `pci.mod'.
16736 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16737 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16738 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16739 (at_keyboard_mod_LDFLAGS): Remove variables.
16740
16741 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
16742
16743 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16744
16745 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16746
16747 * include/grub/mips/libgcc.h: Only export symbols for functions
16748 that libgcc provides.
16749
16750 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16751
16752 MIPS support.
16753
16754 * bus/bonito.c: New file.
16755 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16756 GRUB_PCI_NUM_DEVICES.
16757 * term/i386/pc/serial.c: Move to ...
16758 * term/serial.c: ... here. All users updated.
16759 * util/i386/pc/grub-mkimage.c: Move to ...
16760 * util/grub-mkrawimage.c: ... here. All users updated.
16761 * term/i386/pc/at_keyboard.c: Move to ...
16762 * term/at_keyboard.c: ... here. All users updated.
16763 * conf/mips-qemu-mips.rmk: New file.
16764 * conf/mips-yeeloong.rmk: Likewise.
16765 * conf/mips.rmk: Likewise.
16766 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16767 mipsel-qemu-mips.
16768 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16769 to port addresses.
16770 (grub_ata_pciinit): Support CS5536.
16771 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16772 * font/font_cmd.c (loadfont_command): Open file before passing it to
16773 grub_font_load.
16774 (pseudo_file_read): New function.
16775 (pseudo_file_close): Likewise.
16776 (pseudo_fs): New structure.
16777 (load_font_module): New function.
16778 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16779 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16780 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16781 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16782 * include/grub/i386/at_keyboard.h: Split into ...
16783 * include/grub/at_keyboard.h: ... this ...
16784 * include/grub/i386/at_keyboard.h: ... and this.
16785 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16786 New prototype.
16787 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16788 updated.
16789 (grub_elf64_size): Likewise.
16790 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16791 filename.
16792 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16793 * include/grub/i386/coreboot/serial.h: Rewritten.
16794 * include/grub/i386/ieee1275/serial.h: Include
16795 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16796 * include/grub/i386/pc/serial.h: Moved from here ...
16797 * include/grub/serial.h: ... to here. All users updated.
16798 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16799 (GRUB_PCI_NUM_BUS): Likewise.
16800 (GRUB_PCI_NUM_DEVICES): Likewise.
16801 (grub_pci_device_map_range): Add missing volatile keyword.
16802 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16803 * include/grub/mips/at_keyboard.h: New file.
16804 * include/grub/mips/cache.h: Likewise.
16805 * include/grub/mips/io.h: Likewise.
16806 * include/grub/mips/kernel.h: Likewise.
16807 * include/grub/mips/libgcc.h: Likewise.
16808 * include/grub/mips/pci.h: Likewise.
16809 * include/grub/mips/qemu-mips/boot.h: Likewise.
16810 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16811 * include/grub/mips/qemu-mips/loader.h: Likewise.
16812 * include/grub/mips/qemu-mips/memory.h: Likewise.
16813 * include/grub/mips/qemu-mips/serial.h: Likewise.
16814 * include/grub/mips/qemu-mips/time.h: Likewise.
16815 * include/grub/mips/relocator.h: Likewise.
16816 * include/grub/mips/time.h: Likewise.
16817 * include/grub/mips/types.h: Likewise.
16818 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16819 * include/grub/mips/yeeloong/boot.h: Likewise.
16820 * include/grub/mips/yeeloong/kernel.h: Likewise.
16821 * include/grub/mips/yeeloong/loader.h: Likewise.
16822 * include/grub/mips/yeeloong/memory.h: Likewise.
16823 * include/grub/mips/yeeloong/pci.h: Likewise.
16824 * include/grub/mips/yeeloong/serial.h: Likewise.
16825 * include/grub/mips/yeeloong/time.h: Likewise.
16826 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16827 * kern/elf.c (grub_elf32_size): New parameter. All users
16828 updated.
16829 (grub_elf64_size): Likewise.
16830 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16831 Load modules before saying "Welcome to GRUB!".
16832 Call grub_refresh after saying "Welcome to GRUB!".
16833 * kern/mips/cache.S: New file.
16834 * kern/mips/cache_flush.S: Likewise.
16835 * kern/mips/dl.c: Likewise.
16836 * kern/mips/init.c: Likewise.
16837 * kern/mips/qemu-mips/init.c: Likewise.
16838 * kern/mips/startup.S: Likewise.
16839 * kern/mips/yeeloong/init.c: Likewise.
16840 * kern/term.c (grub_putcode): Handle NULL terminal.
16841 (grub_getcharwidth): Likewise.
16842 (grub_getkey): Likewise.
16843 (grub_checkkey): Likewise.
16844 (grub_getkeystatus): Likewise.
16845 (grub_getxy): Likewise.
16846 (grub_getwh): Likewise.
16847 (grub_gotoxy): Likewise.
16848 (grub_cls): Likewise.
16849 (grub_setcolorstate): Likewise.
16850 (grub_setcolor): Likewise.
16851 (grub_getcolor): Likewise.
16852 (grub_refresh): Likewise.
16853 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16854 (write_jump): Add hatch nop.
16855 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16856 * lib/mips/setjmp.S: New file.
16857 * loader/mips/linux.c: Likewise.
16858 * term/i386/pc/at_keyboard.c: Move from here ...
16859 * term/at_keyboard.c: ... to here.
16860 * term/i386/pc/serial.c: Moved from here ...
16861 * term/serial.c: ... to here. All users updated.
16862 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16863 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16864 (serial_translate_key_sequence): Avoid deadlock.
16865 (grub_serial_getkey): Handle backspace.
16866 (grub_serial_putchar): Fix newline handling.
16867 * util/i386/pc/grub-mkimage.c: Move from here ...
16868 * util/grub-mkrawimage.c: ... to here. All users updated.
16869 (generate_image): New parameters 'font_path' and 'format'.
16870 Support embedding font.
16871 Use grub_host_to_target* instead of grub_cpu_to_le*.
16872 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16873 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16874 (options): New option "--font".
16875 (usage): Likewise.
16876 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16877 (main): Handle "--font".
16878 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16879 (grub_virtual_screen_setup): Set bg_color_display.
16880 (redraw_screen_rect): Use bg_color_display instead of incorrect
16881 bg_color.
16882 (grub_gfxterm_cls): Likewise.
16883 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16884 Support embedding config file.
16885 (add_segments): Likewise.
16886 (options): New option "--config".
16887 (main): Handle "--config".
16888 * video/sm712.c: New file.
16889
16890 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16891
16892 Fix parallel builds.
16893
16894 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16895 font.c depend on ascii.h).
16896
16897 2010-01-12 Carles Pina i Estany <carles@pina.cat>
16898
16899 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16900
16901 2010-01-11 Carles Pina i Estany <carles@pina.cat>
16902
16903 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16904 By default: disabled.
16905 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16906 parameter.
16907
16908 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16909
16910 * font/font.c: Update copyright years.
16911 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16912
16913 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16914
16915 * font/font.c: Include `ascii.h'.
16916 (ASCII_BITMAP_SIZE): New macro.
16917 (ascii_font_glyph): Define.
16918 (ascii_glyph_lookup): New function.
16919 (grub_font_get_string_width): Change comment. If glyph not found, use
16920 ascii_glyph_lookup.
16921 (grub_font_get_glyph_with_fallback): If glyph not available returns
16922 ascii_glyph_lookup.
16923 * util/grub-mkfont.c (file_formats): New enum.
16924 (options): Add `ascii-bitmaps' new option.
16925 (usage): Add `asii-bitmaps' new option.
16926 (write_font_ascii_bitmap): New function.
16927 (write_font): Rename to ...
16928 (write_font_p2): ... this. Remove print_glyphs call.
16929 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16930 used. Call print_glyphs.
16931 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16932
16933 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16934
16935 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16936 (grub_bin2h_SOURCES): New variable.
16937 * util/bin2h.c: New file.
16938
16939 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * include/multiboot.h: Resynced with spec.
16942 * include/multiboot2.h: Likewise.
16943 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16944 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16945
16946 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16947
16948 * include/grub/term.h (grub_term_register_input,
16949 grub_term_register_output): Check return of terminal init()
16950 routines, and abort if errors are raised.
16951
16952 * commands/terminal.c: Update copyright year.
16953
16954 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16955
16956 * commands/terminal.c (grub_cmd_terminal_input)
16957 (grub_cmd_terminal_output): Check return of terminal init()
16958 routines, and abort if errors are raised.
16959
16960 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16961
16962 * include/grub/i386/bsd.h: Fix include pathes.
16963
16964 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16965
16966 Add missing *BSD copyright headers.
16967
16968 * include/grub/aout.h: Add BSD licence.
16969 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16970 * include/grub/i386/freebsd_linker.h: ... here,
16971 * include/grub/i386/freebsd_reboot.h: ... here,
16972 * include/grub/i386/netbsd_bootinfo.h: ... here,
16973 * include/grub/i386/netbsd_reboot.h: ... here,
16974 * include/grub/i386/openbsd_bootarg.h: ... here,
16975 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16976 licence to each file.
16977
16978 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16979
16980 * acinclude.m4: Remove `nop' assembly instruction; it's not
16981 implemented by all architectures.
16982
16983 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16984
16985 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16986 ELILO. This is no longer necessary.
16987
16988 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16989
16990 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16991
16992 * util/grub-script-check.c: grub-script-check tool.
16993 * conf/common.rmk: Make rules for grub-script-check.
16994
16995 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16996
16997 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16998 spotting it back in 2008. Shame on me for forgetting he did.
16999
17000 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17001
17002 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17003
17004 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17005 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17006 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17007 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17008 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17009 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17010
17011 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17012
17013 * include/grub/test.h: Add license header.
17014 * tests/example_functional_test.c: Likewise.
17015 * tests/example_unit_test.c: Likewise.
17016 * tests/lib/functional_test.c: Likewise.
17017 * tests/lib/test.c: Likewise.
17018 * tests/lib/unit_test.c: Likewise.
17019
17020 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 Use flag-based instead of hook-based video mode selection and "auto"
17023 keyword.
17024
17025 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17026 (grub_video_set_mode): Changed prototype. All users updated.
17027 (grub_video_check_mode_flag): New inline function.
17028 * video/video.c (parse_modespec): New function.
17029 (grub_video_set_mode): Parse flags and keywords.
17030
17031 2010-01-17 Carles Pina i Estany <carles@pina.cat>
17032
17033 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17034 fprintf call.
17035
17036 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17037
17038 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17039
17040 2010-01-16 Carles Pina i Estany <carles@pina.cat>
17041
17042 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17043 string.
17044 * util/grub-emu.c (usage): Likewise.
17045 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17046 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17047 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17048 * util/i386/pc/grub-setup.c (usage): Likewise.
17049
17050 2010-01-16 Carles Pina i Estany <carles@pina.cat>
17051
17052 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17053 the message.
17054 (grub_util_info): Likewise.
17055 (grub_util_error): Likewise.
17056 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17057 and/or new lines in `grub_util_warna', `grub_util_info',
17058 `grub_util_error' calls.
17059 * util/getroot.c: Likewise.
17060 * util/grub-editenv.c: Likewise.
17061 * util/grub-emu.c: Likewise.
17062 * util/grub-fstest.c: Likewise.
17063 * util/grub-mkdevicemap.c: Likewise.
17064 * util/grub-mkfont.c: Likewise.
17065 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17066 * util/grub-mkrelpath.c: Likewise.
17067 * util/grub-pe2elf.c: Likewise.
17068 * util/grub-probe.c: Likewise.
17069 * util/hostdisk.c: Likewise.
17070 * util/i386/efi/grub-mkimage.c: Likewise.
17071 * util/i386/pc/grub-mkimage.c: Likewise.
17072 * util/i386/pc/grub-setup.c: Likewise.
17073 * util/ieee1275/ofpath.c: Likewise.
17074 * util/mkisofs/eltorito.c: Likewise.
17075 * util/mkisofs/rock.c: Likewise.
17076 * util/mkisofs/write.c: Likewise.
17077 * util/raid.c: Likewise.
17078 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17079 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17080
17081 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 Enable multiboot on non-pc.
17084
17085 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17086 multiboot.mod and multiboot2.mod to ...
17087 * conf/i386.rmk (pkglib_MODULES): ... here.
17088 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17089 Moved to ...
17090 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17091 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17092 Moved to ...
17093 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17094 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17095 Moved to ...
17096 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17097 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17098 Moved to ...
17099 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17100 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17101 relocator.mod.
17102 (ata_mod_SOURCES): Removed.
17103 (ata_mod_CFLAGS): Likewise.
17104 (ata_mod_LDFLAGS): Likewise.
17105 (relocator_mod_SOURCES): Removed.
17106 (relocator_mod_CFLAGS): Likewise.
17107 (relocator_mod_ASFLAGS): Likewise.
17108 (relocator_mod_LDFLAGS): Likewise.
17109 Include i386.mk.
17110 * include/grub/x86_64/multiboot.h: New file.
17111 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17112 Terminate EFI.
17113
17114 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 Video multiboot support.
17117
17118 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17119 New prototype.
17120 * include/multiboot.h: Resynced with multiboot specification.
17121 * include/multiboot2.h: Likewise.
17122 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17123 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17124 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17125 (HAS_VGA_TEXT): Likewise.
17126 (accepts_video): New variable.
17127 (grub_multiboot_set_accepts_video): New function.
17128 (grub_multiboot_get_mbi_size): Account for video structures.
17129 (set_video_mode): New function.
17130 (retrieve_video_parameters): Likewise.
17131 (grub_multiboot_make_mbi): Fill video fields.
17132
17133 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 Video driver ids.
17136
17137 * include/grub/video.h (grub_video_driver_id): New type.
17138 (grub_video_adapter): New member 'id'. All users updated.
17139 (grub_video_get_driver_id): New proto.
17140 * video/video.c (grub_video_get_driver_id): New function.
17141
17142 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17143
17144 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17145 `var=val'.
17146
17147 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17148
17149 * normal/cmdline.c (print_completion): Gettextizze.
17150
17151 2001-01-14 Carles Pina i Estany <carles@pina.cat>
17152
17153 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17154
17155 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17156
17157 * gettext/gettext.c (grub_gettext_translate): Push and pop
17158 grub_errno.
17159 (grub_gettext_delete_list): Change comment style.
17160 * kern/err.c (grub_error): Gettextizze.
17161 (grub_fatal): Gettextizze.
17162
17163 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17164
17165 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17166 (grub_linux16_real_boot): ... this.
17167 * kern/i386/loader.S: Likewise.
17168 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17169 (grub_linux16_boot): New function. Switches to text mode and calls
17170 grub_linux16_real_boot().
17171
17172 * loader/i386/bsd.c: Include `<grub/video.h>'.
17173 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17174 text mode before calling grub_unix_real_boot().
17175
17176 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17177 (grub_multiboot_boot): Switch to text mode before calling
17178 grub_relocator32_boot().
17179
17180 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17181 (grub_chainloader_boot): Switch to text mode before calling
17182 grub_chainloader_real_boot().
17183
17184 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17185 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17186
17187 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17188 non-empty value.
17189
17190 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17191 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17192
17193 * util/grub.d/00_header.in: Define a "savedefault" function for use
17194 in menu entries.
17195 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17196
17197 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17198 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17199
17200 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17201 saved_entry if boot_once is unset.
17202 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17203 previous saved entry (i.e. grub-reboot).
17204
17205 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17206
17207 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17208
17209 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17210
17211 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17212 `var=val'.
17213 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17214
17215 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17216
17217 * util/grub-reboot.in: Fix --version output.
17218 * util/grub-set-default.in: Likewise.
17219
17220 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17221
17222 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17223 blocks.
17224
17225 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17226
17227 * util/grub.d/00_header.in: Quote the value assigned to `default',
17228 in case it contains spaces.
17229
17230 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17231
17232 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17233 `save_default_entry' call from the macosx case to the linux case.
17234
17235 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17236 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
17237
17238 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17239 in `chosen' environment variable.
17240 * normal/menu_text.c (get_entry_number): Check if the variable
17241 matches the title of a menu entry.
17242 (run_menu): Pass menu to get_entry_number.
17243
17244 * util/grub-reboot.in: New file.
17245 * util/grub-set-default.in: New file.
17246 * conf/common.rmk (grub-reboot): New utility.
17247 (grub-set-default): New utility.
17248
17249 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17250 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17251 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17252 move it to `saved_entry' for the next boot. Load environment on
17253 initialisation.
17254 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17255 * util/grub.d/10_hurd.in: Likewise.
17256 * util/grub.d/10_linux.in (linux_entry): Likewise.
17257 * util/grub.d/10_windows.in: Likewise.
17258 * util/grub.d/30_os-prober.in: Likewise.
17259
17260 * util/grub-install.in: Create environment block.
17261 * util/i386/efi/grub-install.in: Likewise.
17262 * util/ieee1275/grub-install.in: Likewise.
17263 * util/sparc64/ieee1275/grub-install.in: Likewise.
17264
17265 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17266
17267 Unit testing framework for GRUB.
17268
17269 * Makefile.in: Test framework build rules for 'make check'.
17270 * conf/tests.rmk: Build rules for individual tests and framework.
17271
17272 * include/grub/test.h: Header file for whitebox tests.
17273 * tests/lib/functional_test.c: Framework support for whitebox
17274 functional tests.
17275 * tests/lib/test.c: Common whitebox testing code for unit and
17276 functional tests.
17277 * tests/lib/unit_test.c: Framework support for whitebox unit
17278 tests.
17279
17280 * tests/util/grub-shell-tester.in: Support utility for grub-script
17281 tests.
17282 * tests/util/grub-shell.in: Utility to execute grub-script
17283 commands in a Qemu instance.
17284
17285 * tests/example_functional_test.c: Example whitebox functional
17286 test.
17287 * tests/example_grub_script_test.in: Example grub-script test.
17288 * tests/example_scripted_test.in: Example scripted test.
17289 * tests/example_unit_test.c: Example whitebox unit test.
17290
17291 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17292
17293 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17294 Add loader/i386/multiboot_mbi.c.
17295 (multiboot2_mod_SOURCES): Likewise.
17296 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17297 (multiboot2_mod_SOURCES): Likewise.
17298 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17299 (grub_multiboot_make_mbi): Likewise.
17300 (grub_multiboot_free_mbi): Likewise.
17301 (grub_multiboot_init_mbi): Likewise.
17302 (grub_multiboot_add_module): Likewise.
17303 (grub_multiboot_set_bootdev): Likewise.
17304 * loader/i386/multiboot.c (mbi): Removed.
17305 (mbi_dest): Likewise.
17306 (alloc_mbi): New variable.
17307 (grub_multiboot_payload_size): Removed. All users updated.
17308 (grub_multiboot_pure_size): New variable.
17309 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17310 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17311 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17312 (grub_fill_multiboot_mmap): Likewise.
17313 (grub_multiboot_get_bootdev): Likewise.
17314 (grub_multiboot): Use multiboot_mbi functions.
17315 * loader/i386/multiboot_mbi.c: New file.
17316
17317 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17320 it would result in module crash.
17321
17322 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17325 (grub_ofconsole_getwh): Split to ...
17326 (grub_ofconsole_getwh): ... this.
17327 (grub_ofconsole_dimensions): ...and this.
17328 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17329
17330 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17331
17332 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17333
17334 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 * loader/i386/pc/multiboot2.c: Removed stalled file.
17337
17338 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17341 Reported by: Grégoire Sutre
17342
17343 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17344
17345 * util/misc.c (canonicalize_file_name): New function.
17346 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17347 instead of realpath().
17348
17349 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
17350
17351 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17352 and make it clearer that it's optional. Based on confusion
17353 witnessed on IRC.
17354
17355 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17358 in premature implicit newline.
17359
17360 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17361
17362 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17363 which resulted in garbled command line at the end of screen.
17364
17365 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17366
17367 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17368 initialization with similar approach as with other Linux loaders.
17369
17370 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17371
17372 Fix i386-ieee1275 build.
17373
17374 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17375 and grub_term_height() for video_{width,height} initialization.
17376
17377 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17378
17379 Fix grub-emu build.
17380
17381 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17382
17383 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17384 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17385
17386 Support for multiple terminals.
17387
17388 * Makefile.in (pkglib_DATA): terminal.lst.
17389 (terminal.lst): New target.
17390 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17391 (GRUB_MOD_INIT(handler)): Likewise.
17392 (GRUB_MOD_FINI(handler)): Likewise.
17393 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17394 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17395 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17396 (grub_cmd_sleep): Use grub_term_save_pos.
17397 * commands/terminal.c: New file.
17398 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17399 commands/terminal.c and lib/charset.c.
17400 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17401 (pkglib_MODULES): Add terminal.mod.
17402 (terminal_mod_SOURCES): New variable.
17403 (terminal_mod_CFLAGS): Likewise.
17404 (terminal_mod_LDFLAGS): Likewise.
17405 * genhandlerlist.sh: Don't handle terminals.
17406 * genmk.rb: Generate terminal-*.lst.
17407 * genterminallist.sh: New file.
17408 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17409 (grub_is_valid_utf8): Likewise.
17410 (grub_utf8_to_ucs4_alloc): Likewise.
17411 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17412 (grub_menu_register_viewer): Changed argument.
17413 (grub_menu_try_text): New proto.
17414 (grub_gfxmenu_try_hook): New declaration.
17415 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17416 (grub_menu_init_page): Additional argument term.
17417 (grub_normal_init_page): Likewise.
17418 (grub_cmdline_get): Arguments simplified.
17419 (grub_utf8_to_ucs4_alloc): Removed.
17420 (grub_print_ucs4): Additional argument term.
17421 (grub_getstringwidth): Likewise.
17422 (grub_print_message_indented): Likewise.
17423 (grub_menu_text_register_instances): New proto.
17424 (grub_show_menu): Likewise.
17425 (read_terminal_list): Likewise.
17426 (grub_set_more): Likewise.
17427 * include/grub/parser.h: Include handler.h.
17428 * include/grub/reader.h: Rewritten.
17429 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17430 (GRUB_TERM_WIDTH): Changed to function.
17431 (GRUB_TERM_HEIGHT): Likewise.
17432 (GRUB_TERM_BORDER_WIDTH): Likewise.
17433 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17434 (GRUB_TERM_NUM_ENTRIES): Likewise.
17435 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17436 (GRUB_TERM_CURSOR_X): Likewise.
17437 (grub_term_input_class): Likewise.
17438 (grub_term_output_class): Likewise.
17439 (grub_term_outputs_disabled): New declaration.
17440 (grub_term_inputs_disabled): Likewise.
17441 (grub_term_outputs): Likewise.
17442 (grub_term_inputs): Likewise.
17443 (grub_term_register_input): Rewritten.
17444 (grub_term_register_output): Likewise.
17445 (grub_term_unregister_input): Likewise.
17446 (grub_term_unregister_output): Likewise.
17447 (FOR_ACTIVE_TERM_INPUTS): New macro.
17448 (FOR_DISABLED_TERM_INPUTS): Likewise.
17449 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17450 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17451 * include/grub/terminfo.h: Add oterm argument to all protypes.
17452 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17453 Use grub_rescue_run.
17454 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17455 All users updated.
17456 * kern/reader.c: Removed. All users updated.
17457 * kern/rescue_reader.c (grub_rescue_init): Removed.
17458 (grub_rescue_reader): Likewise.
17459 (grub_register_rescue_reader): Likewise.
17460 (grub_rescue_run): New function based on kern/reader.c.
17461 * kern/term.c: Adapted for multiterm.
17462 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17463 (grub_is_valid_utf8): Likewise.
17464 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17465 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17466 right terminal.
17467 * loader/i386/linux.c (grub_linux_boot): Likewise.
17468 * normal/auth.c (grub_username_get): New function.
17469 (grub_auth_check_authentication): Use grub_username_get.
17470 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17471 * normal/color.c: Adapt for multiterm.
17472 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17473 (grub_normal_init_page): Additional argument term.
17474 (read_lists): Call read_terminal_lists.
17475 (grub_enter_normal_mode): Call grub_cmdline_run.
17476 Handle grub_normal_exit_level.
17477 (grub_cmd_normal): Make reentrant.
17478 (grub_cmd_normal_exit): New function.
17479 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17480 * normal/menu.c: Adapt for multiterm.
17481 * normal/menu_entry.c: Likewise.
17482 * normal/menu_text.c: Likewise.
17483 * normal/menu_viewer.c: Removed. All users updated.
17484 * normal/term.c: New file.
17485 * util/console.c: Change order of includes to workaround a bug in
17486 ncurses headers.
17487 * term/terminfo.c: New argument oterm on all exported functions.
17488 All users updated.
17489 * util/grub-editenv.c (grub_term_input_class): Removed.
17490 (grub_term_output_class): Likewise.
17491
17492 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17493
17494 Make loader output a bit more user-friendly.
17495
17496 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17497 is being loaded. Likewise for the Hurd.
17498
17499 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17500 that kernel of FreeBSD ${version} is being loaded.
17501
17502 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17503 grub_dprintf().
17504 (grub_cmd_initrd): Likewise.
17505 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17506 that Linux ${version} is being loaded. Likewise for initrd.
17507
17508 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17509
17510 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17511
17512 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17513
17514 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17515 (GRUB_MOD_INIT): Gettextizze.
17516 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17517 (GRUB_MOD_INIT): Gettextizze.
17518 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17519 (grub_cmd_linux): Capitalise Linux.
17520 (GRUB_MOD_INIT): Gettextizze.
17521 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17522 (grub_cmd_linux): Capitalise Linux.
17523 (GRUB_MOD_INIT): Gettextizze.
17524 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17525 (grub_cmd_linux): Capitalise Linux.
17526 (GRUB_MOD_INIT): Gettextizze.
17527 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17528 (GRUB_MOD_INIT): Gettextizze.
17529 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17530 (grub_cmd_linux): Capitalise Linux.
17531 (GRUB_MOD_INIT): Gettextizze.
17532 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17533 (grub_cpu_xnu_init): Gettextizze.
17534 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17535 (GRUB_MOD_INIT): Gettextizze.
17536 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17537 (GRUB_MOD_INIT): Gettextizze.
17538 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17539 (grub_linux_load64): Capitalise Linux.
17540 (GRUB_MOD_INIT): Gettextizze.
17541 * loader/xnu.c: Include `<grub/i18n.h>'.
17542 (GRUB_MOD_INIT): Gettextizze.
17543 * po/POTFILES: Add `loader/efi/appleloader.c',
17544 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17545 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17546 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17547 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17548 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17549 and `loader/xnu.c'.
17550
17551 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17552
17553 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17554
17555 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17556
17557 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17558 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17559 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17560
17561 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17562
17563 Reset Multiboot 2 support. New loader implements the draft in
17564 /branches/multiboot2 and shares as much code as possible with the
17565 production Multiboot 1 implementation.
17566
17567 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17568 * loader/multiboot2.c: Likewise.
17569 * loader/i386/multiboot_helper.S: Likewise.
17570 * include/multiboot2.h: Replace with latest version from the draft
17571 in /branches/multiboot2.
17572
17573 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17574 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17575 and `loader/multiboot2.c'.
17576 (pkglib_MODULES): Add `multiboot2.mod'.
17577 (multiboot2_mod_SOURCES): New variable.
17578 (multiboot2_mod_LDFLAGS): Likewise.
17579 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17580
17581 * conf/i386-pc.rmk: Likewise.
17582
17583 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17584 (multiboot_mod_SOURCES): Remove variable.
17585 (multiboot_mod_LDFLAGS): Likewise.
17586 (multiboot_mod_CFLAGS): Likewise.
17587
17588 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17589 `<multiboot2.h>' instead of `<multiboot.h>'.
17590 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17591 (MULTIBOOT_HEADER_MAGIC): New macros.
17592
17593 * loader/multiboot_loader.c (module_version_status): Remove variable.
17594 (find_multi_boot2_header): Remove function.
17595 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17596 logic. Always check for the Multiboot version we're compiling for.
17597 (grub_cmd_module_loader): Likewise.
17598 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17599 command instead of `multiboot'.
17600
17601 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17602
17603 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17604 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17605 all users.
17606
17607 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17608 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 Fix breakage introduced with previous commit.
17611
17612 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17613 commands.
17614 * normal/handler.c (read_handler_list): Revert part of previous commit
17615 affecting this file.
17616 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17617 (grub_normal_execute): ... here.
17618
17619 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17620
17621 Merge prefix-redefinition-fix branch.
17622
17623 * normal/autofs.c (read_fs_list): Make function capable of being
17624 run multiple times, gracefuly replacing the previous data
17625 structures.
17626 * normal/dyncmd.c (read_command_list): Likewise.
17627 * normal/handler.c (read_handler_list): Likewise.
17628 * normal/main.c (read_lists): New function. Calls all the
17629 list reading functions.
17630 (grub_normal_execute): Use read_lists() instead of calling all
17631 list reading functions explicitly. Register read_lists() as a
17632 variable hook attached to ${prefix}.
17633
17634 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 Merge crypto branch.
17637
17638 * Makefile.in (pkglib_DATA): Add crypto.lst.
17639 (crypto.lst): New target.
17640 * commands/hashsum.c: New file.
17641 * commands/password.c (check_password): Use grub_crypto_memcmp.
17642 * commands/password_pbkdf2.c: New file.
17643 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17644 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17645 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17646 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17647 -I$(srcdir)/lib/libgcrypt_wrap.
17648 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17649 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17650 password_pbkdf2.mod.
17651 (crypto_mod_SOURCES): New variable.
17652 (crypto_mod_CFLAGS): Likewise.
17653 (crypto_mod_LDFLAGS): Likewise.
17654 (hashsum_mod_SOURCES): New variable.
17655 (hashsum_mod_CFLAGS): Likewise.
17656 (hashsum_mod_LDFLAGS): Likewise.
17657 (pbkdf2_mod_SOURCES): New variable.
17658 (pbkdf2_mod_CFLAGS): Likewise.
17659 (pbkdf2_mod_LDFLAGS): Likewise.
17660 (password_pbkdf2_mod_SOURCES): New variable.
17661 (password_pbkdf2_mod_CFLAGS): Likewise.
17662 (password_pbkdf2_mod_LDFLAGS): Likewise.
17663 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17664 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17665 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17666 Include conf/gcry.rmk.
17667 * include/grub/auth.h: Rewritten.
17668 * include/grub/crypto.h: New file.
17669 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17670 * include/grub/normal.h (read_crypto_list): New prototype.
17671 * lib/crypto.c: New file.
17672 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17673 * lib/pbkdf2.c: Likewise.
17674 * normal/auth.c (grub_auth_strcmp): Removed.
17675 (grub_iswordseparator): Likewise.
17676 (grub_auth_strword): Likewise.
17677 (is_authenticated): Use grub_strword.
17678 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17679 and grub_strword. Pass entered password to authentication callback.
17680 * normal/crypto.c: New file.
17681 * normal/main.c: Call read_crypto_list.
17682 * util/grub-mkpasswd-pbkdf2.c: New file.
17683 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17684
17685 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 Fix descent and ascent calculation.
17688
17689 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17690 (options): New option "asce".
17691 (usage): Likewise.
17692 (add_char): Ignore invalid glyphs for descent calculation.
17693 Calculate ascent from actual content.
17694 (print_glyphs): Use 'asce'.
17695 (write_font): Likewise. Allow ascent override.
17696 (main): Handle "asce" option.
17697
17698 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17699
17700 * kern/err.c: Include `<grub/i18n.h>'.
17701 (grub_print_error): Add full stop. Gettextizze.
17702 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17703 (grub_bsd_load_elf): Capitalise ELF.
17704 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17705 (grub_cmd_freebsd_module): Likewise.
17706 (grub_cmd_freebsd_module_elf): Likewise.
17707 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17708
17709 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17710
17711 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17712 * commands/search_file.c (HELP_MESSAGE): New macro.
17713 * commands/search_label.c (HELP_MESSAGE): Likewise.
17714 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17715 * po/POTFILES: Add `commands/search_file.c',
17716 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17717 `commands/search.c'.
17718
17719 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17720
17721 * config.rpath: Update from Gnulib.
17722
17723 2010-01-05 Yves Blusseau <blusseau@zetam.org>
17724
17725 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17726
17727 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17728
17729 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17730
17731 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17732
17733 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17734 arguments to fread so that we get a return value in bytes, rather
17735 than something that will normally be rounded down to 0.
17736 Adjust error handling to avoid producing garbage when size_t is not
17737 the same size as long long.
17738
17739 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17740
17741 * util/mkisofs/write.c (padblock_write): Check return value of
17742 fread.
17743
17744 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17745
17746 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17747 floppy images now.
17748
17749 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17750
17751 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17752
17753 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17754 instead of manual alignment.
17755 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17756 verbose). Avoid attempts to read past end of the device
17757 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17758 but GRUB_DISK_CACHE_SIZE may exceed that).
17759
17760 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17761
17762 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17763 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17764 it to upper layer.
17765
17766 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17767
17768 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17769 New constant.
17770 (grub_efi_piwg_device_path): New structure
17771 (grub_efi_piwg_device_path_t): New type.
17772 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17773 (devpath_1): Transform to a structure. All users updated.
17774 (devpath_2): Likewise.
17775 (devpath_3): Likewise.
17776 (devpath_4): Likewise.
17777 (devpath_5): Likewise.
17778
17779 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 * loader/efi/appleloader.c: Restored. Update all users.
17782
17783 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17784
17785 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17786
17787 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17788 (struct boot_blocklist): Move from here ...
17789 * include/grub/i386/pc/boot.h [ASM_FILE]
17790 (struct grub_boot_blocklist): ... to here. Update all users.
17791 (setup): Only initialize `start' member of `first_block'
17792 structure. Add assert() calls to verify the other members.
17793
17794 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17795 (generate_image): Fix broken blocklist length initialization.
17796 Add assert() call to verify blocklist `segment' field.
17797
17798 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17799
17800 * loader/efi/appleloader.c: Remove. Update all users.
17801
17802 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17803
17804 * boot/i386/pc/boot.S: Update copyright year.
17805 * boot/i386/pc/cdboot.S: Likewise.
17806 * boot/i386/pc/diskboot.S: Likewise.
17807 * boot/i386/pc/lnxboot.S: Likewise.
17808 * boot/i386/pc/pxeboot.S: Likewise.
17809 * bus/pci.c: Likewise.
17810 * commands/cmp.c: Likewise.
17811 * commands/help.c: Likewise.
17812 * commands/hexdump.c: Likewise.
17813 * commands/i386/pc/halt.c: Likewise.
17814 * commands/i386/pc/play.c: Likewise.
17815 * commands/i386/pc/vbeinfo.c: Likewise.
17816 * commands/ls.c: Likewise.
17817 * commands/test.c: Likewise.
17818 * disk/dmraid_nvidia.c: Likewise.
17819 * disk/i386/pc/biosdisk.c: Likewise.
17820 * disk/ieee1275/nand.c: Likewise.
17821 * disk/ieee1275/ofdisk.c: Likewise.
17822 * disk/lvm.c: Likewise.
17823 * disk/raid.c: Likewise.
17824 * disk/raid6_recover.c: Likewise.
17825 * disk/scsi.c: Likewise.
17826 * fs/affs.c: Likewise.
17827 * fs/cpio.c: Likewise.
17828 * fs/ext2.c: Likewise.
17829 * fs/hfs.c: Likewise.
17830 * fs/iso9660.c: Likewise.
17831 * fs/ntfs.c: Likewise.
17832 * fs/sfs.c: Likewise.
17833 * fs/udf.c: Likewise.
17834 * fs/ufs.c: Likewise.
17835 * fs/xfs.c: Likewise.
17836 * gencmdlist.sh: Likewise.
17837 * genmk.rb: Likewise.
17838 * include/grub/disk.h: Likewise.
17839 * include/grub/efi/api.h: Likewise.
17840 * include/grub/efi/efi.h: Likewise.
17841 * include/grub/efi/pe32.h: Likewise.
17842 * include/grub/elf.h: Likewise.
17843 * include/grub/fs.h: Likewise.
17844 * include/grub/i386/at_keyboard.h: Likewise.
17845 * include/grub/i386/pc/memory.h: Likewise.
17846 * include/grub/i386/pc/vbe.h: Likewise.
17847 * include/grub/i386/pci.h: Likewise.
17848 * include/grub/i386/tsc.h: Likewise.
17849 * include/grub/ieee1275/ieee1275.h: Likewise.
17850 * include/grub/ntfs.h: Likewise.
17851 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17852 * include/grub/sparc64/libgcc.h: Likewise.
17853 * include/grub/symbol.h: Likewise.
17854 * include/grub/types.h: Likewise.
17855 * include/multiboot2.h: Likewise.
17856 * io/gzio.c: Likewise.
17857 * kern/device.c: Likewise.
17858 * kern/disk.c: Likewise.
17859 * kern/efi/efi.c: Likewise.
17860 * kern/efi/mm.c: Likewise.
17861 * kern/elf.c: Likewise.
17862 * kern/file.c: Likewise.
17863 * kern/i386/dl.c: Likewise.
17864 * kern/i386/pc/init.c: Likewise.
17865 * kern/i386/pc/startup.S: Likewise.
17866 * kern/ieee1275/ieee1275.c: Likewise.
17867 * kern/ieee1275/init.c: Likewise.
17868 * kern/main.c: Likewise.
17869 * kern/mm.c: Likewise.
17870 * kern/powerpc/dl.c: Likewise.
17871 * kern/sparc64/dl.c: Likewise.
17872 * kern/x86_64/dl.c: Likewise.
17873 * lib/hexdump.c: Likewise.
17874 * loader/efi/appleloader.c: Likewise.
17875 * loader/i386/ieee1275/linux.c: Likewise.
17876 * loader/i386/pc/chainloader.c: Likewise.
17877 * loader/i386/pc/linux.c: Likewise.
17878 * loader/i386/pc/multiboot2.c: Likewise.
17879 * loader/ieee1275/multiboot2.c: Likewise.
17880 * loader/multiboot2.c: Likewise.
17881 * loader/multiboot_loader.c: Likewise.
17882 * loader/powerpc/ieee1275/linux.c: Likewise.
17883 * normal/completion.c: Likewise.
17884 * normal/menu_entry.c: Likewise.
17885 * partmap/apple.c: Likewise.
17886 * util/grub.d/10_hurd.in: Likewise.
17887 * util/hostfs.c: Likewise.
17888 * video/readers/png.c: Likewise.
17889
17890 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
17891
17892 * include/grub/misc.h (GNUC_PREREQ): New macro.
17893 (ATTRIBUTE_ERROR): New macro.
17894 * include/grub/list.h (grub_bad_type_cast_real): Use
17895 ATTRIBUTE_ERROR.
17896
17897 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17898
17899 * normal/menu_text.c (print_message): Change messages.
17900
17901 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17902
17903 * normal/menu_entry.c (store_completion): Gettextizze.
17904
17905 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17906
17907 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17908
17909 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17910
17911 * po/POTFILES: Sort correctly.
17912
17913 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17914
17915 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17916 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17917 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17918 full stop.
17919 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17920 summary. Gettextizze the strings.
17921 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17922 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17923 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17924 full stop.
17925 (GRUB_MOD_INIT): Remove command name from summary.
17926 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17927 summary.
17928 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17929 * term/i386/pc/serial.c (options): Add full stops.
17930 (GRUB_MOD_INIT): Remove command name from the summary.
17931
17932 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17933
17934 * commands/acpi.c: Gettextizze help strings and/or options. Include
17935 `grub/i18n.h' if needed.
17936 * commands/blocklist.c: Likewise.
17937 * commands/boot.c: Likewise.
17938 * commands/cat.c: Likewise.
17939 * commands/cmp.c: Likewise.
17940 * commands/configfile.c: Likewise.
17941 * commands/crc.c: Likewise.
17942 * commands/date.c: Likewise.
17943 * commands/echo.c: Likewise.
17944 * commands/efi/fixvideo.c: Likewise.
17945 * commands/efi/loadbios.c: Likewise.
17946 * commands/gptsync.c: Likewise.
17947 * commands/halt.c: Likewise.
17948 * commands/handler.c: Likewise.
17949 * commands/hdparm.c: Likewise.
17950 * commands/hexdump.c: Likewise.
17951 * commands/i386/cpuid.c: Likewise.
17952 * commands/i386/pc/drivemap.c: Likewise.
17953 * commands/i386/pc/halt.c: Likewise.
17954 * commands/i386/pc/pxecmd.c: Likewise.
17955 * commands/i386/pc/vbeinfo.c: Likewise.
17956 * commands/i386/pc/vbetest.c: Likewise.
17957 * commands/ieee1275/suspend.c: Likewise.
17958 * commands/keystatus.c: Likewise.
17959 * commands/loadenv.c: Likewise.
17960 * commands/ls.c: Likewise.
17961 * commands/lsmmap.c: Likewise.
17962 * commands/lspci.c: Likewise.
17963 * commands/memrw.c: Likewise.
17964 * commands/minicmd.c: Likewise.
17965 * commands/parttool.c: Likewise.
17966 * commands/password.c: Likewise.
17967 * commands/probe.c: Likewise.
17968 * commands/read.c: Likewise.
17969 * commands/reboot.c: Likewise.
17970 * commands/search.c: Likewise.
17971 * commands/sleep.c: Likewise.
17972 * commands/test.c: Likewise.
17973 * commands/true.c: Likewise.
17974 * commands/usbtest.c: Likewise.
17975 * commands/videotest.c: Likewise.
17976 * commands/xnu_uuid.c: Likewise.
17977 * disk/loopback.c: Likewise.
17978 * hello/hello.c: Likewise.
17979 * loader/i386/bsd.c: Likewise.
17980 * term/i386/pc/serial.c: Likewise.
17981 * po/POTFILES: Add new files.
17982
17983 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
17984
17985 * term/i386/pc/at_keyboard.c
17986 (keyboard_controller_wait_untill_ready): Rename to ...
17987 (keyboard_controller_wait_until_ready): ... this. Update all users.
17988
17989 2010-01-01 Carles Pina i Estany <carles@pina.cat>
17990
17991 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17992 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17993 string using string width.
17994 * normal/menu_text.c (grub_print_message_indented): Use
17995 grub_print_spaces and not print_spaces.
17996 (print_timeout): Likewise.
17997 (print_spaces): Move to...
17998 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17999
18000 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18001
18002 Import from Gnulib.
18003
18004 * gnulib/getdelim.c: New file.
18005 * gnulib/getline.c: Likewise.
18006
18007 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18008
18009 * include/grub/list.h (grub_assert_fail): Removed.
18010 (grub_bad_type_cast_real): New function.
18011 (grub_bad_type_cast): New macro.
18012 (GRUB_AS_LIST): Use grub_bad_type_cast.
18013 (GRUB_AS_LIST_P): Likewise.
18014 (GRUB_AS_NAMED_LIST): Likewise.
18015 (GRUB_AS_NAMED_LIST_P): Likewise.
18016 (GRUB_AS_PRIO_LIST): Likewise.
18017 (GRUB_AS_PRIO_LIST_P): Likewise.
18018 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
18019
18020 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18021
18022 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18023 Fix syntax error.
18024
18025 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18026
18027 * configure.ac: Check for TARGET_CFLAGS initialization before we
18028 initialize it ourselves (sigh).
18029 Move a few modifications to TARGET_CFLAGS to be unconditional
18030 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18031 eh_frame)
18032
18033 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18034 * term/i386/pc/at_keyboard.c
18035 (keyboard_controller_wait_untill_ready): Likewise.
18036 (keyboard_controller_led): Rename `led_status' paramter to avoid
18037 name conflict.
18038
18039 2009-12-28 Carles Pina i Estany <carles@pina.cat>
18040
18041 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18042 quotes.
18043
18044 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18045
18046 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18047
18048 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * normal/menu_text.c (grub_print_message_indented): Prevent
18051 past-the-end-of-array dereference.
18052
18053 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18056 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18057
18058 2009-12-27 Carles Pina i Estany <carles@pina.cat>
18059
18060 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18061 * normal/main.c (grub_normal_read_line): Remove a space from the
18062 default prompt.
18063
18064 2009-12-27 Carles Pina i Estany <carles@pina.cat>
18065
18066 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18067 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18068 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18069 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18070 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18071 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18072 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18073
18074 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18075
18076 * video/readers/jpeg.c (cmd): Declare.
18077 (grub_cmd_jpegtest): Use `grub_command_t' type.
18078 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18079 Assign to `cmd'.
18080 (GRUB_MOD_FINI): Use `cmd' to unregister.
18081 * video/readers/png.c (cmd): Declare.
18082 (grub_cmd_pngtest): Use `grub_command_t' type.
18083 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18084 Assign to `cmd'.
18085 (GRUB_MOD_FINI): Use `cmd' to unregister.
18086 * video/readers/tga.c (cmd): Declare.
18087 (grub_cmd_tgatest): Use `grub_command_t' type.
18088 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18089 Assign to `cmd'.
18090 (GRUB_MOD_FINI): Use `cmd' to unregister.
18091
18092 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18093
18094 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18095 stops.
18096 * kern/corecmd.c (grub_register_core_commands): Likewise.
18097 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18098 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18099 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18100 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18101 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18102 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18103 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18104 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18105 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18106 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18107 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18108 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18109 * normal/handler.c (insert_handler): Likewise.
18110 * normal/main.c (GRUB_MOD_INIT): Likewise.
18111 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18112
18113 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18114
18115 * commands/help.c (grub_cmd_help): Print the command name before the
18116 summary.
18117 (GRUB_MOD_INIT): Remove command name from the summary.
18118 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
18119 string as summary.
18120 * lib/arg.c (find_long): Print the command name before the summary.
18121 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18122 summary.
18123 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18124 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18125 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18126 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18127 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18128 * commands/date.c (GRUB_MOD_INIT): Likewise.
18129 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18130 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18131 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18132 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18133 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18134 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18135 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18136 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18137 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18138 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18139 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18140 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18141 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18142 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18143 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18144 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18145 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18146 * commands/password.c (GRUB_MOD_INIT): Likewise.
18147 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18148 * commands/read.c (GRUB_MOD_INIT): Likewise.
18149 * commands/search.c (GRUB_MOD_INIT): Likewise.
18150 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18151 * commands/test.c (GRUB_MOD_INIT): Likewise.
18152 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18153 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18154 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18155 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18156 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18157 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18158 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18159 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18160 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18161 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18162 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18163 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18164 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18165 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18166
18167 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 Use search command for preliminar UUID search.
18170
18171 * commands/search.c: Split into ...
18172 * commands/search_wrap.c: ...this
18173 * commands/search.c: ...and this.
18174 * commands/search_file.c: New file.
18175 * commands/search_label.c: New file.
18176 * commands/search_uuid.c: New file.
18177 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18178 Add commands/search_wrap.c, commands/search_file.c,
18179 commands/search_label.c and commands/search_uuid.c.
18180 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18181 (search_mod_SOURCES): Set to commands/search_wrap.c.
18182 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18183 search_label.mod.
18184 (search_fs_file_mod_SOURCES): New variable.
18185 (search_fs_file_mod_CFLAGS): Likewise.
18186 (search_fs_file_mod_LDFLAGS): Likewise.
18187 (search_label_mod_SOURCES): Likewise.
18188 (search_label_mod_CFLAGS): Likewise.
18189 (search_label_mod_LDFLAGS): Likewise.
18190 (search_fs_uuid_mod_SOURCES): New variable.
18191 (search_fs_uuid_mod_CFLAGS): Likewise.
18192 (search_fs_uuid_mod_LDFLAGS): Likewise.
18193 (fs_file_mod_SOURCES): Removed.
18194 (fs_file_mod_CFLAGS): Likewise.
18195 (fs_file_mod_LDFLAGS): Likewise.
18196 (fs_uuid_mod_SOURCES): Removed.
18197 (fs_uuid_mod_CFLAGS): Likewise.
18198 (fs_uuid_mod_LDFLAGS): Likewise.
18199 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18200 Set to util/grub-install.in.
18201 * disk/fs_file.c: Removed.
18202 * disk/fs_uuid.c: Likewise.
18203 * include/grub/search.h: New file.
18204 * util/grub-install.in: Handle sparc64.
18205 Create and use load.cfg.
18206 * util/sparc64/ieee1275/grub-install.in: Removed.
18207
18208 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18211 Ignore return status if CF is cleared.
18212 (grub_biosdisk_get_diskinfo_standard): Likewise.
18213
18214 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18215
18216 * term/i386/pc/at_keyboard.c
18217 (keyboard_controller_wait_untill_ready): New function.
18218 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18219 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18220 for keyboard polling, rather than duplicate the same loop. This
18221 saves a few bytes in code size.
18222
18223 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 Support for (pxe[:server[:gateway]]) syntax and
18226 use environment variable for PXE.
18227
18228 * commands/i386/pc/pxecmd.c (options): Removed.
18229 (print_ip): Removed.
18230 (grub_cmd_pxe): Removed
18231 (grub_cmd_pxe_unload): New function.
18232 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18233 (grub_pxe_your_ip): Made static.
18234 (grub_pxe_default_server_ip): Likewise.
18235 (grub_pxe_default_gateway_ip): Likewise.
18236 (grub_pxe_blksize): Likewise.
18237 (parse_ip): New function.
18238 (grub_pxe_open): Support server and gateway specification.
18239 (grub_pxe_close): Free disk->data.
18240 (grub_pxefs_open): Use disk->data.
18241 (grub_pxefs_read): Likewise.
18242 (grub_env_write_readonly): New function.
18243 (set_mac_env): Likewise.
18244 (set_env_limn_ro): Likewise.
18245 (parse_dhcp_vendor): Likewise.
18246 (grub_pxe_detect): Set the environment variables.
18247 (set_ip_env): New function.
18248 (write_ip_env): Likewise.
18249 (grub_env_write_pxe_default_server): Likewise.
18250 (grub_env_write_pxe_default_gateway): Likewise.
18251 (grub_env_write_pxe_blocksize): Likewise.
18252 (GRUB_MOD_INIT(pxe)): Set environment variables.
18253 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18254 (grub_pxe_mac_addr_t): ... this. All users updated.
18255 (grub_pxe_your_ip): Removed.
18256 (grub_pxe_server_ip): Likewise.
18257 (grub_pxe_gateway_ip): Likewise.
18258 (grub_pxe_blksize): Likewise.
18259
18260 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18261
18262 * commands/help.c: Include `<grub/i18n.h>'.
18263 (grub_cmd_help): Gettextizze.
18264 (GRUB_MOD_INIT): Likewise.
18265 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18266 (GRUB_MOD_INIT): Gettextizze.
18267 * commands/search.c: Include `<grub/i18n.h>'.
18268 (options): Gettextizze.
18269 (GRUB_MOD_INIT): Gettextizze.
18270 * lib/arg.c: Include `<grub/i18n.h>'.
18271 (help_options): Gettextizze.
18272 (find_long): Likewise.
18273 (grub_arg_show_help): Likewise.
18274 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18275 (read_command_list): Gettextizze.
18276 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
18277 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
18278
18279 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18280
18281 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18282 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18283 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18284 (led_status): New variable.
18285 (keyboard_controller_led): New function.
18286 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18287 update led status for caps lock, num lock and scroll lock.
18288
18289 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
18290
18291 * util/hostdisk.c (open_device): Fix a comment.
18292
18293 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18294
18295 * util/grub-install.in (host_os): New variable.
18296 * util/i386/efi/grub-install.in (host_os): Likewise.
18297
18298 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18299
18300 * util/mkisofs/write.c (padblock_write): Abort when given an
18301 excedingly large embed image, instead of silently truncating it.
18302
18303 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18304
18305 * include/multiboot.h: Indentation fixes.
18306
18307 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18308
18309 * include/multiboot.h (struct multiboot_aout_symbol_table)
18310 (struct multiboot_elf_section_header_table): New structure
18311 declarations (stolen from GRUB Legacy).
18312 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18313 table information.
18314
18315 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18316 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18317 type aliases.
18318
18319 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18320
18321 * include/multiboot.h: Make comments src2texi-friendly.
18322
18323 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18324
18325 For consistency with [multiboot]/docs/boot.S.
18326
18327 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18328 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18329 (MULTIBOOT_MAGIC2): Rename from this ...
18330 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18331
18332 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18333
18334 * include/multiboot.h: Remove `<grub/types.h>'.
18335 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18336 types. Update all users.
18337
18338 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18339
18340 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18341 `couldn't' and `can not' by `cannot'.
18342 * commands/i386/pc/drivemap.c: Likewise.
18343 * disk/ata.c: Likewise.
18344 * disk/ieee1275/nand.c: Likewise.
18345 * fs/affs.c: Likewise.
18346 * fs/fat.c: Likewise.
18347 * fs/hfs.c: Likewise.
18348 * fs/hfsplus.c: Likewise.
18349 * fs/iso9660.c: Likewise.
18350 * fs/jfs.c: Likewise.
18351 * fs/minix.c: Likewise.
18352 * fs/reiserfs.c: Likewise.
18353 * fs/sfs.c: Likewise.
18354 * fs/udf.c: Likewise.
18355 * fs/ufs.c: Likewise.
18356 * fs/xfs.c: Likewise.
18357 * loader/powerpc/ieee1275/linux.c: Likewise.
18358 * loader/sparc64/ieee1275/linux.c: Likewise.
18359 * util/grub-probe.c: Likewise.
18360 * util/misc.c: Likewise.
18361
18362 2009-12-24 Carles Pina i Estany <carles@pina.cat>
18363
18364 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18365 grub_errno calls.
18366 * commands/acpi.c: Likewise.
18367 * commands/blocklist.c: Likewise.
18368 * commands/efi/loadbios.c: Likewise.
18369 * commands/i386/pc/drivemap.c: Likewise.
18370 * commands/loadenv.c: Likewise.
18371 * commands/memrw.c: Likewise.
18372 * commands/password.c: Likewise.
18373 * commands/videotest.c: Likewise.
18374 * disk/ata.c: Likewise.
18375 * disk/ata_pthru.c: Likewise.
18376 * disk/dmraid_nvidia.c: Likewise.
18377 * disk/ieee1275/nand.c: Likewise.
18378 * disk/ieee1275/ofdisk.c: Likewise.
18379 * disk/loopback.c: Likewise.
18380 * disk/lvm.c: Likewise.
18381 * disk/mdraid_linux.c: Likewise.
18382 * disk/raid.c: Likewise.
18383 * disk/raid6_recover.c: Likewise.
18384 * disk/scsi.c: Likewise.
18385 * efiemu/main.c: Likewise.
18386 * efiemu/mm.c: Likewise.
18387 * efiemu/pnvram.c: Likewise.
18388 * efiemu/symbols.c: Likewise.
18389 * font/font.c: Likewise.
18390 * fs/cpio.c: Likewise.
18391 * fs/hfsplus.c: Likewise.
18392 * fs/iso9660.c: Likewise.
18393 * fs/jfs.c: Likewise.
18394 * fs/minix.c: Likewise.
18395 * fs/ntfs.c: Likewise.
18396 * fs/ntfscomp.c: Likewise.
18397 * fs/reiserfs.c: Likewise.
18398 * fs/ufs.c: Likewise.
18399 * fs/xfs.c: Likewise.
18400 * gettext/gettext.c: Likewise.
18401 * include/grub/auth.h: Likewise.
18402 * kern/elf.c: Likewise.
18403 * kern/file.c: Likewise.
18404 * kern/ieee1275/init.c: Likewise.
18405 * kern/ieee1275/mmap.c: Likewise.
18406 * kern/ieee1275/openfw.c: Likewise.
18407 * kern/powerpc/dl.c: Likewise.
18408 * kern/sparc64/dl.c: Likewise.
18409 * lib/arg.c: Likewise.
18410 * loader/i386/bsd.c: Likewise.
18411 * loader/i386/bsdXX.c: Likewise.
18412 * loader/i386/efi/linux.c: Likewise.
18413 * loader/i386/efi/xnu.c: Likewise.
18414 * loader/i386/ieee1275/linux.c: Likewise.
18415 * loader/i386/linux.c: Likewise.
18416 * loader/i386/multiboot.c: Likewise.
18417 * loader/i386/pc/linux.c: Likewise.
18418 * loader/i386/pc/multiboot2.c: Likewise.
18419 * loader/i386/xnu.c: Likewise.
18420 * loader/ieee1275/multiboot2.c: Likewise.
18421 * loader/macho.c: Likewise.
18422 * loader/machoXX.c: Likewise.
18423 * loader/multiboot2.c: Likewise.
18424 * loader/multiboot_loader.c: Likewise.
18425 * loader/powerpc/ieee1275/linux.c: Likewise.
18426 * loader/sparc64/ieee1275/linux.c: Likewise.
18427 * loader/xnu.c: Likewise.
18428 * loader/xnu_resume.c: Likewise.
18429 * mmap/i386/pc/mmap.c: Likewise.
18430 * normal/menu_viewer.c: Likewise.
18431 * partmap/acorn.c: Likewise.
18432 * partmap/amiga.c: Likewise.
18433 * partmap/apple.c: Likewise.
18434 * script/lexer.c: Likewise.
18435 * term/gfxterm.c: Likewise.
18436 * term/i386/pc/serial.c: Likewise.
18437 * term/i386/pc/vga.c: Likewise.
18438 * term/ieee1275/ofconsole.c: Likewise.
18439 * term/terminfo.c: Likewise.
18440 * video/bitmap.c: Likewise.
18441 * video/efi_gop.c: Likewise.
18442 * video/efi_uga.c: Likewise.
18443 * video/fb/video_fb.c: Likewise.
18444 * video/i386/pc/vbe.c: Likewise.
18445 * video/readers/tga.c: Likewise.
18446 * video/video.c: Likewise.
18447
18448 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
18449
18450 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18451 * commands/lspci.c: Likewise.
18452 * commands/probe.c: Likewise.
18453 * commands/xnu_uuid.c: Likewise.
18454 * conf/i386-coreboot.rmk: Likewise.
18455 * conf/i386-efi.rmk: Likewise.
18456 * conf/i386-ieee1275.rmk: Likewise.
18457 * conf/i386-pc.rmk: Likewise.
18458 * conf/powerpc-ieee1275.rmk: Likewise.
18459 * conf/sparc64-ieee1275.rmk: Likewise.
18460 * conf/x86_64-efi.rmk: Likewise.
18461 * fs/i386/pc/pxe.c: Likewise.
18462 * gettext/gettext.c: Likewise.
18463 * include/grub/efi/graphics_output.h: Likewise.
18464 * include/grub/i386/pc/memory.h: Likewise.
18465 * kern/env.c: Likewise.
18466 * kern/i386/qemu/startup.S: Likewise.
18467 * lib/i386/pc/biosnum.c: Likewise.
18468 * lib/i386/relocator.c: Likewise.
18469 * lib/i386/relocator_asm.S: Likewise.
18470 * lib/relocator.c: Likewise.
18471 * loader/i386/bsd.c: Likewise.
18472 * loader/i386/multiboot.c: Likewise.
18473 * loader/i386/pc/chainloader.c: Likewise.
18474 * loader/i386/xnu.c: Likewise.
18475 * loader/xnu.c: Likewise.
18476 * normal/main.c: Likewise.
18477 * normal/menu_text.c: Likewise.
18478 * util/getroot.c: Likewise.
18479 * util/grub-mkconfig_lib.in: Likewise.
18480 * util/grub.d/00_header.in: Likewise.
18481 * util/i386/pc/grub-mkimage.c: Likewise.
18482 * util/mkisofs/eltorito.c: Likewise.
18483 * util/mkisofs/exclude.h: Likewise.
18484 * util/mkisofs/hash.c: Likewise.
18485 * util/mkisofs/iso9660.h: Likewise.
18486 * util/mkisofs/joliet.c: Likewise.
18487 * util/mkisofs/mkisofs.c: Likewise.
18488 * util/mkisofs/mkisofs.h: Likewise.
18489 * util/mkisofs/multi.c: Likewise.
18490 * util/mkisofs/name.c: Likewise.
18491 * util/mkisofs/rock.c: Likewise.
18492 * util/mkisofs/tree.c: Likewise.
18493 * util/mkisofs/write.c: Likewise.
18494 * video/efi_gop.c: Likewise.
18495
18496 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18499 size counting.
18500
18501 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18502
18503 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18504 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18505
18506 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18507
18508 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18509 (GRUB_MOD_INIT(memrw)): Update help line.
18510
18511 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18512
18513 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18514 Use grub_extcmd_t. All users updated.
18515 (options): New variable.
18516 (grub_cmd_read): Restructure for readability. Support "-v" option.
18517 (grub_cmd_write): Restructure for readability.
18518
18519 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18520
18521 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18522
18523 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18524
18525 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18526 with the actual contents of the correspondending make variable.
18527 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18528 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18529 specifying `*.lst' and `efiemu??.o'
18530
18531 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18532
18533 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18534 after function name.
18535 Noticed by Rene Engelhard <rene@debian.org>.
18536
18537 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18538
18539 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18540 (options): New variable.
18541 (iospace): Likewise.
18542 (grub_lspci_iter): List IO spaces if "-i" was given.
18543 (grub_cmd_lspci): Parse options.
18544 (GRUB_MOD_INIT(lspci)): Use extcmd.
18545 (GRUB_MOD_FINI(lspci)): Likewise.
18546
18547 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18548
18549 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18550 `function' keyword.
18551 Patch by Tony Mancill <tmancill@debian.org>.
18552
18553 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18556 (grub_uhci_portstatus): Likewise.
18557 (grub_uhci_portstatus): Add necessary delay.
18558 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18559
18560 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18561
18562 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18563 (GRUB_MOD_INIT): Likewise.
18564 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18565 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18566 * commands/echo.c (options): Fix capitalizations and/or full stops.
18567 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18568 (enable_rom_area): Likewise.
18569 (GRUB_MOD_INIT): Likewise.
18570 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18571 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18572 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18573 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18574 * commands/hexdump.c (options): Likewise.
18575 * commands/i386/cpuid.c (options): Likewise.
18576 (GRUB_MOD_INIT): Likewise.
18577 * commands/i386/pc/drivemap.c (options): Likewise.
18578 (GRUB_MOD_INIT): Likewise.
18579 * commands/i386/pc/halt (options): Likewise.
18580 (GRUB_MOD_INIT): Likewise.
18581 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18582 * commands/i386/pc/pxecmd.c (options): Likewise.
18583 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18584 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18585 * commands/keystatus.c (options): Likewise.
18586 (GRUB_MOD_INIT): Likewise.
18587 * commands/loadenv.c (options): Likewise.
18588 * commands/ls.c (options): Likewise.
18589 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18590 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18591 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18592 * commands/parttool.c (helpmsg): Likewise.
18593 * commands/probe.c (options): Likewise.
18594 * commands/read.c (GRUB_MOD_INIT): Likewise.
18595 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18596 * commands/search.c (options): Likewise.
18597 * commands/sleep.c (options): Likewise.
18598 * commands/test.c (GRUB_MOD_INIT): Likewise.
18599 * commands/true.c (GRUB_MOD_INIT): Likewise.
18600 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18601 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18602 * lib/arg.c (help_options): Likewise.
18603 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18604 `$(XGETTEXT)'.
18605 * po/POTFILES: Add `commands/loadenv.c'.
18606
18607 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18608
18609 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18610 instead of specifying them explicit.
18611
18612 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18613
18614 * NEWS: Add grub-probe support for GNU/Hurd.
18615
18616 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18617
18618 * NEWS: gettext was added after 1.97.
18619
18620 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18621
18622 * util/mkisofs/msdos_partition.h: New file (based on
18623 include/grub/msdos_partition.h).
18624 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18625 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18626 (ld_options, main): Recognize --protective-msdos-label.
18627 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18628 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18629 (padblock_write): If `use_protective_msdos_label' is set, patch a
18630 protective DOS-style label in the output image.
18631
18632 * util/grub-mkrescue.in: Use --protective-msdos-label.
18633
18634 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18635
18636 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18637 boot.
18638
18639 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18640
18641 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18642 variables.
18643 (ld_options, main): Recognize `--embedded-boot'.
18644 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18645 declarations.
18646 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18647 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18648 (padblock_write): Likewise. Rewrite to support embedded boot image.
18649
18650 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18651 for BIOS-based disk boot instead of only ElTorito.
18652
18653 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18654
18655 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18656 build (not needed for bootstrap).
18657
18658 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18659
18660 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18661 from i386-pc build (not needed for bootstrap).
18662 Rewrite a pair of strings.
18663
18664 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18665
18666 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18667
18668 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18669
18670 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18671
18672 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18673
18674 * kern/env.c (grub_env_context_open): Mark exported variable for
18675 reexport.
18676
18677 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18678
18679 * kern/env.c (grub_env_export): Create nonexistent variables before
18680 exporting.
18681
18682 2009-12-20 Carles Pina i Estany <carles@pina.cat>
18683
18684 * include/grub/auth.h: Include `<grub/i18n.h>'.
18685 (GRUB_GET_PASSWORD): Gettextizze string.
18686 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18687 menu_text.c.
18688 (grub_utf8_to_ucs4_alloc): Fix indentation.
18689 (grub_print_ucs4): Likewise.
18690 (grub_getstringwidth): Likewise.
18691 (print_message_indented): New declaration.
18692 * normal/auth.c: Include `<grub/i18n.h>'.
18693 (grub_auth_check_authentication): Gettexttize string.
18694 * normal/cmdline.c: Include `<grub/i18n.h>'.
18695 (grub_cmdline_get): Gettextizze.
18696 * normal/color.c: Include `<grub/i18n.h>'.
18697 (grub_parse_color_name_pair): Gettexttize strings.
18698 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18699 string (use `print_message_indented').
18700 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18701 `include/grub/normal.h'.
18702 (print_message_indented): Renamed to ...
18703 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18704 used in normal/main.c).
18705 (print_message): Use `grub_print_message_indented' instead of
18706 `print_message_indented'.
18707 (print_timeout): Likewise.
18708 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18709 (grub_normal_print_device_info): Gettexttize strings.
18710 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18711
18712 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18715 of arguments. Return number of tokens and not arguments. All users
18716 updated.
18717
18718 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18721 non-MSDOS paritions.
18722
18723 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 * include/grub/types.h (UNUSED): Removed since it conflicts with
18726 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18727 Reported by Grégoire Sutre.
18728
18729 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18730
18731 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18732 (grub_print_ucs4_alloc): Likewise.
18733 (grub_getstringwidth): Likewise.
18734 * normal/main.c (grub_normal_init_page): Gettextize version string.
18735 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18736 (getstringwidth): Renamed to ...
18737 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18738 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18739 (grub_print_ucs4): Remove `static' qualifer (now used in
18740 normal/main.c).
18741 * po/POTFILES: Add normal/main.c.
18742
18743 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18744
18745 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18746 (print_message_indented): Add `margin_left' and `margin_right'
18747 parameters.
18748 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18749 strings.
18750 (print_timeout): Use `print_message_indented' to print the message.
18751 Deletes `second_stage' parameter.
18752 (run_menu): Update `print_timeout' calls.
18753
18754 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 Fix console palette on OpenFirmware.
18757
18758 * term/ieee1275/ofconsole.c (MAX): Removed.
18759 (colors): Redone based on VGA palette.
18760 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18761 colors are supported.
18762 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18763
18764 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18765
18766 Fix potential EfiEmu double prepare.
18767
18768 * efiemu/main.c (prepared): New variable
18769 (grub_efiemu_unload): Set prepare to '0'.
18770 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18771
18772 set_virtual_address_map support.
18773
18774 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18775 prototype.
18776 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18777 prototype.
18778 (grub_efiemu_crc32): Likewise.
18779 (grub_efiemu_crc64): Likewise.
18780 (grub_efiemu_set_virtual_address_map): Likewise.
18781 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18782 New definition.
18783 (grub_autoefi_set_virtual_address_map): Likewise.
18784 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18785 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18786 Restructure flow to accomodate it.
18787 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18788 (grub_efiemu_crc): Recompute CRC32.
18789 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18790 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18791 * efiemu/symbols.c (relocated_handle): New variable.
18792 (grub_efiemu_free_syms): Free relocated_handle.
18793 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18794 (grub_efiemu_write_sym_markers): New function.
18795 (grub_efiemu_set_virtual_address_map): Likewise.
18796
18797 Newer XNU parameters.
18798
18799 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18800 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18801 (grub_xnu_fill_devicetree): New prototype.
18802 (grub_xnu_heap_real_start): New variable.
18803 * loader/xnu.c (get_name_ptr): New function.
18804 (grub_xnu_load_driver): Fill namelen and name.
18805
18806 64-bit xnu support.
18807
18808 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18809 and 'loader/macho64.c'.
18810 * conf/i386-pc.rmk: Likewise.
18811 * conf/x86_64-efi.rmk: Likewise.
18812 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18813 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18814 * include/grub/macho.h (grub_macho_segment64): New structure.
18815 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18816 (grub_macho_size32): ... to this.
18817 (grub_macho32_get_entry_point): Renamed from ...
18818 (grub_macho_get_entry_point32): ... to this.
18819 (grub_macho_contains_macho64): New prototype.
18820 (grub_macho_size64): Likewise.
18821 (grub_macho_get_entry_point64): Likewise.
18822 (grub_macho32_load): Renamed from ...
18823 (grub_macho_load32): ... to this.
18824 (grub_macho32_filesize): Renamed from ...
18825 (grub_macho_filesize32): ... to this.
18826 (grub_macho32_readfile): Renamed from ...
18827 (grub_macho_readfile32): ... to this.
18828 (grub_macho_filesize64): New prototype.
18829 (grub_macho_readfile64): Likewise.
18830 (grub_macho_parse32): Likewise.
18831 (grub_macho_parse64): Likewise.
18832 * loader/macho.c: Split into ...
18833 * loader/machoXX.c: ... and this. Replace 32 with XX.
18834 * loader/macho32.c: New file.
18835 * loader/macho64.c: Likewise.
18836 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18837 (grub_cmd_xnu_kernel): Make 32-bit only.
18838 (grub_cmd_xnu_kernel64): New function.
18839 (grub_xnu_load_driver): Support Mach-O 64.
18840 (grub_cmd_xnu_mkext): Likewise.
18841 * util/grub.d/30_os-prober.in (osx_entry): New function.
18842 Generate entries for 64-bit boot too.
18843
18844 Eliminate ad-hoc tree format in XNU and EfiEmu.
18845
18846 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18847 * efiemu/pnvram.c: Rewritten to use environment variables.
18848 All users updated.
18849
18850 Inline utf16_to_utf8.
18851
18852 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18853 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18854 All users updated.
18855 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18856
18857 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18858 * commands/usbtest.c (grub_usb_get_string): ... move here.
18859 (usb_print_str): Fix error handling.
18860 * include/grub/usb.h (grub_usb_get_string): Remove.
18861
18862 UTF-8 to UTF-16 transformation.
18863
18864 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18865 (charset_mod_SOURCES): New variable.
18866 (charset_mod_CFLAGS): Likewise.
18867 (charset_mod_LDFLAGS): Likewise.
18868 * include/grub/utf.h: New file.
18869 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18870
18871 Support for device properties.
18872
18873 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18874 (grub_xnu_devprop_device_header): Likewise.
18875 (grub_xnu_devprop_device_descriptor): Likewise.
18876 (grub_xnu_devprop_add_device): New prototype.
18877 (grub_xnu_devprop_remove_device): Likewise.
18878 (grub_xnu_devprop_remove_property): Likewise.
18879 (grub_xnu_devprop_add_property_utf8): Likewise.
18880 (grub_xnu_devprop_add_property_utf16): Likewise.
18881 (grub_cpu_xnu_init): Likewise.
18882 (grub_cpu_xnu_fini): Likewise.
18883 (grub_cpu_xnu_unload): Likewise.
18884 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18885 (property_descriptor): Likewise.
18886 (devices): New variable.
18887 (grub_xnu_devprop_remove_property): New function.
18888 (grub_xnu_devprop_add_device): Likewise.
18889 (grub_xnu_devprop_remove_device): Likewise.
18890 (grub_xnu_devprop_add_property): Likewise.
18891 (grub_xnu_devprop_add_property_utf8): Likewise.
18892 (grub_xnu_devprop_add_property_utf16): Likewise.
18893 (hextoval): Likewise.
18894 (grub_cpu_xnu_fill_devprop): Likewise.
18895 (grub_cmd_devprop_load): Likewise.
18896 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18897 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18898 (cmd_devprop_load): New variable.
18899 (grub_cpu_xnu_init): New function.
18900 (grub_cpu_xnu_fini): Likewise.
18901 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18902 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18903 (grub_cmd_xnu_devtree): Likewise.
18904 (hextoval): New function.
18905 (unescape): Likewise.
18906 (grub_xnu_fill_devicetree): Likewise.
18907
18908 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18909 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18910
18911 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 Workaround for broken ATI VBE.
18914
18915 * video/i386/pc/vbe.c (last_set_mode): New variable.
18916 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18917 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18918 (grub_video_vbe_setup): Don't check for reserved flag.
18919
18920 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
18921
18922 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18923 the `find' command.
18924
18925 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 UUID support for HFS.
18928
18929 * fs/hfs.c (grub_hfs_uuid): New function.
18930 (grub_hfs_fs): New value .uuid.
18931 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18932
18933 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
18934
18935 Fix a segfault with parsing unknown long options.
18936
18937 * util/grub-mkrelpath.c (options): Zero terminate it.
18938
18939 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18940
18941 * include/grub/misc.h (grub_puts): New declaration.
18942 (grub_puts_): Likewise.
18943 * kern/misc.c (grub_puts): New definition.
18944 (grub_puts_): Likewise.
18945
18946 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18947
18948 * util/grub-probe.c (probe): Improve error message.
18949
18950 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18951
18952 * loader/i386/multiboot_elfxx.c
18953 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18954 initialization.
18955
18956 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 Relocator framework
18959
18960 * loader/i386/xnu_helper.S: Removed. All users updated.
18961 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18962 (relocator_mod_SOURCES): New variable.
18963 (relocator_mod_CFLAGS): Likewise.
18964 (relocator_mod_LDFLAGS): Likewise.
18965 (relocator_mod_ASFLAGS): Likewise.
18966 * conf/x86_64.rmk: Likewise.
18967 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18968 (grub_multiboot_payload_entry_offset): Likewise.
18969 (grub_multiboot_forward_relocator): Likewise.
18970 (grub_multiboot_forward_relocator_end): Likewise.
18971 (grub_multiboot_backward_relocator): Likewise.
18972 (grub_multiboot_backward_relocator_end): Likewise.
18973 (grub_multiboot_payload_eip): New variable.
18974 (grub_multiboot_payload_orig): Likewise.
18975 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18976 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18977 * include/grub/i386/memory.h
18978 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18979 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18980 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18981 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18982 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18983 * include/grub/i386/relocator.h: New file.
18984 * include/grub/x86_64/relocator.h: Likewise.
18985 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18986 (XNU_RELOCATOR): New macro.
18987 (grub_xnu_launcher_start): Remove.
18988 (grub_xnu_launcher_end): Likewise.
18989 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18990 (grub_xnu_heap_real_start): Remove.
18991 (grub_xnu_heap_start): Change to void *. All users updated.
18992 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18993 * lib/i386/relocator.c: New file.
18994 * lib/i386/relocator_asm.S: Likewise.
18995 * lib/i386/relocator_backward.S: Likewise.
18996 * lib/mips/relocator.c: Likewise.
18997 * lib/mips/relocator_asm.S: Likewise.
18998 * lib/relocator.c: Likewise.
18999 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19000 (entry): Removed.
19001 (playground): Likewise.
19002 (grub_multiboot_payload_orig): New variable.
19003 (grub_multiboot_payload_dest): Likewise.
19004 (grub_multiboot_payload_size): Likewise.
19005 (grub_multiboot_payload_eip): Likewise.
19006 (grub_multiboot_payload_esp): Likewise.
19007 (grub_multiboot_boot): Use grub_relocator32_boot.
19008 (grub_multiboot_unload): Free relocators.
19009 (grub_multiboot): Setup stack. Use relocators.
19010 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19011 (grub_multiboot_load_elfXX): Use relocators.
19012 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19013 (grub_multiboot_payload_size): Likewise.
19014 (grub_multiboot_payload_dest): Likewise.
19015 (grub_multiboot_payload_entry_offset): Likewise.
19016 (grub_multiboot_forward_relocator): Likewise.
19017 (grub_multiboot_backward_relocator): Likewise.
19018 (grub_multiboot_real_boot): Likewise.
19019 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19020 (grub_xnu_entry_point): Likewise.
19021 (grub_xnu_arg1): Likewise.
19022 (grub_xnu_stack): Likewise.
19023 (grub_xnu_launch): Removed.
19024 (grub_xnu_boot_resume): New function.
19025 (grub_xnu_boot): Use relocators.
19026 * loader/i386/xnu_helper.S: Removed.
19027 * loader/xnu.c (grub_xnu_heap_start): New variable.
19028 (grub_xnu_heap_size): Likewise.
19029 (grub_xnu_heap_malloc): Use relocators.
19030 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19031
19032 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19033
19034 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19035 anything.
19036
19037 2009-12-13 Carles Pina i Estany <carles@pina.cat>
19038
19039 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19040 GRUB_ERR_NONE before calling grub_env_set.
19041
19042 2009-12-12 Robert Millan <rmh@aybabtu.com>
19043
19044 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19045 * genmk.rb (video): New variable.
19046 (CLEANFILES, VIDEOFILES): Add #{video}.
19047 (#{video}): New target rule.
19048 * genvideolist.sh: New file.
19049 * Makefile.in (pkglib_DATA): Add video.lst.
19050 (video.lst): New target rule.
19051 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19052 `video.lst'.
19053 * util/grub.d/30_os-prober.in: Replace `vbe' with
19054 ${GRUB_VIDEO_BACKEND}.
19055
19056 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19057
19058 * THANKS: Add David Miller.
19059
19060 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19061
19062 libpciaccess support.
19063
19064 * Makefile.in (LIBPCIACCESS): New variable.
19065 (enable_grub_emu_pci): Likewise.
19066 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19067 util/pci.c and commands/lspci.c.
19068 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19069 * configure.ac (grub-emu-pci): New option.
19070 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19071 (grub_pci_device_unmap_range): Likewise.
19072 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19073 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19074 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19075 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19076 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19077 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19078 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19079 * include/grub/pciutils.h: New file.
19080 * util/pci.c: Likewise.
19081
19082 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
19083
19084 * util/misc.c: Don't include <errno.h> twice.
19085
19086 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
19087
19088 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19089 name in an error message.
19090 (grub_biosdisk_rw): Likewise.
19091
19092 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19093
19094 Eliminate NTFS 4Gib barrier.
19095
19096 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19097 (read_run_data): Likewise.
19098 (grub_ntfs_read_run_list): Likewise.
19099 (grub_ntfs_read_block): Likewise.
19100 (grub_ntfs_iterate_dir): Likewise.
19101 (read_mft): Likewise.
19102 (read_data): Likewise.
19103 Use COM_LOG_LEN.
19104 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19105 to avoid 64-bit division
19106 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19107 (grub_ntfs_rlst): Use grub_disk_addr_t.
19108
19109 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 Eliminate grub-fstest 4Gib barrier.
19112
19113 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19114 (read_file): Fix error reporting.
19115
19116 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 Eliminate hexdump 4Gib barrier.
19119
19120 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19121 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19122
19123 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19124
19125 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19126 Fixes amarsh bug.
19127
19128 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19129
19130 Remove miscellaneous files in distclean target.
19131
19132 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19133
19134 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
19135
19136 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19137 if they're already set. This resolves the conflict between my
19138 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19139 fixing the --grub-probe option again.
19140 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19141 change on 2009-10-06, so that we now once again source
19142 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19143
19144 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19145
19146 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19147 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19148 `util/devicemap.c'.
19149
19150 2009-12-08 Carles Pina i Estany <carles@pina.cat>
19151
19152 * include/grub/misc.h (grub_printf_): New declaration.
19153 * kern/misc.c (grub_printf_): New definition.
19154 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19155 instead of `grub_printf' and `_'.
19156 * normal/menu_entry.c (store_completion): Likewise.
19157 (run): Likewise.
19158 (grub_menu_entry_run): Likewise.
19159 * normal/menu_text.c (grub_wait_after_message): Likewise.
19160 (notify_booting): Likewise.
19161 (notify_fallback): Likewise.
19162 (notify_execution_failure): Likewise.
19163
19164 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
19165
19166 * configure.ac: Check for vasprintf.
19167 * util/misc.c (asprintf): Move allocation from here ...
19168 (vasprintf): ... to here. New function.
19169 (xasprintf): New function.
19170 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19171 prototypes.
19172 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19173 * util/grub-mkfont.c (write_font): Likewise.
19174 * util/grub-probe.c (probe): Likewise.
19175 * util/hostdisk.c (make_device_name): Likewise.
19176
19177 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
19178
19179 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19180 anything even prefixed with 'cdrom' as a cdrom.
19181
19182 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
19183
19184 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19185 mount points.
19186
19187 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19188
19189 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19190 grub_gettext_msg_list.
19191 (grub_gettext_gettranslation_from_position): Return const char *
19192 and not char *.
19193 (grub_gettext_translate): Add the translated strings into a list,
19194 returns from the list if existing there.
19195 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19196 (grub_gettext_delete_list): Delete the list.
19197 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19198 lang environment variable is changed.
19199 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19200
19201 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19202
19203 Rename kernel.mod to kernel.img.
19204
19205 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19206 (kernel_mod_EXPORTS): Rename to ...
19207 (kernel_img_EXPORTS): ... this.
19208 (kernel_mod_SOURCES): Rename to ...
19209 (kernel_img_SOURCES): ... this.
19210 (kernel_mod_HEADERS): Rename to ...
19211 (kernel_img_HEADERS): ... this. All users updated.
19212 (kernel_mod_CFLAGS): Rename to ...
19213 (kernel_img_CFLAGS): ... this.
19214 (kernel_mod_ASFLAGS): Rename to ...
19215 (kernel_img_ASFLAGS): ... this.
19216 (kernel_mod_LDFLAGS): Rename to ...
19217 (kernel_img_LDFLAGS): ... this.
19218 * conf/x86_64-efi.rmk: Likewise.
19219 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19220 (read_kernel_image): ... this. All users updated.
19221 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19222
19223 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19224
19225 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19226 (print_spaces): New function.
19227 (grub_print_ucs4): New function.
19228 (getstringwidth): New function.
19229 (print_message_indented): New function.
19230 (print_message): Gettexttize strings using print_message_indented.
19231 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19232 width.
19233 (get_entry_number): Gettextize and uses dynamic terminal width.
19234 (notify_booting, notify_fallback, notify_execution_failure):
19235 Gettextize.
19236 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19237 string.
19238 (run): Likewise.
19239 (grub_menu_entry_run): Likewise.
19240 * PO/POTFILES: Add normal/menu_entry.c.
19241
19242 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19245
19246 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19247
19248 * util/grub-install.in: Install gettext .mo files.
19249 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19250
19251 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19252
19253 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19254 grub_dprintf.
19255
19256 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19257
19258 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19259 non-firmware-dependant one in realmode.S takes precedence.
19260
19261 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19262
19263 * commands/halt.c: Replace misc arch-specific headers with
19264 `<grub/misc.h>'.
19265 * commands/reboot.c: Likewise.
19266 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19267 `<grub/misc.h>'.
19268 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19269 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19270 (kernel_img_SOURCES): ... to here.
19271
19272 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19273 * include/grub/i386/pc/init.h: Likewise.
19274 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19275 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19276
19277 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19278
19279 * include/grub/i386/halt.h: Remove.
19280 * include/grub/i386/reboot.h: Likewise.
19281
19282 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19283
19284 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
19285
19286 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19287 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19288 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19289 "progname.h"
19290 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19291 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19292 (usage): Add missing comma in printf.
19293
19294 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19295
19296 Use the same reboot approach on i386 coreboot and qemu as we do on
19297 BIOS.
19298
19299 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19300 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19301 * kern/i386/reboot.c: Remove.
19302 * include/grub/i386/reboot.h (grub_reboot): Export function.
19303 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19304 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19305 0xf000:0xfff0 instead of 0xffff:0x0000.
19306 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19307 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19308
19309 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19310
19311 Fix $srcdir != $objdir build.
19312
19313 * Makefile.in (po/%.po): Rewrite as ...
19314 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19315
19316 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19317
19318 Fix GNU/Hurd grub-install crash.
19319 * util/grub-probe.c (probe): Try to access `path' only when it is not
19320 NULL.
19321
19322 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 Correct module naming.
19325
19326 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19327 (GRUB_MOD_INIT(efi_uga)): ... to this
19328 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19329 (GRUB_MOD_FINI(efi_uga)): ... to this
19330 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19331 (GRUB_MOD_INIT(efi_gop)): ... to this
19332 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19333 (GRUB_MOD_FINI(efi_gop)): ... to this
19334
19335 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19336
19337 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19338 translatable.
19339 (usage): Translate `arg' strings using gettext().
19340 Thanks to Jordi Mallach for the suggestion.
19341
19342 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 GOP support. Based on patch from Bean
19345 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19346
19347 * video/efi_gop.c: New file.
19348 * include/grub/efi/graphics_output.h: Likewise.
19349 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19350 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19351 variables.
19352 * conf/x86_64-efi.rmk: Likewise.
19353
19354 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 Rename efi_fb to efi_uga.
19357
19358 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19359 'efi_uga.mod'.
19360 (efi_fb_mod_SOURCES): Rename this ...
19361 (efi_uga_mod_SOURCES): ... to this.
19362 (efi_fb_mod_CFLAGS): Rename this ...
19363 (efi_uga_mod_CFLAGS): ... to this.
19364 (efi_fb_mod_LDFLAGS): Rename this ...
19365 (efi_uga_mod_LDFLAGS): ... to this.
19366 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19367 'efi_uga.mod'.
19368 (efi_fb_mod_SOURCES): Rename this ...
19369 (efi_uga_mod_SOURCES): ... to this.
19370 (efi_fb_mod_CFLAGS): Rename this ...
19371 (efi_uga_mod_CFLAGS): ... to this.
19372 (efi_fb_mod_LDFLAGS): Rename this ...
19373 (efi_uga_mod_LDFLAGS): ... to this.
19374 * video/efi_fb.c: Move this ...
19375 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19376
19377 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19378
19379 * po/README: New file. Explain our PO file workflow.
19380
19381 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19382
19383 * po/ChangeLog: Remove. Move relevant entries back to ...
19384 * ChangeLog: ... here.
19385 * po/ca.po: Remove (now handled by TLP).
19386 * po/id.po: Likewise.
19387 * po/zh_CN.po: Likewise.
19388 * Makefile.in (LINGUAS): Initialize in a way that supports
19389 empty set.
19390
19391 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19392
19393 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19394 reliing on po/LINGUAS.
19395 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19396 (po/%.po): ... this.
19397
19398 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19399
19400 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19401 (main): Use `program_name' instead of nonexistent `progname'.
19402
19403 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19404
19405 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19406 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19407
19408 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19409
19410 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19411 commit.
19412 * conf/i386-efi.rmk: Likewise.
19413 * conf/i386-ieee1275.rmk: Likewise.
19414 * conf/powerpc-ieee1275.rmk: Likewise.
19415 * conf/sparc64-ieee1275.rmk: Likewise.
19416 * conf/x86_64-efi.rmk: Likewise.
19417
19418 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19419
19420 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19421
19422 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19423
19424 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19425
19426 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19427
19428 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19429 (grub_mkdevicemap_SOURCES): New variable.
19430 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19431 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19432 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19433 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19434 (grub_mkdevicemap_SOURCES): Remove.
19435 * conf/i386-efi.rmk: Likewise.
19436 * conf/i386-ieee1275.rmk: Likewise.
19437 * conf/i386-pc.rmk: Likewise.
19438 * conf/powerpc-ieee1275.rmk: Likewise.
19439 * conf/sparc64-ieee1275.rmk: Likewise.
19440 * conf/x86_64-efi.rmk: Likewise.
19441 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19442 (usage): Fix strings to use `program_name'.
19443 (main): Initialize gettext.
19444 * util/grub-editenv.c: Likewise.
19445 * util/grub-emu.c: Likewise.
19446 * util/grub-fstest.c: Likewise.
19447 * util/grub-mkdevicemap.c: Likewise.
19448 * util/grub-mkfont.c: Likewise.
19449 * util/grub-mkrelpath.c: Likewise.
19450 * util/grub-pe2elf.c: Likewise.
19451 * util/grub-probe.c: Likewise.
19452 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19453 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19454 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19455
19456 * util/misc.c: Include `"progname.h"'.
19457 (progname): Remove variable.
19458 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19459
19460 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19461
19462 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19463 printf and print a newline after the menuentry header line.
19464 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19465
19466 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19467
19468 autoconf >= 2.60 support $(localedir).
19469
19470 * INSTALL: Note that autoconf 2.60 is required.
19471 * configure.ac (AC_PREREQ): Bump to 2.60.
19472 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19473 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19474
19475 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19476
19477 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19478 aclocal is run.
19479
19480 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19481
19482 * normal/main.c (grub_normal_read_line): Fix off-by-one
19483 buffer overflow.
19484
19485 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19486
19487 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19488 "parser.grub" in grub_command_execute() call.
19489
19490 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19491
19492 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19493 * conf/i386-efi.rmk: Likewise.
19494 * conf/i386-ieee1275.rmk: Likewise.
19495 * conf/i386-pc.rmk: Likewise.
19496 * conf/powerpc-ieee1275.rmk: Likewise.
19497 * conf/sparc64-ieee1275.rmk: Likewise.
19498 * conf/x86_64-efi.rmk: Likewise.
19499 * gettext/gettex.c: Include <grub/i18n.h>.
19500 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19501 here ...
19502 * include/grub/i18n.h: ... to here
19503 * include/grub/i18n.h: ... to here.
19504 * kern/misc.c: Include <grub/i18n.h>
19505 (grub_gettext_dummy): Move above user.
19506
19507 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19508
19509 * util/Makefile.in (install-local): Convert a `for' into a normal
19510 shell expansion.
19511
19512 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19513
19514 * autogen.sh: Add automake call.
19515 * config.guess: Remove.
19516 * config.sub: Likewise.
19517 * install-sh: Likewise.
19518
19519 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19520
19521 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19522
19523 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19524
19525 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19526 function to a normal shell `for'.
19527
19528 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19529
19530 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19531
19532 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19533
19534 * util/grub-mkrelpath.c: New file.
19535 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19536 (grub_mkrelpath_SOURCES): New variable.
19537 * include/grub/util/misc.h: New function prototype.
19538 * util/misc.c (make_system_path_relative_to_its_root): New function.
19539
19540 * util/grub-mkconfig_lib.in (bindir): New variable.
19541 (grub_mkrelpath): Likewise.
19542 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19543
19544 * util/probe.c (probe): Make the file path relative to its root.
19545 Change a info message to use the GRUB path. Enable again the
19546 check if we can read the file with GRUB facilities.
19547
19548 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19549 to its root.
19550
19551 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19552
19553 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19554 platform.
19555
19556 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19557
19558 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19559 strncmp().
19560
19561 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19562
19563 * util/getroot.c (grub_util_is_dmraid): New function.
19564 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19565 devices as normal ones, not as LVM.
19566
19567 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19568
19569 * conf/common.rmk: Add grub-gettext_lib target and updates
19570 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19571 LDFLAGS.
19572 * gettext/gettext.c: New file. (Reads mo files).
19573 * include/grub/file.h (grub_file_pread): New prototype.
19574 * include/grub/i18n.h (_): New prototype.
19575 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19576 prototypes.
19577 * kern/misc.c (grub_gettext_dummy): New function.
19578 * normal/menu_text.c: Include <grub/i18n.h>.
19579 * normal/menu_text.c (print_timeout): Gettexttize string.
19580 * normal/menu_text.c (print_message): Gettexttize string.
19581 * po/POTFILES: Add `normal/menu_text.c'.
19582 * po/ca.po: Add new translations.
19583 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19584 gettext module and defines locale_dir and lang in grub.cfg.
19585 * NEWS: Add gettext support.
19586
19587 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19588
19589 * util/hostdisk.c: Include `<grub/i18n.h>'.
19590 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19591 (make_device_name): Rewrite using asprintf.
19592 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19593 (find_system_device): If a device is not found, generate one just
19594 by reusing the OS path name.
19595 (read_device_map): Make it permissible for device.map not to exist.
19596
19597 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19598
19599 * script/sh/execute.c: Move from here ...
19600 * script/execute.c: ... to here. Update all users.
19601 * script/sh/function.c: Move from here ...
19602 * script/function.c: ... to here. Update all users.
19603 * script/sh/lexer.c: Move from here ...
19604 * script/lexer.c: ... to here. Update all users.
19605 * script/sh/main.c: Move from here ...
19606 * script/main.c: ... to here. Update all users.
19607 * script/sh/parser.y: Move from here ...
19608 * script/parser.y: ... to here. Update all users.
19609 * script/sh/script.c: Move from here ...
19610 * script/script.c: ... to here. Update all users.
19611
19612 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19613
19614 * configure.ac: Detect all `emu' platforms. Define
19615 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19616 --enable-grub-emu logic. Disable include/grub/machine
19617 symlink on `emu' platforms.
19618
19619 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19620 * gensymlist.sh.in: Likewise.
19621
19622 * include/grub/i386/coreboot/machine.h: Remove file.
19623 * include/grub/i386/efi/machine.h: Likewise.
19624 * include/grub/i386/ieee1275/machine.h: Likewise.
19625 * include/grub/i386/pc/machine.h: Likewise.
19626 * include/grub/i386/qemu/machine.h: Likewise.
19627 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19628 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19629 * include/grub/x86_64/efi/machine.h: Likewise.
19630
19631 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19632 * commands/halt.c: Likewise.
19633 * commands/reboot.c: Likewise.
19634 * include/grub/autoefi.h: Likewise.
19635 * include/grub/i386/at_keyboard.h: Likewise.
19636 * include/grub/i386/kernel.h: Likewise.
19637 * include/grub/i386/loader.h: Likewise.
19638 * include/grub/i386/pc/memory.h: Likewise.
19639 * kern/dl.c: Likewise.
19640 * kern/i386/coreboot/init.c: Likewise.
19641 * loader/i386/bsd.c: Likewise.
19642 * loader/i386/linux.c: Likewise.
19643 * loader/multiboot_loader.c: Likewise.
19644 * term/i386/pc/serial.c: Likewise.
19645 * term/usb_keyboard.c: Likewise.
19646
19647 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19648 `<grub/machine/machine.h>'
19649 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19650 * util/misc.c: Remove `<grub/machine/machine.h>' and
19651 `<grub/machine/time.h>'.
19652
19653 * Makefile.in (enable_grub_emu): Remove variable.
19654 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19655
19656 * conf/any-emu.rmk: New file.
19657 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19658 (grub_emu_init.c): Move from here ...
19659 * conf/any-emu.rmk: ... to here.
19660
19661 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19662 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19663 * conf/any-emu.rmk: ... to here.
19664
19665 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19666
19667 * include/grub/parser.h (grub_parser_register): Document need
19668 of `name' parameter.
19669 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19670 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19671 "sh" to "grub".
19672
19673 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19674
19675 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19676 `$(XGETTEXT)'.
19677 * include/grub/i18n.h (N_): New macro.
19678 * util/mkisofs/mkisofs.h: Likewise.
19679 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19680 around N_().
19681 (usage): Use gettext() to translate help strings when printing them.
19682
19683 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19684
19685 Based on patch from Bean
19686 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19687
19688 * video/efi_fb.c: New file.
19689 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19690 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19691 variables.
19692 * conf/x86_64-efi.rmk: Likewise.
19693
19694 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19695
19696 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19697 * util/i386/pc/grub-setup.c: Likewise.
19698
19699 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19700
19701 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19702 <hurd/fs.h>
19703 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19704 file_get_storage_info to implement grub_guess_root_device.
19705
19706 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19707
19708 * Makefile.in (target): Use make's builtin $(shell) function
19709 instead of calling directly $(SHELL) to create the locale directories,
19710 inside the $(foreach) function.
19711
19712 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19713
19714 * util/grub-mkrescue.in: Print an error and usage if output option
19715 has not been given.
19716
19717 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19718
19719 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19720 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19721 root and /boot are on different devices.
19722
19723 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19724
19725 Fix build for srcdir != objdir.
19726
19727 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19728 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19729 $(srcdir).
19730 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19731 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19732 reference for input.
19733
19734 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19735
19736 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19737 or hardlinking it). Remove -J option, Joliet is not compatible with
19738 multiple source directories.
19739
19740 2009-11-21 Carles Pina i Estany <carles@pina.cat>
19741 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19742
19743 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19744 (process_input_dir): New function. Process an arbitrary input
19745 directory.
19746 Misc adjustments to support both "override mode" and system-wide mode.
19747
19748 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19749
19750 * configure.ac (UNIFONT_BDF): Rename to ...
19751 (FONT_SOURCE): ... this. Update all users.
19752
19753 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19754
19755 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19756 to the list of unifont files to look for.
19757
19758 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19759
19760 Patch from Joe Auricchio <jauricchio@gmail.com>
19761 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19762 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19763 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19764
19765 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19766
19767 * Makefile.in (install-local): Add a missing backslash.
19768
19769 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19770
19771 * include/grub/x86_64/io.h: New file.
19772
19773 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19774
19775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19776 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19777 Include `"progname.h"'.
19778 (main): Initialize gettext.
19779 * util/i386/pc/grub-setup.c: Gettexttize.
19780 * util/i386/pc/grub-mkimage.c: Likewise.
19781
19782 * Makefile.in (po/*.po): Redefine as ...
19783 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19784
19785 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19786
19787 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19788
19789 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19790 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19791 (program_name): Remove.
19792 (main): Initialize gettext support.
19793 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19794 Include `<libintl.h>'.
19795 (_): New macro.
19796
19797 * util/mkisofs/eltorito.c: Gettexttize.
19798 * util/mkisofs/joliet.c: Likewise.
19799 * util/mkisofs/mkisofs.c: Likewise.
19800 * util/mkisofs/multi.c: Likewise.
19801 * util/mkisofs/rock.c: Likewise.
19802 * util/mkisofs/tree.c: Likewise.
19803 * util/mkisofs/write.c: Likewise.
19804
19805 * po/POTFILES: Update with new files.
19806
19807 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19808
19809 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19810 * util/mkisofs/iso9660.h: Likewise.
19811 * util/mkisofs/joliet.c: Likewise.
19812 * util/mkisofs/mkisofs.c: Likewise.
19813 * util/mkisofs/mkisofs.h: Likewise.
19814 * util/mkisofs/rock.c: Likewise.
19815 * util/mkisofs/tree.c: Likewise.
19816 * util/mkisofs/write.c: Likewise.
19817
19818 * util/mkisofs/eltorito.c (rcsid): Remove.
19819 * util/mkisofs/hash.c: Likewise.
19820 * util/mkisofs/joliet.c: Likewise.
19821 * util/mkisofs/name.c: Likewise.
19822 * util/mkisofs/rock.c: Likewise.
19823 * util/mkisofs/tree.c: Likewise.
19824 * util/mkisofs/write.c: Likewise.
19825
19826 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19827
19828 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19829 instead of static allocation.
19830 * util/mkisofs/match.h: Likewise.
19831
19832 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19833
19834 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19835 and `util/grub.d/10_linux.in'.
19836 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19837 translatable Shell files.
19838
19839 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19840
19841 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19842
19843 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19844
19845 * INSTALL: Document Automake is needed for bootstrap.
19846 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
19847 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19848 Add gettext initialization.
19849 (kfreebsd_entry): Make menuentry output translatable.
19850
19851 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19852
19853 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19854 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19855 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19856 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19857 (LINGUAS): Auto-generate using `po/LINGUAS'.
19858 * po/LINGUAS: New file.
19859
19860 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19861
19862 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19863 other things).
19864 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19865 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19866 bindtextdomain() calls for gettext initialization.
19867
19868 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19869
19870 * gnulib/progname.c: New file (imported from Gnulib).
19871 * gnulib/progname.h: Likewise.
19872 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19873 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19874 (usage): Replace `progname' with `program_name'.
19875 (main): Use set_program_name() for program name initialization.
19876
19877 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19878
19879 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19880 from here ...
19881 * Makefile.in (CPPFLAGS): ... to here.
19882
19883 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19884
19885 * aclocal.m4: Move from here ...
19886 * acinclude.m4: ... to here.
19887 * autogen.sh: Add call to `aclocal'.
19888 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19889
19890 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19891
19892 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19893 (LINGUAS): New variable.
19894 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19895 (install-local): Install MO files.
19896 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19897 * include/grub/i18n.h: New file.
19898 * po/POTFILES: New file.
19899 * po/ca.po: New file.
19900 * util/grub.d/10_linux.in (bindir): New variable.
19901 Add gettext initialization.
19902 (linux_entry): Make menuentry output translatable.
19903 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19904 (usage): Make --help output translatable.
19905 (main): Initialize gettext.
19906
19907 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19908
19909 * import_gcry.py: New file (written by Vladimir with minor
19910 adjustments).
19911 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19912 ciphers.
19913 * INSTALL: Document that Python is required for bootstrap.
19914
19915 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19916
19917 Import ciphers from libgcrypt 1.4.4.
19918
19919 * lib/libgcrypt/cipher/ChangeLog
19920 * lib/libgcrypt/cipher/ac.c
19921 * lib/libgcrypt/cipher/arcfour.c
19922 * lib/libgcrypt/cipher/bithelp.h
19923 * lib/libgcrypt/cipher/blowfish.c
19924 * lib/libgcrypt/cipher/camellia-glue.c
19925 * lib/libgcrypt/cipher/camellia.c
19926 * lib/libgcrypt/cipher/camellia.h
19927 * lib/libgcrypt/cipher/cast5.c
19928 * lib/libgcrypt/cipher/cipher.c
19929 * lib/libgcrypt/cipher/crc.c
19930 * lib/libgcrypt/cipher/des.c
19931 * lib/libgcrypt/cipher/dsa.c
19932 * lib/libgcrypt/cipher/ecc.c
19933 * lib/libgcrypt/cipher/elgamal.c
19934 * lib/libgcrypt/cipher/hash-common.c
19935 * lib/libgcrypt/cipher/hash-common.h
19936 * lib/libgcrypt/cipher/hmac-tests.c
19937 * lib/libgcrypt/cipher/md.c
19938 * lib/libgcrypt/cipher/md4.c
19939 * lib/libgcrypt/cipher/md5.c
19940 * lib/libgcrypt/cipher/primegen.c
19941 * lib/libgcrypt/cipher/pubkey.c
19942 * lib/libgcrypt/cipher/rfc2268.c
19943 * lib/libgcrypt/cipher/rijndael-tables.h
19944 * lib/libgcrypt/cipher/rijndael.c
19945 * lib/libgcrypt/cipher/rmd.h
19946 * lib/libgcrypt/cipher/rmd160.c
19947 * lib/libgcrypt/cipher/rsa.c
19948 * lib/libgcrypt/cipher/seed.c
19949 * lib/libgcrypt/cipher/serpent.c
19950 * lib/libgcrypt/cipher/sha1.c
19951 * lib/libgcrypt/cipher/sha256.c
19952 * lib/libgcrypt/cipher/sha512.c
19953 * lib/libgcrypt/cipher/tiger.c
19954 * lib/libgcrypt/cipher/twofish.c
19955 * lib/libgcrypt/cipher/whirlpool.c
19956
19957 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19958
19959 Fix build for systems without error().
19960
19961 * gnulib/error.c: New file (imported from Gnulib).
19962 * gnulib/error.h: Likewise.
19963 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19964 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19965 (this variable is now used by error()).
19966
19967 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19968
19969 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19970 instead of relying that char is signed.
19971
19972 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19973
19974 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19975 blocksize different from specified.
19976 (grub_pxefs_read): Likewise.
19977
19978 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19979
19980 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19981
19982 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19983 (grub_ata_readwrite): Likewise. Update 2 format strings.
19984 (grub_atapi_read): Likewise.
19985
19986 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19987 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19988 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19989 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19990 (ata_mod_LDFLAGS): Move from here ...
19991 * conf/i386.rmk: ... to here ...
19992 * conf/x86_64-efi.rmk: ... and here.
19993 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19994 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19995
19996 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19997
19998 Relicense multiboot.h, with RMS' blessing.
19999
20000 * include/multiboot.h: Change to X11 license.
20001
20002 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20003
20004 Support --version in grub-mkisofs.
20005
20006 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20007 (OPTION_VERSION): New macro.
20008 (ld_options): Recognize --version.
20009 (usage): Move `program_name' from here ...
20010 (program_name): ... to here. Add `static' qualifier.
20011 (main): Recognize `OPTION_VERSION'.
20012
20013 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
20014
20015 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20016 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20017
20018 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20019
20020 Fix help2man generation for mkisofs.
20021
20022 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20023 (usage): Send output to stdout (rather than stderr).
20024
20025 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20026
20027 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20028 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20029 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20030 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20031 (bin_SCRIPTS): Add `grub-mkfloppy'.
20032 (grub_mkfloppy_SOURCES): New variable.
20033
20034 * util/grub-mkrescue.in: New file.
20035 * util/i386/pc/grub-mkfloppy.in: New file.
20036
20037 * util/i386/coreboot/grub-mkrescue.in: Remove.
20038 * util/i386/pc/grub-mkrescue.in: Remove.
20039
20040 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20041
20042 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20043 from here ...
20044 * include/multiboot.h (struct multiboot_header): ... to here. Update
20045 all users.
20046 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20047 from here ...
20048 * include/multiboot.h (struct multiboot_info): ... to here. Update
20049 all users.
20050 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20051 from here ...
20052 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20053 Update all users.
20054 * include/grub/multiboot.h (struct grub_mod_list): Move
20055 from here ...
20056 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20057 Update all users.
20058
20059 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20060
20061 * include/multiboot2.h (multiboot_word): Rename from this ...
20062 (multiboot2_word): ... to this. Update all users.
20063 (multiboot_header): Rename from this ...
20064 (multiboot2_header): ... to this. Update all users.
20065 (multiboot_tag_header): Rename from this ...
20066 (multiboot2_tag_header): ... to this. Update all users.
20067 (multiboot_tag_start): Rename from this ...
20068 (multiboot2_tag_start): ... to this. Update all users.
20069 (multiboot_tag_name): Rename from this ...
20070 (multiboot2_tag_name): ... to this. Update all users.
20071 (multiboot_tag_module): Rename from this ...
20072 (multiboot2_tag_module): ... to this. Update all users.
20073 (multiboot_tag_memory): Rename from this ...
20074 (multiboot2_tag_memory): ... to this. Update all users.
20075 (multiboot_tag_unused): Rename from this ...
20076 (multiboot2_tag_unused): ... to this. Update all users.
20077 (multiboot_tag_end): Rename from this ...
20078 (multiboot2_tag_end): ... to this. Update all users.
20079
20080 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20081
20082 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20083 this platform we should support Multiboot1 first.
20084
20085 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20086 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20087 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20088
20089 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20090
20091 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20092 of write calls (converting them to fwrite() if they aren't already).
20093 (get_torito_desc): Likewise.
20094 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20095
20096 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20097
20098 * util/i386/pc/grub-install.in: Move from here ...
20099 * util/grub-install.in: ... to here. Update all users.
20100
20101 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
20102
20103 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20104
20105 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20106
20107 Support for El Torito without floppy emulation.
20108
20109 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20110 (init_boot_catalog): Improve error handling.
20111 (get_torito_desc): Don't use floppy emulation unless requested by
20112 user. Patch boot information table when requested via
20113 `-boot-info-table'.
20114 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20115 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20116 (use_boot_info_table): New variables.
20117 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20118 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20119 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20120 `--eltorito-emul-floppy'.
20121 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20122 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20123 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20124 (use_boot_info_table, get_731): New prototypes.
20125 * util/mkisofs/write.c (get_731): New function.
20126
20127 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
20128
20129 Fix the generation of the man page.
20130
20131 * util/pc/i386/grub-install.in: Source
20132 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20133
20134 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20135
20136 Large file support for grub-mkisofs.
20137
20138 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20139 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20140 (session_start): Upgrade type to `uint64_t'. Update all users.
20141 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20142 (struct directory_entry): Upgrade type of `starting_block' and
20143 `size' to `uint64_t'. Update all users.
20144 (struct deferred): Remove unused structure.
20145 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20146 Update all users.
20147 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20148 file is larger than `UINT32_MAX'.
20149 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20150 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20151 return value.
20152 (struct deferred_write): Upgrade type of `extent' and `size' to
20153 `uint64_t'. Update all users.
20154 (last_extent_written): Upgrade type to `uint64_t'. Update all
20155 users.
20156 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20157 Update all users. Upgrade type of `remain' to `int64_t' and
20158 `use' to `size_t'. Use error() to handle fread() errors.
20159 (write_files): Rely on write_one_file() rather than calling
20160 xfwrite() directly.
20161
20162 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
20163
20164 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20165
20166 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20167
20168 * util/mkisofs/fnmatch.c: Remove.
20169 * util/mkisofs/getopt1.c: Likewise.
20170 * util/mkisofs/getopt.c: Likewise.
20171 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20172 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20173 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20174 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20175 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20176
20177 * configure.ac: Detect `mingw32msvc' host_os.
20178 Check for lstat(), getuid() and getgid().
20179
20180 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20181 instances of `u_char' with `uint8_t'.
20182
20183 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20184 [!HAVE_GETUID] (getuid): New function (stub).
20185 [!HAVE_GETGID] (getgid): Likewise.
20186 [!HAVE_LSTAT] (lstat): Likewise.
20187 [!S_IROTH] (S_IROTH): New macro (dummy).
20188 [!S_IRGRP] (S_IRGRP): Likewise.
20189
20190 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20191
20192 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20193 conditional expression).
20194
20195 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20196
20197 Import from Gnulib.
20198
20199 * gnulib/fnmatch.c: New file.
20200 * gnulib/fnmatch.h: Likewise.
20201 * gnulib/fnmatch_loop.c: Likewise.
20202 * gnulib/getopt.c: Likewise.
20203 * gnulib/getopt.h: Likewise.
20204 * gnulib/getopt1.c: Likewise.
20205 * gnulib/getopt_int.h: Likewise.
20206 * gnulib/gettext.h: Likewise.
20207
20208 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20209
20210 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20211 * normal/handler.c (read_handler_list): Likewise.
20212
20213 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20214
20215 Misc cleanup.
20216
20217 * kern/command.c (grub_register_command_prio): Use
20218 grub_zalloc() instead of explicitly zeroing data.
20219 * kern/list.c: Include `<grub/mm.h>'.
20220 (grub_named_list_find): Replace `0' with `NULL'.
20221 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20222 (fs_module_list): Change type to `grub_named_list_t'. Update all
20223 users.
20224 * normal/dyncmd.c (read_command_list): Add space between function
20225 call and parenthesis.
20226 * normal/handler.c (read_handler_list): Likewise.
20227
20228 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20229
20230 * normal/auth.c (punishment_delay): Moved from here ...
20231 (grub_auth_strcmp): ... to here (inside function).
20232
20233 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20234
20235 * include/grub/list.h (struct grub_named_list): Remove `const'
20236 qualifier from `name'.
20237 (struct grub_prio_list): Likewise.
20238
20239 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20240
20241 * normal/auth.c: Include `<grub/time.h>'.
20242 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20243
20244 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20245
20246 * normal/auth.c (punishment_delay): New variable.
20247 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20248 (grub_auth_check_authentication): Punish failed login attempts with
20249 an incremental (2^N) delay.
20250
20251 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20252
20253 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20254 path with $(srcdir).
20255
20256 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20257
20258 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20259
20260 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20261
20262 * util/i386/coreboot/grub-mkrescue.in: New file.
20263 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20264 variables.
20265
20266 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20267 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20268 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20269 requirements.
20270 * util/mkisofs/defaults.h: New file.
20271 * util/mkisofs/eltorito.c: Likewise.
20272 * util/mkisofs/exclude.h: Likewise.
20273 * util/mkisofs/fnmatch.c: Likewise.
20274 * util/mkisofs/getopt.c: Likewise.
20275 * util/mkisofs/getopt1.c: Likewise.
20276 * util/mkisofs/hash.c: Likewise.
20277 * util/mkisofs/include/fctldefs.h: Likewise.
20278 * util/mkisofs/include/mconfig.h: Likewise.
20279 * util/mkisofs/include/prototyp.h: Likewise.
20280 * util/mkisofs/include/statdefs.h: Likewise.
20281 * util/mkisofs/iso9660.h: Likewise.
20282 * util/mkisofs/joliet.c: Likewise.
20283 * util/mkisofs/match.c: Likewise.
20284 * util/mkisofs/match.h: Likewise.
20285 * util/mkisofs/mkisofs.c: Likewise.
20286 * util/mkisofs/mkisofs.h: Likewise.
20287 * util/mkisofs/multi.c: Likewise.
20288 * util/mkisofs/name.c: Likewise.
20289 * util/mkisofs/rock.c: Likewise.
20290 * util/mkisofs/tree.c: Likewise.
20291 * util/mkisofs/write.c: Likewise.
20292
20293 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20294
20295 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20296 being insecure.
20297
20298 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20299
20300 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20301 `grub-mkimage' (and use $0 when possible).
20302
20303 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20304
20305 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20306 error message for excessively large memory map.
20307
20308 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20309
20310 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20311 executable bit.
20312
20313 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20314
20315 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20316 message for coreboot users.
20317
20318 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20319
20320 Fix build with GNU gold.
20321
20322 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20323 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20324 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20325 link addresses.
20326 * aclocal.m4: Likewise.
20327
20328 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
20329
20330 * configure.ac (AC_PREREQ): Bump to 2.59d.
20331 * INSTALL: Make it more clear when Autoconf and Ruby are
20332 needed and when to run `./autogen.sh'.
20333
20334 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20335
20336 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20337 OSes.
20338
20339 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20340
20341 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20342
20343 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20344
20345 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20346 giving it to GNU Mach.
20347
20348 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20349
20350 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20351 GNU partition number to get internal GRUB partition number.
20352
20353 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20354
20355 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20356 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20357
20358 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20359
20360 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20361 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20362 case.
20363
20364 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
20365
20366 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20367
20368 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20369
20370 Fix build problem.
20371
20372 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20373 `-isystem=$(srcdir)/include'.
20374
20375 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20376
20377 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20378 checked (grub-install doesn't currently rely on it).
20379
20380 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20381
20382 Revert SVN r2660.
20383
20384 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20385 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20386 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20387 * conf/i386-ieee1275.rmk: Likewise.
20388 * conf/i386-pc.rmk: Likewise.
20389 * conf/powerpc-ieee1275.rmk: Likewise.
20390 * conf/sparc64-ieee1275.rmk: Likewise.
20391 * conf/x86_64-efi.rmk: Likewise.
20392
20393 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20394
20395 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20396
20397 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20398
20399 * include/grub/misc.h: Stop checking for APPLE_CC.
20400
20401 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20402
20403 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20404 doesn't cause an infinite call loop.
20405
20406 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
20407
20408 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20409 strings.
20410
20411 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20412
20413 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20414 variable.
20415 * Makefile.in: Likewise.
20416
20417 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20418
20419 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20420
20421 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20422
20423 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20424
20425 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20426
20427 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20428
20429 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20430
20431 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20432 from here ...
20433 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20434
20435 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20436
20437 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20438 in $(MAKEINFO) invocation. This makes it clear in output that
20439 errors are being ignored.
20440
20441 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20442
20443 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20444 from here ...
20445 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20446 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20447 * conf/i386-ieee1275.rmk: Likewise.
20448 * conf/i386-pc.rmk: Likewise.
20449 * conf/powerpc-ieee1275.rmk: Likewise.
20450 * conf/sparc64-ieee1275.rmk: Likewise.
20451 * conf/x86_64-efi.rmk: Likewise.
20452
20453 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20454
20455 * util/grub-editenv.c (main): If only a command is given, use
20456 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20457 (usage): FILENAME is now optional and has a default.
20458
20459 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20460
20461 Improve grub-mkconfig performance when there are several menu
20462 entries on a single filesystem.
20463
20464 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20465 prepare_grub_to_access_device.
20466 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20467 * util/grub.d/30_os-prober.in: Likewise.
20468
20469 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20470
20471 * util/grub.d/10_freebsd.in: Remove.
20472 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20473 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20474
20475 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20476
20477 * docs/grub.cfg: Fix example usage of *BSD loaders.
20478
20479 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20480
20481 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20482 grub_util_error() call.
20483
20484 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20485
20486 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20487 `reserved_first_sector' member.
20488 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20489 `reserved_first_sector' to 1.
20490 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20491 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20492 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20493 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20494 filesystems which begin at first sector.
20495 (options): New option --skip-fs-probe.
20496 (main): Handle --skip-fs-probe and pass it to setup().
20497
20498 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20499
20500 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20501 (memset): Fix function prototype.
20502
20503 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20504 2009-10-25 Vasily Averin <vvs@parallels.com>
20505
20506 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20507 `dirent.direntlen == 0'.
20508
20509 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20510
20511 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20512 `cpio'.
20513 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20514
20515 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20516
20517 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20518 `__trampoline_setup' and `__ucmpdi2'.
20519 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20520 that libgcc provides.
20521
20522 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20523
20524 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20525 * include/grub/sparc64/libgcc.h (memset): Likewise.
20526 * include/grub/misc.h (memset, memcmp): New function prototypes.
20527
20528 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20529
20530 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20531 `cpio'.
20532 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20533
20534 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20535
20536 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20537 * docs/grub.cfg: Compensate for recent change in multiboot
20538 loader (since 2009-08-14 it won't pass filename to payload).
20539 * util/grub.d/10_hurd.in: Likewise.
20540
20541 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20542
20543 * config.guess: Update to latest version from config git
20544 repository.
20545 * config.sub: Likewise.
20546
20547 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20548
20549 Fix build on sparc64.
20550
20551 * configure.ac: Perform checks for libgcc symbols before
20552 adding `-nostdlib' to LDFLAGS.
20553
20554 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20555
20556 Let user specify OpenBSD root device.
20557
20558 * loader/i386/bsd.c (openbsd_root): New variable.
20559 (openbsd_opts): New option 'root'.
20560 (OPENBSD_ROOT_ARG): New macro.
20561 (grub_openbsd_boot): Use 'openbsd_root'.
20562 (grub_cmd_openbsd): Fill 'openbsd_root'.
20563
20564 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20565
20566 * NEWS: Misc adjustments.
20567
20568 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20571
20572 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20573
20574 * configure.ac: Bump version to 1.97.
20575
20576 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20577
20578 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20579 -mno-3dnow on x86 architectures. Some toolchains enable these
20580 features by default, but they rely on registers that aren't enabled
20581 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20582
20583 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20584
20585 Make entry text a bit more readable.
20586
20587 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20588
20589 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20590
20591 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20592
20593 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20594
20595 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20596 operations.
20597
20598 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20599
20600 * configure.ac: Add missing dollar.
20601
20602 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20603
20604 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20605
20606 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20607 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20608 exports.
20609 * include/grub/sparc64/libgcc.h: Likewise. Use
20610 preprocessor conditionals.
20611
20612 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20613
20614 * conf/common.rmk (grub-dumpbios): Remove rule.
20615 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20616 * util/grub-dumpbios.in: Remove file.
20617
20618 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20619
20620 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20621 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20622
20623 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20624 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20625 users.
20626
20627 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20628 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20629 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20630 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20631 users.
20632
20633 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20634
20635 * term/tparm.c: Switch to GPLv3.
20636
20637 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20638
20639 * include/grub/i386/cpuid.h: Add header protection.
20640
20641 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20642
20643 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20644
20645 * include/grub/i386/cpuid.h: New file.
20646 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20647 (has_longmode): Rename to ...
20648 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20649 `static' attribute.
20650 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20651 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20652 on a CPU that doesn't implement AMD64 instruction set.
20653
20654 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20655
20656 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20657 that version.texi is rebuilt on version number changes.
20658
20659 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20660
20661 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20662 Fixes bug #27602.
20663
20664 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20665
20666 * util/i386/pc/grub-install.in: Source
20667 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20668 that the --grub-probe option will work.
20669 * util/sparc64/ieee1275/grub-install.in: Likewise.
20670
20671 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20672
20673 * configure.ac: Bump version to 1.97~beta4.
20674
20675 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20676
20677 Resync grub-mkdevicemap in x86_64-efi.
20678
20679 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20680 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20681 `util/devicemap.c'.
20682
20683 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
20684
20685 * util/grub-editenv.c (create_envblk_file): Write new block with a
20686 .new suffix and then rename it into place, to ensure atomic
20687 creation.
20688
20689 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20690
20691 Do not automatically install headers.
20692
20693 * Makefile.in (include_DATA): Remove. Update all users.
20694
20695 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20696
20697 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20698 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20699
20700 * util/osdetect.lua: Remove.
20701 * script/lua/lauxlib.c: Likewise.
20702 * script/lua/ldebug.c: Likewise.
20703 * script/lua/grub_main.c: Likewise.
20704 * script/lua/lauxlib.h: Likewise.
20705 * script/lua/ldebug.h: Likewise.
20706 * script/lua/ltablib.c: Likewise.
20707 * script/lua/liolib.c: Likewise.
20708 * script/lua/lstrlib.c: Likewise.
20709 * script/lua/lualib.h: Likewise.
20710 * script/lua/ldo.c: Likewise.
20711 * script/lua/ldump.c: Likewise.
20712 * script/lua/ldo.h: Likewise.
20713 * script/lua/loslib.c: Likewise.
20714 * script/lua/lundump.c: Likewise.
20715 * script/lua/grub_lib.c: Likewise.
20716 * script/lua/ldblib.c: Likewise.
20717 * script/lua/lundump.h: Likewise.
20718 * script/lua/lmem.c: Likewise.
20719 * script/lua/grub_lib.h: Likewise.
20720 * script/lua/lmathlib.c: Likewise.
20721 * script/lua/lstate.c: Likewise.
20722 * script/lua/ltm.c: Likewise.
20723 * script/lua/lvm.c: Likewise.
20724 * script/lua/lmem.h: Likewise.
20725 * script/lua/lstate.h: Likewise.
20726 * script/lua/ltm.h: Likewise.
20727 * script/lua/ltable.c: Likewise.
20728 * script/lua/lvm.h: Likewise.
20729 * script/lua/llex.c: Likewise.
20730 * script/lua/lgc.c: Likewise.
20731 * script/lua/grub_lua.h: Likewise.
20732 * script/lua/loadlib.c: Likewise.
20733 * script/lua/lfunc.c: Likewise.
20734 * script/lua/lopcodes.c: Likewise.
20735 * script/lua/lparser.c: Likewise.
20736 * script/lua/ltable.h: Likewise.
20737 * script/lua/llex.h: Likewise.
20738 * script/lua/lgc.h: Likewise.
20739 * script/lua/lfunc.h: Likewise.
20740 * script/lua/lbaselib.c: Likewise.
20741 * script/lua/lopcodes.h: Likewise.
20742 * script/lua/lparser.h: Likewise.
20743 * script/lua/lzio.c: Likewise.
20744 * script/lua/linit.c: Likewise.
20745 * script/lua/lobject.c: Likewise.
20746 * script/lua/llimits.h: Likewise.
20747 * script/lua/lstring.c: Likewise.
20748 * script/lua/lzio.h: Likewise.
20749 * script/lua/lapi.c: Likewise.
20750 * script/lua/lcode.c: Likewise.
20751 * script/lua/lua.h: Likewise.
20752 * script/lua/lobject.h: Likewise.
20753 * script/lua/lstring.h: Likewise.
20754 * script/lua/lapi.h: Likewise.
20755 * script/lua/lcode.h: Likewise.
20756 * script/lua/luaconf.h: Likewise.
20757
20758 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
20759
20760 * docs/grub.texi (Command-line and menu entry commands): Document
20761 date and echo commands.
20762
20763 2009-09-24 Pavel Roskin <proski@gnu.org>
20764
20765 * include/grub/kernel.h (struct grub_module_header): Remove
20766 `grub_module_header_types'. Make `type' unsigned. Make `size'
20767 32-bit on all platforms.
20768 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20769 8-bit field. Use grub_host_to_target32() for `size'.
20770 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20771 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20772 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20773
20774 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20775
20776 Fix "lost keypress" bug in at_keyboard.
20777
20778 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20779 Checks for readyness of input buffer (without flushing it).
20780 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20781 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20782
20783 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20784
20785 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20786 size check within GRUB_MACHINE_PCBIOS section.
20787
20788 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20789
20790 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20791 return value.
20792 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20793 KEYBOARD_ISREADY check.
20794 (grub_at_keyboard_checkkey): Rename to ...
20795 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20796 Remove gratuitous cast.
20797
20798 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
20799
20800 * configure.ac: Call AC_PROG_MKDIR_P.
20801 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20802 version.texi in $(builddir) rather than $(srcdir).
20803 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20804 to makeinfo's @include search path.
20805
20806 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20807
20808 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20809
20810 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20811
20812 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20813 for `*.dpkg-new'.
20814
20815 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
20816
20817 Build info documentation. Some code borrowed from Automake.
20818
20819 * configure.ac: Check for makeinfo.
20820 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20821 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20822 docs/version.texi.
20823 (MOSTLYCLEANFILES): Add vti.tmp.
20824 (docs/version.texi, docs/stamp-vti): Update automatically.
20825 (docs/grub.info): Build info documentation. Use --force and ignore
20826 errors for now.
20827 (all-local): Add $(INFOS).
20828 (install-local): Install info files.
20829 (uninstall): Uninstall info files.
20830 * docs/version.texi: Remove from revision control. This file is
20831 automatically generated on build now.
20832 * gendistlist.sh: Add `*.info'.
20833
20834 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20835
20836 * kern/term.c: Fix indentation.
20837
20838 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20839
20840 * util/hostdisk.c: Fix a comment.
20841
20842 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20843
20844 Fix regression introduced in r2539.
20845
20846 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20847 to 0xA1.
20848
20849 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
20850
20851 * util/grub.d/30_os-prober.in: Don't throw away stderr from
20852 os-prober. Under normal operation, it does not print anything to
20853 stderr; if it does, we need to debug it, and throwing away stderr
20854 makes that excessively difficult.
20855
20856 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20857
20858 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20859
20860 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20861
20862 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20863 AC_LANG_PROGRAM from autoconf.
20864 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20865 prototypes (fixes warning).
20866
20867 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20868 `--disable-werror' was used.
20869
20870 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20871
20872 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20873 uninitialized `lastaddr'.
20874
20875 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
20878
20879 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20880
20881 * commands/test.c (get_fileinfo): Return immediately if
20882 grub_fs_probe fails.
20883
20884 2009-09-14 José Martínez <xosemp@gmail.com>
20885
20886 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20887
20888 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20889
20890 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20891 output.
20892
20893 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20894
20895 * configure.ac: Remove --enable-grub-pe2elf. Only build
20896 grub-pe2elf when needed by the build system itself.
20897 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20898
20899 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20900
20901 * configure.ac: Bump version to 1.97~beta3.
20902 * docs/version.texi: Likewise.
20903
20904 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20905
20906 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20907 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20908 from here ...
20909 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20910 (grub_linux_setup_video): ... to here (with some adjustments).
20911
20912 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20913
20914 Fix memory corruption issue (spotted by Colin Watson).
20915
20916 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20917 causing returned size to be stored in an incorrect memory location.
20918 Fix use of uninitialized value when storing the returned size.
20919
20920 2009-09-12 Yves Blusseau <blusseau@zetam.org>
20921
20922 Change clean rules to properly remove files
20923
20924 * genmk.rb: add new clean rules
20925 * Makefile.in (clean): add the new targets
20926 (mostlyclean): likewise
20927
20928 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20929
20930 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20931 to grub_uint64_t.
20932 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20933 non-resident files.
20934
20935 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20936
20937 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20938 part of bug #27349.
20939
20940 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20941
20942 * util/grub-mkconfig.in: Make the created config mode 400 and
20943 print a warning if it fails.
20944
20945 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20946
20947 * util/grub.d/40_custom.in: Ask user to type custom entries below
20948 comment, rather than below 'exec tail' line.
20949
20950 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20951
20952 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20953 visible in grub.cfg.
20954
20955 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20956
20957 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20958 file.
20959
20960 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20961
20962 * docs/grub.cfg: Add an example menu entry for memtest86+.
20963
20964 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
20965
20966 * config.guess: Update to latest version from config git.
20967 * config.sub: Likewise.
20968
20969 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
20970
20971 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20972 unknown-command case. Fixes bug #27320.
20973
20974 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
20975
20976 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20977 `help' if the command exists.
20978
20979 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20980
20981 * INSTALL: Require GCC 4.1.3 or later.
20982
20983 2009-09-06 Yves Blusseau <blusseau@zetam.org>
20984
20985 * Makefile.in (RMKFILES): add i386-qemu.rmk
20986 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20987 $(srcdir)/stamp-h.in
20988
20989 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20990
20991 * util/grub-probe.c (probe): Comment out buggy codepath, which
20992 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20993 should be re-enabled after 1.97.
20994
20995 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
20996
20997 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20998 find searches for.
20999
21000 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21001
21002 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21003 unnecessary calls to grub_error.
21004
21005 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
21006
21007 * NEWS: Mention `keystatus' and Unicode fonts.
21008
21009 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21010
21011 * configure.ac: Bump version to 1.97~beta2.
21012 * docs/version.texi: Likewise.
21013
21014 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
21015
21016 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21017 containing unwind information in some cases where it previously did
21018 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21019 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21020 discussion.
21021
21022 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21023
21024 Embedding loadenv module into grub-emu
21025
21026 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21027 commands/loadenv.c
21028 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21029 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21030 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21033 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21034
21035 2009-09-03 Magnus Granberg <zorry@ume.nu>
21036
21037 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21038 include -fPIE in the default specs.
21039 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21040 to TARGET_CFLAGS.
21041
21042 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
21043
21044 * INSTALL: Note that GNU Bison 2.3 or later is required.
21045
21046 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
21047
21048 * kern/i386/pc/startup.S: Fix typo.
21049
21050 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21053 according to GCS.
21054
21055 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21056
21057 * docs/grub.texi (Naming convention): Describe one-based partition
21058 numbering.
21059 (Device syntax): Likewise.
21060 (File name syntax): Likewise.
21061 (Block list syntax): Likewise.
21062 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21063 menu.lst.
21064 (File name syntax): Likewise.
21065 (Command-line and menu entry commands): Document acpi, blocklist,
21066 crc, export, insmod, keystatus, ls, set, and unset commands.
21067
21068 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21069
21070 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21071 to avoid implying that only one of --shift, --ctrl, or --alt may be
21072 used.
21073
21074 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21075
21076 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21077 rather than comparing against S_IFREG, which will almost never work.
21078
21079 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21080
21081 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21082 (write_blocklists): Likewise.
21083
21084 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
21085
21086 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21087 argument to grub_printf.
21088
21089 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
21090
21091 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
21092 non GNU test.
21093
21094 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21095
21096 * kern/file.c (grub_file_read): Spelling fix
21097
21098 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21099
21100 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21101 loading of headers in some cases.
21102
21103 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21104
21105 * configure.ac: Bump version to 1.97~beta1.
21106 * docs/version.texi: Likewise.
21107
21108 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * include/grub/i386/xnu.h: Add license header.
21111 include grub/err.h explicitly.
21112
21113 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21114
21115 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21116 to `ufs' in the vfs.root.mountfrom kernel parameter.
21117
21118 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21119
21120 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21121
21122 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21123 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21124
21125 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21126 `ARRAY_SIZE' macro.
21127
21128 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21129
21130 * kern/file.c (grub_file_read): Check offset.
21131 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21132 * fs/jfs.c (grub_jfs_read_file): Likewise.
21133 * fs/ntfs.c (grub_ntfs_read): Likewise.
21134 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21135 * fs/minix.c (grub_minix_read_file): Correct offset check.
21136 * fs/ufs.c (grub_ufs_read_file): Likewise.
21137
21138 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21139
21140 * term/i386/pc/console.c (bios_data_area): Cast
21141 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21142
21143 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 1-bit optimised blitters.
21146
21147 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21148 prototype.
21149 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21150 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21151 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21152 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21153 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21154 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21155 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21156 function.
21157 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21158 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21159 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21160 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21161 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21162 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21163 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21164 when possible.
21165 * video/video.c (grub_video_get_blit_format): Return
21166 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21167
21168 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21169
21170 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21171 the first argument to grub_printf.
21172
21173 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21174 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21175
21176 Add `getkeystatus' terminal method. Add a new `keystatus' command
21177 to query it.
21178
21179 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21180 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21181 modifier key bitmasks.
21182 (struct grub_term_input): Add `getkeystatus' member.
21183 (grub_getkeystatus): Add prototype.
21184 * kern/term.c (grub_getkeystatus): New function.
21185
21186 * include/grub/i386/pc/memory.h
21187 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21188 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21189 Data Area layout.
21190 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21191 (grub_console_term_input): Set `getkeystatus' member.
21192 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21193 constants.
21194 (grub_usb_keyboard_getreport): Likewise.
21195 (grub_usb_keyboard_checkkey): Likewise.
21196 (grub_usb_keyboard_getkeystatus): New function.
21197 (grub_usb_keyboard_term): Set `getkeystatus' member.
21198
21199 * commands/keystatus.c: New file.
21200 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21201 (keystatus_mod_SOURCES): New variable.
21202 (keystatus_mod_CFLAGS): Likewise.
21203 (keystatus_mod_LDFLAGS): Likewise.
21204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21205 commands/keystatus.c.
21206 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21207 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21208 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21210 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21211 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21212
21213 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 Split befs.mod and afs.mod into *_be.mod and *.mod
21216
21217 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21218 (grub_fstest_SOURCES): Likewise.
21219 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21220 (afs_be_mod_SOURCES): New variable.
21221 (afs_be_mod_CFLAGS): Likewise.
21222 (afs_be_mod_LDFLAGS): Likewise.
21223 (befs_be_mod_SOURCES): Likewise.
21224 (befs_be_mod_CFLAGS): Likewise.
21225 (befs_be_mod_LDFLAGS): Likewise.
21226 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21227 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21228 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21229 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21230 (grub_emu_SOURCES): Likewise.
21231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21232 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21233 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21234 * fs/afs_be.c: New file.
21235 * fs/befs_be.c: New file.
21236 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21237 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21238 (U16): Replaced with ...
21239 (grub_afs_to_cpu16): ...this. All users updated.
21240 (U32): Replaced with ...
21241 (grub_afs_to_cpu32): ...this. All users updated.
21242 (U64): Replaced with ...
21243 (grub_afs_to_cpu64): ...this. All users updated.
21244 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21245 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
21246 (grub_afs_validate_sblock): Check only one endianness.
21247 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21248 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21249 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21250 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21251 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21252 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21253 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21254 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21255
21256 2009-08-26 Bean <bean123ch@gmail.com>
21257
21258 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21259 64-bit number.
21260 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21261 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21262 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21263
21264 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21265
21266 NetBSD memory map support.
21267
21268 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21269 (grub_netbsd_btinfo_mmap_header): New structure.
21270 (grub_netbsd_btinfo_mmap_entry): Likewise.
21271 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21272
21273 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21274
21275 Enable bsd.mod on coreboot.
21276
21277 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21278 (bsd_mod_SOURCES): New variable.
21279 (bsd_mod_CFLAGS): Likewise.
21280 (bsd_mod_LDFLAGS): Likewise.
21281 (bsd_mod_ASFLAGS): Likewise.
21282 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21283 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21284
21285 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 Cleanup NetBSD root support.
21288
21289 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21290 grub_bsd_get_device.
21291 Fix typo.
21292
21293 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
21294
21295 * util/grub.d/00_header.in: Move check for the video backend of
21296 gfxterm from here ...
21297 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21298 a suitable video backend.
21299
21300 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21301
21302 Fix breakage in grub-setup.
21303
21304 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21305 "msdos_partition_map".
21306
21307 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21308
21309 Fix breakage in normal/auth.c.
21310
21311 * normal/auth.c (grub_iswordseparator): New function.
21312
21313 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21314
21315 Authentication support.
21316
21317 * commands/password.c: New file.
21318 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21319 (password_mod_SOURCES): New variable.
21320 (password_mod_CFLAGS): Likewise.
21321 (password_mod_LDFLAGS): Likewise.
21322 (normal_mod_SOURCES): Add normal/auth.c.
21323 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21324 normal/auth.c.
21325 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21326 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21327 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21329 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21330 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21331 * include/grub/auth.h: New file.
21332 * include/grub/err.h (grub_err_t): New enum value
21333 GRUB_ERR_ACCESS_DENIED.
21334 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21335 'users'.
21336 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21337 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21338 users updated.
21339 * normal/auth.c: New file.
21340 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21341 (grub_cmdline_run): Don't allow to go to command line without
21342 authentication.
21343 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21344 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21345 menuentry without superuser rights.
21346 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21347 user isn't a superuser.
21348
21349 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21350
21351 Save space by inlining misc.c functions.
21352
21353 * kern/misc.c (grub_iswordseparator): Made static.
21354 * kern/misc.c (grub_strcat): Moved from here ...
21355 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21356 * kern/misc.c (grub_strncat): Moved from here ...
21357 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21358 * kern/misc.c (grub_strcasecmp): Moved from here ...
21359 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21360 * kern/misc.c (grub_strncasecmp): Moved from here ...
21361 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21362 * kern/misc.c (grub_isalpha): Moved from here ...
21363 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21364 * kern/misc.c (grub_isdigit): Moved from here ...
21365 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21366 * kern/misc.c (grub_isgraph): Moved from here ...
21367 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21368 * kern/misc.c (grub_tolower): Moved from here ...
21369 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21370
21371 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * script/sh/function.c (grub_script_function_find): Cut error message
21374 not to flood terminal.
21375 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21376 limit.
21377 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21378
21379 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
21380
21381 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21382 `report' grub_uint8_t *.
21383 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21384 Use a 50-millisecond timeout rather than just repeating
21385 grub_usb_keyboard_getreport 50 times.
21386 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21387
21388 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21389
21390 Rename *_partition_map to part_*
21391
21392 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21393 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21394 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21395 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21396 All users updated.
21397 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21398 All users updated.
21399 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21400 * util/grub-probe.c (probe_partmap): Don't transform partition name
21401 to get module name.
21402
21403 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 Fix OpenBSD and NetBSD support.
21406
21407 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21408 memory address conflict.
21409 (OPENBSD_MMAP_ACPI): New definition.
21410 (OPENBSD_MMAP_NVS): Likewise.
21411 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21412 and OPENBSD_MMAP_NVS.
21413 Add memory map terminator
21414 Explicit cast when calling grub_unix_real_boot.
21415 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
21416
21417 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 Let user specify NetBSD root device.
21420
21421 * loader/i386/bsd.c (netbsd_root): New variable.
21422 (netbsd_opts): New option 'root'.
21423 (NETBSD_ROOT_ARG): New macro.
21424 (grub_netbsd_boot): Use 'netbsd_root'.
21425 (grub_bsd_unload): Free 'netbsd_root'.
21426 (grub_cmd_netbsd): Fill 'netbsd_root'.
21427
21428 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 Support for 64-bit NetBSD.
21431
21432 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21433 point when booting non-FreeBSD.
21434
21435 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21436
21437 Support --no-smp and --no-acpi for NetBSD.
21438
21439 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21440 (NETBSD_AB_NOACPI): Likewise.
21441 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21442 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21443
21444 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21445
21446 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21447 errors.
21448 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21449 errors. Call grub_error when needed.
21450
21451 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 * commands/search.c (search_fs): Try searching without autoload first.
21454 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21455 filesystem module explicitly for faster booting.
21456
21457 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21458
21459 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21460
21461 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21462
21463 * util/grub.d/30_os-prober.in: Disable os-prober if
21464 `GRUB_DISABLE_OS_PROBER' was set to true.
21465
21466 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21467
21468 * partmap/pc.c: Rename to ...
21469 * partmap/msdos.c: ... this. Update all users.
21470 (grub_pc_partition_map): Rename to ...
21471 (grub_msdos_partition_map): ... this. Update all users.
21472
21473 * parttool/pcpart.c: Rename to ...
21474 * parttool/msdospart.c: ... this. Update all users.
21475
21476 * include/grub/pc_partition.h: Rename to ...
21477 * include/grub/msdos_partition.h: ... this. Update all users.
21478 (grub_pc_partition_bsd_entry): Rename to ...
21479 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21480 (grub_pc_partition_disk_label): Rename to ...
21481 (grub_msdos_partition_disk_label): ... this. Update all users.
21482 (grub_pc_partition_entry): Rename to ...
21483 (grub_msdos_partition_entry): ... this. Update all users.
21484 (grub_pc_partition_mbr): Rename to ...
21485 (grub_msdos_partition_mbr): ... this. Update all users.
21486 (grub_pc_partition): Rename to ...
21487 (grub_msdos_partition): ... this. Update all users.
21488 (grub_pc_partition_is_empty): Rename to ...
21489 (grub_msdos_partition_is_empty): ... this. Update all users.
21490 (grub_pc_partition_is_extended): Rename to ...
21491 (grub_msdos_partition_is_extended): ... this. Update all users.
21492 (grub_pc_partition_is_bsd): Rename to ...
21493 (grub_msdos_partition_is_bsd): ... this. Update all users.
21494
21495 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21496 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21497 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21498 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21499 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21500 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21501 (gpt_mod_LDFLAGS): Rename to ...
21502 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21503 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21504 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21505 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21506 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21507 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21508 (part_gpt_mod_LDFLAGS): ... this.
21509 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21510 `pcpart.mod' to `msdospart.mod'.
21511 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21512 to ...
21513 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21514 (msdospart_mod_LDFLAGS): ... this.
21515
21516 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21519 (openbsd_opts): Likewise.
21520 (netbsd_opts): Likewise.
21521 (freebsd_flags): Added 0 terminator.
21522 (openbsd_flags): Likewise.
21523 (netbsd_flags): Likewise.
21524 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21525 (grub_cmd_freebsd): Transformed into extended command.
21526 (grub_cmd_openbsd): Likewise.
21527 (grub_cmd_netbsd): Likewise.
21528 (cmd_freebsd): Changed type to grub_extcmd_t.
21529 (cmd_openbsd): Likewise.
21530 (cmd_netbsd): Likewise.
21531 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21532 grub_cmd_openbsd as extended commands.
21533 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21534 cmd_netbsd and cmd_openbsd
21535
21536 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21537
21538 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21539
21540 2009-08-21 Pavel Roskin <proski@gnu.org>
21541
21542 * Makefile.in (install-local): When checking if a file is in the
21543 build directory, use "test -e" to detect symlinks.
21544
21545 * Makefile.in (install-local): Remove all files in
21546 $(DESTDIR)$(pkglibdir) before installing new files there.
21547
21548 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21549
21550 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21551 grub-mkelfimage.
21552
21553 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21554
21555 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21556 explicitly specified by the user.
21557
21558 2009-08-18 Pavel Roskin <proski@gnu.org>
21559
21560 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21561 grub_uint8_t pointer for data.
21562 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21563 Likewise.
21564 * video/fb/fbutil.c: Remove unnecessary casts.
21565
21566 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21567
21568 VBE cleanup.
21569
21570 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21571 (grub_vbe_set_video_mode): Save active mode info
21572 only after setting the mode.
21573 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21574 second argument.
21575
21576 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21577
21578 Rename variables for clarity.
21579
21580 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21581 (active_vbe_mode_info): ... this. All users updated.
21582 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21583 All users updated.
21584 (initial_mode): Rename to ...
21585 (initial_vbe_mode): ... this. All users updated.
21586 (mode_in_use): Rename to ..
21587 (vbe_mode_in_use): ... this. All users updated.
21588 (mode_list): Rename to ..
21589 (vbe_mode_list): ... this. All users updated.
21590 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21591 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21592 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21593 'mode_list_size' to 'vbe_mode_list_size'.
21594 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21595 'best_mode_info' to 'best_vbe_mode_info' and
21596 'best_mode' to 'best_vbe_mode'
21597
21598 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21599
21600 Remove duplicate grub_video_fb_get_video_ptr.
21601
21602 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21603 (grub_video_fb_get_video_ptr): ... this.
21604 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21605 * video/fb/fbutil.c: Add comment about addressing.
21606 (get_data_ptr): Rename to ...
21607 (grub_video_fb_get_video_ptr): ... this. All users updated.
21608 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21609
21610 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21611
21612 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21613 grub_dprintf() that was just added.
21614
21615 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21616
21617 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21618 (DEFAULT_VIDEO_MODE): Remove macros.
21619 (grub_linux_boot): Remove assumption that Linux has FB support,
21620 and use "text" as default video mode.
21621
21622 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21623
21624 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21625 grub_dprintf.
21626 * fs/fat.c (grub_fat_read_data): Likewise.
21627
21628 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21629
21630 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21631 payload.
21632 (grub_module): Likewise.
21633
21634 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21635
21636 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21637 mbi->cmdline but free playground.
21638
21639 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21640
21641 Handle group offset on UFS1.
21642
21643 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21644 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21645
21646 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 Split ufs.mod into ufs1.mod and ufs2.mod.
21649
21650 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21651 (grub_fstest_SOURCES): Likewise.
21652 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21653 (ufs_mod_SOURCES): Remove.
21654 (ufs_mod_CFLAGS): Likewise.
21655 (ufs_mod_LDFLAGS): Likewise.
21656 (ufs1_mod_SOURCES): New variable.
21657 (ufs1_mod_CFLAGS): Likewise.
21658 (ufs1_mod_LDFLAGS): Likewise.
21659 (ufs2_mod_SOURCES): New variable.
21660 (ufs2_mod_CFLAGS): Likewise.
21661 (ufs2_mod_LDFLAGS): Likewise.
21662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21663 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21664 Likewise.
21665 (grub_emu_SOURCES): Likewise.
21666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21667 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21668 (grub_setup_SOURCES): Likewise.
21669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21670 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21671 (grub_setup_SOURCES): Likewise.
21672 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21673 Likewise.
21674 * fs/ufs2.c: New file.
21675 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21676
21677 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21678
21679 Framebuffer split.
21680
21681 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21682 subsystem at the end.
21683 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21684 (video_fb_mod_SOURCES): New variable.
21685 (video_fb_mod_CFLAGS): Likewise.
21686 (video_fb_mod_LDFLAGS): Likewise.
21687 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21688 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21689 * video/i386/pc/vbeblit.c: Moved from here ...
21690 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21691 * video/i386/pc/vbefill.c: Moved from here ...
21692 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21693 * video/i386/pc/vbeutil.c: Moved from here ...
21694 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21695 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21696 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21697 * include/grub/i386/pc/vbefill.h: Moved from here ...
21698 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21699 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21700 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21701 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21702 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21703 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21704 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21705 (grub_video_adapter): Added 'get_info_and_fini'.
21706 (grub_video_get_info_and_fini): New prototype.
21707 (grub_video_set_mode): make modestring const char *.
21708 * loader/i386/linux.c (grub_linux_setup_video): Use
21709 grub_video_get_info_and_fini.
21710 (grub_linux_boot): Move modesetting just before booting.
21711 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21712 grub_video_get_info_and_fini.
21713 * video/i386/pc/vbe.c: Moved framebuffer part ...
21714 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21715 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21716 grub_video_fbstd_colors and grub_video_fb_set_palette.
21717 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21718 grub_video_fb_init.
21719 (grub_video_vbe_fini): Use grub_video_fb_fini.
21720 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21721 render_target and use grub_video_fb_set_active_render_target and
21722 grub_video_fb_set_palette.
21723 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21724 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21725 (grub_video_vbe_adapter): Use framebuffer.
21726 * video/video.c (grub_video_get_info_and_fini): New function.
21727 (grub_video_set_mode): Make modestring const char *.
21728 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21729 values are already initialised.
21730
21731 2009-08-14 Pavel Roskin <proski@gnu.org>
21732
21733 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21734 ABS and APPLE_CC.
21735 * boot/i386/pc/diskboot.S: Likewise.
21736 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21737 sectors allow compilation on MacOSX.
21738 * conf/i386-pc.rmk: Enable unconditional compilation of
21739 lnxboot.img.
21740
21741 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
21742
21743 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21744 * util/grub.d/00_header.in: Enter interruptible sleep if
21745 GRUB_HIDDEN_TIMEOUT is set.
21746
21747 2009-08-13 Yves Blusseau <blusseau@zetam.org>
21748
21749 * include/grub/symbol.h: Add the LOCAL macro.
21750 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21751 starting with "L_".
21752
21753 2009-08-13 Pavel Roskin <proski@gnu.org>
21754
21755 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21756 any modern compilers we support.
21757
21758 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21759 Use local labels starting with "L_" so that Apple assembler
21760 knows they are local.
21761
21762 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21763
21764 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21765 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21766 (bsd_kernel_types): ... this enum.
21767
21768 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21769 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21770 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21771
21772 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21773 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21774 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21775 messages.
21776
21777 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21778
21779 * util/grub-dumpdevtree: Moved from here ...
21780 * util/i386/efi/grub-dumpdevtree: ... to here.
21781 (hexify): New function. Converts a string to its hex version.
21782 Generate hex versions of "efi" and "device-properties" by calling
21783 hexify() on the ASCII strings rather than by hardcoding numbers.
21784
21785 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21786
21787 * fs/jfs.c: Update copyright year.
21788
21789 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21790
21791 * util/grub.d/00_header.in: Fix a comment.
21792 * util/grub.d/10_linux.in: Likewise.
21793 * util/grub.d/10_windows.in: Likewise.
21794 * util/grub.d/10_hurd.in: Likewise.
21795
21796 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21797
21798 * util/grub-mkconfig.in: Allow the user to specify the used font
21799 with GRUB_FONT.
21800
21801 2009-08-08 Pavel Roskin <proski@gnu.org>
21802
21803 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21804 available, xfs.mod needs it now.
21805
21806 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21807 the "g" modifier in sed when the intention is to strip something
21808 once. This fixes comparison of kernels with multiple dashes.
21809
21810 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21811 on it. Add missing space before closing bracket. Fix
21812 misleading formatting.
21813
21814 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21815
21816 * docs/grub.texi: Major overhaul. Remove all sections that are
21817 specific to GRUB Legacy, or mostly composed of Legacy-specific
21818 information.
21819
21820 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21821
21822 * docs/version.texi: New file. Provides version information for
21823 grub.texi.
21824
21825 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21826
21827 * docs/grub.texi: Update CVS information to SVN.
21828 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21829
21830 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21831
21832 * util/grub-mkconfig.in: Remove a wrong `fi'.
21833
21834 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21835
21836 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21837 (grub_jfs_uuid): New function.
21838 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21839
21840 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21841
21842 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21843 of it to ...
21844 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21845 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21846
21847 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21848
21849 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21850 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21851 Update all users.
21852
21853 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21854 not just "vmlinu[zx]".
21855 Moved from here ...
21856 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21857 all users.
21858
21859 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21860 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21861 all users.
21862
21863 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21864
21865 * util/grub.d/10_freebsd.in: Use an absolute device path for
21866 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21867
21868 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
21869
21870 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21871 handling of multiple abstraction modules.
21872
21873 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21874
21875 Fix a bug resulting in black screen when loading Linux using a
21876 packed video mode.
21877
21878 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21879 function.
21880
21881 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21882 (grub_vbe_bios_getset_dac_palette_width): New function.
21883 (grub_vbe_bios_get_dac_palette_width)
21884 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21885 grub_vbe_bios_getset_dac_palette_width()).
21886
21887 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21888 check for return status.
21889 (grub_vbe_get_video_mode_info): When getting information for a packed
21890 mode (<= 8 bpp), obtain DAC palette width using
21891 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21892 {red,green,blue}_mark_size.
21893
21894 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
21895
21896 * commands/search.c (options): Fix help output to match actual code.
21897
21898 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21899
21900 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21901 of homegrown code.
21902
21903 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21906 on XFS or ReiserFS.
21907
21908 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 Support Apple partition map with sector size different from 512 bytes.
21911
21912 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21913 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21914 and 'apart.partmap_size'.
21915
21916 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21917 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21918
21919 Fix cpuid command.
21920
21921 * commands/i386/cpuid.c (options): New variable.
21922 (grub_cmd_cpuid): Return real error.
21923 (GRUB_MOD_INIT(cpuid)): Declare options.
21924
21925 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21928 valid.
21929
21930 2009-07-31 Bean <bean123ch@gmail.com>
21931
21932 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21933 log2_inode.
21934 (grub_fshelp_node): Move inode field to the end.
21935 (grub_xfs_data): Remove inode field.
21936 (grub_xfs_inode_block): Calculate inode size using sblock.
21937 (grub_xfs_inode_offset): Likewise.
21938 (grub_xfs_read_inode): Calculate inode size using sblock.
21939 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21940 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21941 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21942 to match inode size.
21943 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21944 not accessible when data is null.
21945 (grub_xfs_open): Likewise.
21946
21947 2009-07-31 Bean <bean123ch@gmail.com>
21948
21949 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21950 Don't change pv->disk if it's already set.
21951
21952 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21953 (grub_raid_register): ... here.
21954 (grub_raid_rescan): Removed.
21955
21956 * include/grub/raid.h (grub_raid_rescan): Removed.
21957
21958 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21959 (fstest): Replace grub_raid_rescan with module fini function followed
21960 by init function.
21961
21962 * util/grub-probe.c: Add include file <grub/raid.h>.
21963 (probe_raid_level): New function.
21964 (probe): Detect abstraction by walking the disk device, support two
21965 level of abstraction (LVM on RAID) when detecting partition map.
21966
21967 2009-07-31 Pavel Roskin <proski@gnu.org>
21968
21969 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21970 to grub_zalloc(), it was erroneous.
21971 Reported by Bean <bean123ch@gmail.com>
21972
21973 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21974
21975 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
21976 embedding zone, not only the first one.
21977
21978 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
21979
21980 * term/gfxterm.c (clear_char): New function.
21981 (grub_virtual_screen_setup): Use clear_char.
21982 (scroll_up): Likewise.
21983 (grub_virtual_screen_cls): Likewise.
21984
21985 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
21986
21987 * util/deviceiter.c (get_acceleraid_disk_name): New static
21988 function.
21989 (grub_util_iterate_devices): Handle Accelraid devices.
21990 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21991
21992 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21993
21994 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21995 separator for the suggested gfxpayload string (';' collides with the
21996 parser and needs escaping).
21997
21998 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21999
22000 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22001 Clear direction flag before jumping to OS.
22002 (grub_multiboot2_real_boot): Likewise.
22003
22004 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
22005
22006 * util/i386/pc/grub-install: Fix parsing of --disk-module
22007 option.
22008
22009 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
22010
22011 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22012 when embedding.
22013
22014 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
22015
22016 * util/grub-mkconfig.in (package_version): New variable.
22017 Use it do display the version.
22018
22019 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
22020
22021 * kern/file.c (grub_file_open): Revert to previous check with
22022 grub_errno.
22023
22024 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22027 from help line. It's out of sync with code.
22028
22029 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22030
22031 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22032 entries on failed boot.
22033
22034 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
22035
22036 * kern/file.c (grub_file_open): Fix an error check.
22037
22038 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22039
22040 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22041 partition map couldn't be identified.
22042
22043 2009-07-23 Pavel Roskin <proski@gnu.org>
22044
22045 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22046 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22047 case of little endian words becomes just an optimization.
22048 Respect const modifier.
22049 (md5_final): Use code that doesn't depend on endianness.
22050
22051 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22052 to avoid loss of upper bits if align is unsigned and shorter
22053 than addr.
22054
22055 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22056
22057 UUID support for UFS
22058
22059 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22060 (grub_ufs_uuid): New function.
22061 (grub_ufs_fs): add .uuid
22062
22063 2009-07-21 Pavel Roskin <proski@gnu.org>
22064
22065 * kern/dl.c (grub_dl_check_header): Make static.
22066
22067 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
22068
22069 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22070 add drivemap for Vista. It breaks Windows 7.
22071
22072 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22073
22074 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22075 128 bytes
22076
22077 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 Add BFS support
22080
22081 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22082 (grub_fstest_SOURCES): Likewise.
22083 (pkglib_MODULES): Add befs.mod.
22084 (befs_mod_SOURCES): New variable.
22085 (befs_mod_CFLAGS): Likewise.
22086 (befs_mod_LDFLAGS): Likewise.
22087 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22088 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22089 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22090 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22091 (grub_setup_SOURCES): Likewise.
22092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22093 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22094 (grub_setup_SOURCES): Likewise.
22095 * fs/befs.c: New file.
22096 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22097 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22098 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22099 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22100 (B_KEY_INDEX_ALIGN): New declaration.
22101 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22102 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22103 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22104 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22105 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22106 (grub_afs_mount) [MODE_BFS]: Likewise.
22107 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22108 (grub_afs_fs): Use GRUB_AFS_FSNAME
22109 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22110 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22111 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22112 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22113
22114 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22115
22116 * util/getroot.c (find_root_device): Add support for MacOSX.
22117 * util/hostdisk.c: Likewise.
22118
22119 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * font/font.c (find_glyph): Check whether a font is present to avoid
22122 segmentation fault.
22123
22124 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
22125
22126 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22127
22128 2009-07-20 Pavel Roskin <proski@gnu.org>
22129
22130 * configure.ac: Trim excessively wordy excuses.
22131
22132 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22133
22134 Add symlink, mtime and label support to AtheFS.
22135
22136 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22137 (grub_afs_iterate_dir): Handle symlinks.
22138 (grub_afs_open): Use grub_afs_read_symlink.
22139 (grub_afs_dir): Likewise.
22140 Pass mtime.
22141 (grub_afs_label): New function.
22142 (grub_afs_fs): Add grub_afs_label.
22143 (grub_afs_read_symlink): New function.
22144
22145 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 Fix AtheFS support.
22148
22149 * fs/afs.c: Fix comments style.
22150 (grub_afs_blockrun): Declare as packed.
22151 (grub_afs_datastream): Likewise.
22152 (grub_afs_bnode): Likewise.
22153 (grub_afs_btree): Likewise.
22154 (grub_afs_sblock): Likewise.
22155 Declare `name' as char.
22156 (grub_afs_inode): Declare as packed.
22157 Change void *vnode to grub_uint32_t unused.
22158 (grub_afs_iterate_dir): Check that key_size is positive.
22159 (grub_afs_mount): Don't read superblock twice.
22160 (grub_afs_dir): Don't free node in case of error,
22161 grub_fshelp_find_file already handles this.
22162 (grub_afs_open): Likewise.
22163
22164 2009-07-19 Pavel Roskin <proski@gnu.org>
22165
22166 * Makefile.in: Remove LIBLZO and enable_lzo.
22167 * conf/i386-pc.rmk: Remove lzo support.
22168 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22169 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22170 support.
22171 * kern/i386/pc/lzo1x.S: Remove.
22172 * kern/i386/pc/startup.S: Remove lzo support.
22173 * util/i386/pc/grub-mkimage.c: Likewise.
22174
22175 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22176
22177 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22178 * fs/xfs.c (grub_xfs_dir): Likewise.
22179 * fs/afs.c (grub_afs_dir): Likewise.
22180 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22181 (grub_iso9660_open): Likewise.
22182 * fs/jfs.c (grub_jfs_open): Likewise.
22183 * fs/ext2.c (grub_ext2_dir): Likewise.
22184 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22185 * script/sh/lexer.c (grub_script_yylex): Likewise.
22186
22187 2009-07-16 Pavel Roskin <proski@gnu.org>
22188
22189 * configure.ac: Never add "-c" to CFLAGS.
22190
22191 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22192
22193 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22194 grub_cv_cc_efiemu should be used.
22195
22196 * configure.ac: Typo fixes.
22197
22198 * kern/mm.c (grub_zalloc): New function.
22199 (grub_debug_zalloc): Likewise.
22200 * include/grub/mm.h: Declare grub_zalloc() and
22201 grub_debug_zalloc().
22202 * util/misc.c (grub_zalloc): New function.
22203 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22204 instead of grub_malloc(), remove unneeded initializations.
22205 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22206 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22207 * commands/parttool.c (grub_cmd_parttool): Likewise.
22208 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22209 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22210 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22211 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22212 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22213 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22214 (grub_cmd_efiemu_pnvram): Likewise.
22215 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22216 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22217 (grub_iso9660_iterate_dir): Likewise.
22218 * fs/jfs.c (grub_jfs_opendir): Likewise.
22219 * fs/ntfs.c (list_file): Likewise.
22220 (grub_ntfs_mount): Likewise.
22221 * kern/disk.c (grub_disk_open): Likewise.
22222 * kern/dl.c (grub_dl_load_core): Likewise.
22223 * kern/elf.c (grub_elf_file): Likewise.
22224 * kern/env.c (grub_env_context_open): Likewise.
22225 (grub_env_set): Likewise.
22226 (grub_env_set_data_slot): Likewise.
22227 * kern/file.c (grub_file_open): Likewise.
22228 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22229 * loader/i386/multiboot.c (grub_module): Likewise.
22230 * loader/xnu.c (grub_xnu_create_key): Likewise.
22231 (grub_xnu_create_value): Likewise.
22232 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22233 (read_config_file): Likewise.
22234 * normal/menu_entry.c (make_screen): Likewise.
22235 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22236 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22237 * script/sh/script.c (grub_script_parse): Likewise.
22238 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22239 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22240 * video/readers/png.c (grub_png_output_byte): Likewise.
22241 (grub_video_reader_png): Likewise.
22242
22243 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22244
22245 Enable all targets that can be built by default
22246
22247 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
22248 grub-mkfont and grub-fstest if they can be built
22249
22250 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22251
22252 Fix hang and segmentation fault in grub-emu-usb
22253
22254 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22255 * util/usb.c (grub_libusb_devices): likewise
22256 (grub_libusb_init): rename to ...
22257 (GRUB_MOD_INIT (libusb)):...this
22258 (grub_libusb_fini): rename to ..
22259 (GRUB_MOD_FINI (libusb)):...this
22260 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22261 * include/grub/disk.h (grub_raid_init): removed, it's useless
22262 (grub_raid_fini): likewise
22263 (grub_lvm_init): likewise
22264 (grub_lvm_fini): likewise
22265 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22266 by grub_init_all
22267
22268 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22269
22270 Fix libusb
22271
22272 * Makefile.in (LIBUSB): new macro
22273 * genmk.rb (Utility/print_tail): new method
22274 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22275 (top level): call util.print_tail at the end.
22276
22277 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22278
22279 Make FreeBSD accept zpool.cache
22280
22281 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22282 type is /boot/zfs/zpool.cache
22283
22284 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 Fix 64-bit efiemu
22287
22288 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22289 correct wrong typedef
22290 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22291
22292 2009-07-15 Pavel Roskin <proski@gnu.org>
22293
22294 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22295 * kern/disk.c (struct grub_disk_cache): Likewise.
22296
22297 * commands/probe.c (options): Typo fix.
22298
22299 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22300 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22301 accordingly.
22302 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22303
22304 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22305 the end of "Error" to make the message more readable.
22306
22307 * boot/i386/pc/boot.S (kernel_segment): Remove.
22308 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22309 for destination.
22310
22311 * boot/i386/pc/boot.S (boot_version): Remove.
22312 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22313 Remove.
22314
22315 * include/grub/i386/pc/boot.h: Sort all offsets.
22316 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22317 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22318 * boot/i386/pc/boot.S: Assert location of every offset listed in
22319 include/grub/i386/pc/boot.h.
22320
22321 2009-07-13 Pavel Roskin <proski@gnu.org>
22322
22323 * include/grub/i386/coreboot/machine.h: Rename
22324 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22325 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22326 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22327
22328 * kern/dl.c: Force native word size to suppress warnings when
22329 compiling grub-emu.
22330
22331 * kern/device.c (grub_device_iterate): Change struct part_ent to
22332 hold the name, not a pointer to it. Use one grub_malloc() per
22333 partition, not two. Free partition_name if grub_malloc() fails.
22334 Set ents to NULL only before grub_partition_iterate() is called.
22335
22336 2009-07-11 Bean <bean123ch@gmail.com>
22337
22338 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22339 childname.
22340
22341 2009-07-10 Bean <bean123ch@gmail.com>
22342 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22343
22344 * kern/ieee1275/openfw.c (grub_children_iterate)
22345 (grub_devalias_iterate): Fix size evaluation for property or path
22346 strings, which was broken since r2132.
22347
22348 2009-07-07 Pavel Roskin <proski@gnu.org>
22349
22350 * commands/search.c (search_file): Merge into ...
22351 (search_fs): ... this. Accept search type as argument.
22352 (grub_cmd_search): Pass search type to search_fs().
22353
22354 * include/grub/util/console.h: New file.
22355 * util/console.c: Use it instead of grub/machine/console.h.
22356 * util/grub-emu.c: Likewise.
22357
22358 * lib/arg.c (find_long_option): Remove.
22359 (find_long): Add `len' argument, make `s' const char *.
22360 (grub_arg_parse): Parse long options in place, not in a
22361 temporary buffer.
22362
22363 2009-07-06 Pavel Roskin <proski@gnu.org>
22364
22365 * commands/search.c (search_fs): Fix potential NULL pointer
22366 dereference.
22367
22368 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22369 function pointer.
22370
22371 2009-07-06 Daniel Mierswa <impulze@impulze.org>
22372
22373 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22374 comparison.
22375
22376 2009-07-05 Pavel Roskin <proski@gnu.org>
22377
22378 * include/grub/i386/linux.h (struct linux_kernel_params):
22379 Restore padding3, it's still needed.
22380
22381 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22382 FreeBSD.
22383 * util/osdetect.lua: Likewise.
22384
22385 2009-07-05 Bean <bean123ch@gmail.com>
22386
22387 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22388
22389 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22390 (grub_lua_getenv): Likewise.
22391 (grub_lua_setenv): Likewise.
22392 (save_errno): New function.
22393 (push_result): Likewise.
22394 (grub_lua_enum_device): Likewise.
22395 (grub_lua_enum_file): Likewise.
22396 (grub_lua_file_open): Likewise.
22397 (grub_lua_file_close): Likewise.
22398 (grub_lua_file_seek): Likewise.
22399 (grub_lua_file_read): Likewise.
22400 (grub_lua_file_getline): Likewise.
22401 (grub_lua_file_getsize): Likewise.
22402 (grub_lua_file_getpos): Likewise.
22403 (grub_lua_file_eof): Likewise.
22404 (grub_lua_file_exist): Likewise.
22405 (grub_lua_add_menu): Likewise.
22406
22407 * script/lua/grub_lua.h (isupper): New inline function.
22408 (islower): Likewise.
22409 (ispunct): Likewise.
22410 (isxdigit): Likewise.
22411 (strcspn): Change to normal function.
22412 (strpbkr): New function declaration.
22413 (memchr): Likewise.
22414
22415 * script/lua/grub_main.c (scan_str): New function.
22416 (strcspn): Likewise.
22417 (strpbrk): Likewise.
22418 (memchr): Likewise.
22419
22420 * script/lua/linit.c (lualibs): Enable the string library.
22421
22422 * util/osdetect.lua: New file.
22423
22424 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22425
22426 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22427 `capabilities' member.
22428
22429 2009-07-02 Pavel Roskin <proski@gnu.org>
22430
22431 * genparttoollist.sh: Add missing newline at the end.
22432
22433 2009-07-01 Pavel Roskin <proski@gnu.org>
22434
22435 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22436
22437 * util/hostdisk.c (open_device): Remove `const' from
22438 `sysctl_size', as sysctlbyname() can change it (in this case it
22439 doesn't actually happen).
22440
22441 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22442 using signed long int constants.
22443
22444 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22445 constant to avoid a warning on FreeBSD.
22446
22447 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22448 where it's needed.
22449
22450 * Makefile.in: Install include/grub/machine symlink.
22451
22452 * Makefile.in: When installing symlinks, use "cp -fR", which
22453 works on FreeBSD and MacOSX.
22454 From Yves Blusseau <cl7m42e02@sneakemail.com>
22455
22456 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22457 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22458
22459 * util/misc.c: Move grub_reboot() and grub_halt() ...
22460 * util/grub-emu.c: ... here. Make main_env static.
22461 * include/grub/util/misc.h: Remove main_env.
22462
22463 * kern/mm.c: Use correct format to print size_t.
22464
22465 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22466 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22467 * kern/powerpc/dl.c: Likewise.
22468 * kern/sparc64/dl.c: Likewise.
22469 * kern/x86_64/dl.c: Likewise.
22470
22471 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22472
22473 Fix grub-emu build on sparc64-ieee1275.
22474
22475 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
22476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22477
22478 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22479
22480 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22481 (grub_reboot, grub_halt): New functions.
22482
22483 * util/i386/pc/misc.c: Delete. Update all users.
22484 * util/sparc64/ieee1275/misc.c: Likewise.
22485 * util/powerpc/ieee1275/misc.c: Likewise.
22486
22487 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22488
22489 * conf/i386.rmk (setjmp_mod_SOURCES)
22490 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22491 * conf/common.rmk (setjmp_mod_SOURCES)
22492 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22493 to use $(target_cpu).
22494 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22495 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22496 * conf/powerpc-ieee1275.rmk: Likewise.
22497 * conf/sparc64-ieee1275.rmk: Likewise.
22498
22499 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22500 $(target_cpu) for kern/$(target_cpu)/dl.c.
22501 * conf/i386-efi.rmk: Likewise.
22502 * conf/i386-ieee1275.rmk: Likewise.
22503 * conf/x86_64-efi.rmk: Likewise.
22504 * conf/i386-coreboot.rmk: Likewise.
22505 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22506 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22507 kern/$(target_cpu)/cache.S.
22508 * conf/sparc64-ieee1275.rmk: Likewise.
22509
22510 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22511
22512 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22513 type to `grub_uint8_t', and adjust `padding9' accordingly.
22514
22515 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22516
22517 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22518
22519 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22520 assembly in final jump, using register constraints.
22521
22522 (grub_linux_boot): For text mode, initialize `have_vga' using
22523 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22524
22525 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22526 right before the final jump.
22527
22528 Set `video_mode' to 0x3.
22529
22530 Document initialization of `video_page', `video_mode' and
22531 `video_ega_bx'.
22532
22533 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22534
22535 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22536 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22537 and set GRUB_LINUX_FLAG_QUIET appropriately.
22538
22539 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22540
22541 Fix build on Debian / sparc.
22542
22543 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22544
22545 2009-06-28 Pavel Roskin <proski@gnu.org>
22546
22547 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22548 fix a warning.
22549
22550 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22551
22552 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22553
22554 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22555 `err'.
22556
22557 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22558
22559 Revert r2338.
22560
22561 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22562 file can't be opened. grub_file_open() is already supposed to set
22563 grub_errno / grub_errmsg appropriately.
22564 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22565
22566 2009-06-27 Pavel Roskin <proski@gnu.org>
22567 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22568
22569 * include/grub/dl.h: Include grub/elf.h.
22570 (struct grub_dl): Add symtab field.
22571 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22572 GRUB_MODULES_MACHINE_READONLY.
22573 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22574 of the header for read-only modules.
22575 (grub_dl_unload): Free mod->symtab for read-only modules.
22576 * kern/i386/dl.c: Use mod->symtab.
22577 * kern/powerpc/dl.c: Likewise.
22578 * kern/sparc64/dl.c: Likewise.
22579 * kern/x86_64/dl.c: Likewise.
22580
22581 * conf/i386-qemu.rmk: New file.
22582 * kern/i386/qemu/startup.S: Likewise.
22583 * kern/i386/qemu/mmap.c: Likewise.
22584 * boot/i386/qemu/boot.S: Likewise.
22585 * include/grub/i386/qemu/time.h: Likewise.
22586 * include/grub/i386/qemu/serial.h: Likewise.
22587 * include/grub/i386/qemu/kernel.h: Likewise.
22588 * include/grub/i386/qemu/console.h: Likewise.
22589 * include/grub/i386/qemu/boot.h: Likewise.
22590 * include/grub/i386/qemu/init.h: Likewise.
22591 * include/grub/i386/qemu/machine.h: Likewise.
22592 * include/grub/i386/qemu/loader.h: Likewise.
22593 * include/grub/i386/qemu/memory.h: Likewise.
22594
22595 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22596 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22597 [qemu] (pkglib_IMAGES): Add `boot.img'.
22598 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22599 [qemu] (boot_img_FORMAT): New variables.
22600 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22601 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22602 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22603 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22604 [qemu] (kernel_img_FORMAT): New variables.
22605
22606 * configure.ac: Recognise `i386-qemu'.
22607
22608 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22609 (for no compression).
22610 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22611 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22612 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22613 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22614 ifdefs).
22615
22616 2009-06-27 Pavel Roskin <proski@gnu.org>
22617
22618 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22619 read.
22620 * efiemu/prepare32.c: Likewise.
22621 * efiemu/prepare64.c: Likewise.
22622
22623 2009-06-26 Pavel Roskin <proski@gnu.org>
22624
22625 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22626 * include/grub/elf.h: Define symbols without "32" or "64" based
22627 on GRUB_TARGET_WORDSIZE.
22628 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22629 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22630 ELF definitions.
22631 * efiemu/loadcore64.c: Likewise.
22632 * loader/i386/bsd32.c: Likewise.
22633 * loader/i386/bsd64.c: Likewise.
22634 * kern/dl.c: Remove own ELF definitions.
22635 * util/i386/efi/grub-mkimage.c: Likewise.
22636
22637 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22638
22639 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22640 segment 0x0 unconditionally, because the reference generated by
22641 GAS is an absolute address.
22642
22643 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22644
22645 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22646 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22647
22648 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22649
22650 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22651 indexes. Check for -f explicitly.
22652 (search_file): Improve error message.
22653 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22654
22655 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22656
22657 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22658 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22659
22660 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22661
22662 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22663 * conf/i386-ieee1275.rmk: Likewise.
22664 * conf/i386-coreboot.rmk: Likewise.
22665
22666 * kern/i386/pc/startup.S (grub_stop): Remove function.
22667 * kern/i386/ieee1275/startup.S: Likewise.
22668 * kern/i386/coreboot/startup.S: Likewise.
22669 * kern/i386/misc.S (grub_stop): New function.
22670
22671 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22672
22673 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22674 * kern/i386/realmode.S (real_to_prot): ... to here.
22675
22676 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22677
22678 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22679 with `kernel.img'.
22680 (kernel_elf_SOURCES): Rename to ...
22681 (kernel_img_SOURCES): ... this.
22682 (kernel_elf_HEADERS): Rename to ...
22683 (kernel_img_HEADERS): ... this. Update all users.
22684 (kernel_elf_ASFLAGS): Rename to ...
22685 (kernel_img_ASFLAGS): ... this.
22686 (kernel_elf_CFLAGS): Rename to ...
22687 (kernel_img_CFLAGS): ... this.
22688 (kernel_elf_LDFLAGS): Rename to ...
22689 (kernel_img_LDFLAGS): ... this.
22690 * conf/i386-coreboot.rmk: Likewise.
22691 * conf/powerpc-ieee1275.rmk: Likewise.
22692
22693 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22694 with "kernel.img".
22695
22696 2009-06-21 Pavel Roskin <proski@gnu.org>
22697
22698 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22699 to match nested functions.
22700 * loader/sparc64/ieee1275/linux.c: Likewise.
22701
22702 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22703
22704 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22705
22706 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22707 all i386 platforms.
22708
22709 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22710
22711 Fix asm file handling on ELF, and remove workarounds.
22712
22713 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
22714 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
22715 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22716 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22717
22718 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 Load BSD ELF modules
22721
22722 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22723 and loader/i386/bsd64.c
22724 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22725 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22726 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22727 (grub_freebsd_load_elfmodule32): New declaration
22728 (grub_freebsd_load_elfmoduleobj64): Likewise
22729 (grub_freebsd_load_elf_meta32): Likewise
22730 (grub_freebsd_load_elf_meta64): Likewise
22731 (grub_freebsd_add_meta): Likewise
22732 (grub_freebsd_add_meta_module): Likewise
22733 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22734 (grub_freebsd_add_meta_module): Likewise and move module-specific
22735 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22736 (grub_cmd_freebsd): Add elf-kernel specific parts
22737 based on grub_freebsd_add_meta_module
22738 (grub_cmd_freebsd_module): Add type parsing moved from
22739 grub_freebsd_add_meta_module
22740 (grub_cmd_freebsd_module_elf): New function
22741 (cmd_freebsd_module_elf): New variable
22742 (GRUB_MOD_INIT): Register freebsd_module_elf
22743 * loader/i386/bsd32.c: New file
22744 * loader/i386/bsd64.c: Likewise
22745 * loader/i386/bsdXX.c: Likewise
22746 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22747 (grub_elf64_load): Likewise
22748 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22749 All users updated
22750 (grub_elf64_load_hook_t): Likewise
22751
22752 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
22753
22754 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22755 variable.
22756 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22757 don't write a menu entry for recovery mode.
22758
22759 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22760
22761 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22762 after it's no longer needed.
22763
22764 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22765
22766 * include/grub/i386/loader.h (grub_linux_prot_size)
22767 (grub_linux_tmp_addr, grub_linux_real_addr)
22768 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22769 GRUB_MACHINE_PCBIOS.
22770 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22771 common grub_util_info() call to ...
22772 (generate_image): ... here.
22773 Fix use of uninitialized memory, comparison of signed with
22774 unsigned integers and memory leak.
22775 Remove bogus module address message.
22776
22777 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22778
22779 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22780 grub_raid_register
22781 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22782
22783 2009-06-19 Pavel Roskin <proski@gnu.org>
22784
22785 * configure.ac: Remove stray AC_MSG_CHECKING.
22786
22787 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22788
22789 * disk/scsi.c (grub_scsi_open): use continue instead of big if
22790
22791 2009-06-18 Pavel Roskin <proski@gnu.org>
22792
22793 * conf/common.rmk: Add fs_file.mod.
22794 * disk/fs_file.c: New file.
22795 * include/grub/disk.h (enum grub_disk_dev_id): Add
22796 GRUB_DISK_DEVICE_FILE_ID.
22797
22798 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22799
22800 Fix build with Apple's toolchain. Part 2
22801
22802 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22803 a fake start
22804
22805 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22806
22807 Fix build with Apple's toolchain. Part 1
22808
22809 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22810 for long calls
22811 * configure.ac: remove a leftover AC_MSG_RESULT
22812 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
22813 Apple's toolchain
22814
22815 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22816
22817 Fix warnings
22818
22819 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22820 (decomp_block): initialize ch
22821 use grub_memcpy instead of memcpy
22822
22823 2009-06-17 Pavel Roskin <proski@gnu.org>
22824
22825 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22826 version, use declarations needed to use vga_text as the startup
22827 console.
22828
22829 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22830 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22831 the kernel.
22832 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22833 and grub_at_keyboard_fini(), it's done on module load and
22834 unload.
22835
22836 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
22837
22838 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22839 file can't be found.
22840 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22841
22842 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22843
22844 Fix newline handling
22845
22846 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
22847 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
22848 (grub_script_yylex): don't segfault on unterminated script
22849 newline terminates command and variable
22850
22851 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22852
22853 avoid double grub_adjust_range call. Bug reported by David Simner
22854
22855 * kern/disk.c (grub_disk_write): change to raw disk access before
22856 calling disk_read
22857
22858 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
22859
22860 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22861 spaces, for the benefit of help2man.
22862 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22863
22864 2009-06-16 Pavel Roskin <proski@gnu.org>
22865
22866 * kern/i386/halt.c: Include grub/machine/init.h.
22867 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22868
22869 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
22870
22871 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22872 drivemap menuentry.
22873
22874 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22875
22876 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22877 `echo' command.
22878
22879 2009-06-16 Pavel Roskin <proski@gnu.org>
22880
22881 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22882 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22883 save %dx, we only need %dl and we never change it.
22884 * boot/i386/pc/cdboot.S: Don't set the root drive.
22885 * boot/i386/pc/pxeboot.S: Likewise.
22886 * include/grub/i386/pc/boot.h: Remove
22887 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22888 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22889 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22890 * kern/i386/pc/init.c (make_install_device): Remove references
22891 to grub_root_drive.
22892 * kern/i386/pc/startup.S: Likewise.
22893 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22894
22895 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22896
22897 xnu_uuid command
22898
22899 * commands/xnu_uuid.c: new file
22900 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22901 (xnu_uuid_mod_SOURCES): new variable
22902 (xnu_uuid_mod_CFLAGS): likewise
22903 (xnu_uuid_mod_LDFLAGS): likewise
22904 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22905 * conf/i386-ieee1275.rmk: likewise
22906 * conf/i386-pc.rmk: likewise
22907 * conf/powerpc-ieee1275.rmk: likewise
22908 * conf/sparc64-ieee1275.rmk: likewise
22909 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22910
22911 2009-06-16 Pavel Roskin <proski@gnu.org>
22912
22913 * configure.ac: Avoid '==' in test command, it's not portable.
22914
22915 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22916
22917 Probe command
22918
22919 * commands/probe.c: new file
22920 * conf/common.rmk (pkglib_MODULES): add probe.mod
22921 (probe_mod_SOURCES): new variable
22922 (probe_mod_CFLAGS): likewise
22923 (probe_mod_LDFLAGS): likewise
22924 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22925 * conf/i386-ieee1275.rmk: likewise
22926 * conf/i386-pc.rmk: likewise
22927 * conf/powerpc-ieee1275.rmk: likewise
22928 * conf/sparc64-ieee1275.rmk: likewise
22929
22930 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22931
22932 Fix handling of string like \"hello\" and "a
22933 b"
22934
22935 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22936 (grub_script_yylex): fix parsing of quoting, escaping and newline
22937
22938 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22939
22940 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
22941 handling
22942
22943 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
22944
22945 * util/grub-mkconfig.in: Fix parsing of --output option.
22946
22947 2009-06-12 Pavel Roskin <proski@gnu.org>
22948
22949 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22950 genmk.rb don't need to be generated or installed.
22951
22952 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22953
22954 * commands/i386/pc/drivemap_int13h.S: add more comments
22955
22956 2009-06-11 Pavel Roskin <proski@gnu.org>
22957
22958 * Makefile.in (uninstall): Uninstall manuals.
22959
22960 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22961 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22962 and update-grub_lib in two places.
22963 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22964
22965 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22966 a compiler warning.
22967
22968 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22969 `entry_lo' to fix variable shadowing.
22970
22971 2009-06-11 Christian Franke <franke@computer.org>
22972
22973 * kern/misc.c (__enable_execute_stack): Add missing return type
22974 to prevent gcc warning.
22975
22976 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22977
22978 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22979
22980 2009-06-11 Pavel Roskin <proski@gnu.org>
22981
22982 * Makefile.in: Don't rely on any scripts being executable.
22983 Always use $(SHELL) to run shell scripts.
22984
22985 * configure.ac: Always define ___main if using -nostdlib. This
22986 fixes tests on Cygwin.
22987
22988 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22989
22990 UDF fix
22991
22992 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
22993 is in bytes and not in blocks
22994
22995 2009-06-11 Pavel Roskin <proski@gnu.org>
22996
22997 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22998 warning.
22999
23000 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
23001
23002 * util/grub.d/30_os-prober.in: Fix a comment. Source
23003 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23004 to set the root device. Place drivemap command in the generated
23005 chain entry.
23006
23007 2009-06-11 Pavel Roskin <proski@gnu.org>
23008
23009 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23010 have long been resolved.
23011
23012 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
23013
23014 * util/grub.d/10_linux.in: Capitalise "Linux".
23015
23016 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23017
23018 2009-06-11 Pavel Roskin <proski@gnu.org>
23019
23020 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23021 fix a gcc warning and ensure that the function won't ever exit.
23022
23023 * kern/i386/ieee1275/init.c: Add missing prototype for
23024 grub_stop_floppy().
23025
23026 * loader/ieee1275/multiboot2.c [__i386__]: Include
23027 grub/cpu/multiboot.h.
23028
23029 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23030 casts to short - they are not portable and cause warnings. Fix
23031 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23032
23033 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23034
23035 Drivemap fixes
23036
23037 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23038 new function
23039 (grub_get_root_biosnumber_saved): new variable
23040 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23041 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
23042 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
23043 %dx after the call if necessary
23044 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23045 (boot_mod_SOURCES): remove
23046 (boot_mod_CFLAGS): remove
23047 (boot_mod_LDFLAGS): remove
23048 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23049 (boot_mod_SOURCES): new variable
23050 (boot_mod_CFLAGS): likewise
23051 (boot_mod_LDFLAGS): likewise
23052 * conf/i386-efi.rmk: likewise
23053 * conf/i386-ieee1275.rmk: likewise
23054 * conf/i386-pc.rmk: likewise
23055 * conf/powerpc-ieee1275.rmk: likewise
23056 * conf/sparc64-ieee1275.rmk: likewise
23057 * conf/x86_64-efi.rmk: likewise
23058 * include/grub/i386/pc/biosnum.h: new file
23059 * lib/i386/pc/biosnum.c: likewise
23060 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23061 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23062 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
23063
23064 2009-06-10 Pavel Roskin <proski@gnu.org>
23065
23066 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23067 Use separate variables. Read only the file size at the end, but
23068 not the checksum that we don't use.
23069
23070 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23071 Adjust all callers.
23072
23073 * kern/ieee1275/openfw.c: Remove libc includes.
23074 * kern/ieee1275/cmain.c: Likewise.
23075 * include/grub/ieee1275/ieee1275.h: Likewise.
23076
23077 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23078 compiler warnings.
23079
23080 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23081
23082 * Makefile.in: Remove all trailing whitespace.
23083 * conf/i386-pc.rmk: Likewise.
23084 * conf/powerpc-ieee1275.rmk: Likewise.
23085 * conf/sparc64-ieee1275.rmk: Likewise.
23086 * docs/grub.texi: Likewise.
23087 * docs/texinfo.tex: Likewise.
23088 * disk/fs_uuid.c: Likewise.
23089 * disk/lvm.c: Likewise.
23090 * disk/scsi.c: Likewise.
23091 * disk/ata.c: Likewise.
23092 * disk/ieee1275/ofdisk.c: Likewise.
23093 * disk/i386/pc/biosdisk.c: Likewise.
23094 * disk/host.c: Likewise.
23095 * disk/raid.c: Likewise.
23096 * disk/efi/efidisk.c: Likewise.
23097 * disk/usbms.c: Likewise.
23098 * disk/memdisk.c: Likewise.
23099 * disk/loopback.c: Likewise.
23100 * kern/powerpc/dl.c: Likewise.
23101 * kern/device.c: Likewise.
23102 * kern/dl.c: Likewise.
23103 * kern/sparc64/dl.c: Likewise.
23104 * kern/ieee1275/ieee1275.c: Likewise.
23105 * kern/term.c: Likewise.
23106 * kern/fs.c: Likewise.
23107 * kern/i386/dl.c: Likewise.
23108 * kern/i386/pc/startup.S: Likewise.
23109 * kern/i386/pc/init.c: Likewise.
23110 * kern/i386/pc/mmap.c: Likewise.
23111 * kern/i386/pc/lzo1x.S: Likewise.
23112 * kern/i386/ieee1275/init.c: Likewise.
23113 * kern/i386/realmode.S: Likewise.
23114 * kern/i386/tsc.c: Likewise.
23115 * kern/partition.c: Likewise.
23116 * kern/corecmd.c: Likewise.
23117 * kern/file.c: Likewise.
23118 * kern/efi/efi.c: Likewise.
23119 * kern/efi/init.c: Likewise.
23120 * kern/efi/mm.c: Likewise.
23121 * kern/main.c: Likewise.
23122 * kern/err.c: Likewise.
23123 * kern/env.c: Likewise.
23124 * kern/disk.c: Likewise.
23125 * kern/generic/millisleep.c: Likewise.
23126 * kern/generic/rtc_get_time_ms.c: Likewise.
23127 * kern/misc.c: Likewise.
23128 * kern/parser.c: Likewise.
23129 * genmk.rb: Likewise.
23130 * configure.ac: Likewise.
23131 * boot/i386/pc/diskboot.S: Likewise.
23132 * boot/i386/pc/pxeboot.S: Likewise.
23133 * boot/i386/pc/boot.S: Likewise.
23134 * boot/i386/pc/lnxboot.S: Likewise.
23135 * boot/i386/pc/cdboot.S: Likewise.
23136 * parttool/pcpart.c: Likewise.
23137 * video/readers/tga.c: Likewise.
23138 * video/video.c: Likewise.
23139 * video/bitmap.c: Likewise.
23140 * lib/envblk.c: Likewise.
23141 * lib/i386/setjmp.S: Likewise.
23142 * fs/xfs.c: Likewise.
23143 * fs/afs.c: Likewise.
23144 * fs/fat.c: Likewise.
23145 * fs/ntfs.c: Likewise.
23146 * fs/udf.c: Likewise.
23147 * fs/affs.c: Likewise.
23148 * fs/iso9660.c: Likewise.
23149 * fs/hfs.c: Likewise.
23150 * fs/fshelp.c: Likewise.
23151 * fs/ext2.c: Likewise.
23152 * fs/jfs.c: Likewise.
23153 * fs/reiserfs.c: Likewise.
23154 * fs/hfsplus.c: Likewise.
23155 * fs/minix.c: Likewise.
23156 * fs/cpio.c: Likewise.
23157 * fs/sfs.c: Likewise.
23158 * fs/ufs.c: Likewise.
23159 * efiemu/prepare.c: Likewise.
23160 * efiemu/loadcore_common.c: Likewise.
23161 * efiemu/runtime/efiemu.sh: Likewise.
23162 * efiemu/runtime/efiemu.S: Likewise.
23163 * efiemu/runtime/efiemu.c: Likewise.
23164 * efiemu/pnvram.c: Likewise.
23165 * efiemu/main.c: Likewise.
23166 * efiemu/i386/pc/cfgtables.c: Likewise.
23167 * efiemu/i386/loadcore64.c: Likewise.
23168 * efiemu/i386/loadcore32.c: Likewise.
23169 * efiemu/loadcore.c: Likewise.
23170 * efiemu/symbols.c: Likewise.
23171 * efiemu/mm.c: Likewise.
23172 * include/grub/autoefi.h: Likewise.
23173 * include/grub/datetime.h: Likewise.
23174 * include/grub/term.h: Likewise.
23175 * include/grub/hfs.h: Likewise.
23176 * include/grub/lvm.h: Likewise.
23177 * include/grub/i386/tsc.h: Likewise.
23178 * include/grub/i386/linux.h: Likewise.
23179 * include/grub/i386/xnu.h: Likewise.
23180 * include/grub/i386/efiemu.h: Likewise.
23181 * include/grub/i386/pc/biosdisk.h: Likewise.
23182 * include/grub/i386/pc/memory.h: Likewise.
23183 * include/grub/i386/pc/vbe.h: Likewise.
23184 * include/grub/parttool.h: Likewise.
23185 * include/grub/video.h: Likewise.
23186 * include/grub/memory.h: Likewise.
23187 * include/grub/fs.h: Likewise.
23188 * include/grub/partition.h: Likewise.
23189 * include/grub/xnu.h: Likewise.
23190 * include/grub/efi/api.h: Likewise.
23191 * include/grub/efi/pe32.h: Likewise.
23192 * include/grub/efi/memory.h: Likewise.
23193 * include/grub/multiboot.h: Likewise.
23194 * include/grub/usbdesc.h: Likewise.
23195 * include/grub/multiboot2.h: Likewise.
23196 * include/grub/acpi.h: Likewise.
23197 * include/grub/efiemu/efiemu.h: Likewise.
23198 * include/grub/disk.h: Likewise.
23199 * include/grub/ieee1275/ieee1275.h: Likewise.
23200 * include/grub/net.h: Likewise.
23201 * include/grub/machoload.h: Likewise.
23202 * include/grub/macho.h: Likewise.
23203 * include/multiboot.h: Likewise.
23204 * genmoddep.awk: Likewise.
23205 * normal/main.c: Likewise.
23206 * normal/menu_entry.c: Likewise.
23207 * normal/menu_viewer.c: Likewise.
23208 * normal/completion.c: Likewise.
23209 * normal/cmdline.c: Likewise.
23210 * normal/misc.c: Likewise.
23211 * normal/datetime.c: Likewise.
23212 * bus/usb/usbtrans.c: Likewise.
23213 * bus/usb/ohci.c: Likewise.
23214 * bus/usb/uhci.c: Likewise.
23215 * bus/usb/usb.c: Likewise.
23216 * mmap/efi/mmap.c: Likewise.
23217 * mmap/i386/pc/mmap_helper.S: Likewise.
23218 * mmap/i386/pc/mmap.c: Likewise.
23219 * mmap/i386/mmap.c: Likewise.
23220 * mmap/i386/uppermem.c: Likewise.
23221 * mmap/mmap.c: Likewise.
23222 * commands/acpi.c: Likewise.
23223 * commands/echo.c: Likewise.
23224 * commands/blocklist.c: Likewise.
23225 * commands/loadenv.c: Likewise.
23226 * commands/usbtest.c: Likewise.
23227 * commands/boot.c: Likewise.
23228 * commands/parttool.c: Likewise.
23229 * commands/search.c: Likewise.
23230 * commands/cat.c: Likewise.
23231 * commands/i386/pc/play.c: Likewise.
23232 * commands/i386/pc/drivemap.c: Likewise.
23233 * commands/i386/pc/vbeinfo.c: Likewise.
23234 * commands/i386/pc/acpi.c: Likewise.
23235 * commands/i386/pc/vbetest.c: Likewise.
23236 * commands/ls.c: Likewise.
23237 * commands/cmp.c: Likewise.
23238 * commands/test.c: Likewise.
23239 * commands/efi/acpi.c: Likewise.
23240 * commands/gptsync.c: Likewise.
23241 * commands/help.c: Likewise.
23242 * partmap/amiga.c: Likewise.
23243 * partmap/apple.c: Likewise.
23244 * partmap/acorn.c: Likewise.
23245 * partmap/pc.c: Likewise.
23246 * partmap/sun.c: Likewise.
23247 * partmap/gpt.c: Likewise.
23248 * script/sh/lexer.c: Likewise.
23249 * script/sh/function.c: Likewise.
23250 * font/font.c: Likewise.
23251 * font/font_cmd.c: Likewise.
23252 * loader/powerpc/ieee1275/linux.c: Likewise.
23253 * loader/efi/chainloader.c: Likewise.
23254 * loader/multiboot_loader.c: Likewise.
23255 * loader/macho.c: Likewise.
23256 * loader/i386/multiboot.c: Likewise.
23257 * loader/i386/linux.c: Likewise.
23258 * loader/i386/pc/linux.c: Likewise.
23259 * loader/i386/pc/multiboot2.c: Likewise.
23260 * loader/i386/pc/chainloader.c: Likewise.
23261 * loader/i386/pc/xnu.c: Likewise.
23262 * loader/i386/bsd_trampoline.S: Likewise.
23263 * loader/i386/efi/linux.c: Likewise.
23264 * loader/i386/multiboot_elfxx.c: Likewise.
23265 * loader/i386/bsd_helper.S: Likewise.
23266 * loader/i386/bsd.c: Likewise.
23267 * loader/i386/linux_trampoline.S: Likewise.
23268 * loader/i386/xnu_helper.S: Likewise.
23269 * loader/i386/xnu.c: Likewise.
23270 * loader/i386/bsd_pagetable.c: Likewise.
23271 * loader/i386/multiboot_helper.S: Likewise.
23272 * loader/xnu.c: Likewise.
23273 * loader/xnu_resume.c: Likewise.
23274 * io/gzio.c: Likewise.
23275 * term/efi/console.c: Likewise.
23276 * term/terminfo.c: Likewise.
23277 * term/ieee1275/ofconsole.c: Likewise.
23278 * term/i386/pc/serial.c: Likewise.
23279 * term/i386/pc/vesafb.c: Likewise.
23280 * term/i386/pc/vga.c: Likewise.
23281 * term/usb_keyboard.c: Likewise.
23282 * term/gfxterm.c: Likewise.
23283 * aclocal.m4: Likewise.
23284 * util/lvm.c: Likewise.
23285 * util/grub.d/30_os-prober.in: Likewise.
23286 * util/grub.d/10_hurd.in: Likewise.
23287 * util/console.c: Likewise.
23288 * util/grub-macho2img.c: Likewise.
23289 * util/grub-probe.c: Likewise.
23290 * util/hostfs.c: Likewise.
23291 * util/i386/pc/grub-mkimage.c: Likewise.
23292 * util/i386/pc/grub-setup.c: Likewise.
23293 * util/i386/efi/grub-mkimage.c: Likewise.
23294 * util/grub-mkconfig.in: Likewise.
23295 * util/raid.c: Likewise.
23296 * util/resolve.c: Likewise.
23297 * util/grub-mkdevicemap.c: Likewise.
23298 * util/grub-emu.c: Likewise.
23299 * util/getroot.c: Likewise.
23300 * util/hostdisk.c: Likewise.
23301 * util/usb.c: Likewise.
23302 * util/grub-editenv.c: Likewise.
23303 * util/misc.c: Likewise.
23304
23305 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23306
23307 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23308 `genparttoollist.sh'.
23309 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23310 Add `*.sh' to the list find searches for and change `mdate.sh'
23311 to `mdate-sh'.
23312
23313 2009-06-10 Pavel Roskin <proski@gnu.org>
23314
23315 * include/grub/multiboot2.h: Provide compatibility defines for
23316 multiboot2.h.
23317 * include/multiboot2.h: Include stdint.h only if needed, using
23318 angle brackets.
23319 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23320 grub/multiboot2.h.
23321 * loader/ieee1275/multiboot2.c: Likewise.
23322 * loader/multiboot2.c: Likewise.
23323 * loader/multiboot_loader.c: Likewise.
23324
23325 * configure.ac: Use -nostdlib when probing for the target. It
23326 should not be required to have libc for the target.
23327
23328 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23329 they fail without libc headers for the target.
23330 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23331 exports.
23332 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23333 preprocessor conditionals.
23334
23335 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23336 build system doesn't need to be aware of the tar.c internals.
23337
23338 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
23339
23340 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
23341
23342 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23343
23344 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23345 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23346
23347 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
23348
23349 * util/i386/pc/grub-install.in: Change the error message if UUIDs
23350 aren't available if ata.mod gets used.
23351
23352 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
23353
23354 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
23355 initialising controller.
23356 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23357
23358 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23359
23360 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23361 to choose between ata and biosdisk module on i386-pc.
23362
23363 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
23364
23365 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23366 Subclass and Programming Interface fields in terms of the 3 byte
23367 Class Code register.
23368 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23369
23370 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23371 interface is OHCI. Add grub_dprintf for symmetry with
23372 bus/usb/uhci.c.
23373 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23374 interface is UHCI. Add interf variable for programming
23375 interface. Print interface with class/subclass.
23376
23377 * bus/usb/ohci.c: Set interf with correct field.
23378
23379 * bus/usb/uhci.c: Remove unneeded doubled lines.
23380 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23381 Remove whitespace inside comment.
23382
23383 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23384
23385 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23386 as fallback an equivalent option without depth.
23387
23388 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23389
23390 Not fail if unable to retrieve C/H/S on LBA disks
23391
23392 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
23393 if unable to retrieve C/H/S on LBA disks
23394
23395 2009-06-08 Pavel Roskin <proski@gnu.org>
23396
23397 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23398 about aliasing.
23399
23400 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23401
23402 * Makefile.in (uninstall): Remove all $lib_DATA files.
23403
23404 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23405
23406 Bugfix: install on partitionless device
23407
23408 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23409 is a whole disk
23410
23411 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23412
23413 * Makefile.in (uninstall): Remove all $include_DATA files.
23414
23415 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23416
23417 * commands/true.c: New file. Implement the true and false commands.
23418 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23419 (true_mod_SOURCES): New variable.
23420 (true_mod_CFLAGS): Likewise.
23421 (true_mod_LDFLAGS): Likewise.
23422
23423 2009-06-05 Colin D Bennett <colin@gibibit.com>
23424
23425 Optimized font character lookup using binary search instead of linear
23426 search. Fonts now are required to have the character index ordered by
23427 code point.
23428
23429 * font/font.c (load_font_index): Verify that fonts have ordered
23430 character indices.
23431 (find_glyph): Use binary search instead of linear search to find a
23432 character in a font.
23433
23434 2009-06-05 Michael Scherer <misc@mandriva.org>
23435
23436 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23437 uses case sensitive btree.
23438 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23439 only for case insensitive filesystems.
23440
23441 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23442
23443 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23444 * conf/common.rmk (search_mod_CFLAGS): likewise
23445
23446 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23447
23448 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
23449 compensate a compiler bug
23450
23451 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
23454 instead of '\b'
23455
23456 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23457
23458 Definitions for creating asm symbols with Apple's CC
23459
23460 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23461 [APPLE_CC] (VARIABLE): likewise
23462
23463 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23464
23465 Disable lnxboot.img when compiled
23466 with Apple's CC
23467
23468 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23469 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23470 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23471 [! APPLE_CC] (CODE_LENG): skip
23472 [! APPLE_CC] (setup_sects): likewise
23473 [! APPLE_CC]: skip filling
23474
23475 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23476
23477 Address in trampolines based on 32-bit registers when compiled
23478 with Apple's CC
23479
23480 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
23481 for addresses
23482 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23483
23484 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23485
23486 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23487
23488 * kern/misc.c [APPLE_CC] (memcpy): new function
23489 [APPLE_CC] (memmove): likewise
23490 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23491 (memcpy): define alias conditionally on !APPLE_CC
23492 (memset): likewise
23493 (abort): likewise
23494 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23495 APPLE_CC are defined
23496 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23497 (grub_assert_fail): make prototype conditional
23498
23499 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23500
23501 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23502
23503 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23504 grub-macho2img
23505 (CLEANFILES): add grub-macho2img
23506 (grub_macho2img_SOURCES): new variable
23507 * kern/i386/pc/startup.S (bss_start): new variable
23508 (bss_end): likewise
23509 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23510 * util/grub-macho2img.c: new file
23511
23512 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 Use objconv when compiling with Apple's CC
23515
23516 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23517 (efiemu64.o): likewise
23518 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23519 when compiling with Apple's CC
23520 (efiemu64_s.o): likewise
23521 * configure.ac: check for objconv when compiling with Apple's CC
23522 * genmk.rb: use objconv for modules when compiled with Apple's CC
23523
23524 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23525
23526 Define segment as well as section when compiling with
23527 Apple's CC
23528
23529 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23530 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23531 (efiemu_convert_pointer): likewise
23532 (efiemu_set_virtual_address_map): likewise
23533 (efiemu_convert_pointer): likewise
23534 (efiemu_getcrc32): likewise
23535 (init_crc32_table): likewise
23536 (reflect): likewise
23537 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23538 (GRUB_MOD_DEP): likewise
23539
23540 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23541
23542 Allow a compilation without -mcmodel=large
23543
23544 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23545 when compiled without -mcmodel=large
23546 (filter_memory_map): remove memory post 4 GiB when compiled
23547 without -mcmodel=large
23548 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23549 TARGET_CFLAGS when -mcmodel=large isn't supported
23550
23551 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 Remove nested functions in efiemu core
23554
23555 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23556
23557 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23558
23559 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23560
23561 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23562 temporary storage
23563 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23564 using Apple's CC
23565 (grub_cpu_is_tsc_supported): likewise
23566 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23567
23568 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23569
23570 Absolute addressing through constant with Apple's cc
23571
23572 * kern/i386/pc/startup.S: Define necessary constants
23573 and address through it when using ABS with Apple's CC
23574 * boot/i386/pc/diskboot.S: likewise
23575 * boot/i386/pc/boot.S: likewise
23576 * boot/i386/pc/lnxboot.S: likewise
23577 * boot/i386/pc/cdboot.S: likewise
23578 * mmap/i386/pc/mmap_helper.S: likewise
23579 * commands/i386/pc/drivemap_int13h.S: likewise
23580
23581 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23582
23583 Check if compiler is apple cc
23584
23585 * Makefile.in (ASFLAGS): new variable
23586 (TARGET_ASFLAGS): likewise
23587 (TARGET_MODULE_FORMAT): likewise
23588 (TARGET_APPLE_CC): likewise
23589 (OBJCONV): likewise
23590 (TARGET_IMG_CFLAGS): likewise
23591 (TARGET_CPPFLAGS): add includedir
23592 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23593 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23594 Check for linker script only if compiler isn't Apple's CC
23595 (TARGET_MODULE_FORMAT): set
23596 (TARGET_APPLE_CC): likewise
23597 (TARGET_ASFLAGS): likewise
23598 (ASFLAGS): likewise
23599 Check for objcopy only if compiler isn't Apple's CC
23600 Check for BSS symbol only if compiler isn't Apple's CC
23601 * genmk.rb: adapt nm options if we use Apple's utils
23602 * aclocal.m4 (grub_apple_cc): new test
23603 (grub_apple_target_cc): likewise
23604
23605 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23606
23607 Simplify sed expressions and improve awk
23608
23609 * Makefile.in (install-local): simplify sed expression
23610 * gencmdlist.sh: likewise
23611 * genmoddep.awk: avoid adding module as a dependency of itself
23612
23613 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23614
23615 Add missing start symbols
23616
23617 * boot/i386/pc/boot.S: add start
23618 * boot/i386/pc/pxeboot.S: likewise
23619
23620 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 Fix wrong assumptions with grub-mkimage on EFI
23623
23624 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23625 (relocate_addresses): consider both r_addend and value at offset
23626 (make_mods_section): zerofill modinfo and header
23627 (convert_elf): write prefix here
23628
23629 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23630
23631 Use .asciz instead of .string
23632
23633 * i386/pc/diskboot.S: use .asciz instead of .string
23634 * i386/pc/boot.S: likewise
23635 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23636 (GRUB_MOD_NAME): likewise
23637
23638 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 gfxpayload support
23641
23642 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23643 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23644 (grub_video_setup): remove
23645 (grub_video_set_mode): new prototype
23646 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23647 (vid_mode): remove
23648 (linux_vesafb_res): compile only on PCBIOS
23649 (grub_linux_boot): support gfxpayload
23650 * loader/i386/pc/xnu.c (video_hook): new function
23651 (grub_xnu_set_video): support gfxpayload
23652 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23653 (DEFAULT_VIDEO_HEIGHT): likewise
23654 (DEFAULT_VIDEO_FLAGS): likewise
23655 (DEFAULT_VIDEO_MODE): new definition
23656 (video_hook): new function
23657 (grub_gfxterm_init): use grub_video_set_mode
23658 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23659 loading xnu
23660 * video/video.c (grub_video_setup): removed
23661 (grub_video_set_mode): new function based on grub_gfxterm_init and
23662 grub_video_setup
23663
23664 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23665
23666 Avoid calling biosdisk in drivemap
23667
23668 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23669 (revparse_biosdisk): likewise
23670 (list_mappings): derive name from id directly
23671 (grub_cmd_drivemap): use tryparse_diskstring
23672
23673 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23674
23675 Script fixes
23676
23677 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23678 (grub_lexer_param): add tokenonhold
23679 (grub_script_create_cmdline): remove cmdline. All callers updated
23680 (grub_script_function_create): make functionname
23681 grub_script_arg. All callers updated
23682 (grub_script_execute_argument_to_string): new prototype
23683 * kern/parser.c (state_transitions): reorder
23684 (grub_parser_cmdline_state): fix a bug and make more compact
23685 * script/sh/execute.c (grub_script_execute_argument_to_string):
23686 make global
23687 (grub_script_execute_cmdline): use new format
23688 * script/sh/function.c (grub_script_function_create): make functionname
23689 grub_script_arg. All callers updated
23690 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
23691 (grub_script_yylex): remove
23692 (grub_script_yylex2): renamed to ...
23693 (grub_script_yylex): ...renamed
23694 parse the expressions like a${b}c
23695 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23696 (GRUB_PARSER_TOKEN_VAR): remove
23697 (GRUB_PARSER_TOKEN_NAME): likewise
23698 ("if"): declare as typeless
23699 ("while"): likewise
23700 ("function"): likewise
23701 ("else"): likewise
23702 ("then"): likewise
23703 ("fi"): likewise
23704 (text): remove
23705 (argument): likewise
23706 (script): accept empty scripts and make exit on error
23707 (arguments): use GRUB_PARSER_TOKEN_ARG
23708 (function): likewise
23709 (command): move error handling to script
23710 (menuentry): move grub_script_lexer_ref before
23711 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
23712 argument. All callers updated
23713
23714 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23715
23716 Prevent GRUB from probing floppies during boot.
23717
23718 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23719 * commands/search.c (options): Add --no-floppy.
23720 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23722 --no-floppy when searching for UUIDs.
23723
23724 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23725
23726 Simplify the code duplication in commands/search.c.
23727
23728 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23729 (search_fs): ... this. Update all users.
23730
23731 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
23732
23733 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23734
23735 2009-05-28 Pavel Roskin <proski@gnu.org>
23736
23737 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23738 Remove the original symlink explicitly.
23739
23740 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23741 just one slash. That's how grub_fshelp_find_file() does it.
23742
23743 2009-05-26 Pavel Roskin <proski@gnu.org>
23744
23745 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23746 to `str'.
23747
23748 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23749 possibly unused.
23750
23751 2009-05-25 Christian Franke <franke@computer.org>
23752
23753 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23754 register.
23755 (grub_atapi_identify): Add wait after drive select.
23756 (grub_ata_identify): Do more strict status register check before
23757 calling grub_atapi_identify (). Suppress error message if status
23758 register is 0x00 after command failure. Add status register
23759 check after PIO read to avoid bogus identify due to stuck DRQ.
23760 Thanks to Pavel Roskin for testing.
23761 (grub_device_initialize): Remove unsafe status register check.
23762 Thanks to 'phcoder' for problem report and patch.
23763 Prevent sign extension in debug message.
23764
23765 2009-05-23 Colin D Bennett <colin@gibibit.com>
23766
23767 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23768 definition file, and functions defined in `normal/menu.c' have had
23769 their prototypes moved to `include/grub/menu.h' for consistency.
23770
23771 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23772 from normal.h.
23773 (grub_menu_get_entry): Likewise.
23774 (grub_menu_get_timeout): Likewise.
23775 (grub_menu_set_timeout): Likewise.
23776 (grub_menu_execute_entry): Likewise.
23777 (grub_menu_execute_with_fallback): Likewise.
23778 (grub_menu_entry_run): Likewise.
23779
23780 * include/grub/normal.h: Re-ordered and grouped function
23781 prototypes by file that the function is defined in.
23782 (grub_menu_execute_callback): Removed; moved to menu.h.
23783 (grub_menu_get_entry): Likewise.
23784 (grub_menu_get_timeout): Likewise.
23785 (grub_menu_set_timeout): Likewise.
23786 (grub_menu_execute_entry): Likewise.
23787 (grub_menu_execute_with_fallback): Likewise.
23788 (grub_menu_entry_run): Likewise.
23789 (grub_menu_addentry): Renamed from this ...
23790 (grub_normal_add_menu_entry): ... to this.
23791
23792 * normal/main.c (grub_menu_addentry): Renamed from this ...
23793 (grub_normal_add_menu_entry): ... to this.
23794
23795 * script/sh/execute.c (grub_script_execute_menuentry): Update
23796 reference to renamed grub_menu_addentry function.
23797
23798 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
23799
23800 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23801
23802 2009-05-22 Pavel Roskin <proski@gnu.org>
23803
23804 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23805 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23806 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23807 compiling for the i386 targets, but not for the utilities.
23808
23809 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23810 to grub_uint8_t.
23811 (grub_root_drive): Likewise.
23812 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23813 remove alignment.
23814 (grub_root_drive): Change size to byte.
23815 (grub_start_addr): Remove.
23816 (grub_end_addr): Likewise.
23817 (grub_apm_bios_info): Likewise.
23818
23819 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
23820
23821 * normal/i386: Remove.
23822 * normal/powerpc: Likewise.
23823 * normal/sparc64: Likewise.
23824 * normal/x86_64: Likewise.
23825
23826 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
23829 * loader/i386/linux_trampoline.S: Fix indentation
23830 * loader/i386/xnu_helper.S: Likewise
23831
23832 2009-05-18 Colin D Bennett <colin@gibibit.com>
23833
23834 Display error messages when parsing a Lua statement fails.
23835 Previously, executing a syntactically invalid statement like
23836 ")foo" or "bar;" would silently fail.
23837
23838 * script/lua/grub_main.c (handle_lua_error): New function.
23839 (grub_lua_parse_line): Improved reporting of Lua parser and
23840 execution errors.
23841
23842 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23843
23844 Remove -Werror which causes build to fail on some systems
23845
23846 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23847 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23848 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
23849
23850 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23851
23852 trampoline for linux on 64-bit platform
23853
23854 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23855 loader/i386/efi/linux_trampoline.S
23856 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
23857 declaration
23858 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23859 here
23860 * loader/i386/linux_trampoline.S: moved here
23861 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23862 trampoline
23863 (jumpvector): removed
23864 (grub_linux_trampoline_start): new declaration
23865 (grub_linux_trampoline_end): likewise
23866 (grub_linux_boot): use trampoline when on 64-bit platform
23867 * loader/i386/linux.c: likewise
23868
23869 2009-05-16 Pavel Roskin <proski@gnu.org>
23870
23871 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23872 const to avoid a warning.
23873 (grub_lua_setenv): Likewise.
23874 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23875 lmsg to fix a warning.
23876
23877 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23878
23879 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
23880 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23881 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23882 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23883 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23884 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23885 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23886 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23887
23888 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23889
23890 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23891
23892 2009-05-16 Bean <bean123ch@gmail.com>
23893
23894 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23895 (lua_mod_SOURCES): New variable.
23896 (lua_mod_CFLAGS): Likewise.
23897 (lua_mod_LDFLAGS): Likewise.
23898
23899 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23900 (setjmp_mod_SOURCES): New variable.
23901 (setjmp_mod_CFLAGS): Likewise.
23902 (setjmp_LDFLAGS): Likewise.
23903
23904 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23905 (setjmp_mod_SOURCES): New variable.
23906 (setjmp_mod_CFLAGS): Likewise.
23907 (setjmp_LDFLAGS): Likewise.
23908
23909 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23910 (setjmp_mod_SOURCES): New variable.
23911 (setjmp_mod_CFLAGS): Likewise.
23912 (setjmp_LDFLAGS): Likewise.
23913
23914 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23915 (setjmp_mod_SOURCES): New variable.
23916 (setjmp_mod_CFLAGS): Likewise.
23917 (setjmp_LDFLAGS): Likewise.
23918
23919 * normal/i386/setjmp.S: Moved from here ...
23920 * lib/i386/setjmp.S: ... Moved here
23921 * normal/x86_64/setjmp.S: Moved from here ...
23922 * lib/x86_64/setjmp.S: ... Moved here
23923 * normal/powerpc/setjmp.S: Moved from here ...
23924 * lib/powerpc/setjmp.S: ... Moved here
23925 * normal/sparc64/setjmp.S: Moved from here ...
23926 * lib/sparc64/setjmp.S: ... Moved here
23927
23928 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23929 returns_twice in mingw.
23930
23931 * script/lua/grub_lib.c: New file.
23932 * script/lua/grub_lib.h: Likewise.
23933 * script/lua/grub_lua.h: Likewise.
23934 * script/lua/grub_main.c: Likewise.
23935 * script/lua/lapi.c: Likewise.
23936 * script/lua/lapi.h: Likewise.
23937 * script/lua/lauxlib.c: Likewise.
23938 * script/lua/lauxlib.h: Likewise.
23939 * script/lua/lbaselib.c: Likewise.
23940 * script/lua/lcode.c: Likewise.
23941 * script/lua/lcode.h: Likewise.
23942 * script/lua/ldblib.c: Likewise.
23943 * script/lua/ldebug.c: Likewise.
23944 * script/lua/ldebug.h: Likewise.
23945 * script/lua/ldo.c: Likewise.
23946 * script/lua/ldo.h: Likewise.
23947 * script/lua/ldump.c: Likewise.
23948 * script/lua/lfunc.c: Likewise.
23949 * script/lua/lfunc.h: Likewise.
23950 * script/lua/lgc.c: Likewise.
23951 * script/lua/lgc.h: Likewise.
23952 * script/lua/linit.c: Likewise.
23953 * script/lua/liolib.c: Likewise.
23954 * script/lua/llex.c: Likewise.
23955 * script/lua/llex.h: Likewise.
23956 * script/lua/llimits.h: Likewise.
23957 * script/lua/lmathlib.c: Likewise.
23958 * script/lua/lmem.c: Likewise.
23959 * script/lua/lmem.h: Likewise.
23960 * script/lua/loadlib.c: Likewise.
23961 * script/lua/lobject.c: Likewise.
23962 * script/lua/lobject.h: Likewise.
23963 * script/lua/lopcodes.c: Likewise.
23964 * script/lua/lopcodes.h: Likewise.
23965 * script/lua/loslib.c: Likewise.
23966 * script/lua/lparser.c: Likewise.
23967 * script/lua/lparser.h: Likewise.
23968 * script/lua/lstate.c: Likewise.
23969 * script/lua/lstate.h: Likewise.
23970 * script/lua/lstring.c: Likewise.
23971 * script/lua/lstring.h: Likewise.
23972 * script/lua/lstrlib.c: Likewise.
23973 * script/lua/ltable.c: Likewise.
23974 * script/lua/ltable.h: Likewise.
23975 * script/lua/ltablib.c: Likewise.
23976 * script/lua/ltm.c: Likewise.
23977 * script/lua/ltm.h: Likewise.
23978 * script/lua/lua.h: Likewise.
23979 * script/lua/luaconf.h: Likewise.
23980 * script/lua/lualib.h: Likewise.
23981 * script/lua/lundump.c: Likewise.
23982 * script/lua/lundump.h: Likewise.
23983 * script/lua/lvm.c: Likewise.
23984 * script/lua/lvm.h: Likewise.
23985 * script/lua/lzio.c: Likewise.
23986 * script/lua/lzio.h: Likewise.
23987
23988 2009-05-16 Bean <bean123ch@gmail.com>
23989
23990 * include/grub/kernel.h (grub_module_header_types): Add type
23991 OBJ_TYPE_CONFIG.
23992
23993 * kern/main.c (grub_load_config): New function.
23994 (grub_main): Call grub_load_config to read boot config.
23995
23996 * grub-mkimage (generate_image): New parameter config_path.
23997 (options): New option --config.
23998 (main): Parse --config option, and pass it to generate_image.
23999
24000 2009-05-14 Christian Franke <franke@computer.org>
24001
24002 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24003 This fixes build on Cygwin.
24004
24005 2009-05-14 Pavel Roskin <proski@gnu.org>
24006
24007 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24008 jump. This saves two bytes, so the typical case of 2 swapped
24009 drives would fit 32 bytes.
24010
24011 2009-05-13 Pavel Roskin <proski@gnu.org>
24012
24013 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24014 grub_uint32_t to avoid a warning.
24015
24016 * loader/i386/linux.c (allocate_pages): When assigning
24017 real_mode_mem, cast through grub_size_t to fix a warning. The
24018 code already makes sure that the value would fit a pointer.
24019 (grub_linux_setup_video): Cast render_target->data to
24020 grub_size_t to fix a warning.
24021
24022 2009-05-13 Javier Martín <lordhabbit@gmail.com>
24023
24024 * commands/i386/pc/drivemap.c: New file - implement drivemap
24025 command.
24026 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24027 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24028
24029 2009-05-13 Pavel Roskin <proski@gnu.org>
24030
24031 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24032 embedding_area_exists.
24033
24034 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24035
24036 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24037 it easier to understand / work with.
24038 Improve warning messages for cases where there's no embedding area,
24039 or when it is too small (or core.img too large).
24040
24041 2009-05-13 Pavel Roskin <proski@gnu.org>
24042
24043 * loader/i386/pc/multiboot2.c: Add necessary includes for
24044 grub_multiboot2_real_boot().
24045
24046 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24047 PX record is always little-endian. We only need the lower 2
24048 bytes of the mode.
24049
24050 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24051 facilitate code reuse.
24052 (grub_cpio_mount): Use "struct head", not a char buffer. This
24053 fixes a warning reported by gcc 4.4.
24054
24055 * kernel/disk.c (grub_disk_read): Use void pointer for the
24056 buffer.
24057 (grub_disk_write): Use const void pointer for the buffer.
24058 Adjust all callers. Remove unnecessary casts.
24059
24060 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24061
24062 * util/i386/pc/grub-install.in: Update copyright year.
24063
24064 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24065
24066 gptsync
24067
24068 * commands/gptsync.c: new file
24069 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24070 (gptsync_mod_SOURCES): new variable
24071 (gptsync_mod_CFLAGS): likewise
24072 (gptsync_mod_LDFLAGS): likewise
24073 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
24074 new definition
24075 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24076 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24077 * conf/i386-ieee1275.rmk: likewise
24078 * conf/i386-pc.rmk: likewise
24079 * conf/powerpc-ieee1275.rmk: likewise
24080
24081 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24082
24083 Fixed grub-emu
24084
24085 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24086 (grub_dl_ref): likewise
24087
24088 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24089
24090 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24091 split in two functions (one for msdos and one for gpt).
24092
24093 2009-05-08 Pavel Roskin <proski@gnu.org>
24094
24095 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24096 not modified.
24097
24098 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24099 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24100 Initialize them with -1. Add sanity check for bad1. Eliminate
24101 nerr variable.
24102
24103 2009-05-08 David S. Miller <davem@davemloft.net>
24104
24105 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24106
24107 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24108
24109 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
24110 existence.
24111
24112 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
24113
24114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24115 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
24116
24117 2009-05-05 David S. Miller <davem@davemloft.net>
24118
24119 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24120
24121 2009-05-05 Pavel Roskin <proski@gnu.org>
24122
24123 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24124 of grub_dl_ref() and grub_dl_unref().
24125 * commands/parttool.c: Remove preprocessor conditionals around
24126 grub_dl_ref() and grub_dl_unref().
24127 * fs/affs.c: Likewise.
24128 * fs/afs.c: Likewise.
24129 * fs/cpio.c: Likewise.
24130 * fs/ext2.c: Likewise.
24131 * fs/fat.c: Likewise.
24132 * fs/hfs.c: Likewise.
24133 * fs/hfsplus.c: Likewise.
24134 * fs/iso9660.c: Likewise.
24135 * fs/jfs.c: Likewise.
24136 * fs/minix.c: Likewise.
24137 * fs/ntfs.c: Likewise.
24138 * fs/reiserfs.c: Likewise.
24139 * fs/sfs.c: Likewise.
24140 * fs/udf.c: Likewise.
24141 * fs/ufs.c: Likewise.
24142 * fs/xfs.c: Likewise.
24143 * include/grub/dl.h: Likewise.
24144 * loader/xnu.c: Likewise.
24145
24146 2009-05-04 Pavel Roskin <proski@gnu.org>
24147
24148 * commands/acpi.c: Remove unused variable my_mod.
24149 * partmap/amiga.c: Likewise.
24150 * partmap/apple.c: Likewise.
24151 * partmap/gpt.c: Likewise.
24152 * partmap/pc.c: Likewise.
24153 * partmap/sun.c: Likewise.
24154 * term/gfxterm.c: Likewise.
24155 * term/i386/pc/vesafb.c: Likewise.
24156 * term/i386/pc/vga.c: Likewise.
24157
24158 2009-05-04 David S. Miller <davem@davemloft.net>
24159
24160 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24161 pointer args to grub_ieee1275_get_property().
24162
24163 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24164
24165 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24166 devices, and do not traverse down under controller nodes.
24167
24168 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24169 (grub_ofdisk_open): Use it to un-escape "," characters.
24170 * kern/disk.c (find_part_sep): New.
24171 (grub_disk_open): Use it to find the first non-escaped ','
24172 character in the disk name.
24173 * util/ieee1275/devicemap.c (escape_of_path): New.
24174 (grub_util_emit_devicemap_entry): Use it.
24175 * util/sparc64/ieee1275/grub-install.in: Update script to
24176 strip partition specifiers properly by not triggering on
24177 '\' escaped ',' characters.
24178
24179 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24180
24181 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24182 to 0x300.
24183 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24184 resolutions.
24185 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24186 on documentation from Wikipedia).
24187
24188 2009-05-04 Pavel Roskin <proski@gnu.org>
24189
24190 * disk/ata.c: Spelling fixes.
24191 * disk/raid.c: Likewise.
24192 * disk/usbms.c: Likewise.
24193 * disk/dmraid_nvidia.c: Likewise.
24194 * kern/ieee1275/openfw.c: Likewise.
24195 * kern/ieee1275/init.c: Likewise.
24196 * kern/ieee1275/cmain.c: Likewise.
24197 * boot/i386/pc/cdboot.S: Likewise.
24198 * video/readers/png.c: Likewise.
24199 * video/i386/pc/vbe.c: Likewise.
24200 * fs/udf.c: Likewise.
24201 * fs/hfs.c: Likewise.
24202 * fs/reiserfs.c: Likewise.
24203 * efiemu/runtime/efiemu.c: Likewise.
24204 * efiemu/main.c: Likewise.
24205 * efiemu/mm.c: Likewise.
24206 * include/grub/elf.h: Likewise.
24207 * include/grub/xnu.h: Likewise.
24208 * include/grub/usbdesc.h: Likewise.
24209 * include/grub/usb.h: Likewise.
24210 * include/grub/script_sh.h: Likewise.
24211 * include/grub/lib/LzmaEnc.h: Likewise.
24212 * include/grub/efiemu/efiemu.h: Likewise.
24213 * include/grub/command.h: Likewise.
24214 * normal/menu.c: Likewise.
24215 * normal/main.c: Likewise.
24216 * normal/datetime.c: Likewise.
24217 * bus/usb/uhci.c: Likewise.
24218 * mmap/i386/uppermem.c: Likewise.
24219 * mmap/mmap.c: Likewise.
24220 * commands/acpi.c: Likewise.
24221 * commands/test.c: Likewise.
24222 * partmap/apple.c: Likewise.
24223 * font/font.c: Likewise.
24224 * loader/sparc64/ieee1275/linux.c: Likewise.
24225 * loader/macho.c: Likewise.
24226 * loader/i386/bsd_trampoline.S: Likewise.
24227 * loader/i386/bsd.c: Likewise.
24228 * loader/xnu.c: Likewise.
24229 * term/i386/pc/vesafb.c: Likewise.
24230 * term/usb_keyboard.c: Likewise.
24231 * util/resolve.c: Likewise.
24232 * util/getroot.c: Likewise.
24233
24234 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24235
24236 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24237
24238 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24239
24240 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24241 build error.
24242
24243 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24244
24245 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24246 parameter only available on BIOS.
24247
24248 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24249
24250 Removed wrong semicolon in declaration
24251
24252 * grub/misc.h (grub_dprintf): remove semicolon
24253
24254 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24255
24256 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24257 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24258 is done by grub_cmd_linux() now).
24259 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24260 restore video to text mode.
24261 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24262 indicates lack of "vga=" parameter. "vga=0" is mapped to
24263 `GRUB_LINUX_VID_MODE_NORMAL'.
24264
24265 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24266
24267 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24268 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24269 and `normal/script.c'. Add `kern/rescue_reader.c',
24270 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
24271 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24272 `grub_script.tab.c'.
24273
24274 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24275 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24277 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24278 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24279
24280 * Makefile.in: Remove duplicated 2008 in Copyright line.
24281
24282 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24283
24284 * util/misc.c (grub_util_warn): New function. Emits a warning
24285 unconditionally.
24286 * include/grub/util/misc.h (grub_util_warn): New declaration.
24287
24288 * util/i386/pc/grub-install.in: Understand --force and pass it down
24289 to grub-setup.
24290
24291 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24292 down to setup().
24293 (setup): Improve error messages and add warnings when requested to
24294 install in odd layouts. Refuse to install using blocklists unless
24295 --force was set.
24296
24297 2009-05-04 martin f. krafft <madduck@madduck.net>
24298
24299 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24300
24301 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24302
24303 Updated copyright year
24304
24305 * fs/hfsplus.c: updated copyright year
24306
24307 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24308
24309 HFS+ UUID
24310
24311 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
24312 in the space previously used by unused3
24313 (grub_hfsplus_uuid): new function
24314 (grub_hfsplus_fs): added uuid field
24315
24316 2009-05-03 Pavel Roskin <proski@gnu.org>
24317
24318 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24319 suppress warnings. It's no longer needed.
24320 * disk/host.c: Likewise.
24321 * disk/ata_pthru.c: Likewise.
24322 * disk/loopback.c: Likewise.
24323 * hook/datehook.c: Likewise.
24324 * parttool/pcpart.c: Likewise.
24325 * fs/i386/pc/pxe.c: Likewise.
24326 * fs/ntfscomp.c: Likewise.
24327 * efiemu/main.c: Likewise.
24328 * mmap/mmap.c: Likewise.
24329 * commands/crc.c: Likewise.
24330 * commands/hexdump.c: Likewise.
24331 * commands/hdparm.c: Likewise.
24332 * commands/acpi.c: Likewise.
24333 * commands/echo.c: Likewise.
24334 * commands/minicmd.c: Likewise.
24335 * commands/blocklist.c: Likewise.
24336 * commands/memrw.c: Likewise.
24337 * commands/loadenv.c: Likewise.
24338 * commands/usbtest.c: Likewise.
24339 * commands/lsmmap.c: Likewise.
24340 * commands/boot.c: Likewise.
24341 * commands/parttool.c: Likewise.
24342 * commands/configfile.c: Likewise.
24343 * commands/search.c: Likewise.
24344 * commands/ieee1275/suspend.c: Likewise.
24345 * commands/cat.c: Likewise.
24346 * commands/i386/pc/pxecmd.c: Likewise.
24347 * commands/i386/pc/play.c: Likewise.
24348 * commands/i386/pc/halt.c: Likewise.
24349 * commands/i386/pc/vbeinfo.c: Likewise.
24350 * commands/i386/pc/vbetest.c: Likewise.
24351 * commands/lspci.c: Likewise.
24352 * commands/date.c: Likewise.
24353 * commands/handler.c: Likewise.
24354 * commands/ls.c: Likewise.
24355 * commands/test.c: Likewise.
24356 * commands/cmp.c: Likewise.
24357 * commands/efi/loadbios.c: Likewise.
24358 * commands/efi/fixvideo.c: Likewise.
24359 * commands/halt.c: Likewise.
24360 * commands/help.c: Likewise.
24361 * commands/reboot.c: Likewise.
24362 * hello/hello.c: Likewise.
24363 * script/sh/main.c: Likewise.
24364 * loader/xnu.c: Likewise.
24365 * term/terminfo.c: Likewise.
24366 * term/i386/pc/serial.c: Likewise.
24367 * term/usb_keyboard.c: Likewise.
24368
24369 2009-05-03 David S. Miller <davem@davemloft.net>
24370
24371 * normal/menu.c: Include grub/parser.h
24372
24373 2009-05-03 Pavel Roskin <proski@gnu.org>
24374
24375 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24376 not char*.
24377 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24378 Suggested by Javier Martín <lordhabbit@gmail.com>
24379
24380 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24381 efiemu??.o doesn't exist.
24382 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24383 copying.
24384
24385 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
24386
24387 FreeBSD 64-bit support
24388
24389 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
24390 and loader/i386/bsd_trampoline.S
24391 (bsd_mod_ASFLAGS): new variable
24392 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24393 (FREEBSD_MODTYPE_KERNEL64): likewise
24394 (grub_bsd64_trampoline_start): likewise
24395 (grub_bsd64_trampoline_end): likewise
24396 (grub_bsd64_trampoline_selfjump): likewise
24397 (grub_bsd64_trampoline_gdt): likewise
24398 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24399 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24400 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24401 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
24402 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24403 of "attrib" member
24404 * loader/i386/bsd_pagetable.c: new file
24405 * loader/i386/bsd_trampoline.S: likewise
24406 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24407 (ALIGN_VAR): likewise
24408 (entry_hi): new variable
24409 (kern_end_mdofs): likewise
24410 (is_64bit): likewise
24411 (grub_freebsd_add_meta): use ALIGN_VAR
24412 (grub_e820_mmap): new declaration
24413 (grub_freebsd_add_mmap): new function
24414 (grub_freebsd_add_meta_module): support 64 bit kernels
24415 (grub_freebsd_list_modules): use ALIGN_VAR
24416 (gdt_descriptor): new declaration
24417 (grub_freebsd_boot): support 64 bit kernels
24418 (grub_bsd_elf64_hook): new function
24419 (grub_bsd_load_elf): support elf64
24420
24421 2009-05-03 Bean <bean123ch@gmail.com>
24422
24423 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24424 after we get the result of if statement.
24425
24426 2009-05-03 Bean <bean123ch@gmail.com>
24427
24428 * Makefile.in (enable_efiemu): New variable.
24429
24430 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24431 set.
24432 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24433 path.
24434 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24435 path, add -mno-red-zone option.
24436 (efiemu64_s.o): Likewise.
24437 (efiemu64.o): Use macro $^ for source file.
24438
24439 * configure.ac (--enable-efiemu): New option.
24440
24441 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 xnu support
24444
24445 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24446 (pkglib_MODULES): add xnu.mod
24447 (xnu_mod_SOURCES): new variable
24448 (xnu_mod_CFLAGS): likewise
24449 (xnu_mod_LDFLAGS): likewise
24450 (xnu_mod_ASFLAGS): likewise
24451 * conf/i386-pc.rmk: likewise
24452 * conf/x86_64-efi.rmk: likewise
24453 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
24454 new declaration
24455 * include/grub/i386/macho.h: new file
24456 * include/grub/i386/xnu.h: likewise
24457 * include/grub/macho.h: likewise
24458 * include/grub/machoload.h: likewise
24459 * include/grub/x86_64/macho.h: likewise
24460 * include/grub/x86_64/xnu.h: likewise
24461 * include/grub/xnu.h: likewise
24462 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24463 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24464 * loader/i386/efi/xnu.c: new file
24465 * loader/i386/pc/xnu.c: likewise
24466 * loader/i386/xnu.c: likewise
24467 * loader/i386/xnu_helper.S: likewise
24468 * loader/macho.c: likewise
24469 * loader/xnu.c: likewise
24470 * loader/xnu_resume.c: likewise
24471 * util/grub-dumpdevtree: likewise
24472 * include/grub/i386/pit.h: include grub/err.h
24473 (grub_pit_wait): export
24474 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
24475
24476 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24477
24478 Efiemu
24479
24480 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
24481 _linux_efi, linux_efi.
24482 new files in grub-emu
24483 new targets efiemu32.o and efiemu64.o
24484 * loader/linux_normal_efiemu.c: likewise
24485 * loader/i386/efi/linux.c: added preliminary efiemu support
24486 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24487 files to copy
24488 * include/grub/autoefi.h: new file
24489 * include/grub/i386/efiemu.h: likewise
24490 * include/grub/i386/pc/efiemu.h: likewise
24491 * include/grub/efi/api.h: add LL suffix when necessary
24492 new definitions relating to tables
24493 * include/grub/efiemu/efiemu.h: new file
24494 * include/grub/efiemu/runtime.h: likewise
24495 * efiemu/prepare.c: likewise
24496 * efiemu/loadcore_common.c: likewise
24497 * efiemu/loadcore64.c: likewise
24498 * efiemu/runtime/efiemu.sh: likewise
24499 * efiemu/runtime/efiemu.S: likewise
24500 * efiemu/runtime/efiemu.c: likewise
24501 * efiemu/runtime/config.h: likewise
24502 * efiemu/prepare32.c: likewise
24503 * efiemu/main.c: likewise
24504 * efiemu/modules/pnvram.c: likewise
24505 * efiemu/modules/i386: likewise
24506 * efiemu/modules/i386/pc: likewise
24507 * efiemu/modules/acpi.c: likewise
24508 * efiemu/i386/pc/cfgtables.c: likewise
24509 * efiemu/i386/loadcore64.c: likewise
24510 * efiemu/i386/loadcore32.c: likewise
24511 * efiemu/prepare64.c: likewise
24512 * efiemu/loadcore.c: likewise
24513 * efiemu/symbols.c: likewise
24514 * efiemu/mm.c: likewise
24515 * efiemu/loadcore32.c: likewise
24516
24517 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24518
24519 ACPI spoofing
24520
24521 * commands/acpi.c: new file
24522 * commands/i386/pc/acpi.c: likewise
24523 * commands/efi/acpi.c: likewise
24524 * include/grub/acpi.h: likewise
24525 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24526 (acpi_mod_SOURCES): new variable
24527 (acpi_mod_CFLAGS): likewise
24528 (acpi_mod_LDFLAGS): likewise
24529 * conf/i386-efi.rmk: likewise
24530 * conf/x86_64-efi.rmk: likewise
24531
24532 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24533
24534 Missing part from mmap patch
24535
24536 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24537 (grub_mmap_unregister)
24538 (grub_mmap_free_and_unregister): use grub_mmap_register
24539
24540 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24541
24542 Mmap services
24543
24544 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24545 * loader/i386/linux.c (find_mmap_size): likewise
24546 (allocate_pages): likewise
24547 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24548 (grub_fill_multiboot_mmap): likewise
24549 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24550 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24551 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24552 (OPENBSD_MMAP_RESERVED): likewise
24553 * include/grub/i386/pc/memory.h: include grub/memory.h
24554 (grub_lower_mem): removed
24555 (grub_upper_mem): likewise
24556 (GRUB_MACHINE_MEMORY_ACPI): new definition
24557 (GRUB_MACHINE_MEMORY_NVS): likewise
24558 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24559 (GRUB_MACHINE_MEMORY_HOLE): likewise
24560 (grub_machine_mmap_register): likewise
24561 (grub_machine_mmap_unregister): likewise
24562 (grub_machine_get_upper): likewise
24563 (grub_machine_get_lower): likewise
24564 (grub_machine_get_post64): likewise
24565 * include/grub/i386/efi/memory.h: new file
24566 * include/grub/x86_64/efi/memory.h: likewise
24567 * include/grub/efi/memory.h: likewise
24568 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24569 (mmap_mod_SOURCES): new variable
24570 (mmap_mod_LDFLAGS): likewise
24571 (mmap_mod_ASFLAGS): likewise
24572 * conf/i386-coreboot.rmk: likewise
24573 * conf/i386-ieee1275.rmk: likewise
24574 * conf/i386-efi.rmk: likewise
24575 * conf/x86_64-efi.rmk: likewise
24576 * include/grub/types.h (UINT_TO_PTR): new macro
24577 (PTR_TO_UINT32): likewise
24578 (PTR_TO_UINT64): likewise
24579 * include/grub/memory.h: new file
24580 * mmap/i386/pc/mmap.c: likewise
24581 * mmap/i386/pc/mmap_helper.S: likewise
24582 * mmap/i386/uppermem.c: likewise
24583 * mmap/mmap.c: likewise
24584 * mmap/efi/mmap.c: likewise
24585 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24586 grub_upper_mem
24587 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24588 (grub_upper_mem): likewise
24589 (grub_machine_init): don't use grub_upper_mem,
24590 make grub_lower_mem local
24591 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24592 grub_mmap_iterate and grub_mmap_get_upper
24593 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24594
24595 2009-05-02 Bean <bean123ch@gmail.com>
24596
24597 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24598 script/sh/parser.y.
24599 (pkglib_MODULES): Add normal.mod and sh.mod.
24600 (normal_SOURCES): New variable.
24601 (normal_mod_CFLAGS): Likewise.
24602 (normal_mod_LDFLAGS): Likewise.
24603 (sh_mod_SOURCES): Likewise.
24604 (sh_mod_CFLAGS): Likewise.
24605 (sh_mod_LDFLAGS): Likewise.
24606
24607 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24608 script/sh/lexer.c_DEPENDENCIES.
24609 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24610 kern/rescue_reader.c and kern/rescue_parser.c.
24611 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24612 (grub_emu_SOURCES): Change source files.
24613 (pkglib_MODULES): Remove normal.mod.
24614 (normal_SOURCES): Removed.
24615 (normal_mod_CFLAGS): Likewise.
24616 (normal_mod_LDFLAGS): Likewise.
24617 * conf/i386-coreboot.rmk: Likewise.
24618 * conf/i386-efi.rmk: Likewise.
24619 * conf/i386-ieee1276.rmk: Likewise.
24620 * conf/powerpc-ieee1275.rmk: Likewise.
24621 * conf/sparc64-ieee1275.rmk: Likewise.
24622 * conf/x86_64-efi.rmk: Likewise.
24623
24624 * include/grub/command.h (grub_command_execute): New inline function.
24625
24626 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24627
24628 * include/grub/normal.h: Remove <grub/setjmp.h>.
24629 (grub_fs_module_list): Moved to normal/autofs.c.
24630 (grub_exit_env): Removed.
24631 (grub_command_execute): Likewise.
24632 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24633 parameter script.
24634 (read_command_list): New function declaration.
24635 (read_fs_list): Likewise.
24636
24637 * include/parser.h: Include <grub/reader.h>.
24638 (grub_parser_split_cmdline): Change type of getline parameter.
24639 (grub_parser): New structure.
24640 (grub_parser_class): New variable.
24641 (grub_parser_execute): New function declaration.
24642 (grub_register_rescue_parser): Likewise.
24643 (grub_parser_register): New inline function.
24644 (grub_parser_unregister): Likewise.
24645 (grub_parser_get_current): Likewise.
24646 (grub_parser_set_current): Likewise.
24647
24648 * include/grub/reader.h: New file.
24649 * kern/reader.c: Likewise.
24650 * kern/rescue_parser.c: Likewise.
24651 * kern/rescue_reader.c: Likewise.
24652 * normal/autofs.c: Likewise.
24653 * normal/dyncmd.c: Likewise.
24654
24655 * include/grub/rescue.h: Removed.
24656 * normal/command.h: Likewise.
24657
24658 * include/grub/script.h: Moved to ...
24659 * include/grub/script_sh.h: ... Moved here.
24660 * normal/execute.c: Moved to ...
24661 * script/sh/execute.c: ... Moved here.
24662 * normal/function.c: Moved to ...
24663 * script/sh/function.c: ... Moved here.
24664 * normal/lexer.c: Moved to ...
24665 * script/sh/lexer.c: ... Moved here.
24666 * normal/parser.y: Moved to ...
24667 * script/sh/parser.y: ... Moved here.
24668 * normal/script.c: Moved to ...
24669 * script/sh/script.c: ... Moved here.
24670
24671 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24672 <grub/reader.h>.
24673 (grub_exit_env): Removed.
24674 (fs_module_list): Moved to normal/autofs.c.
24675 (grub_file_getline): Don't handle comment here.
24676 (free_menu): Skip removed field entry->commands.
24677 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24678 script parameter.
24679 (read_config_file): Removed nested parameter, change getline function.
24680 (grub_enter_normal_mode): Removed.
24681 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24682 (read_command_list): Likewise.
24683 (autoload_fs_module): Moved to normal/autofs.c.
24684 (read_fs_list): Likewise.
24685 (reader_nested): New variable.
24686 (grub_normal_execute): Run parser.sh to switch to sh parser.
24687 (grub_cmd_rescue): Removed.
24688 (cmd_normal): Removed.
24689 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24690 rescue command.
24691 (grub_cmdline_run): New function.
24692 (grub_normal_reader_init): Likewise.
24693 (grub_normal_read_line): Likewise.
24694 (grub_env_write_pager): Likewise.
24695 (cmdline): New variable.
24696 (grub_normal_reader): Likewise.
24697 (GRUB_MOD_INIT): Register normal reader and set as current, register
24698 pager hook, register normal command with grub_register_command_prio,
24699 so that it won't show up in command.lst.
24700 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24701 grub_fs_autoload_hook.
24702
24703 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24704 (grub_menu_execute_entry): Replace grub_script_execute with
24705 grub_parser_execute, change parameter to grub_command_execute.
24706
24707 * normal/menu_text.c: Remove <grub/script.h>.
24708
24709 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24710 and <grub/parser.h>.
24711 (run): Change editor_getline to use new parser interface. Change
24712 parameter to grub_command_execute.
24713
24714 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24715 <grub/reader.h> and <grub/parser.h>.
24716 (grub_load_normal_mode): Execute normal command.
24717 (grub_main): Call grub_register_core_commands,
24718 grub_register_rescue_parser and grub_register_rescue_reader, use
24719 grub_reader_loop to enter input loop.
24720
24721 * kern/parser.c (grub_parser_split_cmdline): Change type of
24722 getline parameter.
24723 (grub_parser_class): New variable.
24724 (grub_parser_execute): New function.
24725
24726 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24727 * loader/multiboot2.c: Likewise.
24728 * loader/sparc64/ieee1275/linux.c: Likewise.
24729
24730 * util/grub-emu.c (read_command_list): New dummy function.
24731
24732 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24733
24734 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24735 count to 16 for CCISS and IDA.
24736
24737 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24738
24739 * normal/menu_text.c (grub_wait_after_message): Print a newline
24740 after waiting for user input.
24741
24742 * loader/i386/linux.c: Include `<grub/normal.h>'.
24743 (grub_cmd_linux): Improve the error message about `ask' mode, by
24744 waiting for user input so it's not missed (we can do this, since
24745 user requested interaction).
24746
24747 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24748
24749 Added missing lst to grub-mkrescue
24750
24751 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24752 and ${input_dir}/parttool.lst
24753
24754 2009-04-30 David S. Miller <davem@davemloft.net>
24755
24756 * util/hostdisk.c (device_is_wholedisk): New function.
24757 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24758 zero only if device_is_wholedisk() returns true.
24759
24760 * util/hostdisk.c (convert_system_partition_to_system_disk):
24761 Handle virtual disk devices named /dev/vdiskX as found on sparc
24762 and powerpc.
24763
24764 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24765 lettered partition specifier is found, convert to numbered.
24766
24767 2009-04-29 David S. Miller <davem@davemloft.net>
24768
24769 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24770 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24771
24772 * normal/command.c: Add missing newline at end of file.
24773
24774 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24775 warnings.
24776 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24777 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24778 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24779 ihandles have a 32-bit type but need to be stored in a "void *".
24780
24781 2009-04-28 Pavel Roskin <proski@gnu.org>
24782
24783 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24784 not disk. Adjust all dependencies.
24785 (grub_fs_uuid_close): Use grub_device_close(), not
24786 grub_disk_close().
24787
24788 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24789 parent's partition, don't copy it by reference, as it gets freed
24790 on close.
24791
24792 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24793
24794 Preboot hooks support
24795
24796 * commands/boot.c (struct grub_preboot_t): new declaration
24797 (preboots_head): new variable
24798 (preboots_tail): likewise
24799 (grub_loader_register_preboot_hook): new function
24800 (grub_loader_unregister_preboot_hook): likewise
24801 (grub_loader_set): launch preboot hooks
24802 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24803 (grub_loader_register_preboot_hook): new declaration
24804 (grub_loader_unregister_preboot_hook): likewise
24805
24806 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24807
24808 Warning fix
24809
24810 * disk/scsi.c (grub_scsi_open): added missing cast when
24811 calling grub_dprintf
24812
24813 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24814
24815 Bug and warning fixes
24816
24817 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
24818 declaration
24819 * commands/test.c (test_parse): fixed bug with file tests and corrected
24820 declaration of find_file
24821
24822 2009-04-26 Pavel Roskin <proski@gnu.org>
24823
24824 * Makefile.in: Don't install empty manual pages if help2man is
24825 missing. Use help2man option for output, not shell redirection.
24826
24827 2009-04-26 David S. Miller <davem@davemloft.net>
24828
24829 * util/grub-mkdevicemap.c (make_device_map): Add missing
24830 NESTED_FUNC_ATTR to process_device().
24831
24832 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24833
24834 Test command
24835
24836 * commands/test.c: rewritten to use bash-like test
24837
24838 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24839
24840 Parttool autoloading and improvements
24841
24842 * Makefile.in (pkglib_DATA): add parttool.lst
24843 (parttool.lst): new target
24844 * genmk.rb: generate parttool-*
24845 (CLEANFILES): add #{parttool}
24846 (PARTTOOLFILES): new variable
24847 * genparttoollist.sh: new file
24848 * parttool/pcpart.c (grub_pcpart_boot): more feedback
24849 (grub_pcpart_type): likewise
24850 * commands/parttool.c (helpmsg): new variable
24851 (grub_cmd_parttool): output help if not enough arguments are supplied
24852 autoload modules
24853 (GRUB_MOD_INIT(parttool)): use helpmsg
24854
24855 2009-04-24 David S. Miller <davem@davemloft.net>
24856
24857 Avoiding opening same device multiple times in device iterator.
24858
24859 * kern/device.c: (grub_device_iterate): Define struct part_ent,
24860 and use it to build a list of partitions in iterate_disk() and
24861 iterate_partition().
24862
24863 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24864 on disk->data.
24865
24866 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24867 grub_devalias_iterate() result instead of unconditional 0.
24868 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24869 Also, capture hook return value, either directly or via
24870 grub_children_iterate(), and propagate to caller.
24871 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24872 grub_children_iterate): Return value is now 'int' instead of
24873 'grub_err_t'.
24874 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24875 like a proper iterator, stopping when hooks return non-zero.
24876 (grub_devalias_iterate): Likewise.
24877
24878 2009-04-23 David S. Miller <davem@davemloft.net>
24879
24880 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24881
24882 2009-04-22 David S. Miller <davem@davemloft.net>
24883
24884 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24885 is larger than address_cells, use that value for address_cells too.
24886
24887 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24888 IEEE1275_MAX_PATH_LEN): Define.
24889 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24890 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24891 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24892 'devtype'. Explicitly NULL terminate devalias expansion.
24893
24894 * util/sparc64/ieee1275/misc.c: New file.
24895 * util/sparc64/ieee1275/grub-setup.c: New file.
24896 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24897 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24898 * util/sparc64/ieee1275/grub-install.in: New file.
24899 * util/ieee1275/ofpath.c: New file.
24900 * util/ieee1275/devicemap.c: New file.
24901 * util/devicemap.c: New file.
24902 * util/deviceiter.c: New file.
24903 * kern/sparc64/ieee1275/init.c: New file.
24904 * include/grub/util/ofpath.h: New file.
24905 * include/grub/util/deviceiter.h: New file.
24906 * util/grub-mkdevicemap.c: Include deviceiter.h.
24907 Implement using grub_util_emit_devicemap_entry and
24908 grub_util_iterate_devices.
24909 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24910 util/devicemap.c into grub-mkdevicemap
24911 * conf/i386-efi.rmk: Likewise.
24912 * conf/i386-ieee1275.rmk: Likewise.
24913 * conf/i386-pc.rmk: Likewise.
24914 * conf/powerpc-ieee1275.rmk: Likewise.
24915 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24916 images and installation utilities. Build kernel as image
24917 instead of as elf binary. Use common rules as much as possible.
24918
24919 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24920
24921 Correct GPT definition
24922
24923 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24924 of "attrib" member
24925
24926 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
24927
24928 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24929
24930 2009-04-19 David S. Miller <davem@davemloft.net>
24931
24932 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24933 (grub_rescue_cmd_linux): Rename to...
24934 (grub_cmd_linux): and fix prototype.
24935 (grub_rescue_cmd_initrd): Rename to...
24936 (grub_cmd_initrd): and fix prototype.
24937 (cmd_linux, cmd_initrd): New.
24938 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24939 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24940
24941 2009-04-17 Pavel Roskin <proski@gnu.org>
24942
24943 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24944 format.
24945 (grub_ohci_transfer): Likewise.
24946
24947 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24948
24949 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24950 return without a value. Fix inconsistent indentation.
24951
24952 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24953 match struct grub_fs.
24954
24955 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24956 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24957 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24958 * commands/lspci.c (grub_lspci_iter): Likewise.
24959
24960 2009-04-16 Bean <bean123ch@gmail.com>
24961
24962 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24963 value.
24964
24965 2009-04-15 Pavel Roskin <proski@gnu.org>
24966
24967 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24968 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24969 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24970 definitions.
24971
24972 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24973
24974 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
24975 that no multiple data or metadata areas are supported and `Unknown
24976 metadata header'.
24977
24978 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24979
24980 Move loader out of the kernel
24981
24982 * kern/loader.c: moved to ...
24983 * commands/boot.c: ... moved here
24984 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24985 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24986 * include/grub/kernel.h (grub_machine_fini): export
24987 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24988 (grub_loader_set): likewise
24989 (grub_loader_unset): likewise
24990 (grub_loader_boot): likewise
24991 * conf/common.rmk: new module boot.mod
24992 (pkglib_MODULES): add boot.mod
24993 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24994 (grub_emu_SOURCES): likewise
24995 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24996 (grub_emu_SOURCES): likewise
24997 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24998 (grub_emu_SOURCES): likewise
24999 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25000 (grub_emu_SOURCES): likewise
25001 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25002 (grub_emu_SOURCES): likewise
25003 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25004 (grub_emu_SOURCES): likewise
25005 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
25006 (grub_emu_SOURCES): likewise
25007
25008 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25009
25010 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
25011
25012 * kern/misc.c (grub_itoa): Removed function
25013 (grub_ltoa): likewise
25014 (grub_vsprintf): use grub_lltoa
25015
25016 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25017
25018 Restore grub-emu
25019
25020 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25021 * conf/i386-coreboot.rmk: likewise
25022 * conf/i386-ieee1275.rmk: likewise
25023 * conf/powerpc-ieee1275.rmk: likewise
25024
25025 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
25026
25027 * INSTALL: Add that `./autogen.sh' needs to be run before
25028 `./configure.'.
25029
25030 2009-04-14 Bean <bean123ch@gmail.com>
25031
25032 * Makefile.in (pkglib_DATA): Add handler.lst.
25033 (handler.lst): New rule.
25034
25035 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25036 * conf/i386-coreboot.rmk: Likewise.
25037 * conf/i386-ieee1275.rmk: Likewise.
25038 * conf/i386-efi.rmk: Likewise.
25039 * conf/x86_64-efi.rmk: Likewise.
25040 * conf/powerpc-ieee1275.rmk: Likewise.
25041 * conf/sparc64-ieee1275.rmk: Likewise.
25042
25043 * genhandlerlist.sh: New file.
25044
25045 * genmk.rb: Add rules to generate handler.lst.
25046
25047 * include/grub/normal.h (grub_file_getline): New function definition.
25048 (read_handler_list): Likewise.
25049 (free_handler_list): Likewise.
25050
25051 * include/grub/term.h (grub_term_register_input): Add name parameter
25052 for auto generation of handler.lst.
25053 (grub_term_register_output): Likewise.
25054
25055 * normal/handler.c: New file.
25056
25057 * normal/main.c (get_line): Renamed to grub_file_getline.
25058 (read_config_file): Use the newly renamed grub_file_getline.
25059 (read_command_list): Likewise.
25060 (read_fs_list): Likewise.
25061 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25062 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25063
25064 * term/efi/console.c (grub_console_init): Add name parameter for auto
25065 generation of handler.lst.
25066 * term/gfxterm.c: Likewise.
25067 * term/i386/pc/at_keyboard.c: Likewise.
25068 * term/i386/pc/console.c: Likewise.
25069 * term/i386/pc/serial.c: Likewise.
25070 * term/i386/pc/vesafb.c: Likewise.
25071 * term/i386/pc/vga.c: Likewise.
25072 * term/i386/pc/vga_text.c: Likewise.
25073 * term/ieee1275/ofconsole.c: Likewise.
25074 * term/usb_keyboard.c: Likewise.
25075
25076 2009-04-14 Bean <bean123ch@gmail.com>
25077
25078 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25079 properly with null character.
25080
25081 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
25082
25083 * configure: Remove.
25084 * config.h.in: Likewise.
25085 * stamp-h.in: Likewise.
25086 * DISTLIST: Likewise.
25087 * conf/common.mk: Likewise.
25088 * conf/i386-coreboot.mk: Likewise.
25089 * conf/i386-efi.mk: Likewise.
25090 * conf/i386-ieee1275.mk: Likewise.
25091 * conf/i386.mk: Likewise.
25092 * conf/i386-pc.mk: Likewise.
25093 * conf/powerpc-ieee1275.mk: Likewise.
25094 * conf/sparc64-ieee1275.mk: Likewise.
25095 * conf/x86_64-efi.mk: Likewise.
25096
25097 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25098 develop on GRUB.
25099
25100 2009-04-14 John Stanley <jpsinthemix@verizon.net>
25101 David S. Miller <davem@davemloft.net>
25102
25103 * util/hostdisk.c (make_device_name): Fix buffer length
25104 calculations.
25105
25106 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
25107
25108 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25109 <sys/param.h> and <sys/sysctl.h>.
25110 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25111 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25112 opening the device and reset them afterwards.
25113
25114 2009-04-13 Pavel Roskin <proski@gnu.org>
25115
25116 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25117 Reported by John Stanley <jpsinthemix@verizon.net>
25118
25119 2009-04-13 Robert Millan <rmh@aybabtu.com>
25120
25121 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
25122 that name for menuentries when appropriate.
25123
25124 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25125
25126 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25127
25128 2009-04-13 Robert Millan <rmh@aybabtu.com>
25129
25130 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25131 to Linux, simply abort telling the user it's no longer supported.
25132
25133 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25134
25135 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
25136 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
25137 `freebsd_loadenv' only when devices.hints exist.
25138
25139 2009-04-13 Pavel Roskin <proski@gnu.org>
25140
25141 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25142
25143 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25144
25145 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25146 partition number.
25147 (grub_drive): Likewise.
25148
25149 2009-04-13 David S. Miller <davem@davemloft.net>
25150
25151 * kern/sparc64/ieee1275/ieee1275.c: New file.
25152 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25153 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25154 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25155 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25156 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25157 grub_ieee1275_alloc_physmem): Declare new exported functions.
25158
25159 * include/grub/sparc64/ieee1275/loader.h: New file.
25160 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25161 * include/grub/sparc64/kernel.h: Likewise.
25162 * loader/sparc64/ieee1275/linux.c: Likewise.
25163
25164 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25165 (grub_fstest_SOURCES): Likewise.
25166
25167 * util/hostdisk.c (make_device_name): Do not make any assumptions
25168 about the length of drive names.
25169
25170 * kern/dl.c (grub_dl_load_file): Close file immediately when
25171 we are done using it.
25172
25173 2009-04-12 David S. Miller <davem@davemloft.net>
25174
25175 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25176 values. Noticed by Pavel Roskin.
25177
25178 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25179 target compiler.
25180
25181 * genmk.rb: Add more flexible image type specification, also
25182 pass --strip-unneeded to objcopy.
25183 * conf/i386-pc.rmk: Use *_FORMAT.
25184 * conf/i386-pc.mk: Rebuilt.
25185
25186 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25187 (OFDISK_HASH_SZ): Define.
25188 (ofdisk_hash): New hash table.
25189 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25190 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25191 instead of device phandle which is not unique.
25192
25193 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25194 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25195 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25196 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25197 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25198 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25199 GRUB_KERNEL_MACHINE_DATA_END): Define.
25200 (grub_kernel_image_size, grub_total_module_size): Declare.
25201
25202 2009-04-12 Pavel Roskin <proski@gnu.org>
25203
25204 * configure.ac: Change the logic when we check for target tools.
25205 Do it when the target is specified and it's different from the
25206 specified value of the host.
25207
25208 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
25209
25210 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25211 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25212 GNU/kFreeBSD. Check if a device is a character device. Use
25213 DIOCGMEDIASIZE to get the size.
25214 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25215 support for GNU/kFreeBSD.
25216 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25217 is a character device instead of a block device. Add support for
25218 FreeBSD device names.
25219
25220 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25221 is a character device instead of a block device.
25222
25223 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25224 is a character device instead of a block device.
25225
25226 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25227
25228 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25229 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25230 FreeBSD. Check if a device is a character device. Use
25231 DIOCGMEDIASIZE to get the size.
25232 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25233 support for FreeBSD.
25234 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25235 is a character device instead of a block device. Add support for
25236 FreeBSD device names.
25237
25238 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25239 a character device instead of a block device.
25240 (grub_util_check_char_device): New function.
25241
25242 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25243 a character device instead of a block device.
25244
25245 * include/grub/util/getroot.h (grub_util_check_char_device): New
25246 prototype.
25247
25248 2009-04-11 David S. Miller <davem@davemloft.net>
25249
25250 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25251 static libgcc.
25252 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25253 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25254 function, if present.
25255 (__bswapdi2): Likewise.
25256
25257 * include/grub/sparc64/ieee1275/boot.h: New file.
25258 * boot/sparc64/ieee1275/boot.S: Likewise.
25259 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25260
25261 * kern/misc.c (grub_ltoa): New function.
25262 (grub_vsprintf): Use it to format 'long' integers.
25263
25264 2009-04-10 David S. Miller <davem@davemloft.net>
25265
25266 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25267 slots are of type grub_ieee1275_cell_t.
25268 (grub_nand_read): Likewise.
25269 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25270 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25271 macros are used to compare values in arg/ret block of the call.
25272 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25273 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25274 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25275 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25276 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25277 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25278 grub_ieee1275_close, grub_ieee1275_set_property,
25279 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25280 grub_ieee1275_cell_t.
25281 * kern/ieee1275/openfw.c (grub_map): Likewise.
25282 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25283 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25284
25285 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25286 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25287 (grub_devalias_iterate): Likewise.
25288
25289 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25290
25291 UFS improvements
25292
25293 * fs/ufs.c (INODE_NBLOCKS): new definition
25294 (struct grub_ufs_dirent): added fields for non-BSD dirents
25295 (grub_ufs_get_file_block): fixed double indirect handling
25296 (grub_ufs_lookup_symlink): use more robust way to determine whether
25297 symlink is inline
25298 (grub_ufs_find_file): support for non-BSD dirents
25299 (grub_ufs_dir): support for non-BSD dirents
25300
25301 2009-04-10 Bean <bean123ch@gnail.com>
25302
25303 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25304 attribute, otherwise the size would be wrong for i386 platform.
25305
25306 * include/grub/pci.h (grub_pci_read_word): New inline function.
25307 (grub_pci_read_byte): Likewise.
25308 (grub_pci_write): Likewise.
25309 (grub_pci_write_word): Likewise.
25310 (grub_pci_write_byte): Likewise.
25311
25312 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25313
25314 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25315 (find_framebuf): Scan pci to locate the frame buffer address.
25316
25317 * commands/efi/fixvideo.c: New file.
25318
25319 * commands/efi/loadbios.c: Likewise.
25320
25321 * commands/memrw.c: Likewise.
25322
25323 * util/grub-dumpbios.in: Likewise.
25324
25325 * conf/common.rmk (grub-dumpbios): New utility.
25326 (pkglib_MODULES): New module memrw.mod.
25327 (memrw_mod_SOURCE): New macro.
25328 (memrw_mod_CFLAGS): Likewise.
25329 (memrw_mod_LDFLAGS): Likewise.
25330
25331 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
25332 fixvideo.mod.
25333 (loadbios_mod_SOURCE): New macro.
25334 (loadbios_mod_CFLAGS): Likewise.
25335 (loadbios_mod_LDFLAGS): Likewise.
25336 (fixvideo_mod_SOURCE): Likewise.
25337 (fixvideo_mod_CFLAGS): Likewise.
25338 (fixvideo_mod_LDFLAGS): Likewise.
25339
25340 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
25341 fixvideo.mod.
25342 (loadbios_mod_SOURCE): New macro.
25343 (loadbios_mod_CFLAGS): Likewise.
25344 (loadbios_mod_LDFLAGS): Likewise.
25345 (fixvideo_mod_SOURCE): Likewise.
25346 (fixvideo_mod_CFLAGS): Likewise.
25347 (fixvideo_mod_LDFLAGS): Likewise.
25348
25349 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
25350
25351 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25352
25353 2009-04-07 David S. Miller <davem@davemloft.net>
25354
25355 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25356 support for R_SPARC_OLO10 relocations. Fix compile warning for
25357 R_SPARC_WDISP30 case.
25358 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
25359
25360 2009-04-06 Pavel Roskin <proski@gnu.org>
25361
25362 * include/grub/misc.h (ARRAY_SIZE): New macro.
25363 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25364 New macro.
25365 * loader/i386/linux.c (allocate_pages): Use free_pages().
25366 (grub_linux_unload): Don't use free_pages().
25367 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25368 wrong index. Treat all other modes as text modes.
25369 (grub_cmd_linux): Initialize vid_mode unconditionally to
25370 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25371
25372 * commands/help.c (print_command_help): Use cmd->prio, not
25373 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25374
25375 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25376
25377 Parttool
25378
25379 * parttool/pcpart.c: new file
25380 * commands/parttool.c: likewise
25381 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25382 (parttool_mod_SOURCES): new variable
25383 (parttool_mod_CFLAGS): likewise
25384 (parttool_mod_LDFLAGS): likewise
25385 (pcpart_mod_SOURCES): likewise
25386 (pcpart_mod_CFLAGS): likewise
25387 (pcpart_mod_LDFLAGS): likewise
25388 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
25389 and parttool/pcpart.c
25390 * conf/i386-efi.rmk: likewise
25391 * conf/i386-ieee1275.rmk: likewise
25392 * conf/i386-pc.rmk: likewise
25393 * conf/powerpc-ieee1275.rmk: likewise
25394 * conf/sparc64-ieee1275.rmk: likewise
25395 * conf/x86_64-ieee1275.rmk: likewise
25396
25397 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25398
25399 Support for mtime and further expandability of dir command
25400
25401 * include/grub/lib/datetime.h: moved to ...
25402 * include/grub/datetime.h: ... moved here and added
25403 declaration of grub_unixtime2datetime. All users updated
25404 * include/grub/fs.h: new syntax for dir and mtime functions in
25405 struct grub_fs
25406 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25407 and GRUB_FSHELP_FLAGS_MASK
25408 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25409 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25410 (grub_ext2_mtime): new function
25411 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25412 (grub_hfsplus_mtime): new function
25413 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25414 (GRUB_UFS_ATTR_FILE): likewise
25415 (GRUB_UFS_ATTR_LNK): likewise
25416 (struct grub_ufs_sblock): new fields mtime
25417 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25418 all users updated
25419 (grub_ufs_dir): mtime support
25420 (grub_ufs_mtime): new function
25421 * fs/affs.c (grub_affs_dir): use new dir syntax
25422 * fs/afs.c (grub_afs_dir): likewise
25423 * fs/cpio.c (grub_cpio_dir): likewise
25424 * fs/fat.c (grub_fat_find_dir): likewise
25425 * fs/hfs.c (grub_hfs_dir): likewise
25426 * fs/iso9660.c (grub_iso9660_dir): likewise
25427 * fs/jfs.c (grub_jfs_dir): likewise
25428 * fs/minix.c (grub_minix_dir): likewise
25429 * fs/ntfs.c (grub_ntfs_dir): likewise
25430 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25431 * fs/sfs.c (grub_sfs_dir): likewise
25432 * fs/xfs.c (grub_xfs_dir): likewise
25433 * util/hostfs.c (grub_hostfs_dir): likewise
25434 * lib/datetime.c: moved to ...
25435 * normal/datetime.c: ... moved here
25436 (grub_unixtime2datetime): new function
25437 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
25438 * normal/completion.c (iterate_dir): use new dir syntax
25439 * normal/misc.c (grub_normal_print_device_info): tell the
25440 last modification time of a volume
25441 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
25442 * conf/common.rmk: added lib/datetime.c to ls.mod
25443 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
25444 (normal_mod_SOURCES): likewise
25445 (datetime_mod_SOURCES): Removed lib/datetime.c
25446 * conf/i386-efi.rmk: likewise
25447 * conf/i386-ieee1275.rmk: likewise
25448 * conf/i386-pc.rmk: likewise
25449 * conf/powerpc-ieee1275.rmk: likewise
25450 * conf/sparc64-ieee1275.rmk: likewise
25451 * conf/x86_64-efi.rmk: likewise
25452
25453 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25454
25455 Trim trailing spaces in FAT label and support mtools-like labels
25456
25457 * fs/fat.c (grub_fat_iterate_dir): New function based
25458 on grub_fat_find_dir
25459 (grub_fat_find_dir): use grub_fat_iterate_dir
25460 (grub_fat_label): likewise
25461
25462 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25463
25464 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
25465 and command.h
25466 remove extraneous kernel_elf_HEADERS
25467
25468 2009-04-04 Bean <bean123ch@gnail.com>
25469
25470 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25471
25472 * util/misc.c: Likewise.
25473
25474 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25475
25476 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25477 instead of grub_printf.
25478
25479 2009-04-03 Robert Millan <rmh@aybabtu.com>
25480
25481 * loader/i386/linux.c (grub_linux_setup_video): Fill
25482 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25483 values from `mode info' structure instead of hardcoded
25484 values.
25485
25486 2009-04-01 Pavel Roskin <proski@gnu.org>
25487
25488 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25489 unused now.
25490 * genmk.rb: Likewise.
25491 * configure.ac: Likewise.
25492
25493 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25494
25495 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25496 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25497
25498 2009-04-01 David S. Miller <davem@davemloft.net>
25499
25500 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25501 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25502 (grub_setjmp): Mark with 'returns_twice' attribute.
25503 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25504 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25505 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25506
25507 2009-04-01 Robert Millan <rmh@aybabtu.com>
25508
25509 Reapply fix from 2008-07-28 which was accidentally reverted; also
25510 perform the same fix to a similar check in same function.
25511
25512 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25513 with the same number are found, just use issue a warning with
25514 grub_dprintf(), as this error has been reported to be non-fatal.
25515
25516 2009-03-31 Pavel Roskin <proski@gnu.org>
25517
25518 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25519 for cross-compilation.
25520
25521 2009-03-30 Robert Millan <rmh@aybabtu.com>
25522
25523 Fix i386-ieee1275 build.
25524
25525 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25526 Remove declaration.
25527
25528 2009-03-30 Pavel Roskin <proski@gnu.org>
25529
25530 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25531 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25532 zero-terminated, rely only on the strlen value. Fix comparison
25533 of strings differing in length.
25534
25535 2009-03-30 Robert Millan <rmh@aybabtu.com>
25536
25537 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25538 checking for abi version. Improve error messages on BIOS to notify
25539 user about `linux16' command.
25540
25541 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25542
25543 Leak fixes
25544
25545 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25546 in case of collision
25547 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25548
25549 2009-03-29 Robert Millan <rmh@aybabtu.com>
25550
25551 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25552 set `vid_mode' accordingly.
25553 (grub_linux_boot): Process `vid_mode' and set video mode.
25554
25555 2009-03-29 Robert Millan <rmh@aybabtu.com>
25556
25557 * util/grub.d/10_linux.in (linux_entry): New function.
25558 Factorize generation of Linux boot entries.
25559
25560 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25561
25562 Make the format of Environment Block plain text. The boot loader
25563 part is not tested well yet.
25564
25565 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25566 (buffer): Removed.
25567 (envblk): Likewise.
25568 (usage): Remove "info" and "clear". Add "unset". Update the
25569 description of "set", as this does not delete variables any
25570 longer.
25571 (create_envblk_file): Complete rewrite.
25572 (open_envblk_file): Likewise.
25573 (cmd_info): Removed.
25574 (cmd_list): Likewise.
25575 (cmd_set): Likewise.
25576 (cmd_clear): Likewise.
25577 (list_variables): New function.
25578 (write_envblk): Likewise.
25579 (set_variables): Likewise.
25580 (unset_variables): Likewise.
25581 (main): Complete rewrite.
25582
25583 * commands/loadenv.c (buffer): Removed.
25584 (envblk): Likewise.
25585 (open_envblk_file): New function.
25586 (read_envblk_file): Complete rewrite.
25587 (grub_cmd_load_env): Likewise.
25588 (grub_cmd_list_env): Likewise.
25589 (struct blocklist): New struct.
25590 (free_blocklists): New function.
25591 (check_blocklists): Likewise.
25592 (write_blocklists): Likewise.
25593 (grub_cmd_save_env): Complete rewrite.
25594
25595 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25596 a plain text signature.
25597 (GRUB_ENVBLK_MAXLEN): Removed.
25598 (struct grub_envblk): Complete rewrite.
25599 (grub_envblk_find): Removed.
25600 (grub_envblk_insert): Likewise.
25601 (grub_envblk_open): New prototype.
25602 (grub_envblk_set): Likewise.
25603 (grub_envblk_delete): Put const to VALUE.
25604 (grub_envblk_iterate): Put const to NAME and VALUE.
25605 (grub_envblk_close): New prototype.
25606 (grub_envblk_buffer): New inline function.
25607 (grub_envblk_size): Likewise.
25608
25609 * lib/envblk.c: Include grub/mm.h.
25610 (grub_env_find): Removed.
25611 (grub_envblk_open): New function.
25612 (grub_envblk_close): Likewise.
25613 (escaped_value_len): Likewise.
25614 (find_next_line): Likewise.
25615 (grub_envblk_insert): Removed.
25616 (grub_envblk_set): New function.
25617 (grub_envblk_delete): Complete rewrite.
25618 (grub_envblk_iterate): Likewise.
25619
25620 2009-03-28 Robert Millan <rmh@aybabtu.com>
25621
25622 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25623 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25624 variables. Use 16-bit loader.
25625 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25626 loader.
25627 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25628 (grub_linux16_boot): ... this. Update all users.
25629 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25630 (grub_linux_boot): ... this. Update all users.
25631
25632 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25633 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25634 commands to `linux16' and `initrd16'.
25635 (GRUB_MOD_FINI(linux)): Rename to ...
25636 (GRUB_MOD_FINI(linux16)): ... this.
25637
25638 2009-03-24 Pavel Roskin <proski@gnu.org>
25639
25640 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25641 not just for compilation.
25642
25643 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 Move multiboot helper out of kernel
25646
25647 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25648 `loader/i386/multiboot_helper.S'.
25649 * conf/i386-coreboot.rmk: Likewise
25650 * conf/i386-ieee1275.rmk: Likewise
25651
25652 * kern/i386/loader.S: Move multiboot helpers from here...
25653 * loader/i386/multiboot_helper.S: ...moved here
25654 * include/grub/i386/loader.h: Move declarations of multiboot
25655 helpers from here...
25656 * include/grub/i386/multiboot.h: ...moved here
25657 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25658
25659 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25660
25661 * kern/env.c (grub_env_context_open): Added an argument to specify
25662 whether a new context inherits exported variables from current
25663 one. This is useful when making a sandbox to interpret a config
25664 file.
25665 All callers updated.
25666
25667 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25668
25669 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25670
25671 * kern/env.c (grub_env_context_close): Fix memory leaks.
25672
25673 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25674
25675 * normal/main.c (grub_normal_execute): Added an argument
25676 BATCH to specify if an interactive interface should be provided
25677 after reading a config file.
25678 All callers updated.
25679 (read_command_list): Prevent being executed twice.
25680 (read_fs_list): Likewise.
25681
25682 * include/grub/normal.h (grub_normal_execute): Updated the
25683 prototype.
25684
25685 2009-03-22 Pavel Roskin <proski@gno.org>
25686
25687 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25688 _start.
25689 * kern/i386/pc/startup.S: Likewise.
25690 * kern/i386/efi/startup.S: Likewise.
25691 * kern/i386/ieee1275/startup.S: Likewise.
25692 * kern/i386/coreboot/startup.S: Likewise.
25693 * kern/x86_64/efi/startup.S: Likewise.
25694
25695 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25696 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25697 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25698
25699 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25700
25701 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25702
25703 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25704 limit detection.
25705 Use vaddr of correct segment for entry_point.
25706
25707 2009-03-21 Bean <bean123ch@gmail.com>
25708
25709 * commands/blocklist.c: Add include file <grub/command.h>, remove
25710 <grub/normal.h> and <grub/arg.h>.
25711 (grub_cmd_blocklist): Use the new command interface.
25712 (GRUB_MOD_INIT): Likewise.
25713 (GRUB_MOD_FINI): Likewise.
25714 * commands/boot.c: Likewise.
25715 * commands/cat.c: Likewise.
25716 * commands/cmp.c: Likewise.
25717 * commands/configfile.c: Likewise.
25718 * commands/crc.c: Likewise.
25719 * commands/echo.c: Likewise.
25720 * commands/halt.c: Likewise.
25721 * commands/handler.c: Likewise.
25722 * commands/hdparm.c: Likewise.
25723 * commands/help.c: Likewise.
25724 * commands/hexdump.c: Likewise.
25725 * commands/loadenv.c: Likewise.
25726 * commands/ls.c: Likewise.
25727 * commands/lsmmap.c: Likewise.
25728 * commands/lspci.c: Likewise.
25729 * commands/loadenv.c: Likewise.
25730 * commands/read.c: Likewise.
25731 * commands/reboot.c: Likewise.
25732 * commands/search.c: Likewise.
25733 * commands/sleep.c: Likewise.
25734 * commands/test.c: Likewise.
25735 * commands/usbtest.c: Likewise.
25736 * commands/videotest.c: Likewise.
25737 * commands/i386/cpuid.c: Likewise.
25738 * commands/i386/pc/halt.c: Likewise.
25739 * commands/i386/pc/play.c: Likewise.
25740 * commands/i386/pc/pxecmd.c: Likewise.
25741 * commands/i386/pc/vbeinfo.c: Likewise.
25742 * commands/i386/pc/vbetest.c: Likewise.
25743 * commands/ieee1275/suspend.c: Likewise.
25744 * disk/loopback.c: Likewise.
25745 * font/font_cmd.c: Likewise.
25746 * hello/hello.c: Likewise.
25747 * loader/efi/appleloader.c: Likewise.
25748 * loader/efi/chainloader.c: Likewise.
25749 * loader/i386/bsd.c: Likewise.
25750 * loader/i386/efi/linux.c: Likewise.
25751 * loader/i386/ieee1275/linux.c: Likewise.
25752 * loader/i386/linux.c: Likewise.
25753 * loader/i386/pc/chainloader.c: Likewise.
25754 * loader/i386/pc/linux.c: Likewise.
25755 * loader/powerpc/ieee1275/linux.c: Likewise.
25756 * loader/multiboot_loader.c: Likewise.
25757 * term/gfxterm.c: Likewise.
25758 * term/i386/pc/serial.c: Likewise.
25759 * term/terminfo.c: Likewise.
25760
25761 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25762 * term/i386/pc/vga.c: Likewise.
25763 * video/readers/jpeg.c: Likewise.
25764 * video/readers/png.c: Likewise.
25765 * video/readers/tga.c: Likewise.
25766
25767 * util/grub-fstest (cmd_loopback): Removed.
25768 (cmd_blocklist): Likewise.
25769 (cmd_ls): Likewise.
25770 (grub_register_command): Likewise.
25771 (grub_unregister_command): Likewise.
25772 (execute_command): Use grub_command_find to locate command and execute
25773 it.
25774
25775 * include/grub/efi/chainloader.h: Removed.
25776 * loader/efi/chainloader_normal.c: Likewise.
25777 * loader/i386/bsd_normal.c: Likewise.
25778 * loader/i386/pc/chainloader_normal.c: Likewise.
25779 * loader/i386/pc/multiboot_normal.c: Likewise.
25780 * loader/linux_normal.c: Likewise.
25781 * loader/multiboot_loader_normal.c: Likewise.
25782 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25783
25784 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25785 and grub_register_command_p1.
25786
25787 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25788 kern/command.c, lib/arg.c and commands/extcmd.c.
25789 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25790 (minicmd_mod_SOURCES): New variable.
25791 (minicmd_mod_CFLAGS): Likewise.
25792 (minicmd_mod_LDFLAGS): Likewise.
25793 (extcmd_mod_SOURCES): Likewise.
25794 (extcmd_mod_CFLAGS): Likewise.
25795 (extcmd_mod_LDFLAGS): Likewise.
25796 (boot_mod_SOURCES): Removed.
25797 (boot_mod_CFLAGS): Likewise.
25798 (boot_mod_LDFLAGS): Likewise.
25799
25800 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25801 kern/corecmd.c.
25802 (kernel_img_HEADERS): Add command.h.
25803 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25804 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25805 and lib/arg.c.
25806 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25807 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25808 remove the corresponding normal mode command.
25809 (normal_mod_SOURCES): Remove normal/arg.c.
25810 * conf/i386-coreboot.rmk: Likewise.
25811 * conf/i386-efi.rmk: Likewise.
25812 * conf/i386-ieee1275.rmk: Likewise.
25813 * conf/powerpc-ieee1275.rmk: Likewise.
25814 * conf/x86_64-efi.rmk: Likewise.
25815
25816 * include/grub/arg.h: Move from here ...
25817 * include/grub/lib/arg.h: ... to here.
25818
25819 * normal/arg.c: Move from here ...
25820 * lib/arg.c: ... to here.
25821
25822 * commands/extcmd.c: New file.
25823 * commands/minicmd.c: Likewise.
25824 * include/grub/command.h: Likewise.
25825 * include/grub/extcmd.h: Likewise.
25826 * kern/command.c: Likewise.
25827 * kern/corecmd.c: Likewise.
25828
25829 * kern/list.c (grub_list_iterate): Return int instead of void.
25830 (grub_list_insert): New function.
25831 (grub_prio_list_insert): Likewise.
25832
25833 * kern/rescue.c (grub_rescue_command): Removed.
25834 (grub_rescue_command_list): Likewise.
25835 (grub_rescue_register_command): Likewise.
25836 (grub_rescue_unregister_command): Likewise.
25837 (grub_rescue_cmd_boot): Move to minicmd.c
25838 (grub_rescue_cmd_help): Likewise.
25839 (grub_rescue_cmd_info): Likewise.
25840 (grub_rescue_cmd_boot): Likewise.
25841 (grub_rescue_cmd_testload): Likewise.
25842 (grub_rescue_cmd_dump): Likewise.
25843 (grub_rescue_cmd_rmmod): Likewise.
25844 (grub_rescue_cmd_lsmod): Likewise.
25845 (grub_rescue_cmd_exit): Likewise.
25846 (grub_rescue_print_devices): Moved to corecmd.c.
25847 (grub_rescue_print_files): Likewise.
25848 (grub_rescue_cmd_ls): Likewise.
25849 (grub_rescue_cmd_insmod): Likewise.
25850 (grub_rescue_cmd_set): Likewise.
25851 (grub_rescue_cmd_unset): Likewise.
25852 (attempt_normal_mode): Use grub_command_find to get normal module.
25853 (grub_enter_rescue_mode): Use grub_register_core_commands to register
25854 commands, remove grub_rescue_register_command calls.
25855
25856 * normal/command.c (grub_register_command): Removed.
25857 (grub_unregister_command): Likewise.
25858 (grub_command_find): Likewise.
25859 (grub_iterate_commands): Likewise.
25860 (rescue_command): Likewise.
25861 (export_command): Moved to corecmd.c.
25862 (set_command): Removed.
25863 (unset_command): Likewise.
25864 (insmod_command): Likewise.
25865 (rmmod_command): Likewise.
25866 (lsmod_command): Likewise.
25867 (grub_command_init): Likewise.
25868
25869 * normal/completion.c (iterate_command): Use cmd->prio to check for
25870 active command.
25871 (complete_arguments): Use grub_extcmd_t structure to find options.
25872 (grub_normal_do_completion): Change function grub_iterate_commands to
25873 grub_command_iterate.
25874
25875 * normal/execute.c (grub_script_execute_cmd): No need to parse
25876 argument here.
25877
25878 * normal/main.c (grub_dyncmd_dispatcher): New function.
25879 (read_command_list): Register unload commands as dyncmd.
25880 (grub_cmd_normal): Use new command interface, register rescue,
25881 unregister normal at entry, register normal, unregister rescue at exit.
25882
25883 * include/grub/list.h (grub_list_test_t): New type.
25884 (grub_list_iterate): Return int instead of void.
25885 (grub_list_insert): New function.
25886 (GRUB_AS_NAMED_LIST_P): New macro.
25887 (GRUB_AS_PRIO_LIST): Likewise.
25888 (GRUB_AS_PRIO_LIST_P): Likewise.
25889 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25890 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25891 (grub_prio_list): New structure.
25892 (grub_prio_list_insert): New function.
25893 (grub_prio_list_remove): New inline function.
25894
25895 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25896 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25897 (GRUB_COMMAND_FLAG_MENU): Likewise.
25898 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25899 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25900 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25901 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25902 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25903 (grub_command): Likewise.
25904 (grub_register_command): Likewise.
25905 (grub_command_find): Likewise.
25906 (grub_iterate_commands): Likewise.
25907 (grub_command_init): Likewise.
25908 (grub_arg_parse): Likewise.
25909 (grub_arg_show_help): Likewise.
25910
25911 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25912 (grub_rescue_unregister_command): Likewise.
25913
25914 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25915 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25916 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25917
25918 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25919 grub_rescue_cmd_initrd.
25920 * include/grub/i386/loader.h: Likewise.
25921 * include/grub/x86_64/loader.h: Likewise.
25922
25923 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25924
25925 2009-03-21 Bean <bean123ch@gmail.com>
25926
25927 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25928 instead of stat in mingw environment.
25929
25930 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25931
25932 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25933
25934 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25935 AC_CONFIG_LINKS.
25936
25937 2009-03-21 Bean <bean123ch@gmail.com>
25938
25939 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25940 out of range error.
25941
25942 2009-03-18 Michel Dänzer <michel@daenzer.net>
25943
25944 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25945 checking inode flags for EXT4_EXTENTS_FLAG.
25946
25947 2009-03-18 Robert Millan <rmh@aybabtu.com>
25948
25949 * loader/i386/linux.c: Include `<grub/video.h>' and
25950 `<grub/i386/pc/vbe.h>'..
25951 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25952 (grub_linux32_boot): Attempt to configure video settings with
25953 grub_linux_setup_video().
25954 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25955 to avoid grub_console_fini() which would step out of graphical mode
25956 unconditionally.
25957
25958 2009-03-14 Robert Millan <rmh@aybabtu.com>
25959
25960 Fix build on powerpc.
25961 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25962
25963 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25964
25965 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25966 background image command.
25967
25968 2009-03-12 Colin D Bennett <colin@gibibit.com>
25969
25970 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25971 (grub_gfxterm_putchar): Extract pairs of identical calls to
25972 draw_cursor out of conditional blocks.
25973
25974 2009-03-11 Pavel Roskin <proski@gnu.org>
25975
25976 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25977 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25978
25979 2009-03-11 Robert Millan <rmh@aybabtu.com>
25980
25981 * loader/i386/multiboot_elfxx.c
25982 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25983
25984 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
25985
25986 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25987 `kern/handler.c'.
25988
25989 2009-03-11 Robert Millan <rmh@aybabtu.com>
25990
25991 * loader/i386/multiboot.c (code_size): New variable.
25992 (grub_multiboot): Define offsets by adding to `code_size' rather
25993 than subtracting from `grub_multiboot_payload_size'. Provide
25994 4-byte alignment to MBI and others by increasing
25995 `boot_loader_name_length' appropriately.
25996
25997 * loader/i386/multiboot_elfxx.c
25998 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25999
26000 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
26001
26002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26003 `fs/ext2.c'.
26004
26005 2009-03-08 Robert Millan <rmh@aybabtu.com>
26006
26007 Make loader/i386/linux.c usable on i386-pc again.
26008
26009 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26010 memory to heap.
26011 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26012 `#error' stanza.
26013
26014 2009-03-07 Bean <bean123ch@gmail.com>
26015
26016 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26017 allocation.
26018
26019 2009-03-06 Robert Millan <rmh@aybabtu.com>
26020
26021 Fix display issue on terminals with screen size other than 80x25
26022 (e.g. gfxterm with resolution higher than 640x480).
26023
26024 * normal/main.c (grub_normal_init_page): Display title text in a
26025 position relative to the center of the terminal instead of relying
26026 on a hardcoded offset.
26027
26028 2009-03-04 Robert Millan <rmh@aybabtu.com>
26029
26030 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26031 installed.
26032
26033 * Makefile.in (host_kernel): New variable.
26034 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26035 scripts instead of just the windows one.
26036 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26037
26038 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26039
26040 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26041 `kern/handler.c'.
26042 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26043 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26044 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26046 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26047 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26048
26049 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26050
26051 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26052 or if there's no space for the disk label and print the partition number on a
26053 invalid magic.
26054
26055 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26056
26057 * util/misc.c: Include <time.h>.
26058 (grub_millisleep): New function.
26059
26060 2009-03-04 Bean <bean123ch@gmail.com>
26061
26062 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26063 another option -mno-red-zone.
26064
26065 * commands/handler.c: Change module description.
26066
26067 * kern/handler.c: Add missing space at the end of description line.
26068
26069 * kern/list.c: Likewise.
26070
26071 2009-03-03 Robert Millan <rmh@aybabtu.com>
26072
26073 Move more components to the relocation area, and fix mbi pointer
26074 handling to use the destination rather than the origin (thanks to
26075 Vladimir Serbinenko for spotting).
26076
26077 * loader/i386/multiboot.c (mbi_dest): New variable.
26078 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26079 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26080 relocation area.
26081
26082 2009-03-01 Bean <bean123ch@gmail.com>
26083
26084 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
26085 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26086 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26087 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26088
26089 * loader/i386/efi/linux.c (acpi_guid): New variable.
26090 (acpi_guid): Likewise.
26091 (EBDA_SEG_ADDR): New constant.
26092 (LOW_MEM_ADDR): Likewise.
26093 (FAKE_EBDA_SEG): Likewise.
26094 (fake_bios_data): New function.
26095 (grub_linux_boot): Call fake_bios_data.
26096
26097 2009-03-01 Bean <bean123ch@gmail.com>
26098
26099 * commands/terminal.c: Removed.
26100
26101 * commands/handler.c: New file.
26102
26103 * include/grub/list.h: Likewise.
26104
26105 * include/grub/handler.h: Likewise.
26106
26107 * kern/list.c: Likewise.
26108
26109 * kern/handler.c: Likewise.
26110
26111 * kern/term.h: Include header file <grub/handler.h>.
26112 (grub_term_input): Move next field to the beginning.
26113 (grub_term_output): Likewise.
26114 (grub_term_input_class): New variable.
26115 (grub_term_output_class): Likewise.
26116 (grub_term_register_input): Changed to inline function.
26117 (grub_term_register_output): Likewise.
26118 (grub_term_unregister_input): Likewise.
26119 (grub_term_unregister_output): Likewise.
26120 (grub_term_set_current_input): Likewise.
26121 (grub_term_set_current_output): Likewise.
26122 (grub_term_get_current_input): Likewise.
26123 (grub_term_get_current_output): Likewise.
26124 (grub_term_iterate_input): Removed.
26125 (grub_term_iterate_output): Likewise.
26126
26127 * kern/term.c (grub_term_list_input): Removed.
26128 (grub_term_list_output): Likewise.
26129 (grub_term_input_class): New variable.
26130 (grub_term_output_class): Likewise.
26131 (grub_cur_term_input): Change variable as macro.
26132 (grub_cur_term_output): Likewise.
26133 (grub_term_register_input): Removed.
26134 (grub_term_register_output): Likewise.
26135 (grub_term_unregister_input): Likewise.
26136 (grub_term_unregister_output): Likewise.
26137 (grub_term_set_current_input): Likewise.
26138 (grub_term_set_current_output): Likewise.
26139 (grub_term_iterate_input): Likewise.
26140 (grub_term_iterate_output): Likewise.
26141 (grub_term_get_current_input): Likewise.
26142 (grub_term_get_current_output): Likewise.
26143
26144 * util/grub-editenv.c: Include header file <grub/handler.h>.
26145 (grub_term_get_current_input): Removed.
26146 (grub_term_get_current_output): Likewise.
26147 (grub_term_input_class): New variable.
26148 (grub_term_output_class): Likewise.
26149
26150 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26151 (grub_term_get_current_output): Likewise.
26152 (grub_term_input_class): New variable.
26153 (grub_term_output_class): Likewise.
26154
26155 * util/grub-probe.c (grub_term_get_current_input): Removed.
26156 (grub_term_get_current_output): Likewise.
26157 (grub_term_input_class): New variable.
26158 (grub_term_output_class): Likewise.
26159
26160 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26161 (grub_term_get_current_output): Likewise.
26162 (grub_term_input_class): New variable.
26163 (grub_term_output_class): Likewise.
26164
26165 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26166 (terminal_mod_SOURCES): Likewise.
26167 (terminal_mod_CFLAGS): Likewise.
26168 (terminal_mod_LDFLAGS): Likewise.
26169
26170 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26171 handler.c.
26172 (kernel_img_SOURCES): Add list.c and handler.c.
26173 (kernel_img_HEADERS): Add list.h and handler.h.
26174
26175 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26176 handler.c.
26177 (kernel_mod_SOURCES): Add list.c and handler.c.
26178 (kernel_mod_HEADERS): Add list.h and handler.h.
26179
26180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26181 handler.c.
26182 (kernel_elf_SOURCES): Add list.c and handler.c.
26183 (kernel_elf_HEADERS): Add list.h and handler.h.
26184
26185 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26186 handler.c.
26187 (kernel_elf_SOURCES): Add list.c and handler.c.
26188 (kernel_elf_HEADERS): Add list.h and handler.h.
26189
26190 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26191 handler.c.
26192 (kernel_mod_SOURCES): Add list.c and handler.c.
26193 (kernel_mod_HEADERS): Add list.h and handler.h.
26194
26195 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26196 handler.c.
26197 (kernel_elf_SOURCES): Add list.c and handler.c.
26198 (kernel_elf_HEADERS): Add list.h and handler.h.
26199
26200 2009-02-27 Robert Millan <rmh@aybabtu.com>
26201
26202 Factorize elf32 / elf64 code in Multiboot loader. This will
26203 prevent it from getting out of sync again.
26204
26205 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26206 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26207 grub_multiboot_load_elf64): Move from here ...
26208 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26209 grub_multiboot_load_elf): ... to here (new file).
26210
26211 2009-02-27 Robert Millan <rmh@aybabtu.com>
26212
26213 * util/grub.d/10_linux.in: Rename "single-user mode" to
26214 "recovery mode".
26215
26216 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26217
26218 Don't leak in SCSI code.
26219 * disk/scsi.c (grub_scsi_close): free `scsi'.
26220
26221 2009-02-27 Robert Millan <rmh@aybabtu.com>
26222
26223 * loader/i386/pc/multiboot.c: Move from here ...
26224 * loader/i386/multiboot.c: ... to here. Update all users.
26225
26226 2009-02-27 Robert Millan <rmh@aybabtu.com>
26227
26228 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26229 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26230
26231 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
26232
26233 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26234 b-tree.
26235
26236 2009-02-27 Robert Millan <rmh@aybabtu.com>
26237
26238 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26239 `0x' qualifier as 0 when base is specified as parameter).
26240
26241 2009-02-24 Bean <bean123ch@gmail.com>
26242
26243 * configure.ac: Check for -mcmodel=large in x86_64 target.
26244
26245 * include/grub/efi/api.h (efi_call_10): New macro.
26246 (efi_wrap_10): New function.
26247
26248 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26249 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26250 (GRUB_PE32_REL_BASED_LOW): Likewise.
26251 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26252 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26253 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26254 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26255 (GRUB_PE32_REL_BASED_REL): Likewise.
26256 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26257 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26258 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26259
26260 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26261 issue.
26262
26263 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26264 (efi_wrap_10): New function.
26265
26266 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26267
26268 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26269 MB/MBP model (NV chipset).
26270 (devdata_devs): Add devpath_5 to the list.
26271
26272 * load/i386/efi/linux.c (video_base): Remove variable.
26273 (RGB_MASK): New macro.
26274 (RGB_MAGIC): Likewise.
26275 (LINE_MIN): Likewise.
26276 (LINE_MAX): Likewise.
26277 (FBTEST_STEP): Likewise.
26278 (FBTEST_COUNT): Likewise.
26279 (fb_list): New variable.
26280 (grub_find_video_card): Remove function.
26281 (find_framebuf): New function.
26282 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26283 line length.
26284
26285 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26286 problem for x86_64.
26287
26288 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26289
26290 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26291
26292 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26293 coding tool name.
26294
26295 2009-02-22 Robert Millan <rmh@aybabtu.com>
26296
26297 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26298 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26299 in our relocation, instead of using it directly from heap. Also
26300 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26301
26302 2009-02-21 Robert Millan <rmh@aybabtu.com>
26303
26304 Implement USB keyboard support (based on patch by Marco Gerards)
26305
26306 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26307 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26308 (usb_keyboard_mod_LDFLAGS): New variables.
26309
26310 * term/usb_keyboard.c: New file.
26311
26312 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26313
26314 Corrected wrong declaration
26315
26316 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26317
26318 2009-02-14 Christian Franke <franke@computer.org>
26319
26320 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26321 (grub_lspci_iter): Print class code and programming interface byte.
26322
26323 2009-02-14 Christian Franke <franke@computer.org>
26324
26325 * gendistlist.sh: Ignore `.svn' directories.
26326
26327 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
26328
26329 * fs/fat.c: Add 2009 to Copyright line.
26330
26331 2009-02-14 Christian Franke <franke@computer.org>
26332
26333 * commands/hdparm.c: New file. Provides `hdparm' command
26334 which sends ATA commands via grub_disk_ata_pass_through ().
26335
26336 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26337
26338 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26339 and <grub/cpu/io.h> to include/grub/ata.h.
26340 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26341 (GRUB_CDROM_SECTOR_SIZE): Remove.
26342 (GRUB_ATA_*): Move to include/grub/ata.h.
26343 (GRUB_ATAPI_*): Likewise.
26344 (enum grub_ata_commands): Likewise.
26345 (enum grub_ata_timeout_milliseconds): Likewise.
26346 (struct grub_ata_device): Likewise.
26347 (grub_ata_regset): Likewise.
26348 (grub_ata_regget): Likewise.
26349 (grub_ata_regset2): Likewise.
26350 (grub_ata_regget2): Likewise.
26351 (grub_ata_check_ready): Likewise.
26352 (grub_ata_wait_not_busy): Remove static, exported in
26353 include/grub/ata.h.
26354 (grub_ata_wait_drq): Likewise.
26355 (grub_ata_pio_read): Likewise.
26356
26357 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26358 function for hdparm.mod.
26359
26360 * include/grub/ata.h: New file, contains declarations from
26361 disk/ata.c.
26362 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26363
26364 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26365 (grub_disk_ata_pass_through): New exported variable.
26366
26367 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26368
26369 2009-02-13 Colin D Bennett <colin@gibibit.com>
26370
26371 Support multiple fallback entries, and provide an API to support
26372 executing default+fallback menu entries. Renamed the `terminal' menu
26373 viewer to `text'.
26374
26375 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26376 variable declaration.
26377 (grub_menu_execute_callback): New structure declaration.
26378 (grub_menu_execute_callback_t): New typedef.
26379 (grub_menu_execute_with_fallback): New function declaration.
26380 (grub_menu_get_entry): Likewise.
26381 (grub_menu_get_timeout): Likewise.
26382 (grub_menu_set_timeout): Likewise.
26383
26384 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26385
26386 * normal/menu.c (grub_wait_after_message): Moved to
26387 `normal/menu_text.c'.
26388 (draw_border): Likewise.
26389 (print_message): Likewise.
26390 (print_entry): Likewise.
26391 (print_entries): Likewise.
26392 (grub_menu_init_page): Likewise.
26393 (get_entry_number): Likewise.
26394 (print_timeout): Likewise.
26395 (run_menu): Likewise.
26396 (grub_menu_execute_entry): Likewise.
26397 (show_text_menu): Likewise.
26398 (get_and_remove_first_entry_number): New function.
26399 (grub_menu_execute_with_fallback): Likewise.
26400 (get_entry): Renamed to ...
26401 (grub_menu_get_entry): .. this and made it global.
26402 (get_timeout): Renamed to ...
26403 (grub_menu_get_timeout): ... this and made it global.
26404 (set_timeout): Renamed to ...
26405 (grub_menu_set_timeout): ... this and made it global.
26406 (grub_normal_terminal_menu_viewer): Renamed to ...
26407 (grub_normal_text_menu_viewer): ... this.
26408
26409 * normal/menu_text.c: New file. Extracted text-menu-specific code
26410 from normal/menu.c.
26411
26412 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26413 (normal_mod_SOURCES): Likewise.
26414
26415 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26416 (normal_mod_SOURCES): Likewise.
26417
26418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26419 (normal_mod_SOURCES): Likewise.
26420
26421 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26422 (normal_mod_SOURCES): Likewise.
26423
26424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26425 (normal_mod_SOURCES): Likewise.
26426
26427 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26428 (normal_mod_SOURCES): Likewise.
26429
26430 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26431 (normal_mod_SOURCES): Likewise.
26432
26433 2009-02-11 Robert Millan <rmh@aybabtu.com>
26434
26435 * util/grub.d/00_header.in: Update old reference to `font' command.
26436
26437 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
26438
26439 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26440
26441 Based on patch from Javier Martín.
26442
26443 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26444
26445 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
26446 to avoid false positives with FAT.
26447 (grub_fstest_SOURCES): Likewise.
26448 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26449 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26451 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26454
26455 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26456
26457 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
26458 bpb.version_specific.fat12_or_fat16.fstype and
26459 bpb.version_specific.fat32.fstype.
26460
26461 2009-02-08 Robert Millan <rmh@aybabtu.com>
26462
26463 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
26464
26465 2009-02-08 Robert Millan <rmh@aybabtu.com>
26466
26467 * Makefile.in (host_os, host_cpu): New variables.
26468 (target_os): Remove. Update all users.
26469
26470 2009-02-08 Marco Gerards <marco@gnu.org>
26471
26472 * Makefile.in (enable_grub_emu_usb): New variable.
26473 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26474 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26475 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26476 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26477 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26478 `usbtest.mod' and `usbms.mod'.
26479 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26480 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26481 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26482 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26483 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26484 variables.
26485
26486 * disk/usbms.c: New file.
26487
26488 * include/grub/usb.h: Likewise.
26489
26490 * include/grub/usbtrans.h: Likewise.
26491
26492 * include/grub/usbdesc.h: Likewise.
26493
26494 * bus/usb/usbtrans.c: Likewise.
26495
26496 * bus/usb/ohci.c: Likewise.
26497
26498 * bus/usb/uhci.c: Likewise.
26499
26500 * bus/usb/usbhub.c: Likewise.
26501
26502 * bus/usb/usb.c: Likewise.
26503
26504 * commands/usbtest.c: Likewise.
26505
26506 * util/usb.c: Likewise.
26507
26508 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26509
26510 * configure.ac: Test for libusb presence.
26511
26512 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26513
26514 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26515
26516 * kern/mm.c: Add more comments.
26517
26518 2009-02-08 Robert Millan <rmh@aybabtu.com>
26519
26520 Patch from Javier Martín.
26521 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26522 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26523
26524 2009-02-08 Robert Millan <rmh@aybabtu.com>
26525
26526 * fs/cpio.c: Split tar functionality to ...
26527 * fs/tar.c: ... here (new file). Update all users.
26528
26529 2009-02-07 Robert Millan <rmh@aybabtu.com>
26530
26531 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26532 backward-incompatible features.
26533
26534 Based on patch from Javier Martín, with some adjustments.
26535
26536 2009-02-07 Michael Scherer <misc@mandriva.org>
26537
26538 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26539
26540 2009-02-07 Robert Millan <rmh@aybabtu.com>
26541
26542 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26543 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26544 after the RAID stuff.
26545
26546 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26547
26548 Fixes problem when running vbetest command as reported by
26549 Vladimir Serbinenko <phcoder@gmail.com>.
26550
26551 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26552
26553 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26554
26555 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26556 /dev/md/NpN style mdraid devices.
26557
26558 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26559
26560 * util/unifont2pff.rb: Remove.
26561
26562 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26563
26564 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26565 `#'.
26566
26567 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26568
26569 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26570 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26571 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26572 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26576
26577 2009-02-02 Christian Franke <franke@computer.org>
26578
26579 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26580
26581 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26582
26583 * INSTALL: Note that we now require at least autoconf 2.59 and
26584 that LZO is optional.
26585
26586 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26587
26588 Base on patch on bug #24154 created by Tomas Tintera
26589 <trosos@seznam.cz>.
26590
26591 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26592
26593 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26594
26595 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26596 <bero@arklinux.org>.
26597
26598 * normal/parser.y (script_init): Add missing semicolon.
26599
26600 2009-01-31 Colin D Bennett <colin@gibibit.com>
26601
26602 * normal/main.c: Add include to grub/menu_viewer.h.
26603 (free_menu_entry_classes): Added.
26604 (grub_normal_menu_addentry): Added class property handling.
26605 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26606 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26607
26608 * normal/menu_viewer.c: New file.
26609
26610 * normal/menu.c (run_menu_entry): Renamed to ...
26611 (grub_menu_execute_entry): ... this and made it as global.
26612 (grub_menu_run): Renamed to ...
26613 (show_text_menu): ... this and made it local.
26614 (show_text_menu): Adapt to new function names.
26615 (grub_normal_terminal_menu_viewer): New global variable.
26616
26617 * include/grub/menu.h: New file.
26618
26619 * include/grub/menu_viewer.h: New file.
26620
26621 * include/grub/normal.h: Added include to grub/menu.h.
26622 (grub_menu_entry): Moved to include/grub/menu.h.
26623 (grub_menu_entry_t): Likewise.
26624 (grub_menu): Likewise.
26625 (grub_menu_t): Likewise.
26626 (grub_normal_terminal_menu_viewer): Added.
26627 (grub_menu_execute_entry): Likewise.
26628 (grub_menu_run): Removed.
26629
26630 * DISTLIST: Added include/grub/menu.h.
26631 Added include/grub/menu_viewer.h.
26632 Added normal/menu_viewer.c.
26633
26634 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26635
26636 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26637 arglist for menutitle arguments.
26638
26639 * normal/main.c (grub_normal_menu_addentry): Likewise.
26640
26641 * normal/parser.y (menuentry): Likewise.
26642
26643 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26644
26645 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26646 (grub_script_create_cmdmenu): Likewise.
26647
26648 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26649
26650 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26651 changes.
26652
26653 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26654
26655 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26656
26657 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26658
26659 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26660
26661 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26662
26663 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26664
26665 2009-01-30 Christian Franke <franke@computer.org>
26666
26667 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26668 in option help text.
26669
26670 2009-01-27 Pavel Roskin <proski@gnu.org>
26671
26672 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26673
26674 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26675
26676 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26677
26678 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26679
26680 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26681 unregister function.
26682
26683 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26684
26685 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26686
26687 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26688
26689 * util/grub-mkfont.c (usage): Fix typo.
26690
26691 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26692
26693 2009-01-26 Daniel Mierswa <impulze@impulze.org>
26694
26695 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26696
26697 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26698
26699 * kern/misc.c (grub_strcasecmp): New function.
26700 (grub_strcasecmp): Use grub_size_t instead of int for length.
26701 Fix return value.
26702 * include/grub/misc.h: Update function prototypes.
26703
26704 2009-01-26 Robert Millan <rmh@aybabtu.com>
26705
26706 * configure.ac: Fix cross-compilation check.
26707
26708 2009-01-22 Christian Franke <franke@computer.org>
26709
26710 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26711 (precision) digit string. Allow `.format2' without `format1' (width).
26712 Limit input chars for `%s' output to `format2' if specified. This is
26713 compatible with standard printf ().
26714
26715 2009-01-22 Christian Franke <franke@computer.org>
26716
26717 * disk/ata.c (grub_ata_wait_status): Replace by ...
26718 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26719 other status bits may be invalid while BSY is asserted.
26720 (grub_ata_check_ready): New function.
26721 (grub_ata_cmd): Removed.
26722 (grub_ata_wait_drq): New function.
26723 (grub_ata_strncpy): Remove inline.
26724 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26725 and error check now done by grub_ata_wait_drq ().
26726 (grub_ata_pio_write): Likewise.
26727 (grub_atapi_identify): Set DEV before check for !BSY. Use
26728 grub_ata_wait_drq () to wait for data.
26729 (grub_ata_device_initialize): Add status register check to
26730 detect missing SATA slave devices. Add debug messages.
26731 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26732 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26733 transfer loop by grub_ata_pio_write ().
26734 (grub_ata_identify): Set DEV before check for !BSY. Use
26735 grub_ata_wait_drq () to wait for data.
26736 (grub_ata_setaddress): Set DEV before check for !BSY.
26737 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26738 read/write in one loop. Fix invalid command on write. Fix incomplete
26739 command on (size % batch) == 0. Add missing error check after write of
26740 last block. Add debug messages.
26741 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26742
26743 2009-01-19 Christian Franke <franke@computer.org>
26744
26745 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26746 (GRUB_ATAPI_IREASON_*): Likewise.
26747 (grub_ata_pio_write): Fix timeout error return.
26748 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26749 (grub_atapi_wait_drq): New function.
26750 (grub_atapi_packet): New parameter `size'.
26751 Use grub_atapi_wait_drq () and direct write instead of
26752 grub_ata_pio_write ().
26753 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26754 reads the number of bytes requested by the device for each DRQ
26755 assertion.
26756 (grub_atapi_write): Remove old implementation, return not
26757 implemented instead.
26758
26759 2009-01-19 Christian Franke <franke@computer.org>
26760
26761 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26762 of 512 to calculate data size.
26763 (grub_scsi_read12): Likewise.
26764 (grub_scsi_write10): Likewise.
26765 (grub_scsi_write12): Likewise.
26766 (grub_scsi_read): Adjust size according to blocksize.
26767 Add checks for invalid blocksize and unaligned transfer.
26768
26769 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26770
26771 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26772
26773 * term/gfxterm.c (write_char): Fix background rendering for wide
26774 width glyphs.
26775
26776 2009-01-19 Robert Millan <rmh@aybabtu.com>
26777
26778 * config.guess: Update to latest version from config git.
26779 * config.sub: Likewise.
26780
26781 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
26782
26783 * Makefile.in: Change font compilation to use new grub-mkfont instead
26784 of java version.
26785
26786 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26787 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26788 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26789 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26790 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26791 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26792 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26793 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26794 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26795
26796 2009-01-16 Christian Franke <franke@computer.org>
26797
26798 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26799 (enum grub_ata_timeout_milliseconds): New enum.
26800 (grub_ata_wait_status): Add parameter milliseconds.
26801 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26802 recovery from timed-out commands.
26803 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26804 return grub_errno instead of REG_ERROR.
26805 (grub_ata_pio_write): Add parameter milliseconds.
26806 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26807 Pass milliseconds to grub_ata_wait_status () and
26808 grub_ata_pio_read ().
26809 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26810 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26811 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26812 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26813 It is not suitable for device detection, because DEV bit is ignored,
26814 the command may run too long, and not all devices set the signature
26815 properly.
26816 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26817 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26818 Fix device selection, DEV bit must be set first to address the registers
26819 of the correct device.
26820 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26821 grub_ata_pio_read/write ().
26822 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26823 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26824
26825 2009-01-13 Carles Pina i Estany <carles@pina.cat>
26826
26827 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26828
26829 2009-01-13 Bean <bean123ch@gmail.com>
26830
26831 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26832
26833 2009-01-13 Bean <bean123ch@gmail.com>
26834
26835 * Makefile.in: (enable_grub_mkfont): New variable.
26836 (freetype_cflags): Likewise.
26837 (freetype_libs): Likewise.
26838
26839 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26840 (grub_mkfont_SOURCES): New variable.
26841 (grub_mkfont_CFLAGS): Likewise.
26842 (grub_mkfont_LDFLAGS): Likewise.
26843
26844 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26845 library if `--enable-grub-mkfont' is requested.
26846 (enable_grub_mkfont): New variable.
26847 (freetype_cflags): Likewise.
26848 (freetype_libs): Likewise.
26849
26850 * util/grub-mkfont.c: New file.
26851
26852 2009-01-12 Christian Franke <franke@computer.org>
26853
26854 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26855 mode check. Fix setting of compat_use[].
26856
26857 2009-01-10 Robert Millan <rmh@aybabtu.com>
26858
26859 Update a few copyright years which we forgot to do in 2008 (only for
26860 files whose changes made in 2008 were copyright-significant)
26861
26862 * Makefile.in: Add 2008 to Copyright line.
26863 * disk/ieee1275/ofdisk.c: Likewise.
26864 * disk/efi/efidisk.c: Likewise.
26865 * kern/dl.c: Likewise.
26866 * kern/sparc64/ieee1275/init.c: Likewise.
26867 * kern/mm.c: Likewise.
26868 * kern/efi/mm.c: Likewise.
26869 * boot/i386/pc/boot.S: Likewise.
26870 * genfslist.sh: Likewise.
26871 * fs/iso9660.c: Likewise.
26872 * fs/hfs.c: Likewise.
26873 * fs/jfs.c: Likewise.
26874 * fs/minix.c: Likewise.
26875 * fs/ufs.c: Likewise.
26876 * gensymlist.sh.in: Likewise.
26877 * genkernsyms.sh.in: Likewise.
26878 * include/grub/misc.h: Likewise.
26879 * include/grub/types.h: Likewise.
26880 * include/grub/symbol.h: Likewise.
26881 * include/grub/elf.h: Likewise.
26882 * include/grub/kernel.h: Likewise.
26883 * include/grub/disk.h: Likewise.
26884 * include/grub/dl.h: Likewise.
26885 * include/grub/i386/linux.h: Likewise.
26886 * include/grub/i386/pc/biosdisk.h: Likewise.
26887 * include/grub/efi/api.h: Likewise.
26888 * include/grub/efi/pe32.h: Likewise.
26889 * include/grub/util/misc.h: Likewise.
26890 * normal/execute.c: Likewise.
26891 * normal/arg.c: Likewise.
26892 * normal/completion.c: Likewise.
26893 * normal/lexer.c: Likewise.
26894 * normal/parser.y: Likewise.
26895 * normal/misc.c: Likewise.
26896 * commands/i386/pc/vbeinfo.c: Likewise.
26897 * commands/hexdump.c: Likewise.
26898 * commands/terminal.c: Likewise.
26899 * commands/ls.c: Likewise.
26900 * commands/help.c: Likewise.
26901 * partmap/pc.c: Likewise.
26902 * loader/efi/chainloader.c: Likewise.
26903 * loader/multiboot_loader.c: Likewise.
26904 * loader/i386/pc/multiboot2.c: Likewise.
26905 * term/efi/console.c: Likewise.
26906 * term/i386/pc/serial.c: Likewise.
26907 * util/lvm.c: Likewise.
26908 * util/console.c: Likewise.
26909 * util/i386/efi/grub-mkimage.c: Likewise.
26910 * util/raid.c: Likewise.
26911
26912 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26913
26914 * commands/videotest.c: Removed include to grub/machine/memory.h.
26915
26916 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26917 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26918 (video_mod_SOURCES): Removed.
26919 (video_mod_CFLAGS): Likewise.
26920 (video_mod_LDFLAGS): Likewise.
26921 (gfxterm_mod_SOURCES): Likewise.
26922 (gfxterm_mod_CFLAGS): Likewise.
26923 (gfxterm_mod_LDFLAGS): Likewise.
26924 (videotest_mod_SOURCES): Likewise.
26925 (videotest_mod_CFLAGS): Likewise.
26926 (videotest_mod_LDFLAGS): Likewise.
26927 (bitmap_mod_SOURCES): Likewise.
26928 (bitmap_mod_CFLAGS): Likewise.
26929 (bitmap_mod_LDFLAGS): Likewise.
26930 (tga_mod_SOURCES): Likewise.
26931 (tga_mod_CFLAGS): Likewise.
26932 (tga_mod_LDFLAGS): Likewise.
26933 (jpeg_mod_SOURCES): Likewise.
26934 (jpeg_mod_CFLAGS): Likewise.
26935 (jpeg_mod_LDFLAGS): Likewise.
26936 (png_mod_SOURCES): Likewise.
26937 (png_mod_CFLAGS): Likewise.
26938 (png_mod_LDFLAGS): Likewise.
26939
26940 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26941 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26942 (video_mod_SOURCES): Added.
26943 (video_mod_CFLAGS): Likewise.
26944 (video_mod_LDFLAGS): Likewise.
26945 (videotest_mod_SOURCES): Likewise.
26946 (videotest_mod_CFLAGS): Likewise.
26947 (videotest_mod_LDFLAGS): Likewise.
26948 (bitmap_mod_SOURCES): Likewise.
26949 (bitmap_mod_CFLAGS): Likewise.
26950 (bitmap_mod_LDFLAGS): Likewise.
26951 (tga_mod_SOURCES): Likewise.
26952 (tga_mod_CFLAGS): Likewise.
26953 (tga_mod_LDFLAGS): Likewise.
26954 (jpeg_mod_SOURCES): Likewise.
26955 (jpeg_mod_CFLAGS): Likewise.
26956 (jpeg_mod_LDFLAGS): Likewise.
26957 (png_mod_SOURCES): Likewise.
26958 (png_mod_CFLAGS): Likewise.
26959 (png_mod_LDFLAGS): Likewise.
26960 (gfxterm_mod_SOURCES): Likewise.
26961 (gfxterm_mod_CFLAGS): Likewise.
26962 (gfxterm_mod_LDFLAGS): Likewise.
26963
26964 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26965 grub/machine/console.h.
26966
26967 2009-01-04 Jerone Young <jerone@gmail.com>
26968
26969 Make on screen instructions clearer
26970
26971 Based on patch created by Jidanni <jidanni@jidanni.org>
26972
26973 * normal/menu.c: print clearer instructions on the screen
26974
26975 2009-01-02 Colin D Bennett <colin@gibibit.com>
26976
26977 New font engine.
26978
26979 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26980 build system and fixed gfxterm.c to work with different sized fonts.
26981
26982 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
26983
26984 * configure: Re-generated.
26985
26986 * DISTLIST: Removed font/manager.c.
26987 Added font/font.c.
26988 Added font/font_cmd.c.
26989
26990 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26991 compilation.
26992
26993 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
26994
26995 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
26996
26997 * kern/term.c: Changed users of grub_utf8_to_ucs4.
26998
26999 * normal/menu.c: Likewise.
27000
27001 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27002 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
27003
27004 * include/grub/font.h: Replaced with new file.
27005
27006 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27007 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27008 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27009 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27010 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
27011 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
27012 fg_red, fg_green, fg_blue, fg_alpha.
27013 (grub_video_adapter): Removed blit_glyph.
27014 (grub_video_blit_glyph): Removed.
27015
27016 * font/manager.c: Removed file.
27017
27018 * font/font.c: New file.
27019
27020 * font/font_cmd.c: Likewise.
27021
27022 * video/video.c (grub_video_blit_glyph): Removed.
27023
27024 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27025 (grub_video_vbe_map_rgba): Likewise.
27026 (grub_video_vbe_unmap_color_int): Likewise.
27027 (grub_video_vbe_blit_glyph): Removed.
27028 (grub_video_vbe_adapter): Removed blit_glyph.
27029
27030 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27031 (get_pixel): Likewise.
27032 (set_pixel): Likewise.
27033
27034 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
27035
27036 * term/gfxterm.c: Adapted to new font engine.
27037
27038 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
27039
27040 * term/i386/pc/vga.c: Likewise.
27041
27042 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
27043
27044 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27045
27046 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27047
27048 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27049
27050 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27051
27052 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27053
27054 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27055
27056 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27057
27058 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27059
27060 * util/grub.d/00_header.in: Changed to use new loadfont command.
27061
27062 * util/grub-mkconfig_lib.in: Changed font extension.
27063
27064 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
27065
27066 * util/getroot.c (grub_util_get_grub_dev): Add support for
27067 /dev/md/dNNpNN style partitionable mdraid devices.
27068
27069 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
27070
27071 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27072 at a time limit of the PXE TFTP API correctly.
27073 (grub_pxefs_close): Likewise.
27074
27075 2008-11-29 Robert Millan <rmh@aybabtu.com>
27076
27077 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
27078 grub_ata_device_initialize() calls.
27079
27080 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
27081
27082 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27083 iteration failed.
27084 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27085
27086 2008-11-28 Robert Millan <rmh@aybabtu.com>
27087
27088 Fix build on powerpc-ieee1275. Based on patch created by
27089 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27090 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27091 `kern/ieee1275/mmap.c'.
27092 * include/grub/powerpc/ieee1275/memory.h: New file.
27093
27094 Provide grub-install on coreboot.
27095 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27096 (grub_install_SOURCES): New variable.
27097 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27098 usable on coreboot.
27099
27100 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
27101
27102 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27103 to `grub_term_input_t'.
27104 (grub_term_get_current_output): Change return type to
27105 `grub_term_output_t'.
27106
27107 2008-11-22 Robert Millan <rmh@aybabtu.com>
27108
27109 Fix breakage on coreboot due to declaration mismatch.
27110 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27111 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27112 grub_vga_text_cls().
27113
27114 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
27115 comments. Avoid copying one more byte than necessary (just in case).
27116
27117 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27118 to 0x200000 (avoids trouble with some OFW implementations, and matches
27119 with the one in Yaboot).
27120 Reported by Manoel Abranches
27121
27122 2008-11-20 Robert Millan <rmh@aybabtu.com>
27123
27124 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27125 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27126
27127 * util/grub-mkconfig_lib.in (grub_warn): New function.
27128 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27129 warnings, to obtain consistent formatting.
27130 * util/grub.d/00_header.in: Likewise.
27131 * util/update-grub_lib.in: Likewise.
27132
27133 * loader/i386/linux.c (allocate_pages): Fix a warning.
27134 Move comment text to `#error' stanza.
27135
27136 Harmonize ieee1275's grub_available_iterate() with the generic
27137 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27138 build problem on i386-ieee1275):
27139 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27140 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27141 parameter `type'. Update all users of this function.
27142 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27143 `kern/ieee1275/mmap.c'.
27144 * kern/ieee1275/init.c
27145 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27146 with ...
27147 (grub_machine_mmap_iterate): ... this.
27148 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27149 return type to `grub_err_t'. Update all implementations of this
27150 function prototype.
27151 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27152 Likewise.
27153
27154 Add `lsmmap' command (lists firmware-provided memory map):
27155 * commands/lsmmap.c: New file.
27156 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27157 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27158 variables.
27159 * conf/powerpc-ieee1275.rmk: Likewise.
27160 * conf/i386-coreboot.rmk: Likewise.
27161 * conf/i386-ieee1275.rmk: Likewise.
27162
27163 2008-11-19 Robert Millan <rmh@aybabtu.com>
27164
27165 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
27166 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27167 constraints to initrd allocation (based on code from
27168 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27169 for Linux to find it.
27170
27171 2008-11-14 Robert Millan <rmh@aybabtu.com>
27172
27173 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27174 order to cope with duplicate slashes.
27175
27176 2008-11-14 Robert Millan <rmh@aybabtu.com>
27177
27178 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27179 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27180 don't want to mess with lower memory, because it is used in the Linux
27181 loader.
27182
27183 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
27184 an appropriate place in lower memory, between 0x10000 and 0x90000,
27185 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27186 is in our heap (probably as a result of it being corrupted during
27187 decompression). Add #error instance with comment to explain why this
27188 loader isn't currently usable on PC/BIOS.
27189
27190 2008-11-14 Robert Millan <rmh@aybabtu.com>
27191
27192 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
27193 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
27194
27195 2008-11-12 Robert Millan <rmh@aybabtu.com>
27196
27197 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27198
27199 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27200 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27201 from here ...
27202 * include/grub/i386/pc/memory.h: ... to here.
27203
27204 2008-11-12 Robert Millan <rmh@aybabtu.com>
27205
27206 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27207 split).
27208
27209 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27210 (grub_console_cur_color, grub_console_real_putchar)
27211 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27212 (grub_console_setcolorstate, grub_console_setcolor)
27213 (grub_console_getcolor): Move from here ...
27214 * include/grub/i386/vga_common.h: ... to here (new file).
27215
27216 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27217 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27218 `<grub/i386/io.h>'.
27219 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27220 `<grub/i386/vga_common.h>'.
27221
27222 2008-11-12 Robert Millan <rmh@aybabtu.com>
27223
27224 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27225 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27226 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27227 variables.
27228 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27229 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27230
27231 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27232 grub_console_init() with call to grub_vga_text_init().
27233 (grub_machine_fini): Replace call to
27234 grub_console_fini() with call to grub_vga_text_fini() and
27235 grub_at_keyboard_fini().
27236
27237 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27238 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27239 (grub_console_setcolorstate, grub_console_setcolor)
27240 (grub_console_getcolor): New function prototypes.
27241
27242 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27243 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27244 (grub_vga_text_setcursor): Static-ize.
27245 (grub_vga_text_term): New structure.
27246 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27247
27248 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27249 (grub_console_cur_color, grub_console_standard_color)
27250 (grub_console_normal_color, grub_console_highlight_color)
27251 (map_char, grub_console_putchar, grub_console_getcharwidth)
27252 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27253 (grub_console_getcolor): Move from here ...
27254 * term/i386/vga_common.c: ... to here (same function names).
27255
27256 2008-11-12 Robert Millan <rmh@aybabtu.com>
27257
27258 Use newly-added Multiboot support in coreboot.
27259
27260 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27261 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27262
27263 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27264 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27265 (codestart): Store the MBI in `startup_multiboot_info' when we're
27266 being loaded using Multiboot.
27267
27268 * kern/i386/coreboot/init.c (grub_machine_init): Move
27269 grub_at_keyboard_init() call to beginning of function (useful for
27270 debugging). Call grub_machine_mmap_init() before attempting to use
27271 grub_machine_mmap_iterate().
27272 (grub_lower_mem, grub_upper_mem): Move from here ...
27273 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27274 here (new file).
27275
27276 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27277 function prototype.
27278
27279 2008-11-12 Robert Millan <rmh@aybabtu.com>
27280
27281 Fix a regression introduced by the at_keyboard.mod split. Because
27282 some terminals are default on some platforms and non-default on
27283 others, the first terminal being registered determines which is
27284 going to be default.
27285
27286 * kern/term.c (grub_term_register_input): If this is the first
27287 terminal being registered, set it as the current one.
27288 (grub_term_register_output): Likewise.
27289
27290 * term/efi/console.c (grub_console_init): Do not call
27291 grub_term_set_current_output() or grub_term_set_current_input().
27292 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27293 * term/i386/pc/console.c (grub_console_init): Likewise.
27294 (grub_console_fini): Do not call grub_term_set_current_input()
27295 (but leave grub_term_set_current_output() to restore text mode).
27296
27297 2008-11-10 Robert Millan <rmh@aybabtu.com>
27298
27299 * util/grub.d/00_header.in: Add backward compatibility check for
27300 versions of terminal.mod that don't understand `terminal_input' or
27301 `terminal_output'.
27302
27303 2008-11-09 Robert Millan <rmh@aybabtu.com>
27304
27305 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27306 `terminal_input' / `terminal_output', not `terminal'.
27307
27308 2008-11-08 Robert Millan <rmh@aybabtu.com>
27309
27310 * Makefile.in (include_DATA): Fix srcdir=. assumption.
27311 (DISTCLEANFILES): Add `build_env.mk'.
27312
27313 2008-11-08 Robert Millan <rmh@aybabtu.com>
27314
27315 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
27316 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27317 members. Update all users.
27318 * util/console.c (grub_ncurses_term): Split in ...
27319 (grub_ncurses_term_input): ... this, and ...
27320 (grub_ncurses_term_output): ... this. Update all users.
27321 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
27322
27323 2008-11-08 Robert Millan <rmh@aybabtu.com>
27324
27325 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27326 (PKGDATA): Add $(pkgdata_SRCDIR).
27327 (pkglib_BUILDDIR): New variable.
27328 (pkgdata_SRCDIR): New variable.
27329 (build_env.mk): New target.
27330 (include_DATA): New variable.
27331 (install-local): Install $(include_DATA) files in $(includedir).
27332
27333 2008-11-07 Pavel Roskin <proski@gnu.org>
27334
27335 * gendistlist.sh: Use C locale for sorting to ensure consistent
27336 output on all systems.
27337
27338 * util/grub.d/00_header.in: Remove incorrect space before
27339 "serial".
27340
27341 2008-11-07 Robert Millan <rmh@aybabtu.com>
27342
27343 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27344 per specification.
27345 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27346 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27347 (based on find_multi_boot1_header).
27348 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27349 using find_multi_boot2_header(), and abort if neither Multiboot or
27350 Multiboot headers were found.
27351
27352 2008-11-07 Robert Millan <rmh@aybabtu.com>
27353
27354 Modularize at_keyboard.mod:
27355
27356 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27357 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27358 (at_keyboard_mod_LDFLAGS): New variables.
27359
27360 Actual terminal split:
27361
27362 * include/grub/term.h (struct grub_term): Split in ...
27363 (struct grub_term_input): ... this, and ...
27364 (struct grub_term_output): ... this. Update all users.
27365 (grub_term_set_current): Split in ...
27366 (grub_term_set_current_input): ... this, and ...
27367 (grub_term_set_current_output): ... this.
27368 (grub_term_get_current): Split in ...
27369 (grub_term_get_current_input): ... this, and ...
27370 (grub_term_get_current_output): ... this.
27371 (grub_term_register): Split in ...
27372 (grub_term_register_input): ... this, and ...
27373 (grub_term_register_output): ... this.
27374 (grub_term_unregister): Split in ...
27375 (grub_term_unregister_input): ... this, and ...
27376 (grub_term_unregister_output): ... this.
27377 (grub_term_iterate): Split in ...
27378 (grub_term_iterate_input): ... this, and ...
27379 (grub_term_iterate_output): ... this.
27380
27381 * kern/term.c (grub_term_list): Split in ...
27382 (grub_term_list_input): ... this, and ...
27383 (grub_term_list_output): ... this. Update all users.
27384 (grub_cur_term): Split in ...
27385 (grub_cur_term_input): ... this, and ...
27386 (grub_cur_term_output): ... this. Update all users.
27387 (grub_term_set_current): Split in ...
27388 (grub_term_set_current_input): ... this, and ...
27389 (grub_term_set_current_output): ... this.
27390 (grub_term_get_current): Split in ...
27391 (grub_term_get_current_input): ... this, and ...
27392 (grub_term_get_current_output): ... this.
27393 (grub_term_register): Split in ...
27394 (grub_term_register_input): ... this, and ...
27395 (grub_term_register_output): ... this.
27396 (grub_term_unregister): Split in ...
27397 (grub_term_unregister_input): ... this, and ...
27398 (grub_term_unregister_output): ... this.
27399 (grub_term_iterate): Split in ...
27400 (grub_term_iterate_input): ... this, and ...
27401 (grub_term_iterate_output): ... this.
27402
27403 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27404 a check for input and one for output (and only attempt to get keys
27405 from user when input works).
27406
27407 * util/grub-probe.c (grub_term_get_current): Split in ...
27408 (grub_term_get_current_input): ... this, and ...
27409 (grub_term_get_current_output): ... this.
27410 * util/grub-fstest.c: Likewise.
27411 * util/i386/pc/grub-setup.c: Likewise.
27412 * util/grub-editenv.c: Likewise.
27413
27414 Portability adjustments:
27415
27416 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27417 `term/i386/pc/at_keyboard.c'.
27418 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27419 grub_keyboard_controller_init() (now handled by terminal .init).
27420 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27421 grub_at_keyboard_init().
27422 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27423 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27424 at_keyboard.mod via input terminal interface).
27425 * include/grub/i386/coreboot/console.h: Convert into a stub for
27426 `<grub/i386/pc/console.h>'.
27427
27428 Migrate full terminals to new API:
27429
27430 * term/efi/console.c (grub_console_term): Split into ...
27431 (grub_console_term_input): ... this, and ...
27432 (grub_console_term_output): ... this. Update all users.
27433 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27434 (grub_ofconsole_init): Split into ...
27435 (grub_ofconsole_init_input): ... this, and ...
27436 (grub_ofconsole_init_output): ... this.
27437 (grub_ofconsole_term): Split into ...
27438 (grub_ofconsole_term_input): ... this, and ...
27439 (grub_ofconsole_term_output): ... this. Update all users.
27440 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27441 (grub_serial_term_input): ... this, and ...
27442 (grub_serial_term_output): ... this. Update all users.
27443 * term/i386/pc/console.c (grub_console_term): Split into ...
27444 (grub_console_term_input): ... this, and ...
27445 (grub_console_term_output): ... this. Update all users.
27446 (grub_console_term_input): Only enable it on PC/BIOS platform.
27447 (grub_console_init): Remove grub_keyboard_controller_init() call.
27448
27449 Migrate input terminals to new API:
27450
27451 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27452 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27453 i386-specific anyway).
27454 (grub_console_checkkey): Rename to ...
27455 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27456 users.
27457 (grub_keyboard_controller_orig): New variable.
27458 (grub_console_getkey): Rename to ...
27459 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27460 users.
27461 (grub_keyboard_controller_init): Static-ize. Save original
27462 controller value so that it can be restored ...
27463 (grub_keyboard_controller_fini): ... here (new function).
27464 (grub_at_keyboard_term): New structure.
27465 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27466 functions.
27467
27468 Migrate output terminals to new API:
27469
27470 * term/i386/pc/vga.c (grub_vga_term): Change type to
27471 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27472 members. Update all users.
27473 * term/gfxterm.c (grub_video_term): Change type to
27474 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27475 members. Update all users.
27476 * include/grub/i386/pc/console.h (grub_console_checkkey)
27477 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27478 etc).
27479
27480 Migrate `terminal' command and userland tools to new API:
27481
27482 * commands/terminal.c (grub_cmd_terminal): Split into ...
27483 (grub_cmd_terminal_input): ... this, and ...
27484 (grub_cmd_terminal_output): ... this.
27485 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27486 `terminal_input' and `terminal_output'.
27487 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27488 `terminal_input' / `terminal_output' API.
27489 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27490 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27491 provided ${GRUB_TERMINAL}, convert it).
27492
27493 2008-11-04 Robert Millan <rmh@aybabtu.com>
27494
27495 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27496 for FreeBSD.
27497 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27498
27499 2008-11-03 Bean <bean123ch@gmail.com>
27500
27501 * kern/elf.c (grub_elf32_load): Revert to previous code.
27502 (grub_elf64_load): Likewise.
27503
27504 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27505
27506 2008-11-01 Robert Millan <rmh@aybabtu.com>
27507
27508 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27509 (TARGET_CPPFLAGS): Likewise.
27510 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27511
27512 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27513
27514 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27515
27516 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27517
27518 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27519 addition of objects until the code is not going to be able to fail.
27520
27521 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27522
27523 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27524 (add a missing NULL check, and correct them by moving the pointer
27525 operations after the actual check).
27526
27527 2008-10-29 Robert Millan <rmh@aybabtu.com>
27528
27529 * util/i386/pc/grub-install.in: Handle empty string as output from
27530 make_system_path_relative_to_its_root().
27531
27532 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27533
27534 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27535 circular metadata worst case scenario. If the metadata is circular
27536 then copy the wrap in place.
27537 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27538 project lib/format_text/layout.h
27539 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27540
27541 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27542
27543 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27544
27545 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27546
27547 * util/update-grub_lib.in: Mention filename in warning message.
27548
27549 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27550
27551 * NEWS: Update for rename of update-grub to grub-mkconfig.
27552
27553 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27554
27555 * util/update-grub_lib.in: Copy to ...
27556 * util/grub-mkconfig_lib.in: ... this. Update all users.
27557 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27558 * util/update-grub.in: Rename to ...
27559 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27560 option. Add `--output' option to allow users to specify the generated
27561 configuration file. Default to stdout.
27562 (update_grub_dir): Rename to ...
27563 (grub_mkconfig_dir): ... this.
27564 (grub_cfg): Default to an empty string.
27565 * conf/common.rmk (update-grub): Rename to ...
27566 (grub-mkconfig): ... this.
27567 (update-grub_lib): Copy to ...
27568 (grub-mkconfig_lib): ... this.
27569 (update-grub_SCRIPTS): Copy to ...
27570 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27571 (update-grub_DATA): Rename to ...
27572 (grub-mkconfig_DATA): ... this.
27573
27574 2008-09-28 Robert Millan <rmh@aybabtu.com>
27575
27576 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27577 to `modified'. Add the real `created' field.
27578 (grub_iso9660_uuid): Use `modified' rather than `created' for
27579 constructing the UUID.
27580
27581 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27582
27583 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27584 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27585
27586 2008-09-28 Bean <bean123ch@gmail.com>
27587
27588 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27589 Thanks to Christian Franke for finding this bug.
27590
27591 2008-09-25 Robert Millan <rmh@aybabtu.com>
27592
27593 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27594 instances of grub_util_get_disk_name() (see previous commit).
27595
27596 2008-09-25 Robert Millan <rmh@aybabtu.com>
27597
27598 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27599 `util/i386/get_disk_name.c'.
27600 * conf/i386-efi.rmk: Likewise.
27601 * conf/x86_64-efi.rmk: Likewise.
27602 * conf/i386-coreboot.rmk: Likewise.
27603 * conf/i386-ieee1275.rmk: Likewise.
27604 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27605 `util/ieee1275/get_disk_name.c'.
27606 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27607 * util/ieee1275/get_disk_name.c: Remove file.
27608 * util/i386/get_disk_name.c: Remove file.
27609 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27610 "hd%d" for device.map entries, rather than using
27611 grub_util_get_disk_name().
27612
27613 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27614
27615 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27616 warning.
27617 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27618
27619 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27620
27621 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27622 Changed to 0x5100.
27623 (GRUB_TERM_PPAGE): Changed to 0x4900.
27624
27625 2008-09-24 Robert Millan <rmh@aybabtu.com>
27626
27627 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27628 macros (they were i386-pc specific).
27629 * include/grub/sparc64/ieee1275/console.h: Likewise.
27630 * include/grub/efi/console.h: Likewise.
27631
27632 2008-09-22 Bean <bean123ch@gmail.com>
27633
27634 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27635 resident and in attribute list.
27636
27637 * include/grub/ntfs.h (BMP_LEN): Removed.
27638
27639 2008-09-22 Bean <bean123ch@gmail.com>
27640
27641 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27642 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27643
27644 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27645 error occurs, as grub_disk_open will call grub_disk_close, which will
27646 call p->close (scsi).
27647
27648 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27649
27650 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27651 (AC_PREREQ): Bumped to 2.59.
27652 (AC_TRY_COMPILE): Replace obsolete macro with ...
27653 (AC_COMPILE_IFELSE): ... this.
27654 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27655 (AC_LINK_IFELSE): ... this.
27656
27657 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27658
27659 * autogen.sh: Add a call to `gendistlist.sh'.
27660
27661 2008-09-19 Christian Franke <franke@computer.org>
27662
27663 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27664 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27665 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27666 Export __enable_execute_stack() to modules.
27667 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27668 New function.
27669
27670 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27671
27672 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27673 Sort the list.
27674
27675 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27676
27677 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27678 #include <grub/util/hostdisk.h>.
27679
27680 2008-09-08 Robert Millan <rmh@aybabtu.com>
27681
27682 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27683 segments when their filesz is zero (grub_file_read() interprets
27684 zero-size as "read until EOF", which results in memory corruption).
27685 Use `lowest_segment' rather than 0 for calculating the current
27686 segment load address.
27687
27688 2008-09-08 Robert Millan <rmh@aybabtu.com>
27689
27690 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27691 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27692 clobbered useful information.
27693
27694 2008-09-08 Robert Millan <rmh@aybabtu.com>
27695
27696 * include/grub/util/biosdisk.h: Move to ...
27697 * include/grub/util/hostdisk.h: ... here. Update all users.
27698 * util/biosdisk.c: Move to ...
27699 * util/hostdisk.c: ... here. Update all users.
27700
27701 2008-09-07 Robert Millan <rmh@aybabtu.com>
27702
27703 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27704 variables.
27705 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27706 and length can be stored directly in the `mbi->mmap_addr' and
27707 `mbi->mmap_length' struct fields.
27708
27709 2008-09-07 Robert Millan <rmh@aybabtu.com>
27710
27711 * conf/i386.rmk: New file. Provides declaration for building
27712 `cpuid.mod'.
27713 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27714 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27715 variables.
27716 Include `conf/i386.mk'.
27717 * conf/i386-efi.rmk: Likewise.
27718 * conf/x86_64-efi.rmk: Likewise.
27719 * conf/i386-coreboot.rmk: Likewise.
27720 * conf/i386-ieee1275.rmk: Likewise.
27721
27722 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27723
27724 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27725 Adds optimization support for BGR based modes.
27726
27727 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27728 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27729 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27730 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27731 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27732 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27733 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27734 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27735 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27736 (grub_video_i386_vbeblit_index_index): Likewise.
27737 (grub_video_i386_vbeblit_replace_directN): Added.
27738 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27739 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27740 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27741 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27742 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27743 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27744 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27745 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27746 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27747 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27748 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27749 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27750 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27751
27752 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27753 (grub_video_i386_vbefill_R8G8B8): Likewise.
27754 (grub_video_i386_vbefill_index): Likewise.
27755 (grub_video_i386_vbefill_direct32): Added.
27756 (grub_video_i386_vbefill_direct24): Likewise.
27757 (grub_video_i386_vbefill_direct16): Likewise.
27758 (grub_video_i386_vbefill_direct8): Likewise.
27759
27760 * include/grub/video.h (grub_video_blit_format): Removed
27761 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27762 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27763 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27764 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27765 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
27766
27767 * video/video.c (grub_video_get_blit_format): Updated to use new
27768 blit formats. Added handling for 16 bit color modes.
27769
27770 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
27771 fillers.
27772 (common_blitter): Updated to use new blitters.
27773
27774 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27775 Removed.
27776 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27777 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27778 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27779 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27780 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27781 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27782 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27783 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27784 (grub_video_i386_vbeblit_index_index): Likewise.
27785 (grub_video_i386_vbeblit_replace_directN): Added.
27786 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27787 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27788 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27789 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27790 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27791 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27792 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27793 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27794 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27795 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27796 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27797 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27798 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27799
27800 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27801 (grub_video_i386_vbefill_R8G8B8): Likewise.
27802 (grub_video_i386_vbefill_index): Likewise.
27803 (grub_video_i386_vbefill_direct32): Added.
27804 (grub_video_i386_vbefill_direct24): Likewise.
27805 (grub_video_i386_vbefill_direct16): Likewise.
27806 (grub_video_i386_vbefill_direct8): Likewise.
27807
27808 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27809 types.
27810
27811 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27812 types.
27813
27814 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27815 blitter types.
27816
27817 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27818 types.
27819
27820 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27821
27822 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27823 RAID level 1.
27824
27825 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27826
27827 * fs/iso9660.c (grub_iso9660_date): New structure.
27828 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27829 (grub_iso9660_uuid): New function.
27830
27831 2008-09-05 Bean <bean123ch@gmail.com>
27832
27833 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27834
27835 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27836 insensitive bit for names in Win32 and Win32 & DOS namespace.
27837
27838 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27839
27840 * include/grub/types.h (LONG_MAX): Likewise.
27841
27842 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27843
27844 * util/getroot.c: Include <config.h>.
27845 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27846 add support for /dev/md/N devices and handle LVM double dash escaping.
27847
27848 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27849
27850 * config.guess: Update to latest version from config git.
27851 * config.sub: Likewise.
27852
27853 2008-09-03 Robert Millan <rmh@aybabtu.com>
27854
27855 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27856 `disk->total_sectors'.
27857
27858 2008-09-01 Colin D Bennett <colin@gibibit.com>
27859
27860 * include/grub/normal.h: Fixed incorrect comment for
27861 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27862
27863 2008-09-01 Colin D Bennett <colin@gibibit.com>
27864
27865 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27866 values with defines.
27867
27868 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27869 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27870 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27871 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27872 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27873 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27874 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27875 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27876 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27877 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27878 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27879 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27880 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27881 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27882 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27883 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27884 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27885 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27886 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27887
27888 2008-08-31 Robert Millan <rmh@aybabtu.com>
27889
27890 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27891 declaration.
27892 (grub_multiboot): Fix a few warnings.
27893
27894 2008-08-31 Robert Millan <rmh@aybabtu.com>
27895
27896 * loader/i386/pc/multiboot.c: Update comment not to say that
27897 boot_device support is unimplemented.
27898
27899 2008-08-31 Robert Millan <rmh@aybabtu.com>
27900
27901 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27902 or memory map support are unimplemented.
27903
27904 2008-08-31 Colin D Bennett <colin@gibibit.com>
27905
27906 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27907
27908 2008-08-31 Colin D Bennett <colin@gibibit.com>
27909
27910 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27911 total video memory in 'vbeinfo' output; show color format details for
27912 each video mode.
27913
27914 2008-08-30 Pavel Roskin <proski@gnu.org>
27915
27916 * util/genmoddep.c: Remove for real this time.
27917 * DISTLIST: Remove util/genmoddep.c.
27918
27919 2008-08-30 Robert Millan <rmh@aybabtu.com>
27920
27921 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27922 as required by Multiboot spec (it was already 4-byte aligned, but
27923 only by chance).
27924
27925 2008-08-29 Pavel Roskin <proski@gnu.org>
27926
27927 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27928 * kern/powerpc/ieee1275/startup.S: ... this.
27929 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27930 * DISTLIST: Likewise.
27931
27932 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27933 grub/cpu/kernel.h. Add start label for consistency with other
27934 platforms. Add grub_prefix immediately after start. Add jump
27935 to the code after grub_prefix.
27936 * include/grub/powerpc/kernel.h: Provide valid values for
27937 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27938
27939 2008-08-29 Bean <bean123ch@gmail.com>
27940
27941 * configure.ac: Change host_os to cygwin for mingw.
27942 (asprintf): New check for function.
27943
27944 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27945 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27946
27947 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
27948 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
27949 sync, sleep and grub_util_get_disk_size for mingw.
27950
27951 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27952 to get size in mingw.
27953 (open_device): Use flag O_BINARY if it's defined.
27954 (find_root_device): Add dummy code for mingw.
27955
27956 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27957 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27958 (get_scsi_disk_name): Return 0 for mingw.
27959
27960 * util/hostfs.c: #include <grub/util/misc.h>.
27961 (grub_hostfs_open): Use "rb" flag to open file, use
27962 grub_util_get_disk_size to get disk size for mingw.
27963
27964 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27965 (asprintf): New function if HAVE_ASPRINTF is not set.
27966 (sync): New function for mingw.
27967 (sleep): Likewise.
27968 (grub_util_get_disk_size): Likewise.
27969
27970 2008-08-28 Pavel Roskin <proski@gnu.org>
27971
27972 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27973 kern/time.c.
27974
27975 2008-08-28 Robert Millan <rmh@aybabtu.com>
27976
27977 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27978
27979 2008-08-28 Robert Millan <rmh@aybabtu.com>
27980
27981 Change find_grub_drive() syntax so it doesn't prevent it from
27982 detecting NULL names as errors.
27983
27984 * util/biosdisk.c (find_grub_drive): Move free slot search code
27985 from here ...
27986 (find_free_slot): ... to here.
27987 (read_device_map): Use find_free_slot() to search for free slots.
27988
27989 2008-08-27 Marco Gerards <marco@gnu.org>
27990
27991 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27992 (scsi_mod_SOURCES): New variable.
27993 (scsi_mod_CFLAGS): Likewise
27994 (scsi_mod_LDFLAGS): Likewise.
27995
27996 * disk/scsi.c: New file.
27997
27998 * include/grub/scsi.h: Likewise.
27999
28000 * include/grub/scsicmd.h: Likewise.
28001
28002 * disk/ata.c: Include <grub/scsi.h>.
28003 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28004 instead.
28005 (grub_ata_iterate): Skip ATAPI devices.
28006 (grub_ata_open): Only handle ATAPI devices.
28007 (struct grub_atapi_read): Removed.
28008 (grub_atapi_readsector): Likewise.
28009 (grub_ata_read): No longer handle ATAPI devices.
28010 (grub_ata_write): Likewise.
28011 (grub_atapi_iterate): New function.
28012 (grub_atapi_read): Likewise.
28013 (grub_atapi_write): Likewise.
28014 (grub_atapi_open): Likewise.
28015 (grub_atapi_close): Likewise.
28016 (grub_atapi_dev): New variable.
28017 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28018 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28019
28020 * include/grub/disk.h (enum grub_disk_dev_id): Add
28021 `GRUB_DISK_DEVICE_SCSI_ID'.
28022
28023 2008-08-26 Robert Millan <rmh@aybabtu.com>
28024
28025 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28026 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28027 descriptive.
28028
28029 2008-08-23 Bean <bean123ch@gmail.com>
28030
28031 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28032 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28033 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28034 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28035 dm_nv.mod.
28036 (raid5rec_mod_SOURCES): New macro.
28037 (raid5rec_mod_CFLAGS): Likewise.
28038 (raid5rec_mod_LDFLAGS): Likewise.
28039 (raid6rec_mod_SOURCES): Likewise.
28040 (raid6rec_mod_CFLAGS): Likewise.
28041 (raid6rec_mod_LDFLAGS): Likewise.
28042 (mdraid_mod_SOURCES): Likewise.
28043 (mdraid_mod_CFLAGS): Likewise.
28044 (mdraid_mod_LDFLAGS): Likewise.
28045 (dm_nv_mod_SOURCES): Likewise.
28046 (dm_nv_mod_CFLAGS): Likewise.
28047 (dm_nv_mod_LDFLAGS): Likewise.
28048
28049 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28050 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28051 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28052
28053 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28054 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28055
28056 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28057
28058 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28059
28060 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28061
28062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28063
28064 * disk/raid5_recover.c: New file.
28065
28066 * disk/raid6_recover.c: Likewise.
28067
28068 * disk/mdraid_linux.c: Likewise.
28069
28070 * disk/dmraid_nvidia.c: Likewise.
28071
28072 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28073 ULONG_MAX.
28074
28075 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28076 calculate the size of raid device.
28077 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28078 different layout of raid5.
28079 (grub_raid_scan_device): Remove code specific to mdraid.
28080 (grub_raid_list): New variable.
28081 (free_array): New function.
28082 (grub_raid_register): Likewise.
28083 (grub_raid_unregister): Likewise.
28084 (grub_raid_rescan): Likewise.
28085 (GRUB_MOD_INIT): Don't iterate device here.
28086 (GRUB_MOD_FINI): Use free_array to release resource.
28087
28088 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28089 (grub_raid5_recover_func_t): New function variable type.
28090 (grub_raid6_recover_func_t): Likewise.
28091 (grub_raid5_recover_func): New variable.
28092 (grub_raid6_recover_func): Likewise.
28093 (grub_raid_register): New function.
28094 (grub_raid_unregister): Likewise.
28095 (grub_raid_rescan): Likewise.
28096 (grub_raid_block_xor): Likewise.
28097
28098 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28099 (CMD_CRC): New macro.
28100 (part): Removed.
28101 (read_file): Handle device as well as file.
28102 (cmd_crc): New function.
28103 (fstest): Handle multiple disks.
28104 (options): Remove part, raw and long, add root and diskcount.
28105 (usage): Add crc, remove -p, -r, -l, add -r and -c.
28106 (main): Find the first non option entry and ignore subsequent options,
28107 add handling for the new options, support multiple disks.
28108
28109 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28110
28111 2008-08-23 Bean <bean123ch@gmail.com>
28112
28113 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28114
28115 * genfslist.sh: Ignore kernel.mod.
28116
28117 * genpartmaplist.sh: Likewise.
28118
28119 2008-08-23 Robert Millan <rmh@aybabtu.com>
28120
28121 * util/getroot.c (find_root_device): Skip anything that starts with
28122 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28123
28124 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
28125
28126 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28127 * util/grub.d/00_header.in: Allow the administrator to change default
28128 gfxmode via ${GRUB_GFXMODE}.
28129
28130 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
28131
28132 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28133
28134 2008-08-21 Robert Millan <rmh@aybabtu.com>
28135
28136 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28137 loader.
28138 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28139 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28140
28141 2008-08-20 Carles Pina i Estany <carles@pina.cat>
28142
28143 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28144 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28145
28146 2008-08-19 Robert Millan <rmh@aybabtu.com>
28147
28148 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28149 (struct grub_virtual_screen): Remove `cursor_color'.
28150 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28151 initialization.
28152 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28153
28154 2008-08-18 Robert Millan <rmh@aybabtu.com>
28155
28156 Unify (identical) linux_normal.c files.
28157 * loader/i386/efi/linux_normal.c: Move from here ...
28158 * loader/linux_normal.c: ... to here. Update all users.
28159 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28160 * loader/i386/ieee1275/linux_normal.c: Likewise.
28161
28162 2008-08-18 Robert Millan <rmh@aybabtu.com>
28163
28164 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28165 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28166 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28167 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28168 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28169 New macros.
28170 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28171 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28172 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28173 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28174 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28175 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28176 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28177 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28178 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28179 portably using grub_getxy().
28180 Replace `-EFI' with `-bzImage' in boot message.
28181
28182 2008-08-17 Robert Millan <rmh@aybabtu.com>
28183
28184 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28185
28186 2008-08-17 Robert Millan <rmh@aybabtu.com>
28187
28188 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28189
28190 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28191 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28192 (grub_machine_mmap_iterate): New function declaration.
28193 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28194 structure.
28195 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28196 macros.
28197
28198 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28199 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28200 Move e820 parsing from here ...
28201 * kern/i386/pc/mmap.c: New file.
28202 (grub_machine_mmap_iterate): ... to here.
28203
28204 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28205 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28206 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28207 (grub_available_iterate): Redeclare to return `void', and redeclare
28208 its hook to use grub_uint64_t as addr and size parameters, and rename
28209 to ...
28210 (grub_machine_mmap_iterate): ... this. Update all users.
28211
28212 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28213 to make it more readable. Rename to ...
28214 (grub_machine_mmap_iterate): ... this.
28215
28216 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28217 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28218 (grub_multiboot): Allocate an extra region after the payload, and fill
28219 it with a Multiboot memory map. Adjust a.out loader to calculate size
28220 with the extra space.
28221 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28222 with the extra space.
28223
28224 2008-08-17 Carles Pina i Estany <carles@pina.cat>
28225
28226 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
28227
28228 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
28229
28230 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28231 mdate-sh to the list `find' searches for.
28232 * DISTLIST: Regenerated.
28233
28234 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
28235
28236 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28237 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
28238 genmoddep.awk, gensymlist.sh.in.
28239 (DISTDIRS): Add bus, docs, hook, lib.
28240 * DISTLIST: Regenerated.
28241 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
28242
28243 2008-08-16 Robert Millan <rmh@aybabtu.com>
28244
28245 * disk/raid.c (grub_raid_init): Handle/report errors set by
28246 grub_device_iterate().
28247 * disk/lvm.c (grub_lvm_init): Likewise.
28248
28249 2008-08-15 Bean <bean123ch@gmail.com>
28250
28251 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28252 and datehook.mod.
28253 (datetime_mod_SOURCES): New macro.
28254 (datetime_mod_CFLAGS): Likewise.
28255 (datetime_mod_LDFLAGS): Likewise.
28256 (date_mod_SOURCES): Likewise.
28257 (date_mod_CFLAGS): Likewise.
28258 (date_mod_LDFLAGS): Likewise.
28259 (datehook_mod_SOURCES): Likewise.
28260 (datehook_mod_CFLAGS): Likewise.
28261 (datehook_mod_LDFLAGS): Likewise.
28262
28263 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28264 and datehook.mod.
28265 (datetime_mod_SOURCES): New macro.
28266 (datetime_mod_CFLAGS): Likewise.
28267 (datetime_mod_LDFLAGS): Likewise.
28268 (date_mod_SOURCES): Likewise.
28269 (date_mod_CFLAGS): Likewise.
28270 (date_mod_LDFLAGS): Likewise.
28271 (datehook_mod_SOURCES): Likewise.
28272 (datehook_mod_CFLAGS): Likewise.
28273 (datehook_mod_LDFLAGS): Likewise.
28274
28275 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28276 and datehook.mod.
28277 (datetime_mod_SOURCES): New macro.
28278 (datetime_mod_CFLAGS): Likewise.
28279 (datetime_mod_LDFLAGS): Likewise.
28280 (date_mod_SOURCES): Likewise.
28281 (date_mod_CFLAGS): Likewise.
28282 (date_mod_LDFLAGS): Likewise.
28283 (datehook_mod_SOURCES): Likewise.
28284 (datehook_mod_CFLAGS): Likewise.
28285 (datehook_mod_LDFLAGS): Likewise.
28286
28287 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28288 and datehook.mod.
28289 (datetime_mod_SOURCES): New macro.
28290 (datetime_mod_CFLAGS): Likewise.
28291 (datetime_mod_LDFLAGS): Likewise.
28292 (date_mod_SOURCES): Likewise.
28293 (date_mod_CFLAGS): Likewise.
28294 (date_mod_LDFLAGS): Likewise.
28295 (datehook_mod_SOURCES): Likewise.
28296 (datehook_mod_CFLAGS): Likewise.
28297 (datehook_mod_LDFLAGS): Likewise.
28298
28299 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28300 and datehook.mod.
28301 (datetime_mod_SOURCES): New macro.
28302 (datetime_mod_CFLAGS): Likewise.
28303 (datetime_mod_LDFLAGS): Likewise.
28304 (date_mod_SOURCES): Likewise.
28305 (date_mod_CFLAGS): Likewise.
28306 (date_mod_LDFLAGS): Likewise.
28307 (datehook_mod_SOURCES): Likewise.
28308 (datehook_mod_CFLAGS): Likewise.
28309 (datehook_mod_LDFLAGS): Likewise.
28310
28311 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28312
28313 * commands/date.c: New file.
28314
28315 * hook/datehook.c: Likewise.
28316
28317 * include/grub/lib/datetime.h: Likewise.
28318
28319 * include/grub/i386/cmos.h: Likewise.
28320
28321 * lib/datetime.c: Likewise.
28322
28323 * lib/i386/datetime.c: Likewise.
28324
28325 * lib/efi/datetime.c: Likewise.
28326
28327 2008-08-14 Robert Millan <rmh@aybabtu.com>
28328
28329 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28330 (grub_mkelfimage_SOURCES): New variable.
28331 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28332
28333 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28334 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28335 * conf/powerpc-ieee1275.rmk: Likewise.
28336 * conf/i386-ieee1275.rmk: Likewise.
28337
28338 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28339 * kern/i386/coreboot/init.c: Likewise.
28340
28341 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28342 with `<grub/cpu/kernel.h>'.
28343 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28344 to ...
28345 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28346 * kern/i386/coreboot/startup.S: Likewise.
28347
28348 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28349 (GRUB_MOD_GAP): Remove.
28350 * include/grub/powerpc/kernel.h: New file.
28351 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28352 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28353 * include/grub/i386/kernel.h: New file.
28354 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28355 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28356 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28357
28358 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28359 `grub-mkelfimage'.
28360 Use --directory when invoking grub_mkimage.
28361
28362 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28363 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28364 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28365 and GRUB_KERNEL_CPU_PREFIX.
28366
28367 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
28368
28369 * include/grub/err.h (grub_err_printf): New function prototype.
28370 * util/misc.c (grub_err_printf): New function.
28371 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28372 grub_printf.
28373 * kern/err.c (grub_print_error): Use grub_err_printf.
28374
28375 2008-08-13 Robert Millan <rmh@aybabtu.com>
28376
28377 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28378
28379 2008-08-13 Robert Millan <rmh@aybabtu.com>
28380
28381 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28382 boot entry.
28383
28384 2008-08-12 Robert Millan <rmh@aybabtu.com>
28385
28386 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28387 of the relocation code from here ...
28388 (grub_multiboot): ... to here.
28389 (forward_relocator, backward_relocator): Move from here ...
28390 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28391 (grub_multiboot_backward_relocator): ... to here.
28392 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28393 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28394 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28395 (grub_multiboot_forward_relocator_end)
28396 (grub_multiboot_backward_relocator)
28397 (grub_multiboot_backward_relocator_end): New variables.
28398
28399 2008-08-12 Bean <bean123ch@gmail.com>
28400
28401 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28402
28403 2008-08-11 Robert Millan <rmh@aybabtu.com>
28404
28405 * kern/i386/linuxbios/startup.S: Move from here ...
28406 * kern/i386/coreboot/startup.S: ... to here.
28407
28408 * kern/i386/linuxbios/init.c: Move from here ...
28409 * kern/i386/coreboot/init.c: ... to here.
28410
28411 * kern/i386/linuxbios/table.c: Move from here ...
28412 * kern/i386/coreboot/mmap.c: ... to here.
28413
28414 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28415
28416 2008-08-11 Robert Millan <rmh@aybabtu.com>
28417
28418 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28419 errors. Leave it to the upper layer to handle them.
28420
28421 2008-08-09 Christian Franke <franke@computer.org>
28422
28423 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28424 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28425 Install `grub.d/10_windows' only on Cygwin.
28426 * configure.ac: Add subst of `target_os'.
28427 Check `target_os' also before setting TARGET_OBJ2ELF.
28428 Add `--enable-grub-pe2elf'.
28429
28430 2008-08-08 Robert Millan <rmh@aybabtu.com>
28431
28432 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28433 (grub_last_time): Change type to grub_uint64_t.
28434 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28435 (grub_disk_close): Likewise.
28436
28437 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28438 (run_menu): Migrate code from to using grub_get_time_ms().
28439
28440 * util/misc.c (grub_get_time_ms): New function.
28441
28442 2008-08-08 Marco Gerards <marco@gnu.org>
28443
28444 * disk/ata.c (grub_ata_regget): Change return type to
28445 `grub_uint8_t'.
28446 (grub_ata_regget2): Likewise.
28447 (grub_ata_wait_status): New function.
28448 (grub_ata_wait_busy): Removed function, updated all users to use
28449 `grub_ata_wait_status'.
28450 (grub_ata_wait_drq): Likewise.
28451 (grub_ata_cmd): New function.
28452 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28453 error handling.
28454 (grub_ata_pio_write): Add error handling.
28455 (grub_atapi_identify): Likewise.
28456 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28457 handling.
28458 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28459 handling. Actually use the detected registers. Reorder the
28460 detection logic such that it is easier to read.
28461 (grub_ata_pciinit): Do not assign the same ID to each controller.
28462 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28463 handling.
28464 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28465
28466 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28467
28468 2008-08-08 Marco Gerards <marco@gnu.org>
28469
28470 * NEWS: Update.
28471
28472 2008-08-07 Bean <bean123ch@gmail.com>
28473
28474 * include/grub/x86_64/pci.h: New file.
28475
28476 2008-08-07 Christian Franke <franke@computer.org>
28477
28478 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28479 (TIMER2_GATE): Likewise.
28480 (grub_pit_wait): Add enable/disable of the timer2 gate
28481 bit of port 0x61. This fixes a possible infinite loop.
28482
28483 2008-08-07 Bean <bean123ch@gmail.com>
28484
28485 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28486 kern/i386/tsc.c and kern/i386/pit.c.
28487
28488 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28489 x86_64 platform.
28490
28491 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28492 <grub/i386/tsc.h>.
28493
28494 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28495
28496 2008-08-07 Bean <bean123ch@gmail.com>
28497
28498 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28499
28500 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28501
28502 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28503 multiple inclusion. Add #include <grub/types.h>.
28504
28505 2008-08-06 Christian Franke <franke@computer.org>
28506
28507 * conf/common.rmk: Build and install `10_windows'.
28508 * util/grub.d/10_windows.in: New script.
28509
28510 2008-08-06 Pavel Roskin <proski@gnu.org>
28511
28512 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28513
28514 2008-08-06 Robert Millan <rmh@aybabtu.com>
28515
28516 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28517 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28518
28519 2008-08-06 Bean <bean123ch@gmail.com>
28520
28521 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28522 (grub_pxefs_fs_int): Remove dummy definition.
28523 (grub_pxefs_open): Use data->block_size to store the current block
28524 size setting.
28525 (grub_pxefs_read): Use block size stored in data->block_size. As the
28526 value of grub_pxe_blksize can be changed after the file is opened.
28527
28528 2008-08-06 Bean <bean123ch@gmail.com>
28529
28530 * fs/i386/pc/pxe.c (curr_file): new variable.
28531 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28532 require the dummy internal file system anymore.
28533 (grub_pxefs_read): Removed.
28534 (grub_pxefs_close): Likewise.
28535 (grub_pxefs_fs_int): Likewise.
28536 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28537 connection when we switch file.
28538 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28539
28540 2008-08-06 Robert Millan <rmh@aybabtu.com>
28541
28542 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28543 `halt.mod'.
28544 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28545 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28546
28547 * kern/i386/halt.c: New file.
28548 * kern/i386/reboot.c: Likewise.
28549 * include/grub/i386/reboot.h: Likewise.
28550 * include/grub/i386/halt.h: Likewise.
28551
28552 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28553 Include `<grub/cpu/halt.h>'.
28554 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28555 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28556
28557 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28558 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28559 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28560 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28561 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28562 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28563 from here ...
28564 * include/grub/i386/at_keyboard.h: ... to here.
28565
28566 2008-08-05 Robert Millan <rmh@aybabtu.com>
28567
28568 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28569 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28570 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28571 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28572 `kern/generic/millisleep.c'.
28573
28574 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28575 instead of grub_get_rtc().
28576 (grub_tsc_init): Initialize `tsc_boot_time'.
28577
28578 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28579 (grub_machine_init): Use grub_tsc_init() rather than
28580 installing an RTC-based handler via grub_install_get_time_ms().
28581
28582 * kern/i386/pit.c: New file.
28583 * include/grub/i386/pit.h: Likewise.
28584
28585 2008-08-05 Bean <bean123ch@gmail.com>
28586
28587 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28588
28589 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28590 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28591 (pxe_mod_SOURCES): New macro.
28592 (pxe_mod_CFLAGS): Likewise.
28593 (pxe_mod_LDFLAGS): Likewise.
28594 (pxecmd_mod_SOURCES): Likewise.
28595 (pxecmd_mod_CFLAGS): Likewise.
28596 (pxecmd_mod_LDFLAGS): Likewise.
28597
28598 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28599 (grub_pxe_call): Likewise.
28600
28601 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28602
28603 * commands/i386/pc/pxecmd.c: New file.
28604
28605 * fs/i386/pc/pxe.c: Likewise.
28606
28607 * include/grub/i386/pc/pxe.h: Likewise.
28608
28609 2008-08-05 Bean <bean123ch@gmail.com>
28610
28611 * util/console.c (grub_console_cur_color): New variable.
28612 (grub_console_standard_color): Likewise.
28613 (grub_console_normal_color): Likewise.
28614 (grub_console_highlight_color): Likewise.
28615 (color_map): Likewise.
28616 (use_color): Likewise.
28617 (NUM_COLORS): New macro.
28618 (grub_ncurses_setcolorstate): Handle color properly.
28619 (grub_ncurses_setcolor): Don't change color here, just remember the
28620 settings, color will be set in grub_ncurses_setcolorstate.
28621 (grub_ncurses_getcolor): New function.
28622 (grub_ncurses_init): Initialize color pairs.
28623 (grub_ncurses_term): New member grub_ncurses_getcolor.
28624
28625 2008-08-05 Colin D Bennett <colin@gibibit.com>
28626
28627 High resolution timer support. Implemented for x86 CPUs using TSC.
28628 Extracted generic grub_millisleep() so it's linked in only as needed.
28629 This requires a Pentium compatible CPU; if the RDTSC instruction is
28630 not supported, then it falls back on the generic grub_get_time_ms()
28631 implementation that uses the machine's RTC.
28632
28633 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28634 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28635 `kern/generic/millisleep.c'.
28636
28637 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28638 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28639
28640 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28641 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28642
28643 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28644
28645 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28646 `kern/generic/millisleep.c'.
28647
28648 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28649
28650 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28651
28652 * kern/generic/rtc_get_time_ms.c: New file.
28653
28654 * kern/generic/millisleep.c: New file.
28655
28656 * kern/misc.c: Don't include
28657 <kern/time.h> anymore.
28658 (grub_millisleep_generic): Removed.
28659
28660 * commands/sleep.c (grub_interruptible_millisleep): Uses
28661 grub_get_time_ms() instead of grub_get_rtc().
28662
28663 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28664 function.
28665 (grub_cpu_is_cpuid_supported): New inline function.
28666 (grub_cpu_is_tsc_supported): New inline function.
28667 (grub_tsc_init): New function prototype.
28668 (grub_tsc_get_time_ms): New function prototype.
28669
28670 * kern/i386/tsc.c (grub_get_time_ms): New file.
28671
28672 * include/grub/time.h: Include <grub/types.h.
28673 (grub_millisleep_generic): Removed.
28674 (grub_get_time_ms): New prototype.
28675 (grub_install_get_time_ms): New prototype.
28676 (grub_rtc_get_time_ms): New prototype.
28677
28678 * kern/time.c (grub_get_time_ms): New function.
28679 (grub_install_get_time_ms): New function.
28680
28681 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28682 <grub/time.h> anymore.
28683 (grub_millisleep): Removed.
28684 (grub_machine_init): Call grub_tsc_init.
28685
28686 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28687 get_time_ms() implementation.
28688
28689 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28690 (ieee1275_get_time_ms): New function.
28691 (grub_machine_init): Install get_time_ms() implementation.
28692
28693 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28694 (grub_machine_init): Call grub_tsc_init().
28695 (grub_millisleep): Removed.
28696
28697 * kern/ieee1275/init.c (grub_millisleep): Removed.
28698 (grub_machine_init): Install ieee1275_get_time_ms()
28699 implementation.
28700 (ieee1275_get_time_ms): New function.
28701 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28702 real work.
28703
28704 2008-08-05 Marco Gerards <marco@gnu.org>
28705
28706 * disk/ata.c: Include <grub/pci.h>.
28707 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28708 (grub_ata_initialize): Rewritten.
28709 (grub_ata_device_initialize): New function.
28710
28711 2008-08-04 Pavel Roskin <proski@gnu.org>
28712
28713 * kern/main.c: Include grub/mm.h.
28714
28715 2008-08-04 Robert Millan <rmh@aybabtu.com>
28716
28717 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28718 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28719 corruption problem).
28720
28721 2008-08-04 Robert Millan <rmh@aybabtu.com>
28722
28723 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28724 warnings introduced in my last commit.
28725
28726 2008-08-03 Robert Millan <rmh@aybabtu.com>
28727
28728 Make PCI available on all i386 architectures.
28729
28730 * include/grub/i386/pc/pci.h: Move from here ...
28731 * include/grub/i386/pci.h: ... to here.
28732
28733 * include/grub/i386/pc/pci.h: Remove.
28734 * include/grub/i386/efi/pci.h: Remove.
28735 * include/grub/x86_64/efi/pci.h: Remove.
28736
28737 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28738 `<grub/cpu/pci.h>'.
28739
28740 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28741 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28742 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28743
28744 * conf/i386-ieee1275.rmk: Likewise.
28745
28746 2008-08-03 Robert Millan <rmh@aybabtu.com>
28747
28748 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28749 (grub_console_setcursor): Make it possible to set cursor off.
28750
28751 2008-08-03 Robert Millan <rmh@aybabtu.com>
28752
28753 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28754 of modules instead of assuming which platform provides what.
28755 * util/update-grub.in: Likewise.
28756
28757 2008-08-03 Robert Millan <rmh@aybabtu.com>
28758
28759 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28760 instead of `grub_install_dos_part' to determine whether a drive needs
28761 to be prepended to prefix (`grub_install_dos_part' is not reliable,
28762 because it can be overridden when loading GRUB via Multiboot).
28763
28764 2008-08-02 Robert Millan <rmh@aybabtu.com>
28765
28766 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28767
28768 2008-08-02 Robert Millan <rmh@aybabtu.com>
28769
28770 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28771 of informational grub_dprintf() calls.
28772
28773 2008-08-02 Robert Millan <rmh@aybabtu.com>
28774
28775 * disk/memdisk.c (memdisk_size): Don't initialize.
28776 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28777
28778 * include/grub/i386/pc/kernel.h
28779 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28780 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28781 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28782 (grub_arch_memdisk_size): Remove.
28783
28784 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28785 field (was only used to transfer a constant). Add `type' field to
28786 support multiple module types.
28787 (grub_module_iterate): New function.
28788
28789 * kern/device.c (grub_device_open): Do not hide error messages
28790 when grub_disk_open() fails. Use grub_print_error() instead.
28791
28792 * kern/i386/pc/init.c (grub_arch_modules_addr)
28793 (grub_arch_memdisk_size): Remove functions.
28794 (grub_arch_modules_addr): Return the module address in high memory
28795 (now that it isn't copied anymore).
28796
28797 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28798 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28799 decompression routine (grub_total_module_size already includes that
28800 now). Don't copy modules back to low memory.
28801
28802 * kern/main.c: Include `<grub/mm.h>'.
28803 (grub_load_modules): Split out (and use) ...
28804 (grub_module_iterate): ... this function, which iterates through
28805 module objects and runs a hook.
28806 Comment out grub_mm_init_region() call, as it would cause non-ELF
28807 modules to be overwritten.
28808
28809 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28810 the memdisk image in its own region, make it part of the module list.
28811 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28812 (main): Parse --memdisk|-m option, and pass user-provided path as
28813 parameter to generate_image().
28814 (add_segments): Pass `memdisk_path' down to load_modules().
28815 (load_modules): Embed memdisk image in module section when requested.
28816 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28817 `header.type' instead of `header.offset'.
28818
28819 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28820 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28821 (memdisk_mod_LDFLAGS): New variables.
28822 * conf/i386-coreboot.rmk: Likewise.
28823 * conf/i386-ieee1275.rmk: Likewise.
28824
28825 2008-08-02 Robert Millan <rmh@aybabtu.com>
28826
28827 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28828 (backward_relocator): New variables. Used to allocate and relocate
28829 the payload, respectively.
28830 (grub_multiboot_load_elf32): Load into heap instead of requested
28831 address, install the appropriate relocator code in each bound of
28832 the payload, and set the entry point such that
28833 grub_multiboot_real_boot() will jump to one of them.
28834
28835 * kern/i386/loader.S (grub_multiboot_payload_size)
28836 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28837 (grub_multiboot_payload_entry_offset): New variables.
28838 (grub_multiboot_real_boot): Set cpu context to what the relocator
28839 expects, and jump to the relocator instead of the payload.
28840
28841 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28842 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28843 (grub_multiboot_payload_entry_offset): Export.
28844
28845 2008-08-01 Bean <bean123ch@gmail.com>
28846
28847 * normal/menu_entry.c (editor_getline): Don't return the original
28848 string as result, as it will be released by lexer once it has done
28849 using it.
28850
28851 2008-08-01 Robert Millan <rmh@aybabtu.com>
28852
28853 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28854 within menuentries, not before them.
28855 util/grub.d/10_hurd.in: Likewise.
28856
28857 2008-08-01 Bean <bean123ch@gmail.com>
28858
28859 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28860 (bufio_mod_SOURCES): New macro.
28861 (bufio_mod_CFLAGS): Likewise.
28862 (bufio_mod_LDFLAGS): Likewise.
28863
28864 * include/grub/bufio.h: New file.
28865
28866 * io/bufio.c: Likewise.
28867
28868 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28869 (grub_video_reader_png): Use grub_buffile_open to open file.
28870
28871 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28872 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28873
28874 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28875 (grub_video_reader_tga): Use grub_buffile_open to open file.
28876
28877 * font/manager.c: Include <grub/bufio.h>.
28878 (add_font): Use grub_buffile_open to open file.
28879
28880 2008-07-31 Robert Millan <rmh@aybabtu.com>
28881
28882 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28883 ELF segments, use a macro for arbitrarily accessing any of them instead
28884 of preparing a pointer that allows access to one at a time.
28885 (grub_multiboot_load_elf64): Likewise.
28886
28887 2008-07-31 Bean <bean123ch@gmail.com>
28888
28889 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28890 GRUB_KERNEL_MACHINE_DATA_END.
28891
28892 2008-07-30 Robert Millan <rmh@aybabtu.com>
28893
28894 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28895 Increase from 0x50 to 0x60.
28896 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28897 use UUIDs to identify the root drive for them. If that's not
28898 possible, abort.
28899 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28900 check, for cross-disk installs.
28901
28902 2008-07-30 Robert Millan <rmh@aybabtu.com>
28903
28904 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28905 is non-empty, use it to set the `prefix' environment variable instead
28906 of the usual approach.
28907 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28908 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28909 environment variable instead of dummy make_install_device().
28910
28911 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28912 (start): Insert a data section, with `grub_prefix' variable.
28913 * kern/i386/linuxbios/startup.S: Likewise.
28914
28915 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28916 New variable reference.
28917 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28918 New macro. Defines offset of `grub_prefix' within startup.S (relative
28919 to `start').
28920 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28921 section within startup.S (relative to `start').
28922 * include/grub/i386/coreboot/kernel.h: Likewise.
28923
28924 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28925 Overwrite grub_prefix with its contents, at the beginning of the
28926 first segment.
28927 (main): Understand -p|--prefix.
28928
28929 2008-07-30 Robert Millan <rmh@aybabtu.com>
28930
28931 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28932
28933 2008-07-30 Robert Millan <rmh@aybabtu.com>
28934
28935 * term/i386/pc/vga_text.c (grub_console_cls): Use
28936 grub_console_gotoxy() to go back to beginning of the screen.
28937 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28938
28939 2008-07-29 Christian Franke <franke@computer.org>
28940
28941 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28942 Add conversion of emulated mount points on Cygwin.
28943
28944 2008-07-29 Christian Franke <franke@computer.org>
28945
28946 * util/update-grub.in: Add a check for admin
28947 group on Cygwin.
28948 Remove old `grub.cfg.new' before creation.
28949 Add `-f' to `mv' to handle the different filesystem
28950 semantics of Windows.
28951
28952 2008-07-29 Bean <bean123ch@gmail.com>
28953
28954 * normal/main.c (get_line): Fix buffer overflow bug.
28955
28956 2008-07-28 Robert Millan <rmh@aybabtu.com>
28957
28958 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28959 (struct grub_apple_header): New struct. Describes the layout of
28960 the partmap header.
28961 (apple_partition_map_iterate): Check the header magic as well as the
28962 partition magic (which was already being checked).
28963
28964 2008-07-28 Pavel Roskin <proski@gnu.org>
28965
28966 * genmk.rb: Add a warning to the beginning of the output that
28967 it's a generated file and should not be edited.
28968
28969 2008-07-28 Robert Millan <rmh@aybabtu.com>
28970
28971 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28972 with the same number are found, just use issue a warning with
28973 grub_dprintf(), as this error has been reported to be non-fatal.
28974
28975 2008-07-27 Robert Millan <rmh@aybabtu.com>
28976
28977 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28978 information.
28979
28980 2008-07-27 Bean <bean123ch@gmail.com>
28981
28982 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28983 (grub_fat_find_dir): Ignore case when comparing filename.
28984
28985 2008-07-27 Bean <bean123ch@gmail.com>
28986
28987 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28988 smallino, as it's more descriptive, and i8count can be confused with
28989 the other field count.
28990 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28991 inode type.
28992
28993 2008-07-27 Bean <bean123ch@gmail.com>
28994
28995 * commands/crc.c: New file.
28996
28997 * lib/crc.c: Likewise.
28998
28999 * include/grub/lib/crc.h: Likewise.
29000
29001 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29002
29003 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29004 (hexdump): Move this function to ...
29005
29006 * lib/hexdump.c: ... here.
29007
29008 * include/grub/hexdump.h: Renamed to ...
29009
29010 * include/grub/lib/hexdump.h: ... this.
29011
29012 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29013
29014 * util/grub-editenv.c: Likewise.
29015
29016 * include/envblk.h: Renamed to ...
29017
29018 * include/lib/envblk.h: ... this.
29019
29020 * util/envblk.c: Renamed to ...
29021
29022 * lib/envblk.c: ... this.
29023
29024 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29025 lib/hexdump.c.
29026 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29027 (pkglib_MODULES): Add crc.mod.
29028 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29029 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29030 (crc_mod_SOURCES): New macro.
29031 (crc_mod_CFLAGS): Likewise.
29032 (crc_mod_LDFLAGS): Likewise.
29033
29034 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29035
29036 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29037
29038 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29039
29040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29041
29042 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29043
29044 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
29045
29046 * commands/help.c: Include <grub/term.h>.
29047 (TERM_WIDTH): Removed. Updated all users.
29048
29049 2008-07-27 Pavel Roskin <proski@gnu.org>
29050
29051 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29052 spurious warnings about a comment within a comment.
29053
29054 2008-07-25 Robert Millan <rmh@aybabtu.com>
29055
29056 * util/getroot.c (find_root_device): Skip devices that match
29057 /dev/dm-[0-9]. This lets the real device be found for any type of
29058 abstraction (LVM, EVMS, RAID..).
29059 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29060 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29061 device is found first, find_root_device() will now skip it.
29062
29063 2008-07-24 Pavel Roskin <proski@gnu.org>
29064
29065 * include/grub/types.h: Use __builtin_bswap32() and
29066 __builtin_bswap64() with gcc 4.3 and newer.
29067
29068 2008-07-24 Christian Franke <franke@computer.org>
29069
29070 * util/i386/pc/grub-install.in: If `--debug' is specified,
29071 pass `--verbose' to grub-setup.
29072 Abort script if make_system_path_relative_to_its_root() fails.
29073
29074 2008-07-24 Bean <bean123ch@gmail.com>
29075
29076 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29077 variable `target_platform' should be `platform'.
29078
29079 2008-07-24 Bean <bean123ch@gmail.com>
29080
29081 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
29082 (grub_png_init_fixed_block): New function.
29083 (grub_png_decode_image_data): Handle fixed huffman code compression.
29084
29085 2008-07-24 Bean <bean123ch@gmail.com>
29086
29087 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29088 (grub_pe2elf_SOURCES): New macro.
29089 (CLEANFILES): Add grub-pe2elf.
29090
29091 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29092 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29093 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29094 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29095 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29096 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29097 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29098 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29099 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29100 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29101 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29102 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29103 (GRUB_PE32_DT_FUNCTION): Likewise.
29104 (GRUB_PE32_REL_I386_DIR32): Likewise.
29105 (GRUB_PE32_REL_I386_REL32): Likewise.
29106 (grub_pe32_symbol): New structure.
29107 (grub_pe32_reloc): Likewise.
29108
29109 * util/grub-pe2elf.c: New file.
29110
29111 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29112 start symbol in non pc platform.
29113
29114 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29115
29116 The following patches are from Christian Franke.
29117
29118 * include/grub/dl.h: Remove .previous, gas supports this only
29119 for ELF format.
29120
29121 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29122 Remove .type, gas supports this only for ELF format.
29123
29124 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29125 nullbytes in symbol table. This fixes an infinite loop if table is
29126 zero filled.
29127
29128 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29129 TARGET_IMG_LDFLAGS and EXEEXT.
29130
29131 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29132 TARGET_IMG_LDFLAGS_AC.
29133 (grub_CHECK_STACK_ARG_PROBE): New function.
29134
29135 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29136
29137 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29138
29139 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29140 to set TARGET_IMG_LD* accordingly.
29141 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29142 Add call to grub_CHECK_STACK_ARG_PROBE.
29143 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29144
29145 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29146
29147 * genmk.rb: Add EXEEXT to CLEANFILES.
29148
29149 2008-07-23 Robert Millan <rmh@aybabtu.com>
29150
29151 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29152 define the codes for arrows and lines used for the menu).
29153 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29154 as well.
29155
29156 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29157 fonts, because the latter are too slow.
29158
29159 2008-07-21 Bean <bean123ch@gmail.com>
29160
29161 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29162 a20. Run keyboard test last, as it will cause macbook to halt.
29163
29164 2008-07-18 Pavel Roskin <proski@gnu.org>
29165
29166 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29167 load foreign architecture modules correctly anyway. Keep
29168 support for loading host architecture modules, whether we
29169 compile them or not.
29170
29171 2008-07-17 Pavel Roskin <proski@gnu.org>
29172
29173 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29174 change target_cpu. The compiler default can mismatch target_cpu
29175 in any case.
29176
29177 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29178 * kern/efi/efi.c: Likewise.
29179
29180 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29181 target compiler is functional.
29182 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29183 are set up.
29184
29185 * configure.ac: Default to efi platform for x86_64-apple. Allow
29186 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29187 adjustments from the rest, only do them if target is not
29188 explicitly given. Merge other adjustments with the final sanity
29189 check. Remove an extraneous check for supported CPU. Be
29190 specific which CPU and which platform is not supported.
29191
29192 * configure.ac: Default to pc platform for x86_64.
29193
29194 2008-07-17 Robert Millan <rmh@aybabtu.com>
29195
29196 Partial LinuxBIOS -> Coreboot rename.
29197
29198 * conf/i386-linuxbios.rmk: Renamed to ...
29199 * conf/i386-coreboot.rmk: ... this.
29200 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29201 * configure.ac: Accept "coreboot" as input platform (but maintain
29202 compatibility with "linuxbios").
29203 * include/grub/i386/linuxbios: Renamed to ...
29204 * include/grub/i386/coreboot: ... this.
29205
29206 2008-07-17 Bean <bean123ch@gmail.com>
29207
29208 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
29209 (appleldr_mod_SOURCE): New variable.
29210 (appleldr_mod_CFLAGS): Likewise.
29211 (appleldr_mod_LDFLAGS): Likewise.
29212 (pci_mod_SOURCES): Likewise.
29213 (pci_mod_CFLAGS): Likewise.
29214 (pci_mod_LDFLAGS): Likewise.
29215 (lspci_mod_SOURCES): Likewise.
29216 (lspci_mod_CFLAGS): Likewise.
29217 (lspci_mod_LDFLAGS): Likewise.
29218
29219 * conf/x86_64-efi.rmk: New file.
29220
29221 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29222 macro.
29223 (grub_efidisk_write): Likewise.
29224
29225 * include/efi/api.h (efi_call_0): New macro.
29226 (efi_call_1): Likewise.
29227 (efi_call_2): Likewise.
29228 (efi_call_3): Likewise.
29229 (efi_call_4): Likewise.
29230 (efi_call_5): Likewise.
29231 (efi_call_6): Likewise.
29232
29233 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29234 grub_rescue_cmd_chainloader.
29235
29236 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29237 (grub_pe32_optional_header): Change some fields based on i386 or
29238 x86_64 platform.
29239 (GRUB_PE32_PE32_MAGIC): Likewise.
29240
29241 * include/grub/efi/uga_draw.h: New file.
29242
29243 * include/grub/elf.h (STN_ABS): New constant.
29244 (R_X86_64_NONE): Relocation constant for x86_64.
29245 (R_X86_64_64): Likewise.
29246 (R_X86_64_PC32): Likewise.
29247 (R_X86_64_GOT32): Likewise.
29248 (R_X86_64_PLT32): Likewise.
29249 (R_X86_64_COPY): Likewise.
29250 (R_X86_64_GLOB_DAT): Likewise.
29251 (R_X86_64_JUMP_SLOT): Likewise.
29252 (R_X86_64_RELATIVE): Likewise.
29253 (R_X86_64_GOTPCREL): Likewise.
29254 (R_X86_64_32): Likewise.
29255 (R_X86_64_32S): Likewise.
29256 (R_X86_64_16): Likewise.
29257 (R_X86_64_PC16): Likewise.
29258 (R_X86_64_8): Likewise.
29259 (R_X86_64_PC8): Likewise.
29260
29261 * include/grub/i386/efi/pci.h: New file.
29262
29263 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29264 Change it value based on platform.
29265 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29266 (GRUB_E820_RAM): Likewise.
29267 (GRUB_E820_RESERVED): Likewise.
29268 (GRUB_E820_ACPI): Likewise.
29269 (GRUB_E820_NVS): Likewise.
29270 (GRUB_E820_EXEC_CODE): Likewise.
29271 (GRUB_E820_MAX_ENTRY): Likewise.
29272 (grub_e820_mmap): New structure.
29273 (linux_kernel_header): Change the efi field according to different
29274 kernel version, also field from linux_kernel_header.
29275
29276 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29277
29278 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29279 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29280 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29281 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29282 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29283 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29284 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29285 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29286 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29287 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29288
29289 * include/grub/x86_64/efi/kernel.h: New file.
29290
29291 * include/grub/x86_64/efi/loader.h: Likewise.
29292
29293 * include/grub/x86_64/efi/machine.h: Likewise.
29294
29295 * include/grub/x86_64/efi/pci.h: Likewise.
29296
29297 * include/grub/x86_64/efi/time.h: Likewise.
29298
29299 * include/grub/x86_64/linux.h: Likewise.
29300
29301 * include/grub/x86_64/setjmp.h: Likewise.
29302
29303 * include/grub/x86_64/time.h: Likewise.
29304
29305 * include/grub/x86_64/types.h: Likewise.
29306
29307 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29308 GRUB_TARGET_SIZEOF_VOID_P.
29309
29310 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29311 (grub_efi_locate_handle): Likewise.
29312 (grub_efi_open_protocol): Likewise.
29313 (grub_efi_set_text_mode): Likewise.
29314 (grub_efi_stall): Likewise.
29315 (grub_exit): Likewise.
29316 (grub_reboot): Likewise.
29317 (grub_halt): Likewise.
29318 (grub_efi_exit_boot_services): Likewise.
29319 (grub_get_rtc): Likewise.
29320
29321 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29322 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29323 (grub_efi_allocate_pages): Wrap efi calls.
29324 (grub_efi_free_pages): Wrap efi calls.
29325 (grub_efi_get_memory_map): Wrap efi calls.
29326
29327 * kern/x86_64/dl.c: New file.
29328
29329 * kern/x86_64/efi/callwrap.S: Likewise.
29330
29331 * kern/x86_64/efi/startup.S: Likewise.
29332
29333 * loader/efi/appleloader.c: Likewise.
29334
29335 * loader/efi/chainloader.c (cmdline): New variable.
29336 (grub_chainloader_unload): Wrap efi calls.
29337 (grub_chainloader_boot): Likewise.
29338 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29339 command line.
29340
29341 * loader/efi/chainloader_normal.c (chainloader_command):
29342 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29343 command line.
29344
29345 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29346 method.
29347 (grub_e820_add_region): New function.
29348 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29349 booting.
29350 (grub_find_video_card): New function.
29351 (grub_linux_setup_video): New function.
29352 (grub_rescue_cmd_linux): Probe for video information.
29353
29354 * normal/x86_64/setjmp.S: New file.
29355
29356 * term/efi/console.c (map_char): New function.
29357 (grub_console_putchar): Map unicode char.
29358 (grub_console_checkkey): Wrap efi calls.
29359 (grub_console_getkey): Likewise.
29360 (grub_console_getwh): Likewise.
29361 (grub_console_gotoxy): Likewise.
29362 (grub_console_cls): Likewise.
29363 (grub_console_setcolorstate): Likewise.
29364 (grub_console_setcursor): Likewise.
29365
29366 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29367
29368 2008-07-16 Pavel Roskin <proski@gnu.org>
29369
29370 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29371 format strings.
29372
29373 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29374 pointer, not an integer. This fixes a warning and prevents
29375 precision loss on 64-bit systems.
29376 (relocate_addresses): Remove unneeded cast.
29377
29378 2008-07-15 Pavel Roskin <proski@gnu.org>
29379
29380 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29381
29382 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29383
29384 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29385 Fix comparison between signed and unsigned.
29386
29387 * include/grub/i386/ieee1275/console.h: Declare
29388 grub_console_init() and grub_console_fini().
29389
29390 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29391 It's empty and unused.
29392
29393 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29394 beginning to avoid warnings with some compilers.
29395
29396 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29397 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29398
29399 2008-07-14 Pavel Roskin <proski@gnu.org>
29400
29401 * kern/env.c (grub_register_variable_hook): Don't copy empty
29402 string, it leaks memory. Pass "" to grub_env_set(), it should
29403 handle constant strings.
29404
29405 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29406 * commands/cmp.c (grub_cmd_cmp): Likewise.
29407 * kern/dl.c (grub_dl_flush_cache): Likewise.
29408 (grub_dl_load_core): Likewise.
29409 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29410 (grub_elf64_load_phdrs): Likewise.
29411
29412 2008-07-13 Pavel Roskin <proski@gnu.org>
29413
29414 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29415 between signed and unsigned.
29416 (LzmaEnc_Finish): Fix warning about an unused parameter.
29417
29418 2008-07-13 Bean <bean123ch@gmail.com>
29419
29420 * Makefile.in (enable_lzo): New rule.
29421
29422 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29423
29424 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29425
29426 * boot/i386/pc/lnxboot.S: #include <config.h>.
29427
29428 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
29429 its value according to the compression algorithm used, lzo or lzma.
29430
29431 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29432 compression algorithm according to configure macro.
29433
29434 * kern/i386/pc/startup.S (codestart): Likewise.
29435
29436 * kern/i386/pc/lzma_decode.S: New file.
29437
29438 * include/grub/lib/LzFind.h: Likewise.
29439
29440 * include/grub/lib/LzHash.h: Likewise.
29441
29442 * include/grub/lib/LzmaDec.h: Likewise.
29443
29444 * include/grub/lib/LzmaEnc.h: Likewise.
29445
29446 * include/grub/lib/LzmaTypes.h: Likewise.
29447
29448 * lib/LzFind.c: Likewise.
29449
29450 * lib/LzmaDec.c: Likewise.
29451
29452 * lib/LzmaEnc.c: Likewise.
29453
29454 2008-07-13 Bean <bean123ch@gmail.com>
29455
29456 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29457 (grub_ext4_extent_header): New structure.
29458 (grub_ext4_extent): Likewise.
29459 (grub_ext4_extent_idx): Likewise.
29460 (grub_ext4_find_leaf): New function.
29461 (grub_ext2_read_block): Handle extents.
29462
29463 2008-07-12 Robert Millan <rmh@aybabtu.com>
29464
29465 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29466
29467 2008-07-11 Robert Millan <rmh@aybabtu.com>
29468
29469 * util/grub.d/40_custom.in: New file. Example on how to add custom
29470 entries to /etc/grub.d.
29471 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29472 40_custom (implicitly, by merging all the grub.d rules).
29473
29474 2008-07-11 Pavel Roskin <proski@gnu.org>
29475
29476 * commands/read.c (grub_getline): Fix invalid memory access.
29477 Don't add newline to the variable value.
29478
29479 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29480 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29481 (serial_hw_get_port): Check validity of the port number.
29482 (grub_cmd_serial): Check return value of serial_hw_get_port().
29483
29484 2008-07-07 Pavel Roskin <proski@gnu.org>
29485
29486 * boot/i386/pc/diskboot.S (notification_string): Replace
29487 "Loading kernel" with just "loading". This is shorter, less
29488 confusing and saves a few bytes for possible future changes.
29489
29490 2008-07-05 Pavel Roskin <proski@gnu.org>
29491
29492 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29493 size for ATAPI devices, they are undefined. Output sector
29494 number in decimal form.
29495
29496 * disk/ata.c: Use named constants for status bits.
29497
29498 2008-07-04 Pavel Roskin <proski@gnu.org>
29499
29500 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29501 grub_addr_t before casting it to the void pointer to fix a
29502 warning. Non-addressable regions are discarded earlier.
29503 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29504 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29505 (check_signature): Don't shadow table_header.
29506 (grub_linuxbios_table_iterate): Cast numeric constants to
29507 grub_linuxbios_table_header_t.
29508 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29509 grub_stop().
29510
29511 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29512 prevent warnings.
29513
29514 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29515 pointer, which can cause warnings. Support 64-bit addresses.
29516
29517 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29518 of sizeof(long). This fixes PowerPC image generation on x86_64.
29519
29520 2008-07-04 Robert Millan <rmh@aybabtu.com>
29521
29522 This fixes a performance issue when pc & gpt partmap iterators
29523 didn't abort iteration even after our hook found what it was
29524 looking for (often causing expensive probes of non-existent drives).
29525
29526 Some callers relied on previous buggy behaviour, since they would
29527 raise an error when their own hooks caused early abortion of its
29528 iteration.
29529
29530 * kern/device.c (grub_device_open): Improve error message.
29531 * disk/lvm.c (grub_lvm_open): Likewise.
29532 * disk/raid.c (grub_raid_open): Likewise.
29533
29534 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29535 when hook requests it, independently of grub_errno.
29536 (pc_partition_map_probe): Do not fail when find_func() caused
29537 early abortion of pc_partition_map_iterate().
29538
29539 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29540 when hook requests it, independently of grub_errno.
29541 (gpt_partition_map_probe): Do not fail when find_func() caused
29542 early abortion of gpt_partition_map_iterate().
29543
29544 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29545 when hook requests it, independently of grub_errno. Do not fail when
29546 part_map_iterate_hook() caused early abortion of p->iterate().
29547
29548 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29549 when grub_partition_iterate() returned with non-zero.
29550
29551 2008-07-03 Pavel Roskin <proski@gnu.org>
29552
29553 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29554 like we do in grub_ata_pio_read().
29555 (grub_ata_readwrite): Always write individual sectors. Fix the
29556 sector count for the remainder.
29557 (grub_ata_write): Enable writing to ATA devices. Correctly
29558 report error for ATAPI devices.
29559
29560 2008-07-02 Pavel Roskin <proski@gnu.org>
29561
29562 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29563 warning.
29564
29565 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29566 for every read sector, we already increment it for the whole
29567 batch. This fixes reading more than 256 sectors at once.
29568
29569 * util/grub-editenv.c (cmd_info): Cast argument to long
29570 explicitly. ptrdiff_t reduces to int on i386.
29571
29572 * util/grub-editenv.c (main): Be specific which parameter is
29573 missing.
29574
29575 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29576 (memdisk): Make memdisk_orig_addr a pointer.
29577
29578 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29579 for file offsets, use grub_off_t instead. Fix printf format
29580 warnings.
29581
29582 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29583 there. Real unexpected warnings should not drown in the noise
29584 about known problems.
29585
29586 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29587 grub_disk_addr_t for memory addresses.
29588
29589 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29590 explicitly to fix a warning.
29591
29592 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29593
29594 * Makefile.in (MODULE_LDFLAGS): New variable.
29595 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29596 the linker accepts --build-id=none.
29597 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29598 MODULE_LDFLAGS.
29599 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29600
29601 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29602 those in Linux XFS code. Provide a way to access 64-bit parent
29603 inode.
29604 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29605 the end of struct grub_xfs_dir_header.
29606
29607 2008-07-02 Bean <bean123ch@gmail.com>
29608
29609 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29610 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29611 and GRUB_IEEE1275_FLAG_NO_ANSI.
29612
29613 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29614 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29615 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29616
29617 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29618 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29619
29620 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29621 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29622
29623 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29624 esc sequence on non ANSI terminal.
29625 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29626
29627 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29628 beginning of file.
29629
29630 2008-07-02 Bean <bean123ch@gmail.com>
29631
29632 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29633 (grub_editenv_SOURCES): New variable.
29634 (pkglib_MODULES): Add loadenv.mod.
29635 (loadenv_mod_SOURCES): New variable.
29636 (loadenv_mod_CFLAGS): Likewise.
29637 (loadenv_mod_LDFLAGS): Likewise.
29638
29639 * include/grub/envblk.h: New file.
29640
29641 * util/envblk.c: New file.
29642
29643 * util/grub-editenv.c: New file.
29644
29645 * commands/loadenv.c: New file.
29646
29647 2008-07-01 Pavel Roskin <proski@gnu.org>
29648
29649 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29650 not unsigned char. This fixes warnings and is consistent with
29651 other tags.
29652
29653 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29654
29655 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29656
29657 * term/tparm.c (analyze): Always set *popcount.
29658
29659 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29660 cast to fix a warning.
29661
29662 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29663 cast to suppress a warning.
29664
29665 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29666 grub_fshelp_read_file() expects.
29667
29668 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29669 write uuid as a 32-bit value in CPU byte order, so declare and
29670 use it as such.
29671
29672 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29673 long if the format specifier expects it.
29674 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29675 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29676 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29677 long to fix a warning.
29678 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29679 grub_dprintf() arguments to fix warnings.
29680
29681 2008-06-30 Pavel Roskin <proski@gnu.org>
29682
29683 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29684 install_bsd_part immediately before core.img is embedded or
29685 modified on disk. This fixes core.img verification if core.img
29686 cannot be embedded.
29687
29688 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29689 core_path to calculate the blocklist.
29690 Patch from Javier Martín <lordhabbit@gmail.com>
29691
29692 2008-06-29 Robert Millan <rmh@aybabtu.com>
29693
29694 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29695 block to disk block.
29696 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29697 Patch from Niels Böhm <bitbucket@arcor.de>
29698
29699 2008-06-29 Robert Millan <rmh@aybabtu.com>
29700
29701 * util/update-grub_lib.in (font_path): Search for fonts in
29702 /boot/grub first, which is more likely to be readable (we aren't
29703 deciding where fonts live, just looking for them).
29704
29705 2008-06-26 Pavel Roskin <proski@gnu.org>
29706
29707 * util/biosdisk.c (read_device_map): Don't leave dead map
29708 entries for devices failing stat() check.
29709
29710 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29711 core_path_dev for the core.img path on the target device.
29712
29713 2008-06-26 Robert Millan <rmh@aybabtu.com>
29714
29715 * disk/fs_uuid.c: New file.
29716 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29717 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29718 (fs_uuid_mod_LDFLAGS): New variables.
29719 * include/grub/disk.h (grub_disk_dev_id): Add
29720 `GRUB_DISK_DEVICE_UUID_ID'.
29721 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29722 implement iterate().
29723
29724 2008-06-26 Robert Millan <rmh@aybabtu.com>
29725
29726 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29727 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29728 Linux image includes no initrd.
29729
29730 2008-06-21 Javier Martín <lordhabbit@gmail.com>
29731
29732 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29733 call to resolve the core image location that effectively appended the
29734 name twice.
29735
29736 2008-06-21 Robert Millan <rmh@aybabtu.com>
29737
29738 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29739 call from here ...
29740
29741 * util/grub.d/10_hurd.in: ... to here ...
29742 * util/grub.d/10_linux.in: ... and here.
29743
29744 2008-06-19 Robert Millan <rmh@aybabtu.com>
29745
29746 * kern/main.c (grub_main): Export `prefix' variable immediately
29747 after it has been set by grub_machine_set_prefix().
29748
29749 2008-06-19 Robert Millan <rmh@aybabtu.com>
29750
29751 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29752 search result when not saving to variable, not the other way around.
29753 When saving to variable, abort iteration as soon as a match is found.
29754
29755 2008-06-19 Robert Millan <rmh@aybabtu.com>
29756
29757 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29758 check for partition that provides /boot/grub. Its logic is flawed,
29759 as it prevents prepare_grub_to_access_device() from being called
29760 multiple times.
29761
29762 2008-06-19 Robert Millan <rmh@aybabtu.com>
29763
29764 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29765 "insmod" command directly when abstraction modules are needed,
29766 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
29767 since it had already been processed).
29768
29769 2008-06-19 Pavel Roskin <proski@gnu.org>
29770
29771 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29772 changed. This is needed in case GRUB_LIBDIR changes.
29773 * conf/i386-ieee1275.rmk: Likewise.
29774 * conf/i386-linuxbios.rmk: Likewise.
29775 * conf/i386-pc.rmk: Likewise.
29776 * conf/powerpc-ieee1275.rmk: Likewise.
29777
29778 2008-06-18 Pavel Roskin <proski@gnu.org>
29779
29780 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29781 kernel_elf_symlist.c to symlist.c for consistency with other
29782 architectures. Update all users.
29783 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29784
29785 2008-06-18 Robert Millan <rmh@aybabtu.com>
29786
29787 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29788 it in prefix.
29789
29790 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29791 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29792 a RAID device, run setup() for all members independently on whether
29793 LVM abstraction is being used.
29794 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29795 If grub-mkimage has set `*install_dos_part == -2', don't override this
29796 value.
29797 Perform *install_dos_part adjustments independently on whether
29798 we're embedding or not.
29799 Clarify error message when image is too big for embedding.
29800 Remove duplicate *install_dos_part stanza.
29801
29802 2008-06-17 Robert Millan <rmh@aybabtu.com>
29803
29804 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29805 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29806 variables.
29807 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29808 values in grub_ofconsole_normal_color and
29809 grub_ofconsole_highlight_color (they're not directly related to
29810 background and foreground).
29811 (grub_ofconsole_setcolorstate): Extract background and foreground
29812 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29813
29814 2008-06-17 Robert Millan <rmh@aybabtu.com>
29815
29816 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29817 /boot/grub for the check in last commit, not /boot (they could be
29818 different partitions).
29819
29820 2008-06-16 Robert Millan <rmh@aybabtu.com>
29821
29822 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29823 asked to setup access for the same partition that provides /boot,
29824 don't bother using UUIDs since our root already has the value we
29825 want.
29826
29827 2008-06-16 Robert Millan <rmh@aybabtu.com>
29828
29829 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29830 I2O devices.
29831 Patch from Sven Mueller <sven@debian.org>.
29832
29833 2008-06-16 Robert Millan <rmh@aybabtu.com>
29834
29835 * util/update-grub.in: Check for $EUID instead of $UID.
29836 Reported by Vincent Zweije.
29837
29838 2008-06-16 Bean <bean123ch@gmail.com>
29839
29840 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
29841 (grub_ext2_read_block): Likewise.
29842 (grub_ext2_read_inode): Likewise.
29843 (grub_ext2_mount): Likewise.
29844 (grub_ext2_close): Likewise.
29845 (grub_ext3_get_journal): Removed.
29846
29847 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
29848 (grub_reiserfs_read_symlink): Likewise.
29849 (grub_reiserfs_mount): Likewise.
29850 (grub_reiserfs_open): Likewise.
29851 (grub_reiserfs_read): Likewise.
29852 (grub_reiserfs_close): Likewise.
29853 (grub_reiserfs_get_journal): Removed.
29854
29855 * fs/fshelp.c (grub_fshelp_read): Removed.
29856 (grub_fshelp_map_block): Likewise.
29857
29858 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29859 (grub_fshelp_journal): Likewise.
29860 (grub_fshelp_read): Likewise.
29861 (grub_fshelp_map_block): Likewise.
29862
29863 2008-06-16 Pavel Roskin <proski@gnu.org>
29864
29865 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29866 floating point anymore.
29867 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29868
29869 2008-06-15 Pavel Roskin <proski@gnu.org>
29870
29871 * commands/ls.c (grub_ls_list_files): Use integer calculations
29872 for human readable format, avoid floating point use.
29873 * kern/misc.c (grub_ftoa): Remove.
29874 (grub_vsprintf): Remove floating point support.
29875
29876 2008-06-15 Robert Millan <rmh@aybabtu.com>
29877
29878 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
29879 devices.
29880 Reported by Max Vozeler.
29881
29882 2008-06-15 Robert Millan <rmh@aybabtu.com>
29883
29884 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29885 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29886 skipped later.
29887 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29888 the beginning of the prefix.
29889
29890 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29891 It is assumed that if we have a memdisk, grub-mkimage has set
29892 grub_prefix to include the "(memdisk)" drive in it.
29893
29894 2008-06-15 Robert Millan <rmh@aybabtu.com>
29895
29896 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29897 Initialize keyboard controller after registering the terminal, so that
29898 grub_printf() can be called from grub_keyboard_controller_init().
29899
29900 2008-06-15 Robert Millan <rmh@aybabtu.com>
29901
29902 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29903 extent-btree which is written as big endian on disk.
29904 Reported by Alain Greppin <al@chilibi.org>.
29905
29906 2008-06-14 Robert Millan <rmh@aybabtu.com>
29907
29908 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29909 * util/i386/pc/grub-install.in (modules): Likewise.
29910
29911 2008-06-13 Pavel Roskin <proski@gnu.org>
29912
29913 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29914
29915 2008-06-13 Bean <bean123ch@gmail.com>
29916
29917 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29918
29919 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29920
29921 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29922 to indicate sparse block.
29923
29924 2008-06-12 Pavel Roskin <proski@gnu.org>
29925
29926 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29927 number, grub_fshelp_read() does it for us.
29928
29929 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29930 linear disk read with journal translation.
29931 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29932 * include/grub/fshelp.h: Declare grub_fshelp_read().
29933
29934 2008-06-09 Pavel Roskin <proski@gnu.org>
29935
29936 * fs/minix.c (grub_minix_mount): Handle error reading
29937 superblock.
29938
29939 2008-06-08 Robert Millan <rmh@aybabtu.com>
29940
29941 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29942 don't append the RAID prefix afterwards.
29943 Reported by Clint Adams.
29944
29945 2008-06-08 Robert Millan <rmh@aybabtu.com>
29946
29947 Based on description from Pavel:
29948 * kern/disk.c (grub_disk_check_range): Rename to ...
29949 (grub_disk_adjust_range): ... this. Add a comment explaining the
29950 tasks performed by this function.
29951
29952 2008-06-08 Robert Millan <rmh@aybabtu.com>
29953
29954 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29955 `num_serial' (for consistency with other variables).
29956 (struct grub_ntfs_data): Add `uuid' member.
29957 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29958 (grub_ntfs_uuid): New function.
29959 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29960
29961 2008-06-07 Pavel Roskin <proski@gnu.org>
29962
29963 * util/biosdisk.c (open_device): Revert last change to the
29964 function, it broke installation. The sector needs to be
29965 different dependent on which device is opened.
29966
29967 2008-06-06 Robert Millan <rmh@aybabtu.com>
29968
29969 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29970 rest of GRUB, and breakage doesn't happen if its value were modified.
29971
29972 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29973 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29974 a constant (same value).
29975 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29976 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29977
29978 2008-06-06 Robert Millan <rmh@aybabtu.com>
29979
29980 * util/biosdisk.c (open_device): Do not modify sector offset when
29981 accessing a partition. kern/disk.c already handles this for us.
29982
29983 2008-06-06 Robert Millan <rmh@aybabtu.com>
29984
29985 * util/grub-emu.c (grub_machine_init): Move code in this function from
29986 here ...
29987 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29988 segfault in case grub_printf() is called).
29989
29990 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29991 grub_probe. Update all users not to explicitly add it again.
29992 (grub_device): New variable; contains corresponding device for grubdir.
29993 (fs_module, partmap_module, devabstraction_module): Pass
29994 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29995 every time.
29996
29997 2008-06-05 Robert Millan <rmh@aybabtu.com>
29998
29999 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30000 is found, print it (same layout as with labels).
30001
30002 2008-06-04 Robert Millan <rmh@aybabtu.com>
30003
30004 * util/biosdisk.c (get_drive): Rename to ...
30005 (find_grub_drive): ... this. Update all users.
30006
30007 (get_os_disk): Rename to ...
30008 (convert_system_partition_to_system_disk): ... this. Update all users.
30009
30010 (find_drive): Rename to ...
30011 (find_system_device): ... this. Update all users.
30012
30013 2008-06-04 Robert Millan <rmh@aybabtu.com>
30014
30015 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30016 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30017 (make_device_map): Likewise.
30018
30019 2008-06-01 Robert Millan <rmh@aybabtu.com>
30020
30021 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30022 before dereferencing it.
30023
30024 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30025 union with fat12/fat16-specific ones. Add some new fields, including
30026 `num_serial' for both versions.
30027 (struct grub_fat_data): Add `uuid' member.
30028 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30029 names. Initialize `data->uuid' using `num_serial'.
30030 (grub_fat_uuid): New function.
30031 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30032
30033 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30034 (grub_reiserfs_uuid): New function.
30035 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30036 member.
30037
30038 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30039 (grub_xfs_uuid): New function.
30040 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30041
30042 2008-06-01 Robert Millan <rmh@aybabtu.com>
30043
30044 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30045 code that is backward compatible with pre-uuid search command.
30046
30047 2008-05-31 Robert Millan <rmh@aybabtu.com>
30048
30049 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30050 floppies after everything else, to ensure floppy drive isn't accessed
30051 unnecessarily (patch from Bean).
30052
30053 2008-05-31 Robert Millan <rmh@aybabtu.com>
30054
30055 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30056 not print device names when we were asked to set a variable.
30057
30058 2008-05-31 Robert Millan <rmh@aybabtu.com>
30059
30060 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30061 using "cursor-on" and "cursor-off" commands (understood at least by
30062 the Open Firmware flavour on OLPC).
30063
30064 2008-05-31 Michael Gorven <michael@gorven.za.net>
30065
30066 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30067 on and off sequences.
30068
30069 2008-05-31 Robert Millan <rmh@aybabtu.com>
30070
30071 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30072 * util/update-grub.in: Likewise.
30073
30074 2008-05-30 Pavel Roskin <proski@gnu.org>
30075
30076 * util/biosdisk.c (linux_find_partition): Simplify logic and
30077 make the code more universal. Keep special processing for
30078 devfs, but use a simple rule for all other devices. If the
30079 device ends with a number, append 'p' and the partition number.
30080 Otherwise, append only the partition number.
30081
30082 2008-05-30 Robert Millan <rmh@aybabtu.com>
30083
30084 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30085 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30086 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30087 the `root' parameter to Linux.
30088
30089 2008-05-30 Robert Millan <rmh@aybabtu.com>
30090
30091 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30092 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30093 --fs_uuid with --fs-uuid.
30094 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30095 all filesystems support them).
30096
30097 2008-05-30 Robert Millan <rmh@aybabtu.com>
30098
30099 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
30100 grub_printf() flags, since we're printing in units of 2 bytes.
30101
30102 2008-05-30 Robert Millan <rmh@aybabtu.com>
30103
30104 * util/grub.d/00_header.in: Remove obsolete comment referencing
30105 convert_system_path_to_grub_path().
30106 * util/update-grub.in: Likewise.
30107 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30108 (convert_system_path_to_grub_path): Add a warning message explaining
30109 that this function is deprecated. Rely on is_path_readable_by_grub()
30110 for the readability checks.
30111 (font_path): Use is_path_readable_by_grub() for the readability
30112 check rather than convert_system_path_to_grub_path().
30113
30114 2008-05-30 Robert Millan <rmh@aybabtu.com>
30115
30116 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30117 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30118 converting it first.
30119 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30120 grub.cfg for access to font file, and afterwards call it again to set
30121 the root device.
30122
30123 2008-05-30 Robert Millan <rmh@aybabtu.com>
30124
30125 * commands/search.c (options): Add --fs_uuid option.
30126 (search_fs_uuid): New function.
30127 (grub_cmd_search): Fix --set argument passing.
30128 Use search_fs_uuid() when requested via --fs_uuid.
30129 (grub_search_init): Update help message.
30130 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30131 and redeclare it as an array of 16-bit words.
30132 (grub_ext2_uuid): New function.
30133 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30134 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30135 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30136 (GRUB_DEVICE_BOOT_UUID): New variables.
30137 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30138 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30139 whenever possible.
30140 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30141 just assume `root' variable has the right value.
30142 * util/grub.d/10_linux.in: Likewise.
30143 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30144 via PRINT_FS_UUID.
30145 (main): Recognise `-t fs_uuid' argument.
30146
30147 2008-05-30 Robert Millan <rmh@aybabtu.com>
30148
30149 * util/biosdisk.c (map): Redefine structure to hold information
30150 about GRUB drive name.
30151 (get_drive): Reimplement without assuming (and verifying) BIOS-like
30152 drive names.
30153 (call_hook): Remove.
30154 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30155 member. Assume drive has partitions.
30156 (grub_util_biosdisk_open): Access device names via `.device' struct
30157 member.
30158 (open_device): Likewise.
30159 (find_drive): Likewise.
30160 (read_device_map): Adjust map[] usage to match the new struct
30161 definition. Don't check for duplicates (still possible, but not cheap
30162 anymore).
30163 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30164 (make_device_name): Remove assumption of BIOS-like drive names.
30165
30166 2008-05-30 Pavel Roskin <proski@gnu.org>
30167
30168 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30169 compiling execute.c doesn't need grub_script.tab.h anymore.
30170 (normal/command.c_DEPENDENCIES): Likewise.
30171 (normal/function.c_DEPENDENCIES): Likewise.
30172 * conf/i386-ieee1275.rmk: Likewise.
30173 * conf/i386-linuxbios.rmk: Likewise.
30174 * conf/i386-pc.rmk: Likewise.
30175 * conf/powerpc-ieee1275.rmk: Likewise.
30176 * conf/sparc64-ieee1275.rmk: Likewise.
30177
30178 2008-05-29 Pavel Roskin <proski@gnu.org>
30179
30180 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30181 when scanning metadata for volume group name.
30182
30183 * include/grub/script.h: Don't include grub_script.tab.h. It's
30184 a generated file, which may only be included from the files with
30185 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30186 use union YYSTYPE, as the later allows forward declaration.
30187 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30188
30189 2008-05-29 Robert Millan <rmh@aybabtu.com>
30190
30191 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30192 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30193 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30194 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30195 scan codes.
30196
30197 2008-05-29 Robert Millan <rmh@aybabtu.com>
30198
30199 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30200 control key combinations.
30201
30202 2008-05-29 Robert Millan <rmh@aybabtu.com>
30203
30204 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30205 * util/ieee1275/grub-install.in: ... to here.
30206 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30207 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30208 (grub_install_SOURCES): Likewise.
30209
30210 2008-05-29 Robert Millan <rmh@aybabtu.com>
30211
30212 * fs/affs.c: Update copyright year.
30213 * fs/ext2.c: Likewise.
30214 * fs/fshelp.c: Likewise.
30215 * fs/hfsplus.c: Likewise.
30216 * fs/ntfs.c: Likewise.
30217 * fs/xfs.c: Likewise.
30218 * include/grub/fshelp.h: Likewise.
30219 * util/grub-mkdevicemap.c: Likewise.
30220
30221 2008-05-28 Robert Millan <rmh@aybabtu.com>
30222
30223 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30224 might need to be fatfs to support some firmware implementations
30225 (e.g. OFW or EFI).
30226
30227 2008-05-28 Robert Millan <rmh@aybabtu.com>
30228
30229 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30230 devices.
30231 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30232 (make_device_map): Likewise.
30233
30234 2008-05-20 Bean <bean123ch@gmail.com>
30235
30236 * fs/fshelp.c (grub_fshelp_map_block): New function.
30237 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30238 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30239
30240 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30241 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30242 (grub_fshelp_journal): New structure.
30243 (grub_fshelp_map_block): New function prototype.
30244 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30245 (grub_fshelp_map_block): Likewise.
30246
30247 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30248 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30249 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30250 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30251 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30252 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30253 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30254 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30255 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30256 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30257 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30258 (grub_ext2_sblock): New members for journal support.
30259 (grub_ext3_journal_header): New structure.
30260 (grub_ext3_journal_revoke_header): Likewise.
30261 (grub_ext3_journal_block_tag): Likewise.
30262 (grub_ext3_journal_sblock): Likewise.
30263 (grub_fshelp_node): New members logfile and journal.
30264 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30265 grub_fshelp_map_block to get real block number.
30266 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30267 number.
30268 (grub_ext2_read_inode): Likewise.
30269 (grub_ext3_get_journal): New function.
30270 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30271 (grub_ext2_close): Release memory used by journal.
30272
30273 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30274 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30275 (grub_reiserfs_transaction_header): Renamed to
30276 grub_reiserfs_description_block, replace field data with real_blocks.
30277 (grub_reiserfs_commit_block): New structure.
30278 (grub_reiserfs_data): New member journal.
30279 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30280 number.
30281 (grub_reiserfs_read_symlink): Likewise.
30282 (grub_reiserfs_iterate_dir): Likewise.
30283 (grub_reiserfs_open): Likewise.
30284 (grub_reiserfs_read): Likewise.
30285 (grub_reiserfs_get_journal): New function.
30286 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30287 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30288 using grub_reiserfs_get_journal.
30289 (grub_reiserfs_close): Release memory used by journal.
30290
30291 * fs/affs.c (grub_affs_read_block): Change block type to
30292 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30293
30294 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30295
30296 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30297
30298 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30299
30300 * fs/udf.c (grub_udf_read_block): Change block type to
30301 grub_disk_addr_t. Use type cast to avoid warning.
30302
30303 * fs/xfs.c (grub_xfs_read_block): Likewise.
30304
30305 2008-05-16 Christian Franke <franke@computer.org>
30306
30307 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30308 to ensure that break with ESC will always work.
30309 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30310 Remove ESC from keyboard queue.
30311
30312 2008-05-16 Christian Franke <franke@computer.org>
30313
30314 * util/biosdisk.c: [__CYGWIN__] Add includes.
30315 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30316 (get_os_disk): Move variable declarations to OS specific
30317 parts to avoid warning.
30318 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30319 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30320 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30321 Cygwin.
30322 * util/getroot.c: [__CYGWIN__] Add includes.
30323 (strip_extra_slashes): Fix "/" case.
30324 [__CYGWIN__] (get_win32_path): New function.
30325 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30326 [__CYGWIN__] (find_root_device): Disable.
30327 [__CYGWIN__] (get_bootsec_serial): New function.
30328 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30329 [__linux__] (grub_guess_root_device): Add early returns to simplify
30330 structure.
30331 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30332 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30333 check for Linux only.
30334
30335 2008-05-15 Bean <bean123ch@gmail.com>
30336
30337 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30338 keyboard hang problem in apple's intel mac.
30339
30340 2008-05-09 Robert Millan <rmh@aybabtu.com>
30341
30342 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30343 devices.
30344 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30345 (make_device_map): Likewise.
30346 Reported by Aurelien Jarno <aurel32@debian.org>
30347
30348 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
30349
30350 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30351 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30352 (make_device_map): Output entries for xvd type disks.
30353
30354 2008-05-07 Robert Millan <rmh@aybabtu.com>
30355
30356 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30357 devices.
30358 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30359 (make_device_map): Likewise.
30360 Reported by Roland Dreier <rdreier@cisco.com>
30361
30362 2008-05-07 Robert Millan <rmh@aybabtu.com>
30363
30364 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30365 grub_strstr() call. Correct a few mistakes in failure path handling.
30366
30367 2008-05-06 Robert Millan <rmh@aybabtu.com>
30368
30369 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30370 Do not print a trailing slash (therefore, the root directory is an
30371 empty string).
30372 (convert_system_path_to_grub_path): Do not remove trailing slash
30373 from make_system_path_relative_to_its_root() output.
30374
30375 * util/i386/pc/grub-install.in: Add trailing slash to output from
30376 make_system_path_relative_to_its_root().
30377
30378 2008-05-06 Robert Millan <rmh@aybabtu.com>
30379
30380 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30381 ensures that output lines aren't intermangled with those sent to
30382 stderr (via grub_util_info()).
30383 * util/grub-probe.c (grub_refresh): Likewise.
30384 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30385
30386 2008-05-05 Christian Franke <franke@computer.org>
30387
30388 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30389 Add Cygwin device names.
30390 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30391 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30392 (check_device): Return error instead of success on empty name.
30393 (make_device_map): Move label inside linux specific code to
30394 prevent compiler warning.
30395
30396 2008-04-30 Robert Millan <rmh@aybabtu.com>
30397
30398 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30399 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30400 first boot option.
30401 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30402
30403 2008-04-29 Robert Millan <rmh@aybabtu.com>
30404
30405 * docs/grub.cfg: New file (example GRUB configuration).
30406
30407 2008-04-26 Robert Millan <rmh@aybabtu.com>
30408
30409 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30410 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30411 and `disk/ieee1275/nand.c'.
30412
30413 2008-04-25 Bean <bean123ch@gmail.com>
30414
30415 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30416 i386-linuxbios.
30417
30418 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30419 change the buffer size to 4096 for cdrom device.
30420
30421 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30422 and nand.mod.
30423 (_linux_mod_SOURCES): New variable.
30424 (_linux_mod_CFLAGS): Likewise.
30425 (_linux_mod_LDFLAGS): Likewise.
30426 (linux_mod_SOURCES): Likewise.
30427 (linux_mod_CFLAGS): Likewise.
30428 (linux_mod_LDFLAGS): Likewise.
30429 (nand_mod_SOURCES): Likewise.
30430 (nand_mod_CFLAGS): Likewise.
30431 (nand_mod_LDFLAGS): Likewise.
30432
30433 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30434 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30435 type property. (nand device in olpc don't have this property)
30436
30437 * include/grub/disk.h (grub_disk_dev_id): New macro
30438 GRUB_DISK_DEVICE_NAND_ID.
30439
30440 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30441 function prototype.
30442 (grub_rescue_cmd_initrd): Likewise.
30443
30444 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30445 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30446 ofw_cif_handler and ofw_idt, adjust padding number.
30447
30448 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30449 GRUB_MACHINE_IEEE1275 is defined.
30450
30451 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30452 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30453
30454 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30455 on nested function heap_init.
30456 (grub_upper_mem): New variable for i386-ieee1275.
30457 (grub_get_extended_memory): New function for i386-ieee1275.
30458 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30459
30460 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30461 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30462 property.
30463
30464 * loader/i386/ieee1275/linux.c: New file.
30465
30466 * loader/i386/ieee1275/linux_normal.c: New file.
30467
30468 * disk/ieee1275/nand.c: New file.
30469
30470 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30471
30472 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30473 value.
30474 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30475
30476 2008-04-18 Robert Millan <rmh@aybabtu.com>
30477
30478 Restructures early code path on ieee1275 to unify grub_main() as
30479 the first C function that is executed in every platform.
30480
30481 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30482 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30483 cmain().
30484 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30485 * kern/ieee1275/cmain.c (cmain): Rename to ...
30486 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30487 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30488 at the beginning.
30489
30490 2008-04-18 Robert Millan <rmh@aybabtu.com>
30491
30492 * util/update-grub.in: Fix syntax error when setting
30493 `GRUB_PRELOAD_MODULES'.
30494 Reported by Stephane Chazelas <stephane@artesyncp.com>
30495
30496 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30497
30498 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30499 section into account, newer toolchains generate unique build ids
30500 * configure.ac: remove the test for --build-id=none acceptance,
30501 we want build ids to be preserved
30502 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30503 far from other sections don't cause the raw binary images grow
30504 size
30505
30506 2008-04-15 Robert Millan <rmh@aybabtu.com>
30507
30508 * disk/lvm.c: Update copyright year.
30509 * kern/misc.c: Likewise.
30510
30511 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30512
30513 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30514 there is no memory left for physical volume name.
30515
30516 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30517
30518 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30519 volume name mapping to support bigger than 9 character names properly.
30520
30521 2008-04-13 Robert Millan <rmh@aybabtu.com>
30522
30523 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30524 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30525
30526 2008-04-13 Christian Franke <franke@computer.org>
30527
30528 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30529 to create a floppy emulation boot CD when non emulation mode
30530 does not work.
30531 Enable Joliet CD filesystem extension.
30532
30533 2008-04-13 Robert Millan <rmh@aybabtu.com>
30534
30535 * kern/misc.c (grub_strncat): Fix off-by-one error.
30536 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30537
30538 * kern/env.c (grub_env_context_close): Clear current context, not
30539 previous one.
30540 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30541
30542 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30543
30544 2008-04-13 Robert Millan <rmh@aybabtu.com>
30545
30546 Improve robustness when handling LVM.
30547
30548 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30549 (and leave `*p' unmodified).
30550 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30551 through it.
30552 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30553 iterating through it.
30554 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30555 through it.
30556 (grub_lvm_scan_device): Check the return value (and fail gracefully
30557 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30558 Don't assume `vg->pvs != NULL' when iterating through it.
30559
30560 2008-04-13 Robert Millan <rmh@aybabtu.com>
30561
30562 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30563 * genmk.rb (partmap): New variable.
30564 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30565 (#{partmap}): New target rule.
30566 * genpartmaplist.sh: New file.
30567 * Makefile.in (pkglib_DATA): Add partmap.lst.
30568 (partmap.lst): New target rule.
30569 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30570 modules (including all partition maps), instead of preloading them.
30571
30572 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30573
30574 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30575 `linux-boot-prober' (if installed) to detect other operating
30576 systems which are installed on the computer and add them to
30577 the boot menu.
30578 * conf/common.rmk: Build and install 30_os-prober.
30579
30580 2008-04-12 Robert Millan <rmh@aybabtu.com>
30581
30582 * kern/powerpc/ieee1275/init.c: Move from here ...
30583 * kern/ieee1275/init.c: ... to here. Update all users.
30584
30585 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30586 * kern/ieee1275/cmain.c: ... to here. Update all users.
30587
30588 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30589 * kern/ieee1275/openfw.c: ... to here. Update all users.
30590
30591 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30592 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30593
30594 2008-04-10 Pavel Roskin <proski@gnu.org>
30595
30596 * configure.ac: Always use "_cv_" in cache variables for
30597 compatibility with Autoconf 2.62.
30598
30599 2008-04-07 Robert Millan <rmh@aybabtu.com>
30600
30601 Revert grub/machine/init.h addition by Pavel (since it breaks on
30602 i386-ieee1275 and others):
30603 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30604 * util/powerpc/ieee1275/misc.c: Likewise.
30605
30606 2008-04-07 Robert Millan <rmh@aybabtu.com>
30607
30608 * util/grub-probe.c (probe): Improve error message.
30609
30610 2008-04-07 Robert Millan <rmh@aybabtu.com>
30611
30612 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30613 (this prevents the presence of a bogus entry from ruining the whole
30614 thing).
30615
30616 2008-04-06 Pavel Roskin <proski@gnu.org>
30617
30618 * util/biosdisk.c: Include grub/util/biosdisk.h.
30619 * util/grub-fstest.c (execute_command): Make static.
30620 * util/grub-mkdevicemap.c (check_device): Likewise.
30621 * util/i386/pc/misc.c: Include grub/machine/init.h.
30622 * util/powerpc/ieee1275/misc.c: Likewise.
30623 * util/lvm.c: Include grub/util/lvm.h.
30624 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30625 grub/cache.h.
30626 * util/raid.c: Include grub/util/raid.h.
30627 (grub_util_getdiskname): Make static.
30628
30629 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30630 grub_hostfs_fini(), as they are called from grub_init_all() and
30631 grub_fini_all() respectively. This fixes an infinite loop in
30632 grub-fstest due to double registration of hostfs.
30633 Reported by Christian Franke <Christian.Franke@t-online.de>
30634
30635 2008-04-05 Pavel Roskin <proski@gnu.org>
30636
30637 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30638 all 8 functions. Otherwise, probe function 0 only.
30639
30640 2008-04-04 Pavel Roskin <proski@gnu.org>
30641
30642 * commands/lspci.c (grub_lspci_iter): Print the bus number
30643 correctly.
30644
30645 * commands/lspci.c (grub_pci_classes): Fix typos.
30646 (grub_lspci_iter): Don't print func twice. Print vendor ID
30647 before device ID, as it's normally done.
30648
30649 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30650 Fix signedness warnings.
30651 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30652 Likewise.
30653 * util/ieee1275/get_disk_name.c: Include config.h so that
30654 _GNU_SOURCE is defined and getline() is declared. Mark an
30655 unused argument as such. Fix a signedness warning.
30656
30657 2008-04-02 Pavel Roskin <proski@gnu.org>
30658
30659 * genkernsyms.sh.in: Use more robust assignments for CC and
30660 srcdir. Quote srcdir.
30661 * gensymlist.sh.in: Likewise. Assert at the compile time that
30662 the symbol table is not empty.
30663
30664 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30665 * fs/cpio.c (grub_cpio_read): Likewise.
30666
30667 2008-04-01 Pavel Roskin <proski@gnu.org>
30668
30669 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30670 * disk/host.c (grub_host_open): Likewise.
30671 * disk/loopback.c (grub_loopback_open): Likewise.
30672 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30673 disk->id as in disk/host.c, not a multi-character constant.
30674
30675 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30676 later is obsolete, potentially dangerous and sets a bad example.
30677 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30678 * util/misc.c (grub_util_get_image_size): Likewise.
30679
30680 * disk/loopback.c (options): Improve help for "--partitions".
30681
30682 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30683 options to align them with the short options, e.g. "echo -e".
30684
30685 2008-03-31 Bean <bean123ch@gmail.com>
30686
30687 * video/reader/png.c (grub_png_data): New member is_16bit and
30688 image_data.
30689 (grub_png_decode_image_header): Detect 16 bit png image.
30690 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30691 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30692 (grub_video_reader_png): Release memory occupied by image_data.
30693
30694 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30695 4096 bytes.
30696 (grub_nfs_mount): Skip the test for sector per cluster.
30697
30698 * include/grub/ntfs.h (MAX_SPC): Removed.
30699
30700 2008-03-31 Bean <bean123ch@gmail.com>
30701
30702 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30703 (grub_probe_SOURCES): Add fs/afs.c.
30704 (grub_fstest_SOURCES): Likewise.
30705 (afs_mod_SOURCES): New variable.
30706 (afs_mod_CFLAGS): Likewise.
30707 (afs_mod_LDFLAGS): Likewise.
30708
30709 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30710 (grub_emu_SOURCES): Likewise.
30711
30712 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30713
30714 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30715
30716 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30717
30718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30719
30720 * fs/afs.c: New file.
30721
30722 2008-03-30 Pavel Roskin <proski@gnu.org>
30723
30724 * disk/host.c: Include grub/misc.h to fix a warning.
30725 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30726 warnings about implicit declarations.
30727
30728 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30729 variable.
30730 * include/grub/i386/loader.h: Change declaration of
30731 grub_linux_boot() to match what grub_loader_set() expects.
30732 * util/getroot.c (grub_guess_root_device): Return const char* to
30733 fix a warning.
30734 * util/grub-probe.c (probe): Fix a warning about uninitialized
30735 abstraction_name variable.
30736 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30737 second argument as unused to fix a warning.
30738
30739 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30740 missing grub_error() call.
30741
30742 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30743 2.60 and newer uses it to define datadir.
30744
30745 * commands/sleep.c: Fix warning about implicit declaration.
30746 * disk/memdisk.c: Likewise.
30747 * loader/aout.c: Likewise.
30748 * loader/i386/bsd_normal.c: Likewise.
30749 * util/grub-probe.c: Likewise.
30750
30751 * commands/i386/cpuid.c (has_longmode): Make static.
30752 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30753 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30754
30755 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30756 GDT. This is more robust, as %ds can change.
30757 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30758 calling real_to_prot().
30759 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30760
30761 2008-03-28 Pavel Roskin <proski@gnu.org>
30762
30763 * kern/i386/pc/startup.S: Assert that uncompressed functions
30764 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30765 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30766 code, as they push parts of the code (error handlers) beyond
30767 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30768 code as correctness and size.
30769
30770 2008-03-28 Pavel Roskin <proski@gnu.org>
30771
30772 * kern/i386/pc/startup.S
30773 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30774 data block address to the real mode, keep offset minimal. This
30775 works around a bug in AWARD BIOS on old Athlon systems, which
30776 makes CD detection hang.
30777
30778 2008-03-26 Pavel Roskin <proski@gnu.org>
30779
30780 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30781 const.
30782 * include/grub/normal.h: Add grub_parse_color_name_pair()
30783 declaration.
30784
30785 2008-03-24 Bean <bean123ch@gmail.com>
30786
30787 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30788 (cd_count): Removed.
30789 (cd_drive): New variable.
30790 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30791 (grub_biosdisk_call_hook): Likewise.
30792 (grub_biosdisk_iterate): Change cdrom detection method.
30793 (grub_biosdisk_open): Replace cd_start with cd_drive.
30794 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30795 detect cdrom device.
30796
30797 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30798 Removed.
30799 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30800 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30801 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30802 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30803 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30804 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30805 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30806 (grub_biosdisk_cdrp): New structure.
30807 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30808
30809 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30810
30811 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30812 device.
30813
30814 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30815 New function.
30816
30817 2008-03-20 Robert Millan <rmh@aybabtu.com>
30818
30819 Remove 2 TiB limit in ata.mod.
30820 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30821 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30822 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30823 grub_uint64_t instead of grub_uint32_t.
30824
30825 2008-03-05 Bean <bean123ch@gmail.com>
30826
30827 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30828 (grub_multiboot): Set boot device.
30829
30830 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30831
30832 2008-03-02 Bean <bean123ch@gmail.com>
30833
30834 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30835 symlink_buffer.
30836
30837 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30838
30839 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30840 texinfo.tex.
30841
30842 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30843 modified.
30844
30845 * docs/fdl.texi: New file.
30846
30847 * docs/mdate-sh: New file. Copied from gnulib.
30848 * docs/texinfo.tex: Likewise.
30849
30850 * config.guess: Updated from gnulib.
30851 * install-sh: Likewise.
30852
30853 2008-02-28 Robert Millan <rmh@aybabtu.com>
30854
30855 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30856 (aout_mod_SOURCES): New variable.
30857 (aout_mod_CFLAGS): Likewise.
30858 (aout_mod_LDFLAGS): Likewise.
30859
30860 * conf/i386-ieee1275.rmk: Likewise.
30861
30862 2008-02-28 Robert Millan <rmh@aybabtu.com>
30863
30864 * util/update-grub.in: Reorganise terminal validity check. Accept
30865 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30866 Based on suggestion by Franklin PIAT.
30867
30868 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30869
30870 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30871 function.
30872 * util/getroot.c (grub_util_check_block_device): New function that
30873 returns the given argument if it is a block device and returns NULL else.
30874 * util/grub-probe.c (argument_is_device): New variable.
30875 (probe): Promote device_name from a variable to an argument. Receive
30876 device_name from grub_util_check_block_device() if path is NULL and from
30877 grub_guess_root_device() else. Do not free() device_name anymore.
30878 (options): Introduce new parameter '-d, --device'.
30879 (main): Add description of the new parameter to the help screen.
30880 Rename path variable to argument. Set argument_is_device if the '-d'
30881 option is given. Pass argument to probe() depending on
30882 argument_is_device.
30883
30884 2008-02-24 Bean <bean123ch@gmail.com>
30885
30886 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30887 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30888 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30889 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30890 (GRUB_ISO9660_VOLDESC_END): Likewise.
30891 (grub_iso9660_primary_voldesc): New member escape.
30892 (grub_iso9660_data): New member joliet.
30893 (grub_iso9660_convert_string): New function.
30894 (grub_iso9660_mount): Detect joliet extension.
30895 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30896 (grub_iso9660_iso9660_label): Likewise.
30897
30898 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30899 (grub_setup_SOURCES): Add fs/udf.c.
30900 (grub_fstest_SOURCES): Likewise.
30901 (udf_mod_SOURCES): New variable.
30902 (udf_mod_CFLAGS): Likewise.
30903 (udf_mod_LDFLAGS): Likewise.
30904
30905 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30906 (grub_emu_SOURCES): Likewise.
30907
30908 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30909
30910 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30911
30912 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30913
30914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30915
30916 * fs/udf.c: New file.
30917
30918 2008-02-24 Robert Millan <rmh@aybabtu.com>
30919
30920 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30921 (normal/lexer.c_DEPENDENCIES): New variables.
30922 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30923 (normal/lexer.c_DEPENDENCIES): Likewise.
30924 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30925 (normal/lexer.c_DEPENDENCIES): Likewise.
30926 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30927 (normal/lexer.c_DEPENDENCIES): Likewise.
30928 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30929 (normal/lexer.c_DEPENDENCIES): Likewise.
30930 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30931 (normal/lexer.c_DEPENDENCIES): Likewise.
30932
30933 2008-02-23 Robert Millan <rmh@aybabtu.com>
30934
30935 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30936 since they were intended to be in hex. This didn't break previously
30937 because of a bug in gpt_partition_map_iterate() (see below).
30938
30939 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30940 when checking the validity of GPT header.
30941 Remove `partno', since it always provides the same information as `i'.
30942
30943 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30944
30945 * include/grub/efi/time.h: Fix a wrong comment.
30946
30947 2008-02-19 Pavel Roskin <proski@gnu.org>
30948
30949 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30950 message.
30951
30952 2008-02-19 Bean <bean123ch@gmail.com>
30953
30954 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30955 (aout_mod_SOURCES): New variable.
30956 (aout_mod_CFLAGS): Likewise.
30957 (aout_mod_LDFLAGS): Likewise.
30958 (_bsd_mod_SOURCES): New variable.
30959 (_bsd_mod_CFLAGS): Likewise.
30960 (_bsd_mod_LDFLAGS): Likewise.
30961 (bsd_mod_SOURCES): New variable.
30962 (bsd_mod_CFLAGS): Likewise.
30963 (bsd_mod_LDFLAGS): Likewise.
30964
30965 * include/grub/aout.h: New file.
30966
30967 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30968
30969 * include/grub/i386/bsd.h: New file.
30970
30971 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30972 to make it public.
30973
30974 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30975 function is called, so that it's possible to change it inside the hook.
30976 (grub_elf64_load): Likewise.
30977 (grub_elf_file): Don't close the file if elf header is not found.
30978 (grub_elf_close): Close the file if grub_elf_file fails (The new
30979 grub_elf_file won't close it).
30980 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30981 (grub_elf64_size): Likewise.
30982
30983 * kern/i386/loader.S (grub_unix_real_boot): New function.
30984
30985 * loader/aout.c: New file.
30986
30987 * loader/i386/bsd.c: New file.
30988
30989 * loader/i386/bsd_normal.c: New file.
30990
30991 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30992
30993 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
30994 can test other formats.
30995
30996 2008-02-19 Robert Millan <rmh@aybabtu.com>
30997
30998 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30999 (grub_gpt_partition_type_empty): Redefine with macro from
31000 `<grub/gpt_partition.h>'.
31001 (gpt_partition_map_iterate): Adjust partition type comparison.
31002
31003 Export `entry' as partmap-specific `part.data' struct.
31004 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31005
31006 * include/grub/gpt_partition.h (grub_gpt_header)
31007 (grub_gpt_partentry): ... to here (new file).
31008
31009 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31010
31011 (grub_gpt_partition_type_bios_boot): New const variable, defined
31012 with macro from `<grub/gpt_partition.h>'.
31013
31014 (setup): Replace `first_start' with `embed_region', which keeps
31015 track of the embed region (and is partmap-agnostic).
31016
31017 Replace find_first_partition_start() with find_usable_region(),
31018 which finds a usable region for embedding using partmap-specific
31019 knowledge (supports PC/MSDOS and GPT).
31020
31021 Fix all assumptions that the embed region start at sector 1, using
31022 `embed_region.start' from now on. Similarly, use `embed_region.end'
31023 rather than `first_start' to calculate available size.
31024
31025 In grub_util_info() message, replace "into after the MBR" with an
31026 indication of the specific sector our embed region starts at.
31027
31028 2008-02-19 Robert Millan <rmh@aybabtu.com>
31029
31030 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31031 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31032 `commands/reboot.c'.
31033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31034 (halt_mod_SOURCES): Likewise.
31035 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31036 (halt_mod_SOURCES): Likewise.
31037
31038 2008-02-17 Christian Franke <franke@computer.org>
31039
31040 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31041
31042 2008-02-17 Robert Millan <rmh@aybabtu.com>
31043
31044 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31045 set `first_start' to 0 for non-PC/MSDOS partition maps.
31046
31047 2008-02-16 Robert Millan <rmh@aybabtu.com>
31048
31049 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31050 do not assume partition map is PC/MSDOS before performing checks that
31051 are specific to that layout.
31052
31053 2008-02-13 Robert Millan <rmh@aybabtu.com>
31054
31055 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31056 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31057 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31058
31059 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31060
31061 * configure.ac: Only a cosmetic change on the handling of
31062 -fno-stack-protector.
31063
31064 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
31065
31066 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31067 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31068 reboot.c.
31069 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31070 (halt_mod_SOURCES): New variable.
31071 (halt_mod_CFLAGS): Likewise.
31072 (halt_mod_LDFLAGS): Likewise.
31073 (reboot_mod_SOURCES): Likewise.
31074 (reboot_mod_CFLAGS): Likewise.
31075 (reboot_mod_LDFLAGS): Likewise.
31076
31077 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31078 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31079 reboot.c.
31080 (halt_mod_SOURCES): Likewise.
31081 (reboot_mod_SOURCES): Likewise.
31082
31083 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31084 commands/i386/pc/reboot.c by commands/reboot.c.
31085 (reboot_mod_SOURCES): Likewise.
31086
31087 * commands/i386/pc/reboot.c: merge this file ...
31088
31089 * commands/ieee1275/reboot.c: ... and this file ...
31090
31091 * commands/reboot.c: ... to this file.
31092 Add some precompiler directive to include the correct header for
31093 each machine.
31094
31095 * commands/ieee1275/halt.c: move this file ...
31096
31097 * commands/halt.c: ... to here.
31098 Add some precompiler directive to include the correct header for
31099 each machine.
31100
31101 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31102 (grub_halt): Likewise.
31103
31104 * kern/efi/efi.c (grub_reboot): New function.
31105 (grub_halt): Likewise.
31106
31107 2008-02-12 Robert Millan <rmh@aybabtu.com>
31108
31109 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31110 /dev (like it is done for /dev/mapper). This doesn't provide support
31111 for EVMS, but at least it is now easy to identify the problem when it
31112 arises.
31113
31114 2008-02-11 Robert Millan <rmh@aybabtu.com>
31115
31116 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31117 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31118 comparing it with -1, not 0.
31119
31120 2008-02-10 Robert Millan <rmh@aybabtu.com>
31121
31122 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31123 `disk/lvm.c'.
31124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31125 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31126
31127 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31128 `disk/lvm.c' to the end of the list.
31129 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31130 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31131
31132 2008-02-10 Robert Millan <rmh@aybabtu.com>
31133
31134 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31135 grub_print_error() instead. This will let user know why we're entering
31136 rescue mode.
31137 Based on suggestions from Sam Morris.
31138
31139 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
31140
31141 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31142 on remaining N args, instead of "--" arg N times.
31143
31144 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31145
31146 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31147 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31148 pattern for unknown glyphs.
31149
31150 2008-02-09 Robert Millan <rmh@aybabtu.com>
31151
31152 * configure.ac: Probe for `help2man'.
31153 * Makefile.in (builddir): New variable.
31154 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31155 or otherwise add a few flags/options to it.
31156 (install-local): For every executable utility or script that is
31157 installed, invoke $(HELP2MAN) to install a manpage based on --help
31158 output.
31159
31160 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31161 that it doesn't prevent --help from working in build tree.
31162
31163 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31164 with `bug-grub@gnu.org'.
31165 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31166 * util/update-grub.in (usage): New function.
31167 Implement proper argument check, with support for --help and --version
31168 (as well as existing -y).
31169
31170 2008-02-09 Christian Franke <franke@computer.org>
31171
31172 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31173 avoid overwriting previous output.
31174 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31175
31176 2008-02-09 Robert Millan <rmh@aybabtu.com>
31177
31178 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31179 drawing the menu.
31180
31181 2008-02-09 Robert Millan <rmh@aybabtu.com>
31182
31183 * commands/sleep.c: New file.
31184 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31185 (sleep_mod_SOURCES): New variable.
31186 (sleep_mod_CFLAGS): Likewise.
31187 (sleep_mod_LDFLAGS): Likewise.
31188
31189 2008-02-09 Robert Millan <rmh@aybabtu.com>
31190
31191 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31192 situations in which we can deduce the RAID size and the superblock
31193 doesn't match it.
31194
31195 2008-02-09 Robert Millan <rmh@aybabtu.com>
31196
31197 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31198 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31199 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31200
31201 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31202 and return a grub_diskmemberlist_t composed of physical array members.
31203 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31204
31205 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31206 prototype.
31207 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31208 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31209 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31210
31211 * util/grub-probe.c (probe): Move partmap probing code from here ...
31212 (probe_partmap): ... to here.
31213 (probe): Use probe_partmap() once for the disk we're probing, and
31214 additionally, when such disk contains a memberlist() struct member,
31215 once for each disk that is contained in the structure returned by
31216 memberlist().
31217
31218 2008-02-09 Robert Millan <rmh@aybabtu.com>
31219
31220 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31221 environment variable to 'all' in order to obtain debug output from
31222 non-util/ code.
31223 * util/i386/pc/grub-setup.c (main): Likewise.
31224
31225 2008-02-08 Robert Millan <rmh@aybabtu.com>
31226
31227 * disk/raid.c (grub_raid_scan_device): Check for
31228 `array->device[sb.this_disk.number]' rather than for
31229 `array->device[sb.this_disk.number]->name', since the latter is not
31230 guaranteed to be accessible.
31231
31232 2008-02-08 Robert Millan <rmh@aybabtu.com>
31233
31234 * disk/raid.c: Update copyright.
31235 * fs/cpio.c: Likewise.
31236 * include/grub/raid.h: Likewise.
31237 * loader/i386/pc/multiboot.c: Likewise.
31238 * util/hostfs.c: Likewise.
31239
31240 2008-02-08 Robert Millan <rmh@aybabtu.com>
31241
31242 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31243 to a grub_disk_t array.
31244 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31245 `device[x]'.
31246 (grub_raid_scan_device): Replace `device[x].name' accesses with
31247 `device[x]->name'. Simplify initialization of `array->device[x]'.
31248
31249 2008-02-08 Robert Millan <rmh@aybabtu.com>
31250
31251 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31252 grub_dprintf() calls.
31253 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31254 error message.
31255
31256 2008-02-07 Christian Franke <franke@computer.org>
31257
31258 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31259 instead of fseek and ftell to support large files.
31260 (grub_hostfs_read): Likewise.
31261
31262 2008-02-07 Robert Millan <rmh@aybabtu.com>
31263
31264 Patch from Jeroen Dekkers.
31265 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
31266 failure, since successfully reading all array members might not be
31267 required.
31268
31269 2008-02-06 Robert Millan <rmh@aybabtu.com>
31270
31271 * util/grub-probe.c (probe): Simplify partmap probing (with the
31272 assumption that the first word up to the underscore equals to
31273 the module name).
31274
31275 2008-02-06 Christian Franke <franke@computer.org>
31276
31277 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31278 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31279 last block of a cpio or tar stream.
31280 Check for "TRAILER!!!" instead of any empty data
31281 block to detect last block of a cpio stream.
31282 (grub_cpio_dir): Fix constness of variable np.
31283 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31284 cpio or tar trailer is detected. This fixes a crash
31285 on open of a non existing file.
31286
31287 2008-02-05 Bean <bean123ch@gmail.com>
31288
31289 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31290 address of entry.
31291 (grub_multiboot_load_elf64): Likewise.
31292 (grub_multiboot): Initialize mbi structure.
31293
31294 * util/grub-fstest.c: Don't include unused header file script.h.
31295
31296 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
31297 of file.
31298 (grub_fstest_SOURCES): Likewise.
31299
31300 2008-02-05 Robert Millan <rmh@aybabtu.com>
31301
31302 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31303 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31304 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31305 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31306
31307 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31308 (translation_table): Replace hardcoded values with macros
31309 provided by `<grub/term.h>'.
31310
31311 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31312 (keyboard_map): Correct/add a few values, with macros provided
31313 by `<grub/term.h>'.
31314 (keyboard_map_shift): Zero values that don't differ from their
31315 `keyboard_map' equivalents.
31316 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31317 Discard the second scan code that is always sent by Caps lock.
31318 Only use `keyboard_map_shift' when it provides a non-zero value,
31319 otherwise fallback to `keyboard_map'.
31320
31321 2008-02-04 Bean <bean123ch@gmail.com>
31322
31323 * Makefile.in (enable_grub_fstest): New variable.
31324
31325 * conf/common.rmk (grub_fstest_init.lst): New rule.
31326 (grub_fstest_init.h): Likewise.
31327 (grub_fstest_init.c): Likewise.
31328 (util/grub-fstest.c_DEPENDENCIES): New variable.
31329 (grub_fstest_SOURCES): Likewise.
31330
31331 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31332
31333 * util/grub-fstest.c: New file.
31334
31335 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31336
31337 Make grub-setup handle a separate root device.
31338
31339 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31340 so that the root device can be compared with the destination
31341 device.
31342 When embedding the core image, if the root and destination devices
31343 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31344 0xFF.
31345 When not embedding, set ROOT_DRIVE to 0xFF.
31346
31347 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31348
31349 Add support for having a grub directory in a different drive. This
31350 is still only the data handling part.
31351
31352 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31353 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31354 (grub_root_drive): New variable.
31355
31356 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31357 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31358 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31359 as it was.
31360
31361 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31362
31363 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31364 macro.
31365 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31366
31367 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31368 is bogus, because PXE booting does not specify any drive
31369 correctly.
31370
31371 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31372 am not sure if this is really correct.
31373
31374 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31375 is always identical to the boot drive when booting from a CD.
31376
31377 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31378 longer.
31379 (root_drive): New variable.
31380 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31381 (setup_sectors): Push %dx right after popping it, because %dh will
31382 be modified later.
31383 (copy_buffer): Restore %dx.
31384
31385 2008-02-03 Robert Millan <rmh@aybabtu.com>
31386
31387 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31388 use `cdboot.img' for cdrom images.
31389
31390 2008-02-03 Robert Millan <rmh@aybabtu.com>
31391
31392 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31393 only setup gfxterm when `font' command has succeeded.
31394
31395 2008-02-03 Robert Millan <rmh@aybabtu.com>
31396
31397 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31398 (grub_rescue_cmd_multiboot_loader)
31399 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31400
31401 2008-02-03 Pavel Roskin <proski@gnu.org>
31402
31403 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
31404 %edx and %esi from stack only after grub_gate_a20() is called.
31405 grub_gate_a20() clobbers %edx.
31406
31407 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31408
31409 * configure.ac (AC_INIT): Bumped to 1.96.
31410
31411 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31412 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31413 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31414 video/readers/png.c.
31415
31416 2008-02-03 Bean <bean123ch@gmail.com>
31417
31418 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31419 (cdboot_img_SOURCES): New variable.
31420 (cdboot_img_ASFLAGS): New variable.
31421 (cdboot_img_LDFLAGS): New variable.
31422
31423 * boot/i386/pc/cdboot.S: New file.
31424
31425 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31426 (cd_count): Likewise.
31427 (grub_biosdisk_get_drive): Add support for cd device.
31428 (grub_biosdisk_call_hook): Likewise.
31429 (grub_biosdisk_iterate): Likewise.
31430 (grub_biosdisk_open): Likewise.
31431 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31432 (grub_biosdisk_rw): Support reading from cd device.
31433 (GRUB_MOD_INIT): Iterate cd devices.
31434
31435 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31436 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31437 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31438
31439 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31440
31441 2008-02-02 Robert Millan <rmh@aybabtu.com>
31442
31443 * commands/read.c: New file.
31444 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31445 (read_mod_SOURCES): New variable.
31446 (read_mod_CFLAGS): Likewise.
31447 (read_mod_LDFLAGS): Likewise.
31448
31449 2008-02-02 Robert Millan <rmh@aybabtu.com>
31450
31451 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31452 determining whether menu has to be displayed.
31453
31454 2008-02-02 Marco Gerards <marco@gnu.org>
31455
31456 * bus/pci.c: New file.
31457
31458 * include/grub/pci.h: Likewise.
31459
31460 * include/grub/i386/pc/pci.h: Likewise.
31461
31462 * commands/lspci.c: Likewise.
31463
31464 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31465 `lspci.mod'.
31466 (pci_mod_SOURCES): New variable.
31467 (pci_mod_CFLAGS): Likewise.
31468 (pci_mod_LDFLAGS): Likewise.
31469 (lspci_mod_SOURCES): Likewise.
31470 (lspci_mod_CFLAGS): Likewise.
31471 (lspci_mod_LDFLAGS): Likewise.
31472
31473 2008-02-02 Bean <bean123ch@gmail.com>
31474
31475 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31476 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31477
31478 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31479 (grub_xfs_btree_node): New structure.
31480 (grub_xfs_btree_root): New structure.
31481 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31482 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31483 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31484 (GRUB_XFS_EXTENT_SIZE): Likewise.
31485 (grub_xfs_read_block): Support btree format type.
31486 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31487 Use directory block as basic unit.
31488
31489 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31490
31491 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31492 __attribute__ ((__regparm__ (1))).
31493
31494 2008-02-01 Robert Millan <rmh@aybabtu.com>
31495
31496 Correct a mistake in previous commit.
31497
31498 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31499 top.
31500 (normal/command.c_DEPENDENCIES): New variable.
31501
31502 2008-02-01 Robert Millan <rmh@aybabtu.com>
31503
31504 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31505 top.
31506 (normal/command.c_DEPENDENCIES): New variable.
31507 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31508 * conf/i386-ieee1275.rmk: Likewise.
31509 * conf/i386-linuxbios.rmk: Likewise.
31510 * conf/i386-pc.rmk: Likewise.
31511 * conf/sparc64-ieee1275.rmk: Likewise.
31512 * conf/powerpc-ieee1275.rmk: Likewise.
31513 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31514
31515 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31516
31517 2008-02-01 Robert Millan <rmh@aybabtu.com>
31518
31519 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31520 call at beginning of function.
31521
31522 2008-01-31 Pavel Roskin <proski@gnu.org>
31523
31524 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31525 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31526 (grub_mkrescue_SOURCES): Likewise.
31527 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31528
31529 2008-01-30 Robert Millan <rmh@aybabtu.com>
31530
31531 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31532 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31533 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31534 (grub_probe_SOURCES): ... to here.
31535
31536 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31537 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31538 * conf/i386-ieee1275.rmk: Likewise.
31539 * conf/i386-linuxbios.rmk: Likewise.
31540 * conf/powerpc-ieee1275.rmk: Likewise.
31541
31542 2008-01-30 Tristan Gingold <gingold@free.fr>
31543
31544 * kern/rescue.c: Silently accept empty lines.
31545
31546 2008-01-29 Bean <bean123ch@gmail.com>
31547
31548 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31549 (real_code_2): Code cleanup and change comment style.
31550 (move_memory): Avoid using 32-bit address mode.
31551
31552 2008-01-29 Bean <bean123ch@gmail.com>
31553
31554 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31555 (png_mod_SOURCES): New variable.
31556 (png_mod_CFLAGS): Likewise.
31557 (png_mod_LDFLAGS): Likewise.
31558
31559 * video/readers/png.c: New file.
31560
31561 2008-01-28 Robert Millan <rmh@aybabtu.com>
31562
31563 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31564 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31565 `ifndef GRUB_MOD_GAP' hack.
31566 * util/elf/grub-mkimage.c (add_segments): Likewise.
31567
31568 2008-01-27 Robert Millan <rmh@aybabtu.com>
31569
31570 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31571 `GRUB_MOD_GAP' for platforms in which it's not defined.
31572 * util/elf/grub-mkimage.c (add_segments): Likewise.
31573
31574 2008-01-27 Robert Millan <rmh@aybabtu.com>
31575
31576 Get grub-emu to build again (including parallel builds).
31577
31578 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31579 Split into ...
31580 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31581 (normal/execute.c_DEPENDENCIES): ... this, ...
31582 (grub-emu_DEPENDENCIES): ... and this.
31583
31584 * conf/i386-efi.rmk: Likewise.
31585 * conf/i386-linuxbios.rmk: Likewise.
31586 * conf/i386-ieee1275.rmk: Likewise.
31587 * conf/powerpc-ieee1275.rmk: Likewise.
31588 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31589
31590 2008-01-27 Robert Millan <rmh@aybabtu.com>
31591
31592 * NEWS: Add a few items.
31593
31594 2008-01-27 Robert Millan <rmh@aybabtu.com>
31595
31596 Fix parallel builds with grub-emu. Based on earlier commit for
31597 grub-probe and grub-setup.
31598
31599 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31600 (util/grub-emu.c_DEPENDENCIES): ... this.
31601 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31602 (util/grub-emu.c_DEPENDENCIES): ... this.
31603 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31604 (util/grub-emu.c_DEPENDENCIES): ... this.
31605 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31606 (util/grub-emu.c_DEPENDENCIES): ... this.
31607 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31608 (util/grub-emu.c_DEPENDENCIES): ... this.
31609
31610 2008-01-27 Pavel Roskin <proski@gnu.org>
31611
31612 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31613 to create a gap between _end and the modules added to the image
31614 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31615 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31616 * util/elf/grub-mkimage.c (add_segments): Likewise.
31617
31618 2008-01-26 Pavel Roskin <proski@gnu.org>
31619
31620 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31621 just return an error.
31622
31623 2008-01-26 Bean <bean123ch@gmail.com>
31624
31625 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31626 (grub_reiserfs_get_item): Save offset of the next item.
31627 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31628
31629 2008-01-25 Robert Millan <rmh@aybabtu.com>
31630
31631 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31632 make all filesystem sources appear together (possibly fixing omissions
31633 while at it).
31634 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31635 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31636 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31638
31639 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31640 add `kern/file.c'.
31641 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31642 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31643 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31644 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31645
31646 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31647 (probe): Add a sanity check to make sure of our ability to read
31648 requested files when probing for filesystem type.
31649
31650 * genmk.rb: Update copyright year (2007).
31651
31652 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31653 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31654 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31655 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31656 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31657 : Remove function prototypes.
31658
31659 2008-01-25 Robert Millan <rmh@aybabtu.com>
31660
31661 Revert my previous commits (based on wrong assumption of how grub_errno
31662 works).
31663
31664 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31665 * kern/file.c (grub_file_open): Likewise.
31666
31667 2008-01-24 Pavel Roskin <proski@gnu.org>
31668
31669 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31670 that hang if GRUB tries to setup colors.
31671 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31672 colors for firmwares that don't support it.
31673 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31674 Recognize Open Hack'Ware, set flags to work around its
31675 limitations.
31676
31677 2008-01-24 Robert Millan <rmh@aybabtu.com>
31678
31679 * kern/file.c (grub_file_open): Do not account previous failures of
31680 unrelated functions when grub_errno is checked for.
31681 Reported by Oleg Strikov.
31682
31683 2008-01-24 Bean <bean123ch@gmail.com>
31684
31685 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31686 (grub_ufs_sblock): New member volume name.
31687 (grub_ufs_find_file): Fix string copy bug.
31688 (grub_ufs_label): Implement this function properly.
31689
31690 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31691 (grub_hfs_iterate_records): Use the correct file number for extents
31692 and catalog file. Fix problem in next index calculation.
31693 (grub_hfs_find_node): Replace recursive function call with loop.
31694 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31695
31696 2008-01-23 Robert Millan <rmh@aybabtu.com>
31697
31698 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31699 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31700 (grub_multiboot2_real_boot): New function prototype.
31701
31702 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31703 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31704
31705 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31706 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31707
31708 2008-01-23 Robert Millan <rmh@aybabtu.com>
31709
31710 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31711 #ifdef'ed out grub_printf().
31712
31713 2008-01-23 Robert Millan <rmh@aybabtu.com>
31714
31715 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31716 grub_dprintf calls, since they make "debug=all" mode unusable.
31717 (grub_console_checkkey): Likewise.
31718
31719 2008-01-23 Robert Millan <rmh@aybabtu.com>
31720
31721 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31722 `term/i386/pc/at_keyboard.c'.
31723 (pkglib_MODULES): Add `serial.mod'.
31724 (serial_mod_SOURCES): New variable.
31725 (serial_mod_CFLAGS): Likewise.
31726 (serial_mod_LDFLAGS): Likewise.
31727
31728 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31729 `<grub/powerpc/ieee1275/console.h>'.
31730 (grub_keyboard_controller_init): New function prototype.
31731 (grub_console_checkkey): Likewise.
31732 (grub_console_getkey): Likewise.
31733
31734 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31735 keyboard on i386.
31736
31737 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31738 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31739
31740 2008-01-23 Robert Millan <rmh@aybabtu.com>
31741
31742 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31743 present, "(memdisk)/boot/grub" becomes the default prefix.
31744
31745 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31746 a memdisk tarball with all the modules. Add --overlay=DIR option that
31747 allows users to overlay additional files into the image.
31748
31749 2008-01-23 Robert Millan <rmh@aybabtu.com>
31750
31751 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31752 and `machine/memory.h'.
31753 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31754 (_multiboot_mod_SOURCES): New variable.
31755 (_multiboot_mod_CFLAGS): Likewise.
31756 (_multiboot_mod_LDFLAGS): Likewise.
31757 (multiboot_mod_SOURCES): Likewise.
31758 (multiboot_mod_CFLAGS): Likewise.
31759 (multiboot_mod_LDFLAGS): Likewise.
31760
31761 * include/grub/i386/ieee1275/loader.h: New file.
31762
31763 * include/grub/i386/ieee1275/machine.h: Likewise.
31764
31765 * include/grub/i386/ieee1275/memory.h: Likewise.
31766
31767 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31768 variable declaration.
31769 (grub_os_area_size): Likewise.
31770
31771 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31772 (grub_lower_mem, grub_upper_mem): New variables.
31773 (grub_stop_floppy): New function (just to make
31774 grub_multiboot2_real_boot() happy).
31775
31776 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31777 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31778 (grub_stop): New function.
31779 Include `"../realmode.S"' and `"../loader.S"'.
31780
31781 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31782 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31783
31784 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31785 rely on grub_multiboot2_real_boot() for final boot.
31786
31787 2008-01-22 Robert Millan <rmh@aybabtu.com>
31788
31789 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31790 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31791 device that doesn't look like an SD card.
31792 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31793 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31794 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31795 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31796 found.
31797
31798 2008-01-22 Robert Millan <rmh@aybabtu.com>
31799
31800 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31801 avoid claiming over our own code.
31802
31803 2008-01-22 Bean <bean123ch@gmail.com>
31804
31805 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31806 (jpeg_mod_SOURCES): New variable.
31807 (jpeg_mod_CFLAGS): Likewise.
31808 (jpeg_mod_LDFLAGS): Likewise.
31809
31810 * video/readers/jpeg.c : New file.
31811
31812 2008-01-22 Bean <bean123ch@gmail.com>
31813
31814 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31815 there are no more items.
31816
31817 2008-01-21 Robert Millan <rmh@aybabtu.com>
31818
31819 * kern/mm.c (grub_mm_init_region): Improve debug message.
31820
31821 2008-01-21 Robert Millan <rmh@aybabtu.com>
31822
31823 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31824 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31825 address.
31826 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31827 a C macro.
31828 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31829 Indicates start of upper memory.
31830 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31831 (generate_image): Abort when image size is big enough to corrupt
31832 upper memory.
31833
31834 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31835 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31836 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31837 instead of hardcoding 0xA0000.
31838 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31839 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31840 instead of hardcoding 0xA0000.
31841
31842 2008-01-21 Robert Millan <rmh@aybabtu.com>
31843
31844 * disk/memdisk.c (memdisk_size): New variable.
31845 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31846 `memdisk_size'.
31847 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31848 image to dynamic memory.
31849 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31850 `memdisk_size'. Free memdisk block.
31851
31852 2008-01-21 Robert Millan <rmh@aybabtu.com>
31853
31854 Fix detection of very small filesystems (like tar).
31855
31856 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31857 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31858 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31859 a problem with this disk).
31860
31861 2008-01-21 Robert Millan <rmh@aybabtu.com>
31862
31863 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31864 on grub_biosdisk_rw_standard() error.
31865
31866 2008-01-21 Robert Millan <rmh@aybabtu.com>
31867
31868 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31869 recent changes.
31870 * kern/elf.c: Likewise.
31871 * kern/ieee1275/ieee1275.c: Likewise.
31872 * kern/powerpc/ieee1275/openfw.c: Likewise.
31873 * term/ieee1275/ofconsole.c: Likewise.
31874
31875 2008-01-21 Robert Millan <rmh@aybabtu.com>
31876
31877 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31878
31879 * include/grub/kernel.h (grub_arch_memdisk_addr)
31880 (grub_arch_memdisk_size): Moved from here ...
31881
31882 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31883 (grub_arch_memdisk_size): ... to here.
31884
31885 2008-01-21 Robert Millan <rmh@aybabtu.com>
31886
31887 Mostly based on bugfix from Bean.
31888
31889 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31890 attribute with hook() parameter.
31891 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31892 declaration.
31893 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31894 attribute with hook() parameter.
31895 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31896 declaration.
31897
31898 2008-01-21 Robert Millan <rmh@aybabtu.com>
31899
31900 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31901 (pkglib_MODULES): Add `memdisk.mod'.
31902 (memdisk_mod_SOURCES): New variable.
31903 (memdisk_mod_CFLAGS): Likewise.
31904 (memdisk_mod_LDFLAGS): Likewise.
31905
31906 * disk/memdisk.c: New file.
31907
31908 * include/grub/disk.h (grub_disk_dev_id): Add
31909 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31910
31911 * include/grub/i386/pc/kernel.h
31912 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31913 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31914 (grub_kernel_image_size): New variable declaration.
31915 (grub_total_module_size): Likewise.
31916 (grub_memdisk_image_size): Likewise.
31917
31918 * include/grub/i386/pc/memory.h
31919 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31920
31921 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31922 (grub_arch_memdisk_addr): New variable declaration.
31923 (grub_arch_memdisk_size): Likewise.
31924
31925 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31926 (grub_arch_memdisk_size): Likewise.
31927
31928 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31929 (codestart): Replace hardcoded `0x100000' with
31930 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31931
31932 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31933 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31934 not NULL, append the contents of the file it refers to, at the end of
31935 the compressed kernel image. Initialize `grub_memdisk_image_size'
31936 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31937 (options): Add "memdisk"|'m' option.
31938 (main): Parse --memdisk|-m option, and pass user-provided path as
31939 parameter to generate_image().
31940
31941 2008-01-20 Robert Millan <rmh@aybabtu.com>
31942
31943 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31944 grub_dprintf() calls from here ...
31945 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31946
31947 2008-01-20 Robert Millan <rmh@aybabtu.com>
31948
31949 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31950
31951 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31952 declaration.
31953 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31954 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31955 `GRUB_IEEE1275_FLAG_REAL_MODE'.
31956 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
31957 property).
31958 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31959 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31960
31961 2008-01-19 Robert Millan <rmh@aybabtu.com>
31962
31963 Get rid of confusing function (superseded by
31964 `grub_ieee1275_get_integer_property')
31965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31966 prototype.
31967 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31968 function.
31969 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31970 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
31971 in native endianness from grub_ieee1275_get_integer_property().
31972
31973 2008-01-19 Robert Millan <rmh@aybabtu.com>
31974
31975 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31976 command after "shut-down", since implementations differ on which
31977 the command for halt is.
31978
31979 2008-01-19 Robert Millan <rmh@aybabtu.com>
31980
31981 * include/grub/i386/linuxbios/console.h: Add header protection.
31982 (grub_keyboard_controller_init): New function prototype.
31983 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31984 (KEYBOARD_COMMAND_READ): Likewise.
31985 (KEYBOARD_COMMAND_WRITE): Likewise.
31986 (KEYBOARD_SCANCODE_SET1): Likewise.
31987 (grub_keyboard_controller_write): New function.
31988 (grub_keyboard_controller_read): Likewise.
31989 (grub_keyboard_controller_init): Likewise.
31990
31991 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31992 (grub_console_init): On coreboot/LinuxBIOS, call
31993 grub_keyboard_controller_init().
31994
31995 2008-01-19 Robert Millan <rmh@aybabtu.com>
31996
31997 PowerPC changes provided by Pavel Roskin.
31998
31999 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32000 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32001 don't rely on cmain() doing it.
32002 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32003 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32004
32005 2008-01-16 Robert Millan <rmh@aybabtu.com>
32006
32007 * include/grub/i386/linuxbios/memory.h
32008 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32009 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32010 receive `table_header' as argument. Instead, probe for it in the
32011 known memory ranges where it can be present.
32012 (grub_available_iterate): Do not pass a fixed `table_header' address
32013 to grub_linuxbios_table_iterate().
32014
32015 2008-01-15 Robert Millan <rmh@aybabtu.com>
32016
32017 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32018 * conf/i386-ieee1275.rmk: New file.
32019 * include/grub/i386/ieee1275/console.h: Likewise.
32020 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32021 * include/grub/i386/ieee1275/kernel.h: Likewise.
32022 * include/grub/i386/ieee1275/time.h: Likewise.
32023 * kern/i386/ieee1275/init.c: Likewise.
32024 * kern/i386/ieee1275/startup.S: Likewise.
32025
32026 2008-01-15 Robert Millan <rmh@aybabtu.com>
32027
32028 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32029 when pointers are 32-bit (but still do set it to one when they are
32030 64-bit).
32031
32032 2008-01-15 Robert Millan <rmh@aybabtu.com>
32033
32034 * include/grub/ieee1275/ieee1275.h
32035 (grub_ieee1275_get_integer_property): New function prototype.
32036
32037 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32038 (grub_ieee1275_get_integer_property): New function. Wraps around
32039 grub_ieee1275_get_property() to handle endianness.
32040
32041 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32042 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
32043 where appropriate.
32044 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32045 (grub_map): Likewise.
32046 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32047
32048 2008-01-15 Bean <bean123ch@gmail.com>
32049
32050 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32051 (grub_script_execute_cmdline): Reset grub_errno.
32052
32053 * normal/main.c (read_config_file): Reset grub_errno.
32054
32055 * normal/parse.y (script_init): New.
32056 (script): Move function and menuentry here.
32057 (delimiter): New.
32058 (command): Add delimiter at the end of command.
32059 (commands): Adjust to match the new command.
32060 (commandblock): Remove grub_script_lexer_record_start.
32061 (menuentry): Add grub_script_lexer_record_start, use the new commands.
32062 (if): Use the new commands.
32063
32064 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32065
32066 2008-01-15 Robert Millan <rmh@aybabtu.com>
32067
32068 * normal/menu.c (run_menu): Move timeout message from here ...
32069 (print_timeout): ... to here.
32070 (run_menu): Use print_timeout() once during initial draw to print
32071 the whole message, and again in every clock tick to update only
32072 the number of seconds.
32073
32074 2008-01-15 Robert Millan <rmh@aybabtu.com>
32075
32076 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32077 actual size of `available' from grub_ieee1275_get_property(), and
32078 restrict parsing to that bound.
32079
32080 2008-01-15 Christian Franke <franke@computer.org>
32081
32082 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32083 (argp_program_version): Remove variable.
32084 (argp_program_bug_address): Likewise.
32085 (options): Convert from struct argp_option to struct option.
32086 (struct arguments): Remove.
32087 (parse_opt): Remove.
32088 (usage): New function.
32089 (main): Replace struct args members by simple variables.
32090 Replace argp_parse() by getopt_long().
32091 Add switch to evaluate options.
32092 Add missing "(...)" around root_dev in prefix string.
32093
32094 2008-01-14 Robert Millan <rmh@aybabtu.com>
32095
32096 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32097 for grub_ieee1275_exit(), in order to improve portability.
32098
32099 2008-01-14 Robert Millan <rmh@aybabtu.com>
32100
32101 * util/grub.d/10_linux.in (prefix): Define.
32102 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32103
32104 2008-01-13 Pavel Roskin <proski@gnu.org>
32105
32106 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32107 grub_errno if no errors have been detected.
32108
32109 2008-01-12 Robert Millan <rmh@aybabtu.com>
32110
32111 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32112 (grub_util_get_dev_abstraction): New function prototype.
32113
32114 * util/getroot.c: Include `<grub/util/getroot.h>'
32115 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32116 (grub_util_get_dev_abstraction): ... here (new function).
32117
32118 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32119 `PRINT_ABSTRACTION'.
32120 (probe): Probe for abstraction type when requested.
32121 (main): Understand `--target=abstraction'.
32122
32123 * util/i386/efi/grub-install.in: Add abstraction module to core
32124 image when it is found to be necessary.
32125 * util/i386/pc/grub-install.in: Likewise.
32126 * util/powerpc/ieee1275/grub-install.in: Likewise.
32127
32128 * util/update-grub_lib.in (font_path): Return system path without
32129 converting to GRUB path.
32130 * util/update-grub.in: Convert system path returned by font_path()
32131 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32132 abstraction module is needed for loading fonts (if any). Export
32133 that as `GRUB_PRELOAD_MODULES'.
32134 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32135 insmod commands).
32136
32137 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32138
32139 Remove some unused code from reiserfs.
32140
32141 * fs/reiserfs.c (struct grub_reiserfs_key)
32142 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32143 (struct grub_reiserfs_node_body): Removed.
32144 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32145 Likewise.
32146 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32147 Likewise.
32148 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32149 Likewise.
32150 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32151 Likewise.
32152 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32153 Likewise.
32154 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32155 Likewise.
32156 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32157 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32158 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32159
32160 2008-01-10 Robert Millan <rmh@aybabtu.com>
32161
32162 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32163 Determines if a file is garbage left by packaging systems, etc.
32164 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32165 for processing /etc/grub.d scripts.
32166 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32167 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32168 as a condition for processing Linux images.
32169
32170 2008-01-10 Pavel Roskin <proski@gnu.org>
32171
32172 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32173 to compile reiserfs.c on PowerPC.
32174
32175 2008-01-10 Robert Millan <rmh@aybabtu.com>
32176
32177 * kern/device.c (grub_device_iterate): Do not abort device iteration
32178 when one of the devices cannot be opened.
32179 * kern/disk.c (grub_disk_open): Do not account previous failures of
32180 unrelated functions when grub_errno is checked for.
32181
32182 2008-01-08 Robert Millan <rmh@aybabtu.com>
32183
32184 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32185 `! grub_linux_is_bzimage', change order of address comparison to make
32186 it more intuitive, and improve "too big zImage" error message.
32187
32188 2008-01-08 Robert Millan <rmh@aybabtu.com>
32189
32190 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32191 `$(update-grub_DATA)'.
32192 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32193 targets.
32194
32195 2008-01-07 Robert Millan <rmh@aybabtu.com>
32196
32197 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32198 which instruction is modified by grub-setup during installation
32199 (since it wasn't obvious by only looking at this file).
32200
32201 2008-01-07 Robert Millan <rmh@aybabtu.com>
32202
32203 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32204 listing actual TODO items.
32205
32206 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32207
32208 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32209 correctly.
32210 (grub_reiserfs_get_key_offset): Likewise.
32211 (grub_reiserfs_set_key_offset): Likewise.
32212 (grub_reiserfs_set_key_type): Likewise.
32213 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
32214
32215 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32216 better to remove the bitfield version completely.
32217
32218 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32219
32220 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32221 allocated from the heap, due to the fshelp implementation.
32222 (grub_reiserfs_dir): Free NODE, due to the same reason.
32223
32224 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32225
32226 Mostly from Vincent Pelletier:
32227
32228 * fs/reiserfs.c: New file.
32229
32230 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32231 (reiserfs_mod_SOURCES): New variable.
32232 (reiserfs_mod_CFLAGS): Likewise.
32233 (reiserfs_mod_LDFLAGS): Likewise.
32234
32235 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32236 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32237 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32238 normal/color.c.
32239
32240 2008-01-06 Robert Millan <rmh@aybabtu.com>
32241
32242 * normal/color.c: Remove `<grub/env.h>'.
32243
32244 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32245
32246 * include/grub/normal.h: Include <grub/env.h>.
32247
32248 2008-01-05 Robert Millan <rmh@aybabtu.com>
32249
32250 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32251 usage example with `(hd0,1)'.
32252 Reported by Samuel Thibault.
32253
32254 2008-01-05 Robert Millan <rmh@aybabtu.com>
32255
32256 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32257 (grub_linux_boot_zimage): Rename to ...
32258 (grub_linux_boot): ... this.
32259 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32260 (grub_linux_boot_zimage): Conditionalize zImage copy.
32261
32262 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32263 (grub_linux_boot_bzimage): Remove prototype.
32264 (grub_linux_boot_zimage): Rename to ...
32265 (grub_linux_boot): ... this.
32266
32267 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32268 (grub_linux_boot): Remove function.
32269
32270 2008-01-05 Robert Millan <rmh@aybabtu.com>
32271
32272 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32273 (grub_env_write_color_highlight): Likewise.
32274 (grub_wait_after_message): Likewise.
32275
32276 * normal/color.c: New file.
32277
32278 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32279 (normal_mod_DEPENDENCIES): Likewise.
32280
32281 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32282 (normal_mod_DEPENDENCIES): Likewise.
32283
32284 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32285 (normal_mod_DEPENDENCIES): Likewise.
32286
32287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32288 (normal_mod_DEPENDENCIES): Likewise.
32289
32290 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32291 for waiting after a message is printed.
32292 * normal/main.c (read_config_file): Likewise.
32293 (grub_normal_init): Register grub_env_write_color_normal() and
32294 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32295 `color_highlight' variables as global.
32296
32297 * normal/menu.c (grub_wait_after_message): New function.
32298 (grub_color_menu_normal): New variable. Replaces ...
32299 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32300 (grub_color_menu_highlight): New variable. Replaces ...
32301 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32302 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32303 `GRUB_TERM_COLOR_STANDARD'.
32304 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32305 `normal_code' and `highlight_code' to `old_color_normal' and
32306 `old_color_highlight', respectively.
32307 (grub_menu_init_page): Update colors when drawing the menu, based on
32308 `menu_color_normal' and `menu_color_highlight' variables.
32309 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32310 a message is printed.
32311
32312 2008-01-05 Robert Millan <rmh@aybabtu.com>
32313
32314 * kern/env.c (grub_env_context_open): Propagate hooks for global
32315 variables to new context.
32316
32317 * kern/main.c (grub_set_root_dev): Export `root' variable.
32318
32319 2008-01-05 Robert Millan <rmh@aybabtu.com>
32320
32321 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
32322 discs unconditionally, since udev and others have options to provide
32323 them.
32324
32325 2008-01-05 Robert Millan <rmh@aybabtu.com>
32326
32327 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32328
32329 2008-01-04 Christian Franke <franke@computer.org>
32330
32331 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32332 of eisa_mmap.
32333
32334 2008-01-03 Pavel Roskin <proski@gnu.org>
32335
32336 * kern/i386/linuxbios/init.c: Put "void" to all function
32337 declarations with no arguments.
32338 * kern/powerpc/ieee1275/init.c: Likewise.
32339 * term/i386/pc/at_keyboard.c: Likewise.
32340 * term/i386/pc/vga_text.c: Likewise.
32341 * util/grub-mkdevicemap.c: Likewise.
32342
32343 2008-01-02 Robert Millan <rmh@aybabtu.com>
32344
32345 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32346 message when loaded image is out of bounds.
32347 (grub_multiboot_load_elf64): Likewise.
32348
32349 2008-01-02 Pavel Roskin <proski@gnu.org>
32350
32351 * util/grub.d/10_linux.in: Try version without ".old" when
32352 looking for initrd. It's better to use initrd from the newer
32353 kernel of the same version than no initrd at all.
32354
32355 2008-01-01 Robert Millan <rmh@aybabtu.com>
32356
32357 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32358
32359 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32360
32361 * include/grub/video.h: Added grub_video_unmap_color and
32362 grub_video_get_active_render_target.
32363 (grub_video_adapter): Added unmap_color and get_active_render_target.
32364
32365 * video/video.c: Added grub_video_unmap_color and
32366 grub_video_get_active_render_target.
32367 (grub_video_get_info): Changed method to accept NULL pointer as an
32368 argument to allow detection of active video adapter.
32369
32370 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32371 grub_video_vbe_unmap_color_int.
32372 Added grub_video_vbe_unmap_color and
32373 grub_video_vbe_get_active_render_target.
32374 (grub_video_vbe_adapter): Added unmap_color and
32375 get_active_render_target.
32376
32377 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
32378 with grub_video_vbe_unmap_color_int.
32379
32380 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32381 (DEFAULT_NORMAL_COLOR): Likewise.
32382 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32383 (DEFAULT_FG_COLOR): Removed.
32384 (DEFAULT_BG_COLOR): Likewise.
32385 (DEFAULT_CURSOR_COLOR): Changed value.
32386 (grub_virtual_screen): Added standard_color_setting,
32387 normal_color_setting, highlight_color_setting and term_color.
32388 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32389 (bitmap_width): Added.
32390 (bitmap_height): Likewise.
32391 (bitmap): Likewise.
32392 (set_term_color): Likewise.
32393 (grub_virtual_screen_setup): Changed to use new terminal coloring
32394 settings.
32395 (grub_gfxterm_init): Added init for bitmap.
32396 (grub_gfxterm_fini): Added destroy for bitmap.
32397 (redraw_screen_rect): Updated to use background bitmap and new
32398 terminal coloring.
32399 (scroll_up): Added optimization for case when there is no bitmap.
32400 (grub_gfxterm_cls): Fixed to use correct background color.
32401 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32402 coloring.
32403 (grub_virtual_screen_setcolor): Likewise.
32404 (grub_virtual_screen_getcolor): Added.
32405 (grub_gfxterm_background_image_cmd): Likewise.
32406 (grub_video_term): Added setcolor and getcolor.
32407 (MOD_INIT): Added registration of background_image command.
32408 (MOD_TERM): Added unregistration for background_image command.
32409
32410 2007-12-30 Pavel Roskin <proski@gnu.org>
32411
32412 * loader/multiboot_loader.c: Fix multiboot command
32413 unregistration. Fix all typos in the word "multiboot".
32414
32415 2007-12-29 Pavel Roskin <proski@gnu.org>
32416
32417 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32418 support for initrd names used in Fedora.
32419
32420 2007-12-26 Bean <bean123ch@gmail.com>
32421
32422 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32423 (cpio_mod_SOURCES): New variable.
32424 (cpio_mod_CFLAGS): Likewise.
32425 (cpio_mod_LDFLAGS): Likewise.
32426
32427 * fs/cpio.c: New file.
32428
32429 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32430
32431 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32432
32433 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32434
32435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32436
32437 2007-12-25 Robert Millan <rmh@aybabtu.com>
32438
32439 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32440 (grub_getcolor): New function.
32441
32442 * kern/term.c (grub_getcolor): New function.
32443 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32444 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32445 (print_entry): Set normal and highlight colors to
32446 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32447 respectively, before printing and restore them to old
32448 values afterwards.
32449 (grub_menu_init_page): Likewise. Fill an additional colored space
32450 that would otherwise be left blank.
32451
32452 * term/efi/console.c (grub_console_getcolor): New function.
32453 (struct grub_console_term.getcolor): New variable.
32454 * term/i386/pc/console.c (grub_console_getcolor): New function.
32455 (struct grub_console_term.getcolor): New variable.
32456 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32457 (struct grub_console_term.getcolor): New variable.
32458
32459 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32460 (struct grub_console_term.setcolor): Remove variable.
32461 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32462 (struct grub_console_term.setcolor): Remove variable.
32463 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32464 (struct grub_console_term.setcolor): Remove variable.
32465 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32466 (struct grub_console_term.setcolor): Remove variable.
32467
32468 2007-12-25 Robert Millan <rmh@aybabtu.com>
32469
32470 * configure.ac: Search for possible unifont.hex locations, and
32471 define UNIFONT_HEX if found.
32472
32473 * Makefile.in (UNIFONT_HEX): Define variable.
32474 (DATA): Rename to ...
32475 (PKGLIB): ... this. Update all users.
32476 (PKGDATA): New variable.
32477 (pkgdata_IMAGES): Rename to ...
32478 (pkglib_IMAGES): ... this. Update all users.
32479 (pkgdata_MODULES): Rename to ...
32480 (pkglib_MODULES): ... this. Update all users.
32481 (pkgdata_PROGRAMS): Rename to ...
32482 (pkglib_PROGRAMS): ... this. Update all users.
32483 (pkgdata_DATA): Rename to ...
32484 (pkglib_DATA): ... this. Update all users.
32485 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32486 (unicode.pff, ascii.pff): New rules.
32487 (all-local): Add `$(PKGDATA)' dependency.
32488 (install-local): Process `$(PKGDATA)'.
32489
32490 * util/update-grub_lib.in (font_path): Search for *.pff files in
32491 a few more locations, including `${pkgdata}'.
32492
32493 2007-12-23 Robert Millan <rmh@aybabtu.com>
32494
32495 Patch from Bean <bean123ch@gmail.com>:
32496 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32497 `size'.
32498
32499 2007-12-21 Bean <bean123ch@gmail.com>
32500
32501 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32502 (ntfscomp_mod_SOURCES): New variable.
32503 (ntfscomp_mod_CFLAGS): Likewise.
32504 (ntfscomp_mod_LDFLAGS): Likewise.
32505
32506 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32507 (grub_probe_SOURCES): Likewise.
32508 (grub_emu_SOURCES): Likewise.
32509
32510 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32511 (grub_emu_SOURCES): Likewise.
32512
32513 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32514 (grub_emu_SOURCES): Likewise.
32515
32516 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32517 (grub_emu_SOURCES): Likewise.
32518
32519 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32520 (read_run_list): Renamed to grub_ntfs_read_run_list.
32521 (decomp_nextvcn): Moved to ntfscomp.c.
32522 (decomp_getch): Likewise.
32523 (decomp_get16): Likewise.
32524 (decomp_block): Likewise.
32525 (read_block): Likewise.
32526 (read_data): Partially moved to ntfscomp.c.
32527 (fixup): Change unsigned to grub_uint16_t.
32528 (read_mft): Change unsigned long to grub_uint32_t.
32529 (read_attr): Likewise.
32530 (read_data): Likewise.
32531 (read_run_data): Likewise.
32532 (read_run_list): Likewise.
32533 (read_mft): Likewise.
32534
32535 * fs/ntfscomp.c: New file.
32536
32537 * include/grub/ntfs.h: New file.
32538
32539 2007-12-16 Robert Millan <rmh@aybabtu.com>
32540
32541 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32542 IDE disk check, since Linux is known to support 20 IDE disks.
32543 Reported by Colin Watson.
32544
32545 2007-12-15 Bean <bean123ch@gmail.com>
32546
32547 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32548 (lnxboot_img_SOURCES): New variable.
32549 (lnxboot_img_ASFLAGS): Likewise.
32550 (lnxboot_img_LDFLAGS): Likewise.
32551
32552 * boot/i386/pc/lnxboot.S: New file.
32553
32554 2007-11-24 Pavel Roskin <proski@gnu.org>
32555
32556 * configure.ac: Test if '--build-id=none' is supported by the
32557 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32558 objcopy to generate incorrect binary files (binutils
32559 2.17.50.0.18-1 as shipped by Fedora 8).
32560 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32561 linking, so that build ID doesn't break the test.
32562
32563 2007-11-24 Pavel Roskin <proski@gnu.org>
32564
32565 * include/grub/i386/time.h: use "void" in the argument list
32566 of grub_cpu_idle().
32567 * include/grub/powerpc/time.h: Likewise.
32568 * include/grub/sparc64/time.h: Likewise.
32569
32570 2007-11-18 Christian Franke <franke@computer.org>
32571
32572 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32573 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32574 This fixes the problem that function keys did not work in grub-emu.
32575
32576 2007-11-18 Christian Franke <franke@computer.org>
32577
32578 * disk/host.c (grub_host_open): Remove attribute unused from
32579 name parameter. Add check for "host". This fixes the problem
32580 that grub-emu does not find partitions.
32581
32582 2007-11-18 Christian Franke <franke@computer.org>
32583
32584 * util/hostfs.c (is_dir): New function.
32585 (grub_hostfs_dir): Handle missing dirent.d_type case.
32586 (grub_hostfs_read): Add missing fseek().
32587 (grub_hostfs_label): Clear label pointer. This fixes a crash
32588 of grub-emu on "ls (host)".
32589
32590 2007-11-18 Christian Franke <franke@computer.org>
32591
32592 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32593 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32594 to 64 bit boundary by default.
32595
32596 2007-11-18 Bean <bean123ch@gmail.com>
32597
32598 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32599 (hexdump_mod_SOURCES): New variable.
32600 (hexdump_mod_CFLAGS): Likewise.
32601 (hexdump_mod_LDFLAGS): Likewise.
32602
32603 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32604
32605 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32606
32607 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32608
32609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32610
32611 * include/grub/hexdump.h: New file.
32612
32613 * commands/hexdump.c: New file.
32614
32615 2007-11-10 Robert Millan <rmh@aybabtu.com>
32616
32617 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32618 in grub_outb() calls.
32619 (beep_on): Likewise.
32620
32621 2007-11-10 Christian Franke <franke@computer.org>
32622
32623 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32624 (grub_menu_run): Likewise.
32625
32626 2007-11-10 Robert Millan <rmh@aybabtu.com>
32627
32628 * include/grub/i386/efi/machine.h: New file.
32629 * include/grub/i386/linuxbios/machine.h: Likewise.
32630 * include/grub/i386/pc/machine.h: Likewise.
32631 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32632 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32633
32634 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32635 (serial_hw_io_addr): New variable.
32636 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32637 instead of `(unsigned short *) 0x400'.
32638
32639 2007-11-10 Bean <bean123ch@gmail.com>
32640
32641 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32642
32643 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32644
32645 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32646 (vga_mod_SOURCES): Added.
32647 (vga_mod_CFLAGS): Likewise.
32648 (vga_mod_LDFLAGS): Likewise.
32649
32650 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32651 grub_outb() calls.
32652 (set_map_mask): Likewise.
32653 (set_read_map): Likewise.
32654 (set_read_address): Likewise.
32655 (vga_font): Removed variable.
32656 (get_vga_glyph): Removed function.
32657 (invalidate_char): Likewise.
32658 (write_char): Changed to use grub_font_get_glyph() for font
32659 information.
32660 (grub_vga_putchar): Likewise.
32661 (grub_vga_getcharwidth): Likewise.
32662
32663 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32664
32665 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32666 flags.
32667 (pxeboot_img_LDFLAGS): Likewise.
32668 (diskboot_img_LDFLAGS): Likewise.
32669 (kernel_img_LDFLAGS): Likewise.
32670
32671 2007-11-06 Robert Millan <rmh@aybabtu.com>
32672
32673 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32674 in grub_outb() calls.
32675 (serial_hw_init): Likewise.
32676
32677 2007-11-05 Robert Millan <rmh@aybabtu.com>
32678
32679 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32680 spaces. Skip non-regular files.
32681
32682 2007-11-05 Robert Millan <rmh@aybabtu.com>
32683
32684 * kern/disk.c (grub_disk_firmware_fini)
32685 (grub_disk_firmware_is_tainted): New variables.
32686
32687 * include/grub/disk.h (grub_disk_firmware_fini)
32688 (grub_disk_firmware_is_tainted): Likewise.
32689
32690 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32691 (grub_disk_biosdisk_fini): ... to here.
32692 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32693 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32694 is set. Register grub_disk_biosdisk_fini() in
32695 `grub_disk_firmware_fini'.
32696
32697 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32698 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32699 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32700 to finish existing firmware disk interface.
32701
32702 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32703 (ata_mod_SOURCES): New variable.
32704 (ata_mod_CFLAGS): Likewise.
32705 (ata_mod_LDFLAGS): Likewise.
32706
32707 2007-11-05 Robert Millan <rmh@aybabtu.com>
32708
32709 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32710 (grub_ata_wait): Reimplement using grub_millisleep().
32711
32712 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32713 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32714
32715 2007-11-03 Marco Gerards <marco@gnu.org>
32716
32717 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32718 (CRTC_ADDR_PORT): New macro.
32719 (CRTC_DATA_PORT): Likewise.
32720 (CRTC_CURSOR): Likewise.
32721 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32722 (CRTC_CURSOR_ADDR_LOW): Likewise.
32723 (update_cursor): New function.
32724 (grub_console_real_putchar): Call `update_cursor'.
32725 (grub_console_gotoxy): Likewise.
32726 (grub_console_cls): Set the default color when clearing the
32727 screen.
32728 (grub_console_setcursor): Implemented.
32729
32730 2007-11-03 Marco Gerards <marco@gnu.org>
32731
32732 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32733 become activate.
32734 (grub_ata_pio_write): Likewise.
32735
32736 (grub_atapi_identify): Wait after issuing an ATA command.
32737 (grub_atapi_packet): Likewise.
32738 (grub_ata_identify): Likewise.
32739 (grub_ata_readwrite): Likewise.
32740
32741 2007-11-03 Marco Gerards <marco@gnu.org>
32742
32743 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32744 (grub_ata_pio_write): Likewise.
32745 (grub_ata_readwrite): Use `grub_error', instead of
32746 returning `grub_errno'.
32747
32748 2007-11-03 Marco Gerards <marco@gnu.org>
32749
32750 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32751 grub_ata_pio_write once for every single sector, instead of for
32752 multiple sectors.
32753
32754 2007-10-31 Robert Millan <rmh@aybabtu.com>
32755
32756 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32757
32758 * conf/i386-linuxbios.rmk: New file.
32759
32760 * kern/i386/pc/hardware.c: Likewise.
32761 * term/i386/pc/at_keyboard.c: Likewise.
32762 * term/i386/pc/vga_text.c: Likewise.
32763
32764 * include/grub/i386/linuxbios/boot.h: Likewise.
32765 * include/grub/i386/linuxbios/console.h: Likewise.
32766 * include/grub/i386/linuxbios/init.h: Likewise.
32767 * include/grub/i386/linuxbios/kernel.h: Likewise.
32768 * include/grub/i386/linuxbios/loader.h: Likewise.
32769 * include/grub/i386/linuxbios/memory.h: Likewise.
32770 * include/grub/i386/linuxbios/serial.h: Likewise.
32771 * include/grub/i386/linuxbios/time.h: Likewise.
32772
32773 * kern/i386/linuxbios/init.c: Likewise.
32774 * kern/i386/linuxbios/startup.S: Likewise.
32775 * kern/i386/linuxbios/table.c: Likewise.
32776
32777 2007-10-31 Marco Gerards <marco@gnu.org>
32778
32779 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32780 (ata_mod_SOURCES): New variable.
32781 (ata_mod_CFLAGS): Likewise.
32782 (ata_mod_LDFLAGS): Likewise.
32783
32784 * disk/ata.c: New file.
32785
32786 * include/grub/disk.h (grub_disk_dev_id): Add
32787 `GRUB_DISK_DEV_ATA_ID'.
32788
32789 2007-10-31 Robert Millan <rmh@aybabtu.com>
32790
32791 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32792 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32793
32794 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32795 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32796
32797 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32798 `<grub/types.h>'.
32799
32800 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32801
32802 2007-10-27 Robert Millan <rmh@aybabtu.com>
32803
32804 * include/grub/types.h (ULONG_MAX): Define macro.
32805
32806 2007-10-22 Robert Millan <rmh@aybabtu.com>
32807
32808 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32809 `"../realmode.S"'.
32810 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32811
32812 2007-10-22 Robert Millan <rmh@aybabtu.com>
32813
32814 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32815 (pkgdata_MODULES): Add `biosdisk.mod'.
32816 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32817 variables.
32818
32819 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32820 (grub_biosdisk_init): Replace with ...
32821 (GRUB_MOD_INIT(biosdisk)): ... this.
32822 (grub_biosdisk_fini): Replace with ...
32823 (GRUB_MOD_FINI(biosdisk)): ... this.
32824
32825 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32826 (grub_machine_init): Remove call to grub_biosdisk_init().
32827 (grub_machine_fini): Remove call to grub_machine_fini().
32828
32829 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32830
32831 2007-10-22 Robert Millan <rmh@aybabtu.com>
32832
32833 * include/grub/time.h: New file.
32834 * include/grub/i386/time.h: Likewise.
32835 * include/grub/powerpc/time.h: Likewise.
32836 * include/grub/sparc64/time.h: Likewise.
32837
32838 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32839 instances to ...
32840 (KERNEL_MACHINE_TIME_HEADER): ... this.
32841 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32842 instances to ...
32843 (KERNEL_MACHINE_TIME_HEADER): ... this.
32844 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32845 instances to ...
32846 (KERNEL_MACHINE_TIME_HEADER): ... this.
32847
32848 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32849 (grub_millisleep): New function.
32850 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32851 (grub_millisleep): New function.
32852 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32853 Remove `grub/machine/time.h' include.
32854 (grub_millisleep): New function.
32855 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32856 Remove `grub/machine/time.h' include.
32857 (grub_millisleep): New function.
32858
32859 * include/grub/misc.h (grub_div_roundup): New function.
32860
32861 * kern/misc.c: Include `<grub/time.h>'.
32862 (grub_millisleep_generic): New function.
32863
32864 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32865 Add `time.h'.
32866 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32867 Add `time.h'.
32868 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32869 `machine/time.h'. Add `time.h'.
32870 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32871
32872 2007-10-21 Robert Millan <rmh@aybabtu.com>
32873
32874 * include/grub/misc.h (grub_max): New function.
32875
32876 2007-10-21 Robert Millan <rmh@aybabtu.com>
32877
32878 * util/misc.c (grub_util_info): Call fflush() before returning.
32879
32880 2007-10-20 Robert Millan <rmh@aybabtu.com>
32881
32882 * genmk.rb (Image): Copy `extra_flags' from here ...
32883 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32884
32885 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32886 to `argc' and `args' arguments.
32887
32888 2007-10-17 Robert Millan <rmh@aybabtu.com>
32889
32890 * kern/i386/loader.S: New file.
32891
32892 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32893 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32894 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32895 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32896 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32897 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32898 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32899 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32900 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32901 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32902 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32903 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32904 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32905 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32906
32907 * kern/i386/realmode.S: New file.
32908
32909 * kern/i386/pc/startup.S (protstack): Moved from here ...
32910 * kern/i386/realmode.S (protstack)... to here.
32911 * kern/i386/pc/startup.S (gdt): Moved from here ...
32912 * kern/i386/realmode.S (gdt)... to here.
32913 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32914 * kern/i386/realmode.S (prot_to_real)... to here.
32915
32916 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32917 `kern/i386/realmode.S'.
32918
32919 2007-10-17 Robert Millan <rmh@aybabtu.com>
32920
32921 * include/grub/i386/loader.h: New file.
32922
32923 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32924 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32925 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32926 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32927 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32928 * include/grub/i386/loader.h (grub_linux_prot_size)
32929 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32930 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32931 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32932 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32933
32934 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32935
32936 2007-10-15 Robert Millan <rmh@aybabtu.com>
32937
32938 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32939 filesystem when dev->disk is unset.
32940 Do probe for filesystem even when dev->disk->has_partitions is set.
32941 In case a filesystem is found, always report it.
32942 In case it isn't, if dev->disk->has_partitions is set, report that
32943 a partition table was found instead of reporting that no filesystem
32944 could be identified.
32945
32946 2007-10-12 Robert Millan <rmh@aybabtu.com>
32947
32948 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32949 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32950
32951 * include/grub/types.h (grub_host_to_target16): New macro.
32952 (grub_host_to_target32): Likewise.
32953 (grub_host_to_target64): Likewise.
32954 (grub_target_to_host16): Likewise.
32955 (grub_target_to_host32): Likewise.
32956 (grub_target_to_host64): Likewise.
32957
32958 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32959 Renamed from to ...
32960 (GRUB_MOD_ALIGN): ...this. Update all users.
32961
32962 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32963 grub_host_to_target32.
32964 Replace grub_be_to_cpu32 with grub_target_to_host32.
32965 (load_modules): Likewise.
32966 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32967 Replace grub_be_to_cpu32 with grub_target_to_host32.
32968 Replace grub_cpu_to_be16 with grub_host_to_target16.
32969 Replace grub_cpu_to_be32 grub_host_to_target32.
32970
32971 2007-10-12 Robert Millan <rmh@aybabtu.com>
32972
32973 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32974 * util/elf/grub-mkimage.c: ... here.
32975
32976 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32977 `util/powerpc/ieee1275/grub-mkimage.c'.
32978
32979 2007-10-07 Robert Millan <rmh@aybabtu.com>
32980
32981 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32982 and make it easier to figure out.
32983 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32984 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32985 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32986 leave us with less than HEAP_MIN_SIZE total heap.
32987 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
32988
32989 2007-10-03 Robert Millan <rmh@aybabtu.com>
32990
32991 * include/grub/i386/io.h: New file.
32992 * commands/i386/pc/play.c (inb): Removed.
32993 (outb): Removed.
32994 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32995 with grub_outb().
32996 * term/i386/pc/serial.c (inb): Removed.
32997 (outb): Removed.
32998 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32999 with grub_outb().
33000 * term/i386/pc/vga.c (inb): Removed.
33001 (outb): Removed.
33002 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33003 with grub_outb().
33004
33005 2007-10-02 Robert Millan <rmh@aybabtu.com>
33006
33007 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33009 Reported by Marcin Kurek.
33010
33011 2007-09-07 Robert Millan <rmh@aybabtu.com>
33012
33013 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33014 SmartFirmware version updates (as released by Sven Luther), and avoid
33015 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33016 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33017 known broken.
33018
33019 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33020
33021 From Hitoshi Ozeki:
33022 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33023 when merging two regions.
33024
33025 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33026
33027 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33028 * normal/completion.c (grub_normal_do_completion): Likewise.
33029 Reported by Hitoshi Ozeki.
33030
33031 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33032
33033 Do not use devices at boot in chainloading.
33034
33035 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33036 (boot_part_addr): Likewise.
33037 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33038 with BOOT_DRIVE and BOOT_PART_ADDR.
33039 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33040 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33041
33042 2007-08-29 Robert Millan <rmh@aybabtu.com>
33043
33044 Patch from Simon Peter <dn.tlp@gmx.net>:
33045 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33046 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33047 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33048 util/i386/pc/grub-setup.c_DEPENDENCIES.
33049 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33050 util/grub-probe.c_DEPENDENCIES.
33051 * conf/powerpc-ieee1275.rmk: Likewise.
33052
33053 2007-08-28 Robert Millan <rmh@aybabtu.com>
33054
33055 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33056 to tell grub-mkdevicemap how to name devices.
33057 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33058 feature).
33059
33060 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33061 util/i386/get_disk_name.c.
33062 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33063 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33064 util/ieee1275/get_disk_name.c.
33065
33066 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33067
33068 * DISTLIST: Add util/i386/get_disk_name.c and
33069 util/ieee1275/get_disk_name.c.
33070
33071 * util/grub-mkdevicemap.c: Replace device naming logic with
33072 grub_util_get_disk_name() calls.
33073
33074 2007-08-20 Robert Millan <rmh@aybabtu.com>
33075
33076 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33077 (so that it works for both plural and singular quantities).
33078
33079 2007-08-05 Robert Millan <rmh@aybabtu.com>
33080
33081 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33082 so that [xz] isn't taken into account when determining order.
33083
33084 2007-08-02 Marco Gerards <marco@gnu.org>
33085
33086 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33087 `include/multiboot2.h', `include/grub/elfload.h',
33088 `include/multiboot.h', `include/grub/multiboot.h',
33089 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33090 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33091 `kern/elf.c', `loader/multiboot_loader.c',
33092 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33093 `loader/i386/pc/multiboot2.c',
33094 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33095 `util/i386/pc/grub-mkrescue.in'. Remove
33096 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33097 `include/grub/i386/pc/util/biosdisk.h' and
33098 `include/grub/powerpc/ieee1275/multiboot.h'.
33099
33100 2007-08-02 Bean <bean123ch@gmail.com>
33101
33102 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33103 (ntfs_mod_SOURCES): New variable.
33104 (ntfs_mod_CFLAGS): Likewise.
33105 (ntfs_mod_LDFLAGS): Likewise.
33106
33107 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33108 (grub_probe_SOURCES): Likewise.
33109 (grub_emu_SOURCES): Likewise.
33110
33111 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33112 (grub_emu_SOURCES): Likewise.
33113
33114 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33115 (grub_emu_SOURCES): Likewise.
33116
33117 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33118
33119 * fs/ntfs.c: New file.
33120
33121 2007-08-02 Bean <bean123ch@gmail.com>
33122
33123 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33124
33125 * file.h (grub_file): Likewise.
33126
33127 * fshelp.h (grub_fshelp_read_file): Likewise.
33128
33129 * util/i386/pc/grub-setup.c (setup): Likewise.
33130 (save_first_sector): Likewise.
33131 (save_blocklists): Likewise.
33132
33133 * fs/affs.c (grub_affs_read_file): Likewise.
33134
33135 * fs/ext2.c (grub_ext2_read_file): Likewise.
33136
33137 * fs/fat.c (grub_fat_read_data): Likewise.
33138
33139 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33140
33141 * fs/hfs.c (grub_hfs_read_file): Likewise.
33142
33143 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33144
33145 * fs/jfs.c (grub_jfs_read_file): Likewise.
33146
33147 * fs/minix.c (grub_minix_read_file): Likewise.
33148
33149 * fs/sfs.c (grub_sfs_read_file): Likewise.
33150
33151 * fs/ufs.c (grub_ufs_read_file): Likewise.
33152
33153 * fs/xfs.c (grub_xfs_read_file): Likewise.
33154
33155 * command/blocklist.c (read_blocklist): Likewise.
33156 (print_blocklist): Likewise.
33157
33158 2007-08-02 Marco Gerards <marco@gnu.org>
33159
33160 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33161 `util/hostfs.c'.
33162
33163 * disk/host.c: New file.
33164
33165 * util/hostfs.c: Likewise.
33166
33167 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33168 return `GRUB_ERR_BAD_FS'.
33169 * fs/sfs.c (grub_sfs_mount): Likewise.
33170 * fs/xfs.c (grub_xfs_mount): Likewise.
33171
33172 * include/grub/disk.h (enum grub_disk_dev_id): Add
33173 `GRUB_DISK_DEVICE_HOST_ID'.
33174
33175 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33176
33177 2007-07-24 Jerone Young <jerone@gmail.com>
33178
33179 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
33180 modules for compilation.
33181 * conf/powerpc-ieee1275.rmk: Likewise.
33182
33183 * include/multiboot.h: Move multiboot definitions to one file. Rename
33184 many definitions to not get grub specific.
33185 * include/multiboot2.h: Create header with multiboot 2 definitions.
33186 * include/grub/multiboot.h: Header for grub specific function
33187 prototypes and definitions.
33188 * include/grub/multiboot2.h: Likewise.
33189 * include/grub/multiboot_loader.h: Likewise.
33190 * include/grub/i386/pc/multiboot.h: Removed.
33191 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33192
33193 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33194 and 2 to allow for one multiboot and module commands.
33195 * loader/multiboot2.c: Add multiboot2 functionality.
33196 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33197 and definition names.
33198 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33199 2 functions.
33200 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33201 ieee1275 specific multiboot2 code.
33202
33203 * kern/i386/pc/startup.S: Change headers and definition names for
33204 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33205
33206 2007-07-22 Robert Millan <rmh@aybabtu.com>
33207
33208 * geninitheader.sh: Process file specified in first parameter rather
33209 than hardcoding grub_modules_init.lst.
33210 * geninit.sh: Likewise. Also, construct header name dynamically rather
33211 than hardcoding grub_modules_init.h.
33212
33213 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33214 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33215 grub_probe_init.[ch] and grub_setup_init.[ch].
33216
33217 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33218 grub_modules_init.h with grub_emu_init.h.
33219 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33220 grub_probe_init.[ch] files.
33221 * conf/i386-efi.rmk: Likewise.
33222 * conf/i386-pc.rmk: Likewise.
33223 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33224 grub_setup_init.[ch] files.
33225
33226 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33227 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33228 to initialize modules rather than a list of hardcoded functions.
33229 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33230 grub_init_all() to initialize modules rather than a list of hardcoded
33231 functions.
33232
33233 2007-07-22 Robert Millan <rmh@aybabtu.com>
33234
33235 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33236 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33237
33238 2007-07-22 Robert Millan <rmh@aybabtu.com>
33239
33240 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33241 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33242 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33243 flag when running on SmartFirmware.
33244 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33245 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33246 was set.
33247
33248 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33249 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33250 rather than decreasing it.
33251
33252 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33253 there's not enough space to do it, fail in the same way as when it
33254 can't be done because there are no partitions.
33255
33256 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33257 when nvsetenv failed.
33258
33259 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33260
33261 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33262 because this rule is automatically generated.
33263 (grub-mkrescue): Removed for the same reason as above.
33264
33265 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33266
33267 Migrate to GNU General Public License Version 3.
33268
33269 * COPYING: Replaced with the plain text version of GPLv3.
33270
33271 * config.guess: Updated from gnulib.
33272 * config.sub: Likewise.
33273
33274 * geninit.sh: Output a GPLv3 copyright notice.
33275 * geninitheader.sh: Likewise.
33276 * genmodsrc.sh: Likewise.
33277 * gensymlist.sh.in: Likewise.
33278
33279 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33280 * boot/i386/pc/diskboot.S: Likewise.
33281 * boot/i386/pc/pxeboot.S: Likewise.
33282 * commands/blocklist.c: Likewise.
33283 * commands/boot.c: Likewise.
33284 * commands/cat.c: Likewise.
33285 * commands/cmp.c: Likewise.
33286 * commands/configfile.c: Likewise.
33287 * commands/echo.c: Likewise.
33288 * commands/help.c: Likewise.
33289 * commands/ls.c: Likewise.
33290 * commands/search.c: Likewise.
33291 * commands/terminal.c: Likewise.
33292 * commands/test.c: Likewise.
33293 * commands/videotest.c: Likewise.
33294 * commands/i386/cpuid.c: Likewise.
33295 * commands/i386/pc/halt.c: Likewise.
33296 * commands/i386/pc/play.c: Likewise.
33297 * commands/i386/pc/reboot.c: Likewise.
33298 * commands/i386/pc/vbeinfo.c: Likewise.
33299 * commands/i386/pc/vbetest.c: Likewise.
33300 * commands/ieee1275/halt.c: Likewise.
33301 * commands/ieee1275/reboot.c: Likewise.
33302 * commands/ieee1275/suspend.c: Likewise.
33303 * disk/loopback.c: Likewise.
33304 * disk/lvm.c: Likewise.
33305 * disk/raid.c: Likewise.
33306 * disk/efi/efidisk.c: Likewise.
33307 * disk/i386/pc/biosdisk.c: Likewise.
33308 * disk/ieee1275/ofdisk.c: Likewise.
33309 * font/manager.c: Likewise.
33310 * fs/affs.c: Likewise.
33311 * fs/ext2.c: Likewise.
33312 * fs/fat.c: Likewise.
33313 * fs/fshelp.c: Likewise.
33314 * fs/hfs.c: Likewise.
33315 * fs/hfsplus.c: Likewise.
33316 * fs/iso9660.c: Likewise.
33317 * fs/jfs.c: Likewise.
33318 * fs/minix.c: Likewise.
33319 * fs/sfs.c: Likewise.
33320 * fs/ufs.c: Likewise.
33321 * fs/xfs.c: Likewise.
33322 * hello/hello.c: Likewise.
33323 * include/grub/acorn_filecore.h: Likewise.
33324 * include/grub/arg.h: Likewise.
33325 * include/grub/bitmap.h: Likewise.
33326 * include/grub/boot.h: Likewise.
33327 * include/grub/cache.h: Likewise.
33328 * include/grub/device.h: Likewise.
33329 * include/grub/disk.h: Likewise.
33330 * include/grub/dl.h: Likewise.
33331 * include/grub/elfload.h: Likewise.
33332 * include/grub/env.h: Likewise.
33333 * include/grub/err.h: Likewise.
33334 * include/grub/file.h: Likewise.
33335 * include/grub/font.h: Likewise.
33336 * include/grub/fs.h: Likewise.
33337 * include/grub/fshelp.h: Likewise.
33338 * include/grub/gzio.h: Likewise.
33339 * include/grub/hfs.h: Likewise.
33340 * include/grub/kernel.h: Likewise.
33341 * include/grub/loader.h: Likewise.
33342 * include/grub/lvm.h: Likewise.
33343 * include/grub/misc.h: Likewise.
33344 * include/grub/mm.h: Likewise.
33345 * include/grub/net.h: Likewise.
33346 * include/grub/normal.h: Likewise.
33347 * include/grub/parser.h: Likewise.
33348 * include/grub/partition.h: Likewise.
33349 * include/grub/pc_partition.h: Likewise.
33350 * include/grub/raid.h: Likewise.
33351 * include/grub/rescue.h: Likewise.
33352 * include/grub/script.h: Likewise.
33353 * include/grub/setjmp.h: Likewise.
33354 * include/grub/symbol.h: Likewise.
33355 * include/grub/term.h: Likewise.
33356 * include/grub/terminfo.h: Likewise.
33357 * include/grub/tparm.h: Likewise.
33358 * include/grub/types.h: Likewise.
33359 * include/grub/video.h: Likewise.
33360 * include/grub/efi/api.h: Likewise.
33361 * include/grub/efi/chainloader.h: Likewise.
33362 * include/grub/efi/console.h: Likewise.
33363 * include/grub/efi/console_control.h: Likewise.
33364 * include/grub/efi/disk.h: Likewise.
33365 * include/grub/efi/efi.h: Likewise.
33366 * include/grub/efi/pe32.h: Likewise.
33367 * include/grub/efi/time.h: Likewise.
33368 * include/grub/i386/linux.h: Likewise.
33369 * include/grub/i386/setjmp.h: Likewise.
33370 * include/grub/i386/types.h: Likewise.
33371 * include/grub/i386/efi/kernel.h: Likewise.
33372 * include/grub/i386/efi/loader.h: Likewise.
33373 * include/grub/i386/efi/time.h: Likewise.
33374 * include/grub/i386/pc/biosdisk.h: Likewise.
33375 * include/grub/i386/pc/boot.h: Likewise.
33376 * include/grub/i386/pc/chainloader.h: Likewise.
33377 * include/grub/i386/pc/console.h: Likewise.
33378 * include/grub/i386/pc/init.h: Likewise.
33379 * include/grub/i386/pc/kernel.h: Likewise.
33380 * include/grub/i386/pc/loader.h: Likewise.
33381 * include/grub/i386/pc/memory.h: Likewise.
33382 * include/grub/i386/pc/multiboot.h: Likewise.
33383 * include/grub/i386/pc/serial.h: Likewise.
33384 * include/grub/i386/pc/time.h: Likewise.
33385 * include/grub/i386/pc/vbe.h: Likewise.
33386 * include/grub/i386/pc/vbeblit.h: Likewise.
33387 * include/grub/i386/pc/vbefill.h: Likewise.
33388 * include/grub/i386/pc/vbeutil.h: Likewise.
33389 * include/grub/i386/pc/vga.h: Likewise.
33390 * include/grub/ieee1275/ieee1275.h: Likewise.
33391 * include/grub/ieee1275/ofdisk.h: Likewise.
33392 * include/grub/powerpc/libgcc.h: Likewise.
33393 * include/grub/powerpc/setjmp.h: Likewise.
33394 * include/grub/powerpc/types.h: Likewise.
33395 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33396 * include/grub/powerpc/ieee1275/console.h: Likewise.
33397 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33398 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33399 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33400 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33401 * include/grub/powerpc/ieee1275/time.h: Likewise.
33402 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33403 * include/grub/sparc64/libgcc.h: Likewise.
33404 * include/grub/sparc64/setjmp.h: Likewise.
33405 * include/grub/sparc64/types.h: Likewise.
33406 * include/grub/sparc64/ieee1275/console.h: Likewise.
33407 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33408 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33409 * include/grub/sparc64/ieee1275/time.h: Likewise.
33410 * include/grub/util/biosdisk.h: Likewise.
33411 * include/grub/util/getroot.h: Likewise.
33412 * include/grub/util/lvm.h: Likewise.
33413 * include/grub/util/misc.h: Likewise.
33414 * include/grub/util/raid.h: Likewise.
33415 * include/grub/util/resolve.h: Likewise.
33416 * io/gzio.c: Likewise.
33417 * kern/device.c: Likewise.
33418 * kern/disk.c: Likewise.
33419 * kern/dl.c: Likewise.
33420 * kern/elf.c: Likewise.
33421 * kern/env.c: Likewise.
33422 * kern/err.c: Likewise.
33423 * kern/file.c: Likewise.
33424 * kern/fs.c: Likewise.
33425 * kern/loader.c: Likewise.
33426 * kern/main.c: Likewise.
33427 * kern/misc.c: Likewise.
33428 * kern/mm.c: Likewise.
33429 * kern/parser.c: Likewise.
33430 * kern/partition.c: Likewise.
33431 * kern/rescue.c: Likewise.
33432 * kern/term.c: Likewise.
33433 * kern/efi/efi.c: Likewise.
33434 * kern/efi/init.c: Likewise.
33435 * kern/efi/mm.c: Likewise.
33436 * kern/i386/dl.c: Likewise.
33437 * kern/i386/efi/init.c: Likewise.
33438 * kern/i386/efi/startup.S: Likewise.
33439 * kern/i386/pc/init.c: Likewise.
33440 * kern/i386/pc/lzo1x.S: Likewise.
33441 * kern/i386/pc/startup.S: Likewise.
33442 * kern/ieee1275/ieee1275.c: Likewise.
33443 * kern/powerpc/cache.S: Likewise.
33444 * kern/powerpc/dl.c: Likewise.
33445 * kern/powerpc/ieee1275/cmain.c: Likewise.
33446 * kern/powerpc/ieee1275/crt0.S: Likewise.
33447 * kern/powerpc/ieee1275/init.c: Likewise.
33448 * kern/powerpc/ieee1275/openfw.c: Likewise.
33449 * kern/sparc64/cache.S: Likewise.
33450 * kern/sparc64/dl.c: Likewise.
33451 * kern/sparc64/ieee1275/init.c: Likewise.
33452 * kern/sparc64/ieee1275/openfw.c: Likewise.
33453 * loader/efi/chainloader.c: Likewise.
33454 * loader/efi/chainloader_normal.c: Likewise.
33455 * loader/i386/efi/linux.c: Likewise.
33456 * loader/i386/efi/linux_normal.c: Likewise.
33457 * loader/i386/pc/chainloader.c: Likewise.
33458 * loader/i386/pc/chainloader_normal.c: Likewise.
33459 * loader/i386/pc/linux.c: Likewise.
33460 * loader/i386/pc/linux_normal.c: Likewise.
33461 * loader/i386/pc/multiboot.c: Likewise.
33462 * loader/i386/pc/multiboot_normal.c: Likewise.
33463 * loader/powerpc/ieee1275/linux.c: Likewise.
33464 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33465 * normal/arg.c: Likewise.
33466 * normal/cmdline.c: Likewise.
33467 * normal/command.c: Likewise.
33468 * normal/completion.c: Likewise.
33469 * normal/execute.c: Likewise.
33470 * normal/function.c: Likewise.
33471 * normal/lexer.c: Likewise.
33472 * normal/main.c: Likewise.
33473 * normal/menu.c: Likewise.
33474 * normal/menu_entry.c: Likewise.
33475 * normal/misc.c: Likewise.
33476 * normal/parser.y: Likewise.
33477 * normal/script.c: Likewise.
33478 * normal/i386/setjmp.S: Likewise.
33479 * normal/powerpc/setjmp.S: Likewise.
33480 * normal/sparc64/setjmp.S: Likewise.
33481 * partmap/acorn.c: Likewise.
33482 * partmap/amiga.c: Likewise.
33483 * partmap/apple.c: Likewise.
33484 * partmap/gpt.c: Likewise.
33485 * partmap/pc.c: Likewise.
33486 * partmap/sun.c: Likewise.
33487 * term/gfxterm.c: Likewise.
33488 * term/terminfo.c: Likewise.
33489 * term/efi/console.c: Likewise.
33490 * term/i386/pc/console.c: Likewise.
33491 * term/i386/pc/serial.c: Likewise.
33492 * term/i386/pc/vesafb.c: Likewise.
33493 * term/i386/pc/vga.c: Likewise.
33494 * term/ieee1275/ofconsole.c: Likewise.
33495 * util/biosdisk.c: Likewise.
33496 * util/console.c: Likewise.
33497 * util/genmoddep.c: Likewise.
33498 * util/getroot.c: Likewise.
33499 * util/grub-emu.c: Likewise.
33500 * util/grub-mkdevicemap.c: Likewise.
33501 * util/grub-probe.c: Likewise.
33502 * util/lvm.c: Likewise.
33503 * util/misc.c: Likewise.
33504 * util/raid.c: Likewise.
33505 * util/resolve.c: Likewise.
33506 * util/update-grub.in: Likewise.
33507 * util/update-grub_lib.in: Likewise.
33508 * util/grub.d/00_header.in: Likewise.
33509 * util/grub.d/10_hurd.in: Likewise.
33510 * util/grub.d/10_linux.in: Likewise.
33511 * util/i386/efi/grub-install.in: Likewise.
33512 * util/i386/efi/grub-mkimage.c: Likewise.
33513 * util/i386/pc/grub-install.in: Likewise.
33514 * util/i386/pc/grub-mkimage.c: Likewise.
33515 * util/i386/pc/grub-mkrescue.in: Likewise.
33516 * util/i386/pc/grub-setup.c: Likewise.
33517 * util/i386/pc/misc.c: Likewise.
33518 * util/powerpc/ieee1275/grub-install.in: Likewise.
33519 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33520 * util/powerpc/ieee1275/misc.c: Likewise.
33521 * video/bitmap.c: Likewise.
33522 * video/video.c: Likewise.
33523 * video/i386/pc/vbe.c: Likewise.
33524 * video/i386/pc/vbeblit.c: Likewise.
33525 * video/i386/pc/vbefill.c: Likewise.
33526 * video/i386/pc/vbeutil.c: Likewise.
33527 * video/readers/tga.c: Likewise.
33528
33529 2007-07-02 Robert Millan <rmh@aybabtu.com>
33530
33531 * conf/i386-efi.rmk: Replace obsolete reference to
33532 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33533 with util/getroot.c.
33534 * conf/powerpc-ieee1275.rmk: Likewise.
33535 * conf/sparc64-ieee1275.rmk: Likewise.
33536
33537 * util/grub-emu.c (main): Fix unchecked pointer handling.
33538
33539 2007-07-02 Robert Millan <rmh@aybabtu.com>
33540
33541 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33542 invocation to fail, in order to support partition-less media.
33543
33544 * util/i386/pc/grub-install.in: Likewise.
33545
33546 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33547 which fs or partmap modules are needed (akin to its sister scripts).
33548
33549 Also use grub-probe to get rid of unportable /proc/mounts check.
33550
33551 Print the same informational message that the other scripts do, before
33552 exiting.
33553
33554 2007-06-23 Robert Millan <rmh@aybabtu.com>
33555
33556 * util/update-grub_lib.in (font_path): New function. Determine whether
33557 a font file can be found and, if so, echo the GRUB path to it.
33558
33559 * util/update-grub.in: Handle multiple terminals depending on user
33560 input, platform availability and font file presence. Propagate
33561 variables of our findings to /etc/grub.d/ children.
33562
33563 * util/grub.d/00_header.in: Handle multiple terminals, based on
33564 environment setup by update-grub.
33565
33566 2007-06-23 Robert Millan <rmh@aybabtu.com>
33567
33568 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33569
33570 2007-06-21 Robert Millan <rmh@aybabtu.com>
33571
33572 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33573 indicate end of data section in kernel image.
33574 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33575 GRUB_KERNEL_MACHINE_DATA_END.
33576
33577 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33578 space for it.
33579 * kern/i386/efi/startup.S: Likewise.
33580
33581 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33582 during image generation. Implement --prefix option to override this
33583 patch.
33584 * util/i386/efi/grub-mkimage.c: Likewise.
33585
33586 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33587 code to make path relative to its root into a separate function.
33588
33589 * util/i386/pc/grub-install.in: Use newly provided
33590 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33591 pass the result to grub-install --prefix.
33592
33593 2007-06-13 Robert Millan <rmh@aybabtu.com>
33594
33595 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33596 DEFAULT_DEVICE_MAP.
33597 * util/grub-emu.c: Use above definitions from misc.h instead of
33598 defining them.
33599 * util/grub-mkdevicemap.c: Likewise.
33600 * util/i386/pc/grub-setup.c: Likewise.
33601 * util/grub-probe.c: Likewise.
33602 (probe): Abort with grub_util_error() when either
33603 grub_guess_root_device or grub_util_get_grub_dev fails.
33604
33605 2007-06-12 Robert Millan <rmh@aybabtu.com>
33606
33607 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33608 "pager" assignment.
33609 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33610 "pcdata".
33611 * util/grub-probe.c (probe): Likewise for "drive_name".
33612
33613 2007-06-11 Robert Millan <rmh@aybabtu.com>
33614
33615 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33616 not just the cdrom one.
33617
33618 2007-06-11 Robert Millan <rmh@aybabtu.com>
33619
33620 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33621 Add --pkglibdir=DIR option to override pkglibdir.
33622 Mention --image-type=TYPE in help output.
33623 Fix --grub-mkimage (it was a no-op).
33624 Abort gracefully when no parameter is given.
33625
33626 2007-06-11 Robert Millan <rmh@aybabtu.com>
33627
33628 * util/i386/pc/grub-mkrescue.in: New file.
33629 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33630 * Makefile.in: Handle bin_SCRIPTS.
33631
33632 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33633
33634 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33635 list of video modes.
33636
33637 2007-06-06 Robert Millan <rmh@aybabtu.com>
33638
33639 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33640 file doesn't exist, or if it is in a filesystem grub can't read.
33641
33642 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33643 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33644 header comment to fit in 80 columns when the variables are resolved.
33645
33646 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33647 could be identified by update-grub. Remove redundant check for
33648 unifont.pff existence (since convert_system_path_to_grub_path now
33649 handles that).
33650
33651 2007-06-04 Robert Millan <rmh@aybabtu.com>
33652
33653 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33654
33655 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33656
33657 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33658
33659 2007-06-04 Robert Millan <rmh@aybabtu.com>
33660
33661 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33662
33663 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33664 grub_apple_partition_map_fini.
33665
33666 * util/biosdisk.c
33667 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33668 to access >2 TiB disks).
33669
33670 Print disk->total_sectors with %llu instead of %lu, since this
33671 variable is always 64-bit (prevents wrong disk size from being displayed
33672 on either >2 TiB disk or big-endian CPU).
33673
33674 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33675 into a generic case that supports all (sane) partition maps.
33676
33677 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33678 breaks big-endian.
33679
33680 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33681 and grub_apple_partition_map_fini() after that.
33682
33683 2007-06-01 Robert Millan <rmh@aybabtu.com>
33684
33685 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33686
33687 * util/grub.d/00_header.in: Only enable gfxterm when
33688 convert_system_path_to_grub_path() succeeds.
33689
33690 2007-05-20 Robert Millan <rmh@aybabtu.com>
33691
33692 * util/update-grub_lib.in: New file.
33693 * DISTLIST: Add update-grub_lib.in.
33694 * conf/common.rmk: Generate update-grub_lib and install it in
33695 $(lib_DATA).
33696 * Makefile.in: Add install routine for $(lib_DATA).
33697
33698 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33699 function provided by update-grub_lib to support arbitrary paths of
33700 unifont.pff.
33701 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33702 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33703
33704 2007-05-19 Robert Millan <rmh@aybabtu.com>
33705
33706 * commands/i386/cpuid.c: New module.
33707 * DISTLIST: Add it.
33708 * conf/i386-efi.rmk: Enable cpuid.mod.
33709 * conf/i386-pc.rmk: Likewise.
33710
33711 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33712
33713 * kern/disk.c (grub_disk_read): Check return value of
33714 grub_realloc().
33715
33716 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33717
33718 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33719 arrays.
33720 * disk/raid.c (grub_raid_open): Likewise.
33721
33722 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33723
33724 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33725 stack instead of on the heap.
33726
33727 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33728 before doing a read on it.
33729
33730 * configure.ac: Only use -fno-stack-protector for the target
33731 environment.
33732
33733 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33734
33735 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33736 __attribute_ ((unused)) to mode_type argument.
33737
33738 * util/getroot.c (grub_guess_root_device): Fix #endif.
33739
33740 * kern/misc.c (memcmp): Fix prototype.
33741
33742 * include/grub/partition.h [GRUB_UTIL]
33743 (grub_gpt_partition_map_init): Add prototype.
33744 (grub_gpt_partition_map_fini): Likewise.
33745
33746 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33747 at the right place.
33748
33749 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33750 (grub_fat_read_data): Likewise.
33751 (grub_fat_find_dir): Likewise.
33752
33753 * font/manager.c (find_glyph): Make table a const.
33754 (grub_font_get_glyph): Remove bitmap from if statement.
33755
33756 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33757
33758 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33759 code, first search for device in /dev/mapper, then in /dev.
33760 (grub_util_get_grub_dev): New function.
33761 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33762 prototype.
33763 * util/grub-probe.c (probe): Remove check for RAID, call
33764 grub_util_get_grub_dev() instead of
33765 grub_util_biosdisk_get_grub_dev().
33766 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33767 grub_util_biosdisk_get_grub_dev().
33768 * util/i386/pc/grub-setup.c (main): Likewise.
33769
33770 2007-05-16 Robert Millan <rmh@aybabtu.com>
33771
33772 * DISTLIST: Update for the latest changes.
33773 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33774 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33775 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33776 grub/util/biosdisk.h.
33777 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33778 grub/util/biosdisk.h.
33779
33780 2007-05-16 Robert Millan <rmh@aybabtu.com>
33781
33782 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33783
33784 2007-05-16 Robert Millan <rmh@aybabtu.com>
33785
33786 * util/i386/efi/grub-install.in: New.
33787 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33788 newly added grub-install.
33789 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33790 include.
33791 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33792 grub/util/biosdisk.h.
33793 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33794 grub/util/biosdisk.h.
33795
33796 2007-05-16 Robert Millan <rmh@aybabtu.com>
33797
33798 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33799 * include/grub/util/biosdisk.h: ... here.
33800 * util/i386/pc/biosdisk.c: Moved to ...
33801 * util/biosdisk.c: ... here.
33802 * util/i386/pc/getroot.c: Moved to ...
33803 * util/getroot.c: ... here.
33804 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33805 * util/grub-mkdevicemap.c: ... here.
33806 * util/i386/pc/grub-probe.c: Moved to ...
33807 * util/grub-probe.c: ... here.
33808
33809 2007-05-15 Robert Millan <rmh@aybabtu.com>
33810
33811 * util/update-grub.in: Remove duplicated line in grub.cfg header
33812 message.
33813
33814 2007-05-13 Robert Millan <rmh@aybabtu.com>
33815
33816 * util/update-grub.in: Fix a few assumptions about the devices holding
33817 /, /boot and /boot/grub being the same.
33818 * util/grub.d/00_header.in: Likewise.
33819 * util/grub.d/10_hurd.in: Likewise.
33820 * util/grub.d/10_linux.in: Likewise.
33821
33822 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33823 patterns. Use that to define the `.old' suffix as older than `'.
33824
33825 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33826
33827 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33828 the grub.cfg header message.
33829
33830 2007-05-11 Robert Millan <rmh@aybabtu.com>
33831
33832 * util/update-grub.in: Create device.map if it doesn't already exist,
33833 before attempting to run grub-probe.
33834 Check for grub-probe and grub-mkdevicemap with the same code
33835 grub-install is using.
33836 Remove test mode.
33837
33838 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33839
33840 * Makefile.in: Add the datarootdir autoconf variable.
33841
33842 2007-05-09 Robert Millan <rmh@aybabtu.com>
33843
33844 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
33845 fail gracefully if dev->disk->partition == NULL.
33846
33847 2007-05-07 Robert Millan <rmh@aybabtu.com>
33848
33849 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33850 determine partition map module.
33851 * util/i386/pc/grub-install.in: Use this feature to decide which
33852 partition module to load, instead of hardcoding pc and gpt.
33853
33854 2007-05-07 Robert Millan <rmh@aybabtu.com>
33855
33856 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33857 source directory differs from build directory.
33858
33859 2007-05-05 Robert Millan <rmh@aybabtu.com>
33860
33861 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33862 initialisation.
33863
33864 2007-05-05 Robert Millan <rmh@aybabtu.com>
33865
33866 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33867
33868 2007-05-05 Robert Millan <rmh@aybabtu.com>
33869
33870 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33871 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33872
33873 2007-05-05 Robert Millan <rmh@aybabtu.com>
33874
33875 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33876 (grub_probe_SOURCES): Likewise.
33877 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33878 GPT and initialize dos_part and bsd_part accordingly.
33879 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33880 install_bsd_part.
33881 (main): Activate gpt module for use during partition identification,
33882 and deactivate it afterwards.
33883 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33884 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33885 partition identification, and deactivate it afterwards.
33886
33887 2007-05-05 Robert Millan <rmh@aybabtu.com>
33888
33889 * term/i386/pc/console.c (grub_console_fini): Call
33890 grub_term_set_current() before grub_term_unregister().
33891
33892 2007-05-04 Robert Millan <rmh@aybabtu.com>
33893
33894 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33895 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33896 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33897 and update-grub_DATA.
33898 * conf/common.rmk: Build and install update-grub components.
33899 * conf/common.mk: Regenerate.
33900 * util/update-grub.in: New. Core of update-grub.
33901 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33902 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33903 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33904 * util/grub.d/README: New. Document grub.d directory layout.
33905
33906 2007-05-01 Robert Millan <rmh@aybabtu.com>
33907
33908 * util/grub-emu.c: Move initialization functions
33909 grub_util_biosdisk_init() and grub_init_all() before
33910 grub_util_biosdisk_get_grub_dev(), which relies on them.
33911
33912 2007-04-19 Robert Millan <rmh@aybabtu.com>
33913
33914 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33915 it is used later.
33916
33917 2007-04-18 Jerone Young <jerone@gmail.com>
33918
33919 * kernel/elf.c: Add missing parenthesis for conditional statement
33920 stanza.
33921
33922 2007-04-10 Jerone Young <jerone@gmail.com>
33923
33924 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33925 continue on and look for device node with real device name.
33926
33927 2007-04-10 Jerone Young <jerone@gmail.com>
33928
33929 * configure.ac: Add argument for autoconf to use transformation
33930 ability.
33931 * Makefile.in: Add autoconf package transformation code.
33932 * util/i386/pc/grub-install.in: Likewise.
33933 * util/powerpc/ieee1275/grub-install.in: Likewise.
33934
33935 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33936
33937 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33938 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33939 (EXT2_REVISION): Likewise.
33940 (EXT2_INODE_SIZE): Likewise.
33941 (struct grub_ext2_block_group): Added a missing member
33942 "used_dirs".
33943 (grub_ext2_read_inode): Divide by the inode size in a superblock
33944 instead of 128 to obtain INODES_PER_BLOCK.
33945 Use the macro EXT2_INODE_SIZE instead of directly using
33946 SBLOCK->INODE_SIZE.
33947
33948 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33949
33950 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33951 superblock instead of the structure size to compute an
33952 offset. This fixes the problem that GRUB could not read a
33953 filesystem when inode size is different from 128-byte.
33954
33955 2007-03-05 Marco Gerards <marco@gnu.org>
33956
33957 * normal/main.c (read_config_file): When "menu" is not set, create
33958 an initial context.
33959
33960 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33961
33962 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33963 (HEAP_LIMIT): New macro.
33964 (grub_claim_heap): Claim memory up to `heaplimit'.
33965
33966 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33967
33968 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33969 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33970 (_start): Likewise.
33971 (grub_arch_modules_addr): Return address after `_end'.
33972 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33973 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33974 (add_segments): Calculate `_end' from phdr size and location.
33975 (ALIGN_UP): Moved to ...
33976 * include/grub/misc.h: here.
33977 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33978 New macro.
33979 (GRUB_IEEE1275_MODULE_BASE): Removed.
33980
33981 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33982
33983 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33984 loop boundary.
33985
33986 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33987
33988 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33989 All users updated.
33990 (grub_elf64_load_hook_t): Likewise.
33991 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33992 debug output.
33993
33994 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33995
33996 * kern/mm.c: Update copyright.
33997 (grub_mm_debug): Correct syntax error.
33998 (grub_mm_dump_free): New function.
33999 (grub_debug_free): Call `grub_free'.
34000 * include/grub/mm.h: Update copyright.
34001 (grub_mm_dump_free): Add declaration.
34002
34003 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34004
34005 * include/grub/ieee1275/ieee1275.h: Update copyright.
34006 * kern/powerpc/ieee1275/init.c: Likewise.
34007 * kern/powerpc/ieee1275/openfw.c: Likewise.
34008
34009 * loader/powerpc/ieee1275/linux.c: Likewise.
34010 * include/grub/elfload.h: Likewise.
34011 * kern/elf.c: Likewise.
34012 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34013 callers.
34014 (grub_elf64_load): Likewise.
34015 (grub_elf32_load_segment): Move to a nested function.
34016 (grub_elf64_load_segment): Likewise.
34017
34018 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34019
34020 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34021 prototype.
34022 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34023 (grub_heap_len): Likewise.
34024 (HEAP_SIZE): New macro.
34025 (grub_claim_heap): New function.
34026 (grub_machine_init): Don't claim heap directly. Call
34027 `grub_claim_heap'.
34028 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34029 (grub_available_iterate): New function.
34030
34031 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34032
34033 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34034 * configure.ac: Use it for testing the HOST and TARGET compilers.
34035
34036 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34037
34038 * Makefile.in (enable_grub_emu): New variable.
34039 * configure.ac (--enable-grub-emu): New option.
34040 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34041 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34042 * conf/i386-pc.rmk: Likewise.
34043 * conf/powerpc-ieee1275.rmk: Likewise.
34044 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34045
34046 2006-12-12 Marco Gerards <marco@gnu.org>
34047
34048 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34049
34050 * kern/env.c (grub_env_unset): Don't free the member `value' when
34051 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34052 pointer.
34053
34054 * normal/main.c (current_menu): Removed.
34055 (free_menu): Unset the `menu' environment variable.
34056 (grub_normal_menu_addentry): Make use of the environment variable
34057 `menu', instead of using the global `current_menu'. Allocate
34058 memory for the sourcecode of this entry.
34059 (read_config_file): New argument `nested', changed all callers.
34060 Only in the case of a new context, initialize a new menu. Set the
34061 `menu' environment variable.
34062 (grub_normal_execute): Don't set and unset the environment
34063 variable `menu' here anymore. Only free the menu when leaving the
34064 context.
34065
34066 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34067 leak.
34068
34069 2006-12-11 Marco Gerards <marco@gnu.org>
34070
34071 * normal/menu_entry.c (run): Fix off by one bug so the last line
34072 is executed. Move the loader check to outside the loop.
34073
34074 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34075
34076 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34077
34078 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34079
34080 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34081 the number of sectors. Reported by Andrey Shuvikov
34082 <mr_hyro@yahoo.com>.
34083
34084 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34085
34086 * kern/disk.c (grub_disk_read): When there is a read error, always
34087 try to read only the necessary data.
34088
34089 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34090 disk/raid.c.
34091 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34092 prototype.
34093 [GRUB_UTIL] (grub_raid_fini): Likewise.
34094 [GRUB_UTIL] (grub_lvm_init): Likewise.
34095 [GRUB_UTIL] (grub_lvm_fini): Likewise.
34096 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34097 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34098 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34099 and grub_raid_fini().
34100
34101 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34102
34103 * include/grub/types.h (__unused): Rename to UNUSED.
34104 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34105 (grub_elf64_size): Likewise.
34106
34107 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34108
34109 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34110 grub_error_push and grub_error_pop in the error-handling path.
34111 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34112 length.
34113
34114 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34115
34116 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34117 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34119 (kernel_elf_SOURCES): Likewise.
34120 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34121 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34122 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34123 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34124 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34125 (elf_mod_SOURCES): New variable.
34126 (elf_mod_CFLAGS): Likewise.
34127 (elf_mod_LDFLAGS): Likewise.
34128 * include/grub/types.h (__unused): New macro.
34129 * include/grub/elfload.h: New file.
34130 * kern/elf.c: Likewise.
34131 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34132 (ELF32_LOADMASK): New macro.
34133 (ELF64_LOADMASK): Likewise.
34134 (vmlinux): Removed.
34135 (grub_linux_load32): New function.
34136 (grub_linux_load64): Likewise.
34137 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34138 Use grub_elf_t instead of grub_file_t.
34139
34140 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34141
34142 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34143 `catch_result' to struct set_color_args.
34144
34145 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34146
34147 * normal/menu.c: Include grub/script.h.
34148 * normal/menu_entry.c: Likewise.
34149 * include/grub/normal.h: Do not include grub/script.h.
34150
34151 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34152
34153 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34154
34155 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34156
34157 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34158 disk.
34159 (grub_disk_close): Print debug messages when closing a disk.
34160 (grub_disk_read): Print debug messages when disk read fails.
34161 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34162 filesystem type.
34163 * kern/partition.c: Include misc.h.
34164 (grub_partition_iterate): Print debug messages when detecting
34165 partition type.
34166
34167 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34168
34169 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34170 is negative.
34171 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34172
34173 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34174
34175 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34176 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34177
34178 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34179
34180 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34181 instead of sizeof(lv). Patch by Michael Guntsche.
34182
34183 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34184
34185 * disk/lvm.c: Rename VGS to VG_LIST.
34186 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34187 (grub_lvm_open): Likewise.
34188 Thanks to Michael Guntsche for finding this bug.
34189
34190 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34191
34192 * configure.ac (AC_INIT): Bumped to 1.95.
34193
34194 2006-10-14 Robert Millan <rmh@aybabtu.com>
34195
34196 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34197 with "/dev/.static/dev/md".
34198
34199 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34200
34201 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34202 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34203 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34204 DRIVE_NAME are always freed.
34205
34206 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34207 DOS_PART, as a DOS partition is counted from one instead of zero
34208 now. Reported by Robert Millan.
34209
34210 2006-10-14 Robert Millan <rmh@aybabtu.com>
34211
34212 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34213 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34214 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34215 string returned by grub_guess_root_device.
34216 * util/i386/pc/grub-setup.c: Likewise.
34217 * util/i386/pc/grub-probefs.c: Likewise.
34218
34219 * util/i386/pc/grub-probefs.c: Rename to ...
34220 * util/i386/pc/grub-probe.c: ... this.
34221 * DISTLIST: Remove grub-probefs, add grub-probe.
34222 * conf/i386-efi.rmk: Likewise.
34223 * conf/i386-pc.rmk: Likewise.
34224 * util/i386/pc/grub-install.in: Likewise.
34225
34226 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34227 choose which information we want to print.
34228
34229 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34230
34231 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34232 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34233 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34234 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34235 video/readers/tga.c and video/i386/pc/vbeutil.c.
34236
34237 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34238
34239 Added support for RAID and LVM.
34240
34241 * disk/lvm.c: New file.
34242 * disk/raid.c: Likewise.
34243 * include/grub/lvm.h: Likewise.
34244 * include/grub/raid.h: Likewise.
34245 * include/grub/util/lvm.h: Likewise.
34246 * include/grub/util/raid.h: Likewise.
34247 * util/lvm.c: Likewise.
34248 * util/raid.c: Likewise.
34249
34250 * include/grub/disk.h (grub_disk_dev_id): Add
34251 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34252 (grub_disk_get_size): New prototype.
34253 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34254 returns a partition.
34255 (grub_disk_get_size): New function.
34256
34257 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34258 verbatim if grub_install_dos_part is -2.
34259
34260 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34261 and LVM devices.
34262
34263 * util/i386/pc/grub-setup.c (setup): New argument
34264 MUST_EMBED. Force embedding of GRUB when the argument is
34265 true. Close FILE before returning.
34266 (main): Add support for RAID and LVM.
34267
34268 * conf/common.rmk: Add RAID and LVM modules.
34269 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34270 util/lvm.c.
34271 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34272
34273 * kern/misc.c (grub_strstr): New function.
34274 * include/grub/misc.h (grub_strstr): New prototype.
34275
34276 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34277
34278 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34279
34280 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34281
34282 * kern/misc.c (grub_strtoull): Guess the base only if not
34283 specified.
34284
34285 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34286
34287 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34288 PowerMac support.
34289
34290 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34291
34292 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34293
34294 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34295 Remove `flags' argument. All callers changed.
34296 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34297 (IEEE1275_IHANDLE_INVALID): New variable.
34298 (IEEE1275_CELL_INVALID): New variable.
34299 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34300 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34301 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34302 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34303 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34304 codes from Open Firmware. All callers updated.
34305 (grub_ieee1275_next_property): Directly return Open Firmware return
34306 code.
34307 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34308 Standardize error checking from `grub_ieee1275_get_property'.
34309 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34310 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34311
34312 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34313
34314 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34315 `instance_to_package_args' to `instance_to_path_args'.
34316
34317 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34318 `grub_ieee1275_chosen'.
34319
34320 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34321 `grub_ieee1275_interpret'.
34322
34323 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34324
34325 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34326
34327 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34328
34329 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34330 (__cmpdi): Likewise.
34331
34332 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34333 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34334 `grub_ssize_t'.
34335
34336 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
34337
34338 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34339 to type `grub_ssize_t'.
34340 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34341
34342 2006-09-22 Marco Gerards <marco@gnu.org>
34343
34344 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34345 newlines.
34346
34347 2006-09-22 Marco Gerards <marco@gnu.org>
34348
34349 * commands/echo.c: New file.
34350
34351 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34352
34353 * conf/common.rmk (echo_mod_SOURCES): New variable.
34354 (echo_mod_CFLAGS): Likewise.
34355 (echo_mod_LDFLAGS): Likewise.
34356
34357 2006-09-22 Marco Gerards <marco@gnu.org>
34358
34359 * normal/main.c (get_line): Malloc memory instead of using
34360 preallocated memory. Removed the arguments `cmdline' and
34361 `max_len'. Updated all callers.
34362
34363 2006-09-22 Marco Gerards <marco@gnu.org>
34364
34365 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34366 (normal_mod_DEPENDENCIES): Likewise.
34367
34368 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34369 (normal_mod_DEPENDENCIES): Likewise.
34370
34371 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34372
34373 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
34374
34375 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34376 programs.
34377 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34378 (normal_mod_DEPENDENCIES): Likewise.
34379 * conf/i386-pc.mk: Regenerate.
34380 * conf/i386-efi.mk: Likewise
34381 * conf/common.mk: Likewise.
34382 * conf/powerpc-ieee1275.mk: Likewise.
34383 * conf/sparc64-ieee1275.mk: Likewise.
34384
34385 2006-09-22 Robert Millan <rmh@aybabtu.com>
34386
34387 Sync with i386 version.
34388 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34389 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34390
34391 2006-09-21 Robert Millan <rmh@aybabtu.com>
34392
34393 Import from GRUB Legacy (lib/device.c):
34394 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34395 (init_device_map) [__linux__]: Add support for I2O devices.
34396
34397 2006-09-14 Marco Gerards <marco@gnu.org>
34398
34399 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34400 `-melf_i386'.
34401
34402 2006-09-14 Robert Millan <rmh@aybabtu.com>
34403
34404 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34405 /boot/grub/*.lst.
34406
34407 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
34408
34409 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34410 before adding it to device.map.
34411
34412 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
34413
34414 * genmk.rb: Let GCC generate dependencies the first time it
34415 compiles a file; using the -MD option.
34416 * conf/common.mk: Regenerate.
34417 * conf/i386-pc.mk: Likewise.
34418 * conf/i386-efi.mk: Likewise.
34419 * conf/powerpc-ieee1275.mk: Likewise.
34420 * conf/sparc64-ieee1275.mk: Likewise.
34421
34422 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34423
34424 Move the prototypes of grub_setjmp and grub_longjmp to
34425 cpu/setjmp.h, so that each architecture may specify different
34426 attributes.
34427
34428 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34429 (grub_longjmp): Likewise.
34430 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34431 (grub_longjmp): Likewise.
34432 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34433 (grub_longjmp): Likewise.
34434
34435 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34436 [!GRUB_UTIL] (grub_longjmp): Removed.
34437
34438 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34439
34440 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34441 "color!" method does not return any value.
34442
34443 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34444
34445 * include/grub/bitmap.h: New file.
34446
34447 * include/grub/i386/pc/vbeutil.h: Likewise.
34448
34449 * video/bitmap.c: Likewise.
34450
34451 * video/readers/tga.c: Likewise.
34452
34453 * video/i386/pc/vbeutil.c: Likewise.
34454
34455 * commands/videotest.c: Code cleanup and updated to reflect to new
34456 video API.
34457
34458 * term/gfxterm.c: Likewise.
34459
34460 * video/video.c: Likewise.
34461
34462 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34463 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34464 (bitmap_mod_SOURCES): New entry.
34465 (bitmap_mod_CFLAGS): Likewise.
34466 (bitmap_mod_LDFLAGS): Likewise.
34467 (tga_mod_SOURCES): Likewise.
34468 (tga_mod_CFLAGS): Likewise.
34469 (tga_mod_LDFLAGS): Likewise.
34470
34471 * include/grub/video.h (grub_video_blit_operators): New enum type.
34472 (grub_video_render_target): Changed as forward declaration and moved
34473 actual definition to be video driver specific.
34474 (grub_video_adapter.blit_bitmap): Added blitting operator.
34475 (grub_video_adapter.blit_render_target): Likewise.
34476 (grub_video_blit_bitmap): Likewise.
34477 (grub_video_blit_render_target): Likewise.
34478
34479 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34480 driver specific render target definition.
34481 (grub_video_vbe_map_rgba): Added driver internal helper.
34482 (grub_video_vbe_unmap_color): Updated to use
34483 grub_video_i386_vbeblit_info.
34484 (grub_video_vbe_get_video_ptr): Likewise.
34485
34486 * include/grub/i386/pc/vbeblit.h
34487 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34488 grub_video_i386_vbeblit_info.
34489 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34490 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34491 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34492 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34493 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34494 (grub_video_i386_vbeblit_index_index): Likewise.
34495 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34496 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34497 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34498 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34499 operator.
34500 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34501 operator.
34502
34503 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34504 include/grub/i386/pc/vbeblit.h.
34505
34506 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34507 Updated to use grub_video_i386_vbeblit_info.
34508 (grub_video_i386_vbefill_R8G8B8): Likewise.
34509 (grub_video_i386_vbefill_index): Likewise.
34510 (grub_video_i386_vbefill): Added generic filler.
34511
34512 * video/i386/pc/vbefill.c: Updated to reflect changes on
34513 include/grub/i386/pc/vbefill.h.
34514
34515 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34516 grub_video_i386_vbeblit_info.
34517 (grub_video_vbe_unmap_color): Likewise.
34518 (grub_video_vbe_blit_glyph): Likewise.
34519 (grub_video_vbe_scroll): Likewise.
34520 (grub_video_vbe_draw_pixel): Removed function.
34521 (grub_video_vbe_get_pixel): Likewise.
34522 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34523 updated code to use it.
34524 (common_blitter): Added common blitter for render target and bitmap.
34525 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34526 (grub_video_vbe_blit_render_target): Likewise.
34527
34528 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34529
34530 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34531 is in text mode if there is no console control protocol instance
34532 available.
34533
34534 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34535
34536 * include/grub/video.h: Code cleanup.
34537
34538 * include/grub/i386/pc/vbe.h: Likewise.
34539
34540 * video/i386/pc/vbe.c: Likewise.
34541
34542 * video/i386/pc/vbeblit.c: Likewise.
34543
34544 * video/i386/pc/vbefill.c: Likewise.
34545
34546 * video/video.c: Likewise. Also added more comments.
34547
34548 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34549
34550 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34551 (struct grub_biosdisk_dap): Likewise.
34552
34553 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34554 linkage settings for all functions.
34555
34556 2006-07-12 Marco Gerards <marco@gnu.org>
34557
34558 * configure.ac (--enable-mm-debug): Fix typo.
34559
34560 * genkernsyms.sh.in: Use proper quoting for `CC'.
34561
34562 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34563
34564 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34565 (normal_mod_ASFLAGS): Remove "-m32".
34566
34567 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34568
34569 * util/misc.c: Include config.h.
34570 [!HAVE_MEMALIGN]: Do not include malloc.h.
34571 (grub_memalign): Use posix_memalign, if present. Then, use
34572 memalign, if present. Otherwise, emit an error.
34573
34574 * util/grub-emu.c: Do not include malloc.h.
34575
34576 * include/grub/util/misc.h: Include unistd.h. This is required for
34577 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34578 D. Eades III <hde@foobar-qux.org>.
34579
34580 * configure.ac (AC_GNU_SOURCE): Added.
34581 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34582 type.
34583
34584 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34585
34586 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34587 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34588
34589 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34590
34591 * include/grub/types.h (grub_host_addr_t): Rename to
34592 grub_target_addr_t.
34593 (grub_host_off_t): Rename to grub_target_off_t.
34594 (grub_host_size_t): Rename to grub_target_size_t.
34595 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34596 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34597
34598 * include/grub/kernel.h (struct grub_module_header): Change type
34599 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34600 (grub_module_info): Likewise.
34601
34602 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34603
34604 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34605 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34606 Velazquez <jesus.velazquez@gmail.com>.
34607
34608 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34609
34610 Count partitions from 1 instead of 0 in the string representation
34611 of partitions. Still use 0-based internally.
34612
34613 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34614 (sun_partition_map_iterate): Use grub_partition_t instead of
34615 struct grub_partition *. Cast DESC->START_CYLINDER to
34616 grub_uint64_t after converting the endian.
34617 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34618 (sun_partition_map_get_name): Add 1 to P->INDEX.
34619
34620 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34621 PCDATA->DOS_PART.
34622 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34623
34624 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34625 zero instead of one.
34626 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34627 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34628
34629 * partmap/apple.c (apple_partition_map_iterate): Change the type
34630 of POS to unsigned.
34631 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34632 (apple_partition_map_get_name): Add 1 into P->INDEX.
34633
34634 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34635 of POS to unsigned.
34636 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34637 calculate the offset of a partition.
34638 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34639 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34640
34641 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34642 SECTOR to grub_disk_addr_t.
34643 (acorn_partition_map_iterate): Likewise.
34644 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34645 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34646 top.
34647 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34648
34649 * kern/i386/pc/init.c (make_install_device): Add 1 into
34650 GRUB_INSTALL_DOS_PART.
34651
34652 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34653 conditional.
34654
34655 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34656
34657 Clean up the code to support 64-bit addressing in disks and
34658 files. This change is not enough for filesystems yet.
34659
34660 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34661 type of "start" to grub_uint64_t.
34662 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34663 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34664 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34665 convert addresses.
34666
34667 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34668 to grub_disk_addr_t.
34669
34670 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34671 string.
34672
34673 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34674
34675 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34676 to char *.
34677
34678 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34679
34680 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34681
34682 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34683
34684 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34685 to grub_off_t, to detect an error from grub_file_seek.
34686 (grub_multiboot_load_elf32): Likewise.
34687
34688 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34689 maximum unsigned long value when an overflow is detected.
34690 (grub_strtoull): New function.
34691 (grub_divmod64): Likewise.
34692 (grub_lltoa): use grub_divmod64.
34693
34694 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34695 grub_disk_addr_t.
34696 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34697 the pointer to next character. Use grub_strtoull instead of
34698 grub_strtoul.
34699 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34700 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34701 respectively.
34702
34703 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
34704 return value is signed.
34705 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34706 test if OFFSET is less than zero, as OFFSET is unsigned now.
34707
34708 * kern/disk.c (struct grub_disk_cache): Change the type of
34709 "sector" to grub_disk_addr_t.
34710 (grub_disk_cache_get_index): Change the type of SECTOR to
34711 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34712 unsigned after shifting.
34713 (grub_disk_cache_invalidate): Change the type of SECTOR to
34714 grub_disk_addr_t.
34715 (grub_disk_cache_unlock): Likewise.
34716 (grub_disk_cache_store): Likewise.
34717 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34718 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34719 grub_disk_addr_t and grub_uint64_t, respectively.
34720 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34721 body, as the value of OFFSET is tweaked by
34722 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34723 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34724 respectively.
34725 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34726 body, as the value of OFFSET is tweaked by
34727 grub_disk_check_range. Change the types of LEN and N to
34728 grub_size_t.
34729
34730 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34731 and "saved_offset" to grub_off_t.
34732 (test_header): Cast BUF to char *.
34733 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34734 to char *.
34735 (grub_gzio_read): Change the types of OFFSET and SIZE to
34736 grub_off_t and grub_size_t, respectively.
34737
34738 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34739 Removed.
34740 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34741 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34742 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34743 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34744 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34745
34746 * include/grub/types.h (grub_off_t): Unconditionally set to
34747 grub_uint64_t.
34748 (grub_disk_addr_t): Changed to grub_uint64_t.
34749
34750 * include/grub/partition.h (struct grub_partition): Change the
34751 types of "start", "len" and "offset" to grub_disk_addr_t,
34752 grub_uint64_t and grub_disk_addr_t, respectively.
34753 (grub_partition_get_start): Return grub_disk_addr_t.
34754 (grub_partition_get_len): Return grub_uint64_t.
34755
34756 * include/grub/misc.h (grub_strtoull): New prototype.
34757 (grub_divmod64): Likewise.
34758
34759 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34760 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34761 grub_off_t, respectively.
34762 All callers and references changed.
34763
34764 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34765 grub_size_t in "read".
34766 All callers and references changed.
34767
34768 * include/grub/file.h (struct grub_file): Change the types of
34769 "offset" and "size" to grub_off_t and grub_off_t,
34770 respectively. Change the type of SECTOR to grub_disk_addr_t in
34771 "read_hook".
34772 (grub_file_read): Change the type of LEN to grub_size_t.
34773 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34774 grub_off_t.
34775 (grub_file_size): Return grub_off_t.
34776 (grub_file_tell): Likewise.
34777 All callers and references changed.
34778
34779 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34780 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34781 "write".
34782 (struct grub_disk): Change the type of "total_sectors" to
34783 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
34784 "read_hook".
34785 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34786 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34787 (grub_disk_write): Likewise.
34788 All callers and references changed.
34789
34790 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34791 char * for grub_strncmp to silence gcc.
34792 (grub_iso9660_mount): Likewise.
34793 (grub_iso9660_mount): Likewise.
34794 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34795 return statement.
34796 (grub_iso9660_iterate_dir): Likewise.
34797 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34798
34799 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34800 LEN to grub_disk_addr_t and grub_size_t, respectively.
34801
34802 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34803
34804 * fs/jfs.c (grub_jfs_read_file): Likewise.
34805
34806 * fs/minix.c (grub_jfs_read_file): Likewise.
34807
34808 * fs/sfs.c (grub_jfs_read_file): Likewise.
34809
34810 * fs/ufs.c (grub_jfs_read_file): Likewise.
34811
34812 * fs/xfs.c (grub_jfs_read_file): Likewise.
34813
34814 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34815 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34816 respectively.
34817
34818 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34819 BLKNR to -1 instead of returning GRUB_ERRNO.
34820 (grub_ext2_read_file): Change the types of SECTOR and
34821 LEN to grub_disk_addr_t and grub_size_t, respectively.
34822
34823 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34824 LEN to grub_disk_addr_t and grub_size_t, respectively.
34825
34826 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34827 grub_file_read.
34828
34829 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34830 string. Do not cast SECTOR explicitly.
34831
34832 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34833 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34834 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34835 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34836 over 2TB and LBA mode is not supported, raise an error.
34837 (get_safe_sectors): New function.
34838 (grub_biosdisk_read): Use get_safe_sectors.
34839 (grub_biosdisk_write): Likewise.
34840
34841 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34842 (grub_efidisk_write): Likewise.
34843
34844 * disk/loopback.c (delete_loopback): Cosmetic changes.
34845 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34846 correctly.
34847 (grub_loopback_open): Likewise.
34848 (grub_loopback_read): Likewise. Also, change the type of POS to
34849 grub_off_t, and fix the usage of grub_memset.
34850
34851 * commands/i386/pc/play.c: Include grub/machine/time.h.
34852
34853 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34854 print FILE->SIZE.
34855
34856 * commands/configfile.c: Include grub/env.h.
34857
34858 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34859 GRUB_ERRNO directly instead. Change the type of POS to
34860 grub_off_t. Follow the coding standard.
34861
34862 * commands/blocklist.c: Include grub/partition.h.
34863 (grub_cmd_blocklist): Return an error if the underlying device is
34864 not a disk. Take the starting sector of a partition into account,
34865 if a partition is used.
34866
34867 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34868 a length field.
34869 (lba_mode): Support 64-bit addresses.
34870 (chs_mode): Likewise.
34871 (copy_buffer): Adapted to the new offsets of a length field and a
34872 segment field.
34873 (blocklist_default_start): Allocate 64-bit space.
34874
34875 * boot/i386/pc/boot.S (force_lba): Removed.
34876 (boot_drive): Moved to under KERNEL_SECTOR.
34877 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
34878 space.
34879 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34880 is useless.
34881 (lba_mode): Refactored to support a 64-bit address. More size
34882 optimization.
34883 (setup_sectors): Likewise.
34884
34885 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34886
34887 * DISTLIST: Added include/grub/i386/linux.h. Removed
34888 include/grub/i386/pc/linux.h
34889
34890 * configure.ac (AC_INIT): Bumped to 1.94.
34891
34892 * config.guess: Updated from gnulib.
34893 * config.sub: Likewise.
34894 * install-sh: Likewise.
34895 * mkinstalldirs: Likewise.
34896
34897 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34898
34899 * conf/common.rmk (grub_modules_init.lst): Depended on
34900 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34901 MODSRCFILES.
34902
34903 * genmk.rb (PModule::rule): Reverted the previous change.
34904
34905 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34906
34907 * conf/common.rmk (grub_modules_init.lst): Depends on
34908 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34909 that the target does not exist before producing.
34910 (grub_modules_init.h): Remove the target before generating.
34911 (grub_emu_init.c): Likewise.
34912
34913 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34914
34915 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34916
34917 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34918 for the target-specific tests. Make sure that we also have the
34919 up-to-date target variables for those tests.
34920
34921 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34922
34923 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34924 (PModule::rule): Likewise.
34925
34926 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34927
34928 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34929 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34930 target-specific flags should be prefixed.
34931 (PModule::rule): Likewise.
34932
34933 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34934
34935 * configure.ac (CMP): Check if cmp is available explicitly.
34936
34937 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34938
34939 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34940 (target_cpu): New variable.
34941 (pkglibdir): Use target_cpu instead of host_cpu.
34942
34943 * util/i386/pc/grub-install.in (host_cpu): Removed.
34944 (target_cpu): New variable.
34945 (pkglibdir): Use target_cpu instead of host_cpu.
34946
34947 * util/genmoddep.c: Removed.
34948
34949 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34950 instead of GRUB_HOST_SIZEOF_VOID_P.
34951 * kern/dl.c: Likewise.
34952
34953 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34954 ...
34955 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34956 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34957 (GRUB_TARGET_SIZEOF_LONG): ... this.
34958 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34959 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34960 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34961 to ...
34962 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34963 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34964 (GRUB_TARGET_SIZEOF_LONG): ... this.
34965 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34966 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34967 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34968 to ...
34969 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34970 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34971 (GRUB_TARGET_SIZEOF_LONG): ... this.
34972 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34973 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34974
34975 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34976 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34977 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34978 instead of GRUB_HOST_SIZEOF_LONG.
34979 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34980 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34981 GRUB_CPU_WORDS_BIGENDIAN.
34982 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34983 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34984 grub_host_ssize_t.
34985
34986 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34987 (genmoddep_SOURCES): Likewise.
34988 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34989 (genmoddep_SOURCES): Likewise.
34990 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34991 (genmoddep_SOURCES): Likewise.
34992 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34993 Likewise.
34994 (genmoddep_SOURCES): Likewise.
34995
34996 * genmoddep.awk: New file.
34997
34998 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34999 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35000 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35001 (PModule::rule): Likewise.
35002 (Program::rule): Likewise.
35003 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35004 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35005 respectively.
35006
35007 * configure.ac: Rewritten intensively to use host and target
35008 instead of build and host, respectively.
35009
35010 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35011 (host_cpu): Removed.
35012 (target_cpu): New variable.
35013 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35014 (BUILD_CC): Removed.
35015 (BUILD_CFLAGS): Likewise.
35016 (BUILD_CPPFLAGS): Likewise.
35017 (TARGET_CC): New variable.
35018 (TARGET_CFLAGS): Likewise.
35019 (TARGET_CPPFLAGS): Likewise.
35020 (TARGET_LDFLAGS): Likewise.
35021 (AWK): Likewise.
35022 (include): Use target_cpu instead of host_cpu.
35023 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
35024
35025 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35026
35027 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35028
35029 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35030 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35031 field 'false' to 'exec_on_false'.
35032 (grub_script_create_cmdif): Renamed argument names to reflect above
35033 changes.
35034
35035 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35036
35037 * normal/script.c (grub_script_create_cmdif): Likewise.
35038
35039 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35040
35041 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35042 top.
35043 (grub_hfsplus_btree_recptr): Likewise.
35044 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35045 FILEBLOCK both to pass a block number and store next block
35046 number.
35047 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35048 overflow file correctly. Specify errors appropriately, because
35049 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35050 grub_hfsplus_btree_recptr to get the pointer to a found key.
35051 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35052 is found.
35053
35054 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35055 linux.mod.
35056 (_linux_mod_SOURCES): New variable.
35057 (_linux_mod_CFLAGS): Likewise.
35058 (_linux_mod_LDFLAGS): Likewise.
35059 (linux_mod_SOURCES): Likewise.
35060 (linux_mod_CFLAGS): Likewise.
35061 (linux_mod_LDFLAGS): Likewise.
35062
35063 * DISTLIST: Added loader/i386/efi/linux.c,
35064 loader/i386/efi/linux_normal.c and
35065 include/grub/i386/efi/loader.h.
35066
35067 * loader/i386/efi/linux.c: New file.
35068 * loader/i386/efi/linux_normal.c: Likewise.
35069 * include/grub/i386/efi/loader.h: Likewise.
35070
35071 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35072
35073 * commands/blocklist.c: New file.
35074
35075 * DISTLIST: Added commands/blocklist.c.
35076
35077 * term/efi/console.c (grub_console_highlight_color): Use a lighter
35078 color for the background, and a darker color for the foreground.
35079 (grub_console_checkkey): Return READ_KEY.
35080 (grub_console_cls): Set the background to
35081 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35082
35083 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35084
35085 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35086 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35087
35088 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35089 prototype.
35090
35091 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35092 BG. The spec is wrong again.
35093
35094 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35095 prototype.
35096 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35097
35098 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35099 commands/blocklist.c.
35100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35101
35102 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35103 (blocklist_mod_SOURCES): New variable.
35104 (blocklist_mod_CFLAGS): Likewise.
35105 (blocklist_mod_LDFLAGS): Likewise.
35106
35107 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35108
35109 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35110 duplication.
35111 (lba_mode): Use %eax more intensively to reduce the code size.
35112
35113 2006-05-20 Marco Gerards <marco@gnu.org>
35114
35115 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35116
35117 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35118 for `menuentry'.
35119 (script): Accept leading newlines.
35120 (newlines): New rule to describe 0 or more newlines.
35121 (commands): Accept `command' with trailing newline. Fixed the
35122 order in which arguments were passed to `grub_script_add_cmd'.
35123 Accept commands separated by newlines.
35124 (function): Changed to accept newlines.
35125 (menuentry) Rewritten.
35126
35127 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35128 front of the list, instead of to the end.
35129
35130 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35131
35132 * util/i386/pc/grub-install.in (bindir): New variable.
35133 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35134 Shaver <lbgwjl@gmail.com>.
35135
35136 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35137
35138 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35139 grub/machine/linux.h
35140 * loader/i386/pc/linux.c: Likewise.
35141
35142 * include/grub/i386/pc/linux.h: Moved to ...
35143 * include/grub/i386/linux.h: ... here.
35144
35145 * include/grub/i386/linux.h (struct linux_kernel_params): New
35146 struct.
35147
35148 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35149
35150 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35151 checking.
35152 (grub_video_vbe_blit_glyph): Likewise.
35153 (grub_video_vbe_blit_bitmap): Likewise.
35154 (grub_video_vbe_blit_render_target): Likewise.
35155
35156 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35157
35158 * configure.ac (--with-platform): Properly quote the square
35159 brackets.
35160
35161 2006-05-08 Marco Gerards <marco@gnu.org>
35162
35163 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35164 this...
35165 (kernel_elf_HEADERS): ...to this. Updated all users.
35166 (grubof_symlist.c): Renamed from this...
35167 (kernel_elf_symlist.c): ...to this. Updated all users.
35168 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35169 (grubof_SOURCES): Renamed from this...
35170 (kernel_elf_SOURCES): ...to this.
35171 (grubof_HEADERS): Renamed from this...
35172 (kernel_elf_HEADERS): ...to this.
35173 (grubof_CFLAGS): Renamed from this...
35174 (kernel_elf_CFLAGS): ...to this.
35175 (grubof_ASFLAGS): Renamed from this...
35176 (kernel_elf_ASFLAGS): ...to this.
35177 (grubof_LDFLAGS): Renamed from this...
35178 (kernel_elf_LDFLAGS): ...to this.
35179
35180 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35181 this...
35182 (kernel_elf_HEADERS): ...to this. Updated all users.
35183 (grubof_symlist.c): Renamed from this...
35184 (kernel_elf_symlist.c): ...to this. Updated all users.
35185 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35186 (grubof_SOURCES): Renamed from this...
35187 (kernel_elf_SOURCES): ...to this.
35188 (grubof_HEADERS): Renamed from this...
35189 (kernel_elf_HEADERS): ...to this.
35190 (grubof_CFLAGS): Renamed from this...
35191 (kernel_elf_CFLAGS): ...to this.
35192 (grubof_ASFLAGS): Renamed from this...
35193 (kernel_elf_ASFLAGS): ...to this.
35194 (grubof_LDFLAGS): Renamed from this...
35195 (kernel_elf_LDFLAGS): ...to this.
35196
35197 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35198 `kernel.elf' instead of `grubof'.
35199
35200 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35201
35202 Add --with-platform to configure. Use pkglibdir instead of
35203 pkgdatadir. This is reported by Roger Leigh.
35204
35205 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35206 (host_vendor): Likewise.
35207 (host_os): Likewise.
35208 (pkgdatadir): Likewise.
35209 (platform): New variable.
35210 (pkglibdir): Likewise.
35211 Use PKGLIBDIR instead of PKGDATADIR.
35212
35213 * util/i386/pc/grub-install.in (datadir): Removed.
35214 (host_vendor): Likewise.
35215 (host_os): Likewise.
35216 (pkgdatadir): Likewise.
35217 (platform): New variable.
35218 (pkglibdir): Likewise.
35219 Use PKGLIBDIR instead of PKGDATADIR.
35220
35221 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35222 instead of GRUB_DATADIR.
35223 (main): Likewise.
35224 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35225 (main): Likewise.
35226 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35227 (main): Likewise.
35228
35229 * configure.ac (--with-platform): New option.
35230 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35231
35232 * Makefile.in: Include a makefile based on PLATFORM instead of
35233 HOST_VENDOR.
35234 (pkgdatadir): Not appended by the machine type.
35235 (pkglibdir): Appended by the machine type.
35236 (host_vendor): Removed.
35237 (platform): New variable.
35238 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35239 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35240 (uninstall): Likewise.
35241
35242 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35243
35244 Use the environment context in the menu. Remove the commands
35245 "default" and "timeout", and use variables instead.
35246
35247 * normal/menu.c: Include grub/env.h.
35248 (print_entry): Cast TITLE to silence gcc.
35249 (get_timeout): New function.
35250 (set_timeout): Likewise.
35251 (get_entry_number): Likewise.
35252 (run_menu): Use a default entry, a fallback entry and a timeout
35253 in the environment variables "default", "fallback" and
35254 "timeout". Also, tweak the default entry if it is not within the
35255 current menu entries.
35256 (grub_menu_run): Use a fallback entry in the environment variable
35257 "fallback".
35258
35259 * normal/main.c (read_config_file): Do not initialize
35260 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35261 NEWMENU->TIMEOUT.
35262 (grub_normal_execute): Use a data slot to store the menu.
35263
35264 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35265 fallback_entry and timeout.
35266 (struct grub_menu_list): Removed.
35267 (grub_menu_list_t): Likewise.
35268 (struct grub_context): Likewise.
35269 (grub_context_t): Likewise.
35270 (grub_context_get): Likewise.
35271 (grub_context_get_current_menu): Likewise.
35272 (grub_context_push_menu): Likewise.
35273 (grub_context_pop_menu): Likewise.
35274 (grub_default_init): Likewise.
35275 (grub_default_fini): Likewise.
35276 (grub_timeout_init): Likewise.
35277 (grub_timeout_fini): Likewise.
35278
35279 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35280 and timeout.mod.
35281 (normal_mod_SOURCES): Removed normal/context.c.
35282
35283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35284 commands/default.c, commands/timeout.c and normal/context.c.
35285 (normal_mod_SOURCES): Removed normal/context.c.
35286
35287 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35288 commands/timeout.c and normal/context.c.
35289 (normal_mod_SOURCES): Removed normal/context.c.
35290
35291 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35292 commands/default.c, commands/timeout.c and normal/context.c.
35293 (normal_mod_SOURCES): Removed normal/context.c.
35294
35295 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35296 timeout.mod.
35297 (default_mod_SOURCES): Removed.
35298 (default_mod_CFLAGS): Likewise.
35299 (default_mod_LDFLAGS): Likewise.
35300 (timeout_mod_SOURCES): Removed.
35301 (timeout_mod_CFLAGS): Likewise.
35302 (timeout_mod_LDFLAGS): Likewise.
35303
35304 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35305 normal/context.c.
35306
35307 * commands/default.c: Removed.
35308 * commands/timeout.c: Likewise.
35309 * normal/context.c: Likewise.
35310
35311 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35312
35313 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35314
35315 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35316
35317 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35318 "next" to "prev" for readability.
35319 (struct grub_env_sorted_var): New struct.
35320 (grub_env_context): Renamed to ...
35321 (initial_context): ... this.
35322 (grub_env_var_context): Renamed to ...
35323 (current_context): ... this.
35324 (grub_env_find): Look only at CURRENT_CONTEXT.
35325 (grub_env_context_open): Rewritten to copy exported variables from
35326 previous context.
35327 (grub_env_context_close): Rewritten according to the new
35328 scheme. Also, add an assertion to prevent the initial context from
35329 removed.
35330 (grub_env_insert): Removed the code for the sorted list.
35331 (grub_env_remove): Likewise.
35332 (grub_env_export): Simply mark the variable with
35333 GRUB_ENV_VAR_GLOBAL.
35334 (grub_env_set): A cosmetic change for naming consistency.
35335 (grub_env_get): Likewise.
35336 (grub_env_unset): Likewise.
35337 (grub_env_iterate): Rewritten to sort variables within this
35338 function.
35339 (grub_register_variable_hook): Fixed for naming consistency. Call
35340 grub_env_find again, only if NAME is not found at the first time.
35341 (mangle_data_slot_name): New function.
35342 (grub_env_set_data_slot): Likewise.
35343 (grub_env_get_data_slot): Likewise.
35344 (grub_env_unset_data_slot): Likewise.
35345
35346 * include/grub/env.h (grub_env_var_type): New enum.
35347 (GRUB_ENV_VAR_LOCAL): New constant.
35348 (GRUB_ENV_VAR_GLOBAL): Likewise.
35349 (GRUB_ENV_VAR_DATA): Likewise.
35350 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35351 "type".
35352 (grub_env_set): Replace VAR with NAME for consistency.
35353 (grub_register_variable_hook): Likewise.
35354 (grub_env_export): Specify the name of the argument.
35355 (grub_env_set_data_slot): New prototype.
35356 (grub_env_get_data_slot): Likewise.
35357 (grub_env_unset_data_slot): Likewise.
35358
35359 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35360
35361 Extend the loader so that GRUB can accept a loader which comes
35362 back to GRUB when a loaded image exits. Also, this change adds
35363 support for a chainloader on EFI.
35364
35365 * term/efi/console.c: Include grub/misc.h.
35366 (grub_console_checkkey): Display a scan code on the top for
35367 debugging. This will be removed once the EFI port gets stable.
35368 Correct the scan code mapping.
35369
35370 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35371 allocate memory from larger regions, in order to reduce the number
35372 of allocated regions. Otherwise, the MacOSX loader panics.
35373 (filter_memory_map): Avoid less than 1MB for compatibility with
35374 other loaders.
35375 (add_memory_regions): Allocate from the tail of a region, if
35376 possible, to avoid allocating a region near to 1MB, for the MacOSX
35377 loader.
35378
35379 * kern/efi/init.c (grub_efi_set_prefix): Specify
35380 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35381
35382 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35383 argument IMAGE_HANDLE and specify it to get a loaded image.
35384 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35385 grub_efi_get_loaded_image.
35386 (grub_efi_get_filename): Divide the length by the size of
35387 grub_efi_char16_t.
35388 (grub_efi_get_device_path): New function.
35389 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35390 the length by the size of grub_efi_char16_t for a file path device
35391 path node.
35392
35393 * kern/loader.c (grub_loader_noreturn): New variable.
35394 (grub_loader_set): Accept a new argument NORETURN. Set
35395 GRUB_LOADER_NORETURN to NORETURN.
35396 All callers changed.
35397 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35398 grub_machine_fini.
35399
35400 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35401 prototype.
35402 (grub_efi_get_loaded_image): Take an argument to specify an image
35403 handle.
35404
35405 * include/grub/loader.h (grub_loader_set): Added one more argument
35406 NORETURN.
35407
35408 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35409 instead of grub_efi_open_protocol.
35410 (grub_efidisk_get_device_name): Likewise.
35411 (grub_efidisk_close): Print a newline.
35412 (grub_efidisk_get_device_handle): Fixed to use
35413 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35414 GRUB_EFI_DEVICE_PATH_TYPE.
35415
35416 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35417 * kern/efi/efi.c (device_path_guid): ... here.
35418
35419 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35420 chain.mod.
35421 (kernel_mod_HEADERS): Added efi/disk.h.
35422 (_chain_mod_SOURCES): New variable.
35423 (_chain_mod_CFLAGS): Likewise.
35424 (_chain_mod_LDFLAGS): Likewise.
35425 (chain_mod_SOURCES): Likewise.
35426 (chain_mod_CFLAGS): Likewise.
35427 (chain_mod_LDFLAGS): Likewise.
35428
35429 * DISTLIST: Added include/grub/efi/chainloader.h,
35430 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35431
35432 * include/grub/efi/chainloader.h: New file.
35433 * loader/efi/chainloader.c: Likewise.
35434 * loader/efi/chainloader_normal.c: Likewise.
35435
35436 2006-04-30 Marco Gerards <marco@gnu.org>
35437
35438 * commands/configfile.c (grub_cmd_source): New function.
35439 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35440 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35441
35442 2006-04-30 Marco Gerards <marco@gnu.org>
35443
35444 * normal/execute.c (grub_script_execute_cmd): Change the return
35445 type to `grub_err_t'. Correctly return the error.
35446 (grub_script_execute_cmdline): In case a command line is not a
35447 command or a function, try to interpret it as an assignment.
35448
35449 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35450
35451 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35452 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35453 skip a node whose name is obviously invalid as UTF-16,
35454 i.e. contains a NUL character. Stop the iteration when the last
35455 directory entry is found. Instead of using the return value of
35456 grub_hfsplus_btree_iterate_node, store the value in RET and use
35457 it, because the iterator can be stopped by the last directory
35458 entry.
35459
35460 2006-04-30 Marco Gerards <marco@gnu.org>
35461
35462 * include/grub/env.h (grub_env_export): New prototype. Reported
35463 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35464
35465 2006-04-30 Marco Gerards <marco@gnu.org>
35466
35467 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35468 size of the extents in a catalog file record.
35469
35470 2006-04-29 Marco Gerards <marco@gnu.org>
35471
35472 * commands/configfile.c (grub_cmd_configfile): Execute the
35473 configfile within its own context.
35474
35475 * include/grub/env.h (grub_env_context_open): New prototype.
35476 (grub_env_context_close): Likewise.
35477
35478 * kern/env.c (grub_env): Removed.
35479 (grub_env_sorted): Likewise.
35480 (grub_env_context): New variable.
35481 (grub_env_var_context): Likewise.
35482 (grub_env_find): Search both the active context and the global
35483 context.
35484 (grub_env_context_open): New function.
35485 (grub_env_context_close): Likewise.
35486 (grub_env_insert): Likewise.
35487 (grub_env_remove): Likewise.
35488 (grub_env_export): Likewise.
35489 (grub_env_set): Changed to use helper functions to avoid code
35490 duplication.
35491 (grub_env_iterate): Rewritten so both the current context and the
35492 global context are being used.
35493
35494 * normal/command.c (export_command): New function.
35495 (grub_command_init): Register the `export' function.
35496
35497 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35498
35499 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35500 explicitly to suppress gcc's warnings.
35501 * fs/fat.c (grub_fat_find_dir): Likewise.
35502 (grub_fat_label): Likewise.
35503 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35504 (grub_xfs_mount): Likewise.
35505 (grub_xfs_label): Likewise.
35506 * fs/affs.c (grub_affs_mount): Likewise.
35507 (grub_affs_label): Likewise.
35508 (grub_affs_iterate_dir): Likewise.
35509 * fs/sfs.c (grub_sfs_mount): Likewise.
35510 (grub_sfs_iterate_dir): Likewise.
35511 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35512 * fs/hfs.c (grub_hfs_mount): Likewise.
35513 (grub_hfs_cmp_catkeys): Likewise.
35514 (grub_hfs_find_dir): Likewise.
35515 (grub_hfs_dir): Likewise.
35516 (grub_hfs_label): Likewise.
35517 * fs/jfs.c (grub_jfs_mount): Likewise.
35518 (grub_jfs_opendir): Likewise.
35519 (grub_jfs_getent): Likewise.
35520 (grub_jfs_lookup_symlink): Likewise.
35521 (grub_jfs_label): Likewise.
35522 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35523 (grub_hfsplus_iterate_dir): Likewise.
35524 (grub_hfsplus_btree_iterate_node): Made static.
35525
35526 * util/grub-emu.c (prefix): New variable.
35527 (grub_machine_set_prefix): New function.
35528 (main): Do not set the environment variable "prefix" here. Only
35529 set PREFIX, which is used later by grub_machine_set_prefix.
35530
35531 * include/grub/video.h: Do not include grub/symbol.h.
35532 (grub_video_register): Not exported. This symbol is not defined in
35533 the kernel.
35534 (grub_video_unregister): Likewise.
35535 (grub_video_iterate): Likewise.
35536 (grub_video_setup): Likewise.
35537 (grub_video_restore): Likewise.
35538 (grub_video_get_info): Likewise.
35539 (grub_video_get_blit_format): Likewise.
35540 (grub_video_set_palette): Likewise.
35541 (grub_video_get_palette): Likewise.
35542 (grub_video_set_viewport): Likewise.
35543 (grub_video_get_viewport): Likewise.
35544 (grub_video_map_color): Likewise.
35545 (grub_video_map_rgb): Likewise.
35546 (grub_video_map_rgba): Likewise.
35547 (grub_video_fill_rect): Likewise.
35548 (grub_video_blit_glyph): Likewise.
35549 (grub_video_blit_bitmap): Likewise.
35550 (grub_video_blit_render_target): Likewise.
35551 (grub_video_scroll): Likewise.
35552 (grub_video_swap_buffers): Likewise.
35553 (grub_video_create_render_target): Likewise.
35554 (grub_video_delete_render_target): Likewise.
35555 (grub_video_set_active_render_target): Likewise.
35556
35557 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35558 Undefined.
35559 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35560
35561 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35562 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35563 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35564 instead of $(srcdir)/genkernsyms.sh.
35565
35566 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35567 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35568 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35569 instead of $(srcdir)/genkernsyms.sh.
35570
35571 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35572 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35573 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35574 instead of $(srcdir)/genkernsyms.sh.
35575
35576 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35577 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35578 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35579 instead of $(srcdir)/genkernsyms.sh.
35580
35581 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35582 genkernsyms.sh.
35583
35584 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35585 genkernsyms.sh.
35586 (gensymlist.sh): New target.
35587 (genkernsyms.sh): Likewise.
35588
35589 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35590 genkernsyms.sh.in and gensymlist.sh.in.
35591
35592 * genkernsyms.sh: Removed.
35593 * gensymlist.sh: Likewise.
35594
35595 * genkernsyms.sh.in: New file.
35596 * gensymlist.sh.in: Likewise.
35597
35598 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35599
35600 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35601 clobber "prefix", since we may have already set it manually.
35602
35603 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35604
35605 * kern/misc.c (abort): New alias for grub_abort.
35606
35607 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35608
35609 A new machine-specific function "grub_machine_set_prefix" is
35610 defined. This is called after loading modules, so that a prefix
35611 initialization can use modules. Also, this change adds an
35612 intensive debugging feature for the memory manager via the
35613 configure option "--enable-mm-debug".
35614
35615 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35616 PART.LEN.
35617
35618 * kern/sparc64/ieee1275/init.c (abort): Removed.
35619 (grub_stop): Likewise.
35620 (grub_exit): New function.
35621 (grub_set_prefix): Renamed to ...
35622 (grub_machine_set_prefix): ... this.
35623 (grub_machine_init): Do not call grub_set_prefix.
35624
35625 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35626 (grub_machine_set_prefix): ... this.
35627 (grub_machine_init): Do not call grub_set_prefix.
35628
35629 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35630 (grub_machine_init): Do not set the prefix here.
35631
35632 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35633
35634 * kern/efi/init.c: Include grub/mm.h.
35635 (grub_efi_set_prefix): New function.
35636
35637 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35638 (grub_efi_get_filename): New function.
35639 (grub_print_device_path): Renamed to ...
35640 (grub_efi_print_device_path): ... this.
35641
35642 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35643 [MM_DEBUG] (grub_realloc): Likewise.
35644 [MM_DEBUG] (grub_free): Likewise.
35645 [MM_DEBUG] (grub_memalign): Likewise.
35646 [MM_DEBUG] (grub_mm_debug): New variable.
35647 [MM_DEBUG] (grub_debug_malloc): New function.
35648 [MM_DEBUG] (grub_debug_free): New function.
35649 [MM_DEBUG] (grub_debug_realloc): New function.
35650 [MM_DEBUG] (grub_debug_memalign): New function.
35651
35652 * kern/misc.c (grub_abort): Print a newline to distinguish
35653 the message.
35654
35655 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35656 grub_set_root_dev after loading modules. This is necessary when
35657 setting a prefix depends on modules.
35658
35659 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35660 (grub_efi_print_device_path): ... this.
35661 (grub_efi_get_filename): New prototype.
35662 (grub_efi_set_prefix): Likewise.
35663
35664 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35665 and grub/disk.h.
35666 (grub_efidisk_get_device_handle): New prototype.
35667 (grub_efidisk_get_device_name): Likewise.
35668
35669 * include/grub/mm.h: Include config.h.
35670 (MM_DEBUG): Removed.
35671 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35672 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35673 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35674 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35675 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35676 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35677 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35678 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35679 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35680
35681 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35682
35683 * disk/efi/efidisk.c: Include grub/partition.h.
35684 (iterate_child_devices): New function.
35685 (add_device): First, compare only last device path nodes, so that
35686 devices are sorted by the types.
35687 (grub_efidisk_get_device_handle): New function.
35688 (grub_efidisk_get_device_name): Likewise.
35689
35690 * configure.ac (--enable-mm-debug): New option to enable the
35691 memory manager debugging feature. This makes the binary much
35692 bigger, so is disabled by default.
35693
35694 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35695
35696 Use grub_abort instead of grub_stop, and grub_exit must be
35697 define in each architecture now. Also, this change adds support
35698 for EFI disks.
35699
35700 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35701 (grub_getkey): New function.
35702 (grub_term_get_current): Likewise.
35703
35704 * util/i386/pc/grub-setup.c: Include grub/term.h.
35705 (grub_getkey): New function.
35706 (grub_term_get_current): Likewise.
35707
35708 * util/misc.c (grub_stop): Renamed to ...
35709 (grub_exit): ... this.
35710
35711 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35712 (grub_exit): ... this.
35713 (grub_machine_init): Use grub_abort instead of abort.
35714 (grub_stop): Removed.
35715
35716 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35717 abort.
35718
35719 * kern/i386/pc/startup.S (grub_exit): New function.
35720 (cold_reboot): New label.
35721
35722 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35723 (grub_efi_init): Call grub_efidisk_init.
35724 (grub_efi_fini): Call grub_efidisk_fini.
35725
35726 * kern/efi/efi.c: Include grub/mm.h.
35727 (grub_efi_console_control_guid): Renamed to ...
35728 (console_control_guid): ... this.
35729 (grub_efi_loaded_image_guid): Renamed to ...
35730 (loaded_image_guid): ... this.
35731 (grub_efi_locate_handle): New function.
35732 (grub_efi_open_protocol): Likewise.
35733 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35734 GRUB_EFI_CONSOLE_CONTROL_GUID.
35735 (grub_efi_exit): Removed.
35736 (grub_stop): Likewise.
35737 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35738 (grub_exit): New function.
35739 (grub_print_device_path): Likewise.
35740
35741 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35742 (grub_enter_rescue_mode): Register "exit".
35743
35744 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35745 (grub_abort): New function.
35746
35747 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35748
35749 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35750
35751 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35752
35753 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35754 (grub_print_device_path): New prototype.
35755 (grub_efi_locate_handle): Likewise.
35756 (grub_efi_open_protocol): Likewise.
35757
35758 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35759 * disk/efi/efidisk.c: Likewise.
35760
35761 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35762
35763 * include/grub/efi/console_control.h
35764 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35765
35766 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35767 last 8 bytes as an array.
35768 (GRUB_EFI_DISK_IO_GUID): New macro.
35769 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35770 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35771 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35772 grub_uint8_t.
35773 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35774 (struct grub_efi_device_path): Rename the member "sub_type" to
35775 "subtype".
35776 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35777 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35778 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35779 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35780 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35781 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35782 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35783 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35784 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35785 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35786 (struct grub_efi_pci_device_path): New structure.
35787 (grub_efi_pci_device_path_t): New type.
35788 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35789 (struct grub_efi_pccard_device_path): New structure.
35790 (grub_efi_pccard_device_path_t): New type.
35791 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35792 (struct grub_efi_memory_mapped_device_path): New structure.
35793 (grub_efi_memory_mapped_device_path_t): New type.
35794 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35795 (struct grub_efi_vendor_device_path): New structure.
35796 (grub_efi_vendor_device_path_t): New type.
35797 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35798 (struct grub_efi_controller_device_path): New structure.
35799 (grub_efi_controller_device_path_t): New type.
35800 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35801 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35802 (struct grub_efi_acpi_device_path): New structure.
35803 (grub_efi_acpi_device_path_t): New type.
35804 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35805 (struct grub_efi_expanded_acpi_device_path): New structure.
35806 (grub_efi_expanded_acpi_device_path_t): New type.
35807 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35808 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35809 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35810 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35811 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35812 (struct grub_efi_atapi_device_path): New structure.
35813 (grub_efi_atapi_device_path_t): New type.
35814 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35815 (struct grub_efi_fibre_channel_device_path): New structure.
35816 (grub_efi_fibre_channel_device_path_t): New type.
35817 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35818 (struct grub_efi_1394_device_path): New structure.
35819 (grub_efi_1394_device_path_t): New type.
35820 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35821 (struct grub_efi_usb_device_path): New structure.
35822 (grub_efi_usb_device_path_t): New type.
35823 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35824 (struct grub_efi_usb_class_device_path): New structure.
35825 (grub_efi_usb_class_device_path_t): New type.
35826 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35827 (struct grub_efi_i2o_device_path): New structure.
35828 (grub_efi_i2o_device_path_t): New type.
35829 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35830 (struct grub_efi_mac_address_device_path): New structure.
35831 (grub_efi_mac_address_device_path_t): New type.
35832 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35833 (struct grub_efi_ipv4_device_path): New structure.
35834 (grub_efi_ipv4_device_path_t): New type.
35835 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35836 (struct grub_efi_ipv6_device_path): New structure.
35837 (grub_efi_ipv6_device_path_t): New type.
35838 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35839 (struct grub_efi_infiniband_device_path): New structure.
35840 (grub_efi_infiniband_device_path_t): New type.
35841 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35842 (struct grub_efi_uart_device_path): New structure.
35843 (grub_efi_uart_device_path_t): New type.
35844 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35845 (struct grub_efi_vendor_messaging_device_path): New structure.
35846 (grub_efi_vendor_messaging_device_path_t): New type.
35847 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35848 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35849 (struct grub_efi_hard_drive_device_path): New structure.
35850 (grub_efi_hard_drive_device_path_t): New type.
35851 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35852 (struct grub_efi_cdrom_device_path): New structure.
35853 (grub_efi_cdrom_device_path_t): New type.
35854 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35855 (struct grub_efi_vendor_media_device_path): New structure.
35856 (grub_efi_vendor_media_device_path_t): New type.
35857 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35858 (struct grub_efi_file_path_device_path): New structure.
35859 (grub_efi_file_path_device_path_t): New type.
35860 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35861 (struct grub_efi_protocol_device_path): New structure.
35862 (grub_efi_protocol_device_path_t): New type.
35863 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35864 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35865 (struct grub_efi_bios_device_path): New structure.
35866 (grub_efi_bios_device_path_t): New type.
35867 (struct grub_efi_disk_io): New structure.
35868 (grub_efi_disk_io_t): New type.
35869 (struct grub_efi_block_io_media): New structure.
35870 (grub_efi_block_io_media_t): New type.
35871 (struct grub_efi_block_io): New structure.
35872 (grub_efi_block_io_t): New type.
35873
35874 * include/grub/misc.h (grub_stop): Removed.
35875 (grub_exit): New prototype.
35876 (grub_abort): Likewise.
35877
35878 * include/grub/disk.h (enum grub_disk_dev_id): Added
35879 GRUB_DISK_DEVICE_EFIDISK_ID.
35880
35881 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35882 disk/efi/efidisk.c.
35883 (kernel_syms.lst): Remove the target if an error occurs.
35884
35885 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35886
35887 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35888 as it was simply too buggy.
35889
35890 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35891
35892 * kern/misc.c (grub_lltoa): New function.
35893 (grub_vsprintf): Added support for the long long suffix,
35894 i.e. "ll".
35895
35896 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35897
35898 * Makefile.in (LDFLAGS): Add variable.
35899 (LD): Remove variable.
35900 * configure.ac: Add -m32 to LDFLAGS.
35901 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35902 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35903 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35904 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35905 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35906 variables.
35907 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35908 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35909 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35910
35911 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35912
35913 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35914 length for unknown glyph.
35915
35916 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35917
35918 Add support for pre-loaded modules into the EFI port.
35919
35920 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35921 completely. Accept one more argument DIR. The caller has changed.
35922
35923 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35924
35925 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35926 (grub_efi_loaded_image_guid): New variable.
35927 (grub_efi_get_loaded_image): New function.
35928 (grub_arch_modules_addr): Likewise.
35929
35930 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35931 prototype.
35932
35933 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35934 (struct grub_efi_loaded_image): New structure.
35935 (grub_efi_loaded_image_t): New type.
35936
35937 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35938
35939 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35940 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35941 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35942
35943 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35944
35945 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35946
35947 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35948
35949 * DISTLIST: Added include/grub/efi/console.h,
35950 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35951 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35952
35953 * include/grub/efi/console.h: New file.
35954 * include/grub/efi/time.h: Likewise.
35955 * include/grub/i386/efi/kernel.h: Likewise.
35956 * kern/efi/init.c: Likewise.
35957 * kern/efi/mm.c: Likewise.
35958 * term/efi/console.c: Likewise.
35959
35960 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35961 (grub_stop): Removed.
35962 (grub_get_rtc): Likewise.
35963 (grub_machine_init): Simply call grub_efi_init.
35964 (grub_machine_fini): Call grub_efi_fini.
35965
35966 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35967 (grub_efi_output_string): Removed.
35968 (grub_efi_stall): New function.
35969 (grub_stop): Likewise.
35970 (grub_get_rtc): Likewise.
35971
35972 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35973 (grub_efi_stall): New prototype.
35974 (grub_efi_allocate_pages): Likewise.
35975 (grub_efi_free_pages): Likewise.
35976 (grub_efi_get_memory_map): Likewise.
35977 (grub_efi_mm_init): Likewise.
35978 (grub_efi_mm_fini): Likewise.
35979 (grub_efi_init): Likewise.
35980 (grub_efi_fini): Likewise.
35981
35982 * include/grub/i386/efi/time.h: Do not include
35983 grub/symbol.h. Include grub/efi/time.h.
35984 (GRUB_TICKS_PER_SECOND): Removed.
35985 (grub_get_rtc): Likewise.
35986
35987 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35988 Added padding. The EFI spec is buggy.
35989 (GRUB_EFI_BLACK): New macro.
35990 (GRUB_EFI_BLUE): Likewise.
35991 (GRUB_EFI_GREEN): Likewise.
35992 (GRUB_EFI_CYAN): Likewise.
35993 (GRUB_EFI_RED): Likewise.
35994 (GRUB_EFI_MAGENTA): Likewise.
35995 (GRUB_EFI_BROWN): Likewise.
35996 (GRUB_EFI_LIGHTGRAY): Likewise.
35997 (GRUB_EFI_BRIGHT): Likewise.
35998 (GRUB_EFI_DARKGRAY): Likewise.
35999 (GRUB_EFI_LIGHTBLUE): Likewise.
36000 (GRUB_EFI_LIGHTGREEN): Likewise.
36001 (GRUB_EFI_LIGHTCYAN): Likewise.
36002 (GRUB_EFI_LIGHTRED): Likewise.
36003 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36004 (GRUB_EFI_YELLOW): Likewise.
36005 (GRUB_EFI_WHITE): Likewise.
36006 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36007 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36008 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36009 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36010 (GRUB_EFI_BACKGROUND_RED): Likewise.
36011 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36012 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36013 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36014 (GRUB_EFI_TEXT_ATTR): Likewise.
36015
36016 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36017 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36018 (kernel_mod_HEADERS): Added efi/time.h.
36019
36020 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36021
36022 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36023 include/grub/efi/api.h, include/grub/efi/console_control.h,
36024 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36025 include/grub/i386/efi/time.h, kern/efi/efi.c,
36026 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36027 and util/i386/efi/grub-mkimage.c.
36028
36029 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36030
36031 * genmk.rb (PModule#rule): Do not export symbols if
36032 #{prefix}_EXPORTS is set to "no".
36033
36034 * conf/i386-efi.mk: New file.
36035 * conf/i386-efi.rmk: Likewise.
36036 * include/grub/efi/api.h: Likewise.
36037 * include/grub/efi/console_control.h: Likewise.
36038 * include/grub/efi/efi.h: Likewise.
36039 * include/grub/efi/pe32.h: Likewise.
36040 * include/grub/i386/efi/time.h: Likewise.
36041 * kern/efi/efi.c: Likewise.
36042 * kern/i386/efi/init.c: Likewise.
36043 * kern/i386/efi/startup.S: Likewise.
36044 * util/i386/efi/grub-mkimage.c: Likewise.
36045
36046 2006-04-17 Marco Gerards <marco@gnu.org>
36047
36048 * include/grub/script.h: Include <grub/parser.h> and
36049 "grub_script.tab.h".
36050 (struct grub_lexer_param): New struct.
36051 (struct grub_parser_param): Likewise.
36052 (grub_script_create_arglist): Pass the state in an argument.
36053 (grub_script_add_arglist): Likewise.
36054 (grub_script_create_cmdline): Likewise.
36055 (grub_script_create_cmdblock): Likewise.
36056 (grub_script_create_cmdif): Likewise.
36057 (grub_script_create_cmdmenu): Likewise.
36058 (grub_script_add_cmd): Likewise.
36059 (grub_script_arg_add): Likewise.
36060 (grub_script_lexer_ref): Likewise.
36061 (grub_script_lexer_deref): Likewise.
36062 (grub_script_lexer_record_start): Likewise.
36063 (grub_script_lexer_record_stop): Likewise.
36064 (grub_script_mem_record): Likewise.
36065 (grub_script_mem_record_stop): Likewise.
36066 (grub_script_malloc): Likewise.
36067 (grub_script_yylex): Likewise.
36068 (grub_script_yyparse): Likewise.
36069 (grub_script_yyerror): Likewise.
36070 (grub_script_yylex): Likewise.
36071 (grub_script_lexer_init): Return the state.
36072
36073 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36074 (grub_script_lexer_done): Likewise.
36075 (grub_script_lexer_getline): Likewise.
36076 (grub_script_lexer_refs): Likewise.
36077 (script): Likewise.
36078 (newscript): Likewise.
36079 (record): Likewise.
36080 (recording): Likewise.
36081 (recordpos): Likewise.
36082 (recordlen): Likewise.
36083 (grub_script_lexer_init): Return the state instead of setting
36084 global variables.
36085 (grub_script_lexer_ref): Use the newly added argument for state
36086 instead of globals.
36087 (grub_script_lexer_deref): Likewise.
36088 (grub_script_lexer_record_start): Likewise.
36089 (grub_script_lexer_record_stop): Likewise.
36090 (recordchar): Likewise.
36091 (nextchar): Likewise.
36092 (grub_script_yylex2): Likewise.
36093 (grub_script_yylex): Likewise.
36094 (grub_script_yyerror): Likewise.
36095
36096 * normal/parser.y (func_mem): Removed variable.
36097 (menu_entry): Likewise.
36098 (err): Likewise.
36099 (%lex-param): New parser option.
36100 (%parse-param): Likewise.
36101 (script): Always return the AST.
36102 (argument): Pass the state around.
36103 (arguments): Likewise.
36104 (grubcmd): Likewise.
36105 (commands): Likewise.
36106 (function): Likewise.
36107 (menuentry): Likewise.
36108 (if_statement): Likewise.
36109 (if): Likewise.
36110
36111 * normal/script.c (grub_script_memused): Removed variable.
36112 (grub_script_parsed): Likewise.
36113 (grub_script_malloc): Added a state argument. Use that instead of
36114 global variables.
36115 (grub_script_mem_record): Likewise.
36116 (grub_script_mem_record_stop): Likewise.
36117 (grub_script_arg_add): Likewise.
36118 (grub_script_add_arglist): Likewise.
36119 (grub_script_create_cmdline): Likewise.
36120 (grub_script_create_cmdif): Likewise.
36121 (grub_script_create_cmdmenu): Likewise.
36122 (grub_script_add_cmd): Likewise.
36123 (grub_script_parse): Setup the state before calling the parser.
36124
36125 2006-04-16 Marco Gerards <marco@gnu.org>
36126
36127 * normal/command.c (grub_command_init): Remove the title command.
36128
36129 * normal/lexer.c (grub_script_yylex): Renamed from this...
36130 (grub_script_yylex2): ... to this.
36131 (grub_script_yylex): New function. Temporary
36132 introduced to filter some tokens.
36133 (grub_script_yyerror): Print a newline.
36134
36135 * normal/main.c (read_config_file): Output information about the
36136 lines that contain errors. Wait for a key after all lines have
36137 been processed. Don't return an empty menu.
36138
36139 * normal/parser.y (func_mem): Don't initialize.
36140 (menu_entry): Likewise.
36141 (err): New variable.
36142 (script): Don't return anything when an error was encountered.
36143 (ws, returns): Removed rules.
36144 (argument): Disabled concatenated variable support.
36145 (arguments): Remove explicit separators.
36146 (grubcmd): Likewise.
36147 (function): Likewise.
36148 (menuentry): Likewise.
36149 (if): Likewise.
36150 (commands): Likewise. Add error handling.
36151
36152 * normal/script.c (grub_script_create_cmdline): If
36153 `grub_script_parsed' is 0, assume the parser encountered an error.
36154
36155 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36156
36157 * configure.ac: Add support for EFI. Fix the typo
36158 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36159
36160 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36161
36162 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36163 foreign multibyte characters should be shown correctly.
36164
36165 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36166
36167 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36168 calculation.
36169 (read_config_file): Made it to close file before returning.
36170
36171 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36172
36173 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36174 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36175 video/i386/pc/vbefill.c.
36176
36177 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36178 video/i386/pc/vbefill.c.
36179
36180 * include/grub/video.h (grub_video_blit_format): New enum.
36181 (grub_video_mode_info): Added new member blit_format.
36182 (grub_video_get_blit_format): New function prototype.
36183
36184 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36185 function prototype.
36186 (grub_video_vbe_map_rgb): Likewise.
36187 (grub_video_vbe_unmap_color): Likewise.
36188
36189 * include/grub/i386/pc/vbeblit.h: New file.
36190
36191 * include/grub/i386/pc/vbefill.h: New file.
36192
36193 * video/video.c (grub_video_get_blit_format): New function.
36194 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36195 (grub_video_vbe_map_rgb): Likewise.
36196 (grub_video_vbe_unmap_color): Likewise.
36197
36198 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36199 optimized fills.
36200 (grub_video_vbe_blit_render_target): Changed to use more optimized
36201 blits.
36202 (grub_video_vbe_setup): Added detection for optimized settings.
36203 (grub_video_vbe_create_render_target): Likewise.
36204
36205 * video/i386/pc/vbeblit.c: New file.
36206
36207 * video/i386/pc/vbefill.c: New file.
36208
36209 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36210
36211 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36212 here...
36213
36214 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36215 parsing to support both hex and dec ranges. If filename was missing
36216 show usage information.
36217
36218 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36219
36220 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36221 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36222
36223 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36224 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36225 (video_mod_SOURCES): Added.
36226 (video_mod_CFLAGS): Likewise.
36227 (video_mod_LDFLAGS): Likewise.
36228 (gfxterm_mod_SOURCES): Likewise.
36229 (gfxterm_mod_CFLAGS): Likewise.
36230 (gfxterm_mod_LDFLAGS): Likewise.
36231 (videotest_mod_SOURCES): Likewise.
36232 (videotest_mod_CFLAGS): Likewise.
36233 (videotest_mod_LDFLAGS): Likewise.
36234 (vesafb_mod_SOURCES): Removed.
36235 (vesafb_mod_CFLAGS): Likewise.
36236 (vesafb_mod_LDFLAGS): Likewise.
36237 (vga_mod_SOURCES): Likewise.
36238 (vga_mod_CFLAGS): Likewise.
36239 (vga_mod_LDFLAGS): Likewise.
36240
36241 * commands/videotest.c: New file.
36242
36243 * font/manager.c (fill_with_default_glyph): Modified to use
36244 grub_font_glyph.
36245 (grub_font_get_glyph): Likewise.
36246 (fontmanager): Renamed from this...
36247 (font_manager): ... to this.
36248
36249 * include/grub/font.h (grub_font_glyph): Added new structure.
36250 (grub_font_get_glyph): Modified to use grub_font_glyph.
36251
36252 * include/grub/misc.h (grub_abs): Added as inline function.
36253
36254 * include/grub/video.h: New file.
36255
36256 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36257 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36258 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36259 (grub_vbe_get_controller_info): Renamed from this...
36260 (grub_vbe_bios_get_controller_info): ... to this.
36261 (grub_vbe_get_mode_info): Renamed from this...
36262 (grub_vbe_bios_get_mode_info): ... to this.
36263 (grub_vbe_set_mode): Renamed from this...
36264 (grub_vbe_bios_set_mode): ... to this.
36265 (grub_vbe_get_mode): Renamed from this...
36266 (grub_vbe_bios_get_mode): ... to this.
36267 (grub_vbe_set_memory_window): Renamed from this...
36268 (grub_vbe_bios_set_memory_window): ... to this.
36269 (grub_vbe_get_memory_window): Renamed from this...
36270 (grub_vbe_bios_get_memory_window): ... to this.
36271 (grub_vbe_set_scanline_length): Renamed from this...
36272 (grub_vbe_set_scanline_length): ... to this.
36273 (grub_vbe_get_scanline_length): Renamed from this...
36274 (grub_vbe_bios_get_scanline_length): ... to this.
36275 (grub_vbe_set_display_start): Renamed from this...
36276 (grub_vbe_bios_set_display_start): ... to this.
36277 (grub_vbe_get_display_start): Renamed from this...
36278 (grub_vbe_bios_get_display_start): ... to this.
36279 (grub_vbe_set_palette_data): Renamed from this...
36280 (grub_vbe_bios_set_palette_data): ... to this.
36281 (grub_vbe_set_pixel_rgb): Removed.
36282 (grub_vbe_set_pixel_index): Likewise.
36283
36284 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36285 from this...
36286 (grub_vbe_bios_get_controller_info): ... to this.
36287 (grub_vbe_get_mode_info): Renamed from this...
36288 (grub_vbe_bios_get_mode_info): ... to this.
36289 (grub_vbe_set_mode): Renamed from this...
36290 (grub_vbe_bios_set_mode): ... to this.
36291 (grub_vbe_get_mode): Renamed from this...
36292 (grub_vbe_bios_get_mode): ... to this.
36293 (grub_vbe_set_memory_window): Renamed from this...
36294 (grub_vbe_bios_set_memory_window): ... to this.
36295 (grub_vbe_get_memory_window): Renamed from this...
36296 (grub_vbe_bios_get_memory_window): ... to this.
36297 (grub_vbe_set_scanline_length): Renamed from this...
36298 (grub_vbe_set_scanline_length): ... to this.
36299 (grub_vbe_get_scanline_length): Renamed from this...
36300 (grub_vbe_bios_get_scanline_length): ... to this.
36301 (grub_vbe_set_display_start): Renamed from this...
36302 (grub_vbe_bios_set_display_start): ... to this.
36303 (grub_vbe_get_display_start): Renamed from this...
36304 (grub_vbe_bios_get_display_start): ... to this.
36305 (grub_vbe_set_palette_data): Renamed from this...
36306 (grub_vbe_bios_set_palette_data): ... to this.
36307 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36308 getting corrupted after calling it. Added more pushes and pops.
36309 (grub_vbe_bios_set_mode): Likewise.
36310 (grub_vbe_bios_get_mode): Likewise.
36311 (grub_vbe_bios_get_memory_window): Likewise.
36312 (grub_vbe_bios_set_scanline_length): Likewise.
36313 (grub_vbe_bios_get_scanline_length): Likewise.
36314 (grub_vbe_bios_get_display_start): Likewise.
36315 (grub_vbe_bios_set_palette_data): Likewise.
36316
36317 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36318 (cl_insert): Likewise.
36319 (cl_delete): Likewise.
36320
36321 * term/gfxterm.c: New file.
36322
36323 * term/i386/pc/vesafb.c: Removed file.
36324
36325 * video/video.c: New file.
36326
36327 * video/i386/pc/vbe.c (real2pm): Added new function.
36328 (grub_video_vbe_draw_pixel): Likewise.
36329 (grub_video_vbe_get_video_ptr): Likewise.
36330 (grub_video_vbe_get_pixel): Likewise
36331 (grub_video_vbe_init): Likewise.
36332 (grub_video_vbe_fini): Likewise.
36333 (grub_video_vbe_setup): Likewise.
36334 (grub_video_vbe_get_info): Likewise.
36335 (grub_video_vbe_set_palette): Likewise.
36336 (grub_video_vbe_get_palette): Likewise.
36337 (grub_video_vbe_set_viewport): Likewise.
36338 (grub_video_vbe_get_viewport): Likewise.
36339 (grub_video_vbe_map_color): Likewise.
36340 (grub_video_vbe_map_rgb): Likewise.
36341 (grub_video_vbe_map_rgba): Likewise.
36342 (grub_video_vbe_unmap_color): Likewise.
36343 (grub_video_vbe_fill_rect): Likewise.
36344 (grub_video_vbe_blit_glyph): Likewise.
36345 (grub_video_vbe_blit_bitmap): Likewise.
36346 (grub_video_vbe_blit_render_target): Likewise.
36347 (grub_video_vbe_scroll): Likewise.
36348 (grub_video_vbe_swap_buffers): Likewise.
36349 (grub_video_vbe_create_render_target): Likewise.
36350 (grub_video_vbe_delete_render_target): Likewise.
36351 (grub_video_vbe_set_active_render_target): Likewise.
36352 (grub_vbe_set_pixel_rgb): Remove function.
36353 (grub_vbe_set_pixel_index): Likewise.
36354 (index_color_mode): Remove static variable.
36355 (active_mode): Likewise.
36356 (framebuffer): Likewise.
36357 (bytes_per_scan_line): Likewise.
36358 (grub_video_vbe_adapter): Added new static variable.
36359 (framebuffer): Likewise.
36360 (render_target): Likewise.
36361 (initial_mode): Likewise.
36362 (mode_in_use): Likewise.
36363 (mode_list): Likewise.
36364
36365 2006-03-10 Marco Gerards <marco@gnu.org>
36366
36367 * configure.ac (AC_INIT): Bumped to 1.93.
36368
36369 * DISTLIST: Added `include/grub/hfs.h'.
36370
36371 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36372
36373 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36374 18H, which might help the BIOS falling back to next boot media.
36375
36376 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36377
36378 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36379 Poe Chen <poe.poechen@gmail.com>.
36380
36381 2006-01-17 Marco Gerards <marco@gnu.org>
36382
36383 * include/grub/normal.h: Include <grub/script.h>.
36384 (grub_command_list): Removed struct.
36385 (grub_command_list_t): Removed type.
36386 (grub_menu_entry): Remove members `num' and `command_list'. Add
36387 members `commands' and `sourcecode'.
36388 * include/grub/script.h: Add inclusion guards.
36389 (grub_script_cmd_menuentry): New struct.
36390 (grub_script_execute_menuentry): New prototype.
36391 (grub_script_lexer_record_start): Likewise.
36392 (grub_script_lexer_record_stop): Likewise.
36393 * normal/execute.c (grub_script_execute_menuentry): New function.
36394 * normal/lexer.c (record, recording, recordpos, recordlen): New
36395 variables.
36396 (grub_script_lexer_record_start): New function.
36397 (grub_script_lexer_record_stop): Likewise.
36398 (recordchar): Likewise.
36399 (nextchar): Likewise.
36400 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36401 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36402 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36403 (current_menu): New variable.
36404 (free_menu): Mainly rewritten.
36405 (grub_normal_menu_addentry): New function.
36406 (read_config_file): Rewritten.
36407 * normal/menu.c (run_menu_entry): Mainly rewritten.
36408 * normal/menu_entry.c (make_screen): Rewritten the code to insert
36409 the menu entry.
36410 (run): Mainly rewritten.
36411 * normal/parser.y (menu_entry): New variable.
36412 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36413 (menuentry): New rule.
36414 (command): Add `menuentry'.
36415 (if_statement): Allow additional returns before `fi'.
36416 * normal/script.c (grub_script_create_cmdmenu): New function.
36417
36418 2006-01-03 Marco Gerards <marco@gnu.org>
36419
36420 * INSTALL: GNU Bison is required.
36421 * configure.ac: Rewritten the test to detect Bison.
36422 * Makefile.in (YACC): New variable. Reported by Xun Sun
36423 <xun.sun.cn@gmail.com>.
36424
36425 2006-01-03 Marco Gerards <marco@gnu.org>
36426
36427 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36428 the HFS+ filesystem to filesystem blocks.
36429 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36430 GCC warning is silenced.
36431
36432 2006-01-03 Marco Gerards <marco@gnu.org>
36433
36434 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36435 read from disk from big endian to host byte order.
36436
36437 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36438
36439 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36440 documentation.
36441 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36442 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36443 embedded HFS+ filesystem.
36444 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36445 (grub_hfs_sblock): Move from here...
36446 * include/grub/hfs.h: To here... New file.
36447 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36448 documentation.
36449 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36450 New macros.
36451 (grub_hfsplus_volheader): Change type of member `magic' to
36452 `grub_uint16_t'.
36453 (grub_hfsplus_data): Add new member `embedded_offset'.
36454 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36455 returned block.
36456 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36457 Calculate the offset.
36458
36459 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36460
36461 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36462 Removed.
36463 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36464
36465 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36466
36467 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36468 ENV->NAME is NULL after allocating ENV->VALUE.
36469
36470 2005-12-25 Marco Gerards <marco@gnu.org>
36471
36472 * kern/env.c (grub_env_set): Rewritten the error handling code.
36473
36474 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36475
36476 * geninit.sh: Made more robust, and more portable.
36477
36478 2005-12-25 Marco Gerards <marco@gnu.org>
36479
36480 Add support for Apple HFS+ filesystems.
36481
36482 * fs/hfsplus.c: New file.
36483
36484 * DISTLIST: Added `fs/hfsplus.c'.
36485
36486 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36487 (hfsplus_mod_SOURCES): New variable.
36488 (hfsplus_mod_CFLAGS): Likewise.
36489 (hfsplus_mod_LDFLAGS): Likewise.
36490 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36491 (grub_setup_SOURCES): Likewise.
36492 (grub_mkdevicemap_SOURCES): Likewise.
36493 (grub_emu_SOURCES): Likewise.
36494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36495
36496 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36497
36498 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36499
36500 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36501
36502 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36503 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36504 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36505 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36506 normal/lexer.c, normal/parser.y, normal/script.c, and
36507 partmap/gpt.c.
36508 Removed kern/sparc64/cache.c.
36509
36510 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36511 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36512 grub_emu_init.c.
36513
36514 * configure.ac (AC_INIT): Bumped to 1.92.
36515
36516 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36517
36518 * kern/err.c (grub_error_push): Added new function to support error
36519 stacks.
36520 (grub_error_pop): Likewise.
36521 (grub_error_stack_items): New local variable to support error stacks.
36522 (grub_error_stack_pos): Likewise.
36523 (grub_error_stack_assert): Likewise.
36524 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36525 stack depth.
36526 (grub_print_error): Added support to print errors from error stack.
36527
36528 * include/grub/err.h (grub_error_push): Added function prototype.
36529 (grub_error_pop): Likewise.
36530
36531 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36532
36533 * configure.ac: Accept `powerpc64' as host_cpu.
36534 (amd64): Rename to `biarch32'.
36535
36536 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36537 non-cacheline-aligned addresses.
36538
36539 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36540 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36541 if `size' is non-zero.
36542
36543 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36544
36545 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36546 and `cd' to make sure the filename is not prefixed with a
36547 directory name.
36548 (pkgdata_MODULES): Add `gpt.mod'.
36549 (gpt_mod_SOURCES): New variable.
36550 (gpt_mod_CFLAGS): Likewise.
36551 (gpt_mod_LDFLAGS): Likewise.
36552
36553 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36554
36555 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36556 New macro.
36557
36558 * partmap/gpt.c: New file.
36559
36560 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36561 GPT partition map is detected.
36562
36563 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36564
36565 * commands/i386/pc/play.c: New file.
36566 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36567 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36568 macros.
36569
36570 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36571
36572 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36573 ((unused))' to silence gcc warning.
36574
36575 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36576
36577 * configure.ac: Correct `AC_PROG_YACC' test.
36578
36579 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36580
36581 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36582 check before installing files.
36583
36584 2005-11-22 Mike Small <smallm@panix.com>
36585
36586 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36587 number regex so multidigit numbers are recognized correctly.
36588
36589 2005-11-22 Mike Small <smallm@panix.com>
36590
36591 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36592 debugging message before attempting to claim memory.
36593 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36594 multiple addresses in case of failure.
36595
36596 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36597
36598 * term/tparm.c (get_space): Remove empty `if' statement.
36599
36600 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36601
36602 * kern/parser.c (check_varstate): Rename `state' to 's'.
36603
36604 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36605
36606 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36607 variable definitions to the beginning of each function. Sort stack
36608 variables by size.
36609 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36610 `buf' argument to `char *'.
36611
36612 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36613
36614 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36615 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36616 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36617 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36618 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36619 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36620 configfile.mod, search.mod, gzio.mod and test.mod.
36621 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36622 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36623 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36624 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36625 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36626 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36627 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36628 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36629 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36630 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36631 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36632 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36633 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36634 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36635 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36636 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36637 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36638 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36639 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36640 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36641 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36642 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36643 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36644
36645 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36646 `grep --include'.
36647 (pkgdata_MODULES): Add test.mod.
36648
36649 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36650
36651 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36652 appending to variables with "+=".
36653 (PModule): Use full pathname to generate *.lst filenames.
36654
36655 * Makefile.in: Fixed list rules moved from genmk.rb.
36656 (.DELETE_ON_ERROR): New special target.
36657 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36658
36659 * conf/i386-pc.rmk: Include conf/common.mk.
36660 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36661 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36662 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36663 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36664 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36665 configfile.mod, search.mod, gzio.mod and test.mod.
36666 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36667 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36668 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36669 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36670 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36671 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36672 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36673 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36674 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36675 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36676 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36677 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36678 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36679 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36680 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36681 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36682 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36683 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36684 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36685 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36686 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36687 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36688 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36689 here...
36690 * conf/common.rmk: ... to here. New file.
36691
36692 * conf/common.mk: New file.
36693
36694 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36695
36696 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36697 (grub_script.tab.c): ... here.
36698
36699 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36700 (grub_script.tab.c): ... here.
36701
36702 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36703 (grub_script.tab.c): ... here.
36704
36705 * normal/command.c (grub_command_find): Fixed a memory leak of
36706 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36707
36708 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36709
36710 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36711 "@" which marks the start of a comment on ARM.
36712 (VARIABLE): Likewise.
36713
36714 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36715
36716 Add support for Linux/ADFS partition tables.
36717
36718 * partmap/acorn.c: New file.
36719
36720 * include/grub/acorn_filecore.h: Likewise.
36721
36722 * DISTLIST: Added `partmap/acorn.c' and
36723 `include/grub/acorn_filecore.h'.
36724
36725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36726 `partmap/acorn.c'.
36727 (pkgdata_MODULES): Add `acorn.mod'.
36728 (acorn_mod_SOURCES): New variable.
36729 (acorn_mod_CFLAGS): Likewise.
36730
36731 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36732 `partmap/acorn.c'.
36733 (pkgdata_MODULES): Add `acorn.mod'.
36734 (acorn_mod_SOURCES): New variable.
36735 (acorn_mod_CFLAGS): Likewise.
36736
36737 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36738 (pkgdata_MODULES): Add `acorn.mod'.
36739 (acorn_mod_SOURCES): New variable.
36740 (acorn_mod_CFLAGS): Likewise.
36741 (acorn_mod_LDFLAGS): Likewise.
36742
36743 * include/types.h (grub_disk_addr_t): New typedef.
36744
36745 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
36746
36747 * geninit.sh: New file.
36748
36749 * geninitheader.sh: Likewise.
36750
36751 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36752 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36753 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36754 * commands/configfile.c (grub_configfile_init)
36755 (grub_configfile_fini): Likewise.
36756 * commands/default.c (grub_default_init, grub_default_fini):
36757 Likewise.
36758 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36759 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36760 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36761 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36762 Likewise.
36763 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36764 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36765 Likewise.
36766 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
36767 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
36768 Likewise.
36769 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36770 Likewise.
36771 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
36772 Likewise.
36773 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36774 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36775 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36776 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36777 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36778 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36779 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36780 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36781 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36782 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36783 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36784 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36785 * partmap/amiga.c (grub_amiga_partition_map_init)
36786 (grub_amiga_partition_map_fini): Likewise.
36787 * partmap/apple.c (grub_apple_partition_map_init)
36788 (grub_apple_partition_map_fini): Likewise.
36789 * partmap/pc.c (grub_pc_partition_map_init)
36790 (grub_pc_partition_map_fini): Likewise.
36791 * partmap/sun.c (grub_sun_partition_map_init,
36792 grub_sun_partition_map_fini): Likewise.
36793 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36794 Likewise.
36795
36796 * util/grub-emu.c: Include <grub_modules_init.h>.
36797 (main): Don't initialize and de-initialize any modules directly,
36798 use `grub_init_all' and `grub_fini_all' instead.
36799
36800 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36801 `grub_vesafb_mod_init'.
36802 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36803 all users.
36804 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36805 `grub_vga_mod_init'. Updated all users.
36806 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
36807
36808 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36809 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36810 rules.
36811
36812 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36813 Generate a function to initialize the module in utilities.
36814 Updated all callers.
36815 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36816 initialize the module in utilities. Updated all callers.
36817
36818 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36819
36820 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36821 escape sequence and a literal ^L to clear the screen.
36822
36823 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36824 when returning from Open Firmware.
36825
36826 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36827
36828 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36829 (grub_ofconsole_height): Likewise.
36830 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36831 manually insert a '\n'.
36832 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36833 `grub_ofconsole_height'. Return early if these are already set.
36834
36835 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36836
36837 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36838 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36839 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36840 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36841 and `normal/script.c'.
36842 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36843 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36844 (test_mod_SOURCES): New variable.
36845 (test_mod_CFLAGS): Likewise.
36846 (test_mod_LDFLAGS): Likewise.
36847 (pkgdata_MODULES): Add `test.mod'.
36848 (grub_script.tab.c): New rule.
36849 (grub_script.tab.h): Likewise.
36850
36851 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
36852
36853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36854 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36855 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36856 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36857 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36858 (test_mod_SOURCES): New variable.
36859 (test_mod_CFLAGS): Likewise.
36860 (pkgdata_MODULES): Add `test.mod'.
36861 (grub_script.tab.c): New rule.
36862 (grub_script.tab.h): Likewise.
36863
36864 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
36865
36866 Add initial scripting support.
36867
36868 * commands/test.c: New file.
36869 * include/grub/script.h: Likewise.
36870 * normal/execute.c: Likewise.
36871 * normal/function.c: Likewise.
36872 * normal/lexer.c: Likewise.
36873 * normal/parser.y: Likewise.
36874 * normal/script.c: Likewise.
36875
36876 * configure.ac: Add `AC_PROG_YACC' test.
36877
36878 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36879 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36880 `normal/function.c' and `normal/script.c'.
36881 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36882 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36883 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36884 variables.
36885 (pkgdata_MODULES): Add `test.mod'.
36886 (grub_script.tab.c): New rule.
36887 (grub_script.tab.h): Likewise.
36888
36889 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36890
36891 * include/grub/normal.h (grub_test_init): New prototype.
36892 (grub_test_fini): Likewise.
36893
36894 * normal/command.c: Include <grub/script.h>.
36895 (grub_command_execute): Rewritten.
36896
36897 * util/grub-emu.c (main): Call `grub_test_init' and
36898 `grub_test_fini'.
36899
36900 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36901
36902 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36903 to 0.
36904 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36905 there are no pending characters.
36906
36907 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36908
36909 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36910 `grub_strndup' to drop device arguments. Replace unnecessary
36911 `grub_strndup' with `grub_strdup'.
36912
36913 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36914
36915 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36916 `debug' environment variable has been set.
36917
36918 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
36919
36920 * Makefile.in (install-local): Use $(DATA).
36921 (uninstall): Likewise.
36922 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36923 (sbin_UTILITIES): ... to here.
36924 (sbin_SCRIPTS): New variable.
36925 (grub_install_SOURCES): New variable.
36926 * util/powerpc/ieee1275/grub-install.in: New file.
36927 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36928 variable.
36929 (add_segments): Call `grub_util_get_path'.
36930
36931 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36932
36933 From Timothy Baldwin:
36934 * commands/ls.c (grub_ls_list_files): Close FILE with
36935 grub_file_close.
36936 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36937
36938 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
36939
36940 * include/grub/parser.h: New file.
36941
36942 * kern/parser.c: Likewise.
36943
36944 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36945 (grub_setup_SOURCES): Likewise.
36946 (grub_probefs_SOURCES): Likewise.
36947 (grub_emu_SOURCES): Likewise.
36948 (kernel_img_HEADERS): Add `parser.h'.
36949
36950 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36951 (grub_emu_SOURCES): Add `kern/parser.c'.
36952 (grubof_SOURCES): Likewise.
36953
36954 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36955 (grubof_SOURCES): Add `kern/parser.c'.
36956
36957 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36958
36959 * kern/misc.c (grub_split_cmdline): Removed function.
36960
36961 * kern/rescue.c: Include <grub/parser.h>.
36962 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36963 of `grub_split_cmdline'.
36964
36965 * normal/command.c: Include <grub/parser.h>.
36966 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36967 of `grub_split_cmdline'.
36968
36969 * normal/completion.c: Include <grub/parser.h>.
36970 (cmdline_state): New variable.
36971 (iterate_dir): End the filename with a quote depending on the
36972 command line state.
36973 (get_state): new function.
36974 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36975 split the arguments and determine the current argument. When the
36976 argument string is not quoted, escape all spaces.
36977
36978 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36979
36980 * normal/sparc64/setjmp.S: New file.
36981
36982 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36983
36984 * include/grub/sparc64/libgcc.h: New file.
36985 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36986 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36987 normal/sparc64/setjmp.c.
36988
36989 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36990
36991 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36992 * kern/sparc64/cache.S: New file.
36993 * kern/sparc64/cache.c: Removed.
36994 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36995 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36996 -mtune=ultrasparc.
36997 (COMMON_LDFLAGS): Add -melf64_sparc.
36998 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36999 (grubof_SOURCES): Use cache.S instead of cache.c.
37000 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37001 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37002 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37003 commented though.
37004 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37005 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37006 (linux_mod_CFLAGS): Commented out.
37007 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37008 out because module isn't built.
37009 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37010 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37011 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37012 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37013 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37014 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37015 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37016 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37017 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37018 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37019 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37020 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37021 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37022 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37023
37024 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37025
37026 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37027 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37028 longer, because HFS should not be used on PC.
37029
37030 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37031
37032 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37033 consistently within the loop.
37034
37035 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
37036
37037 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37038 directory can not be read.
37039
37040 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37041
37042 * configure.ac (AC_INIT): Increase the version number to 1.91.
37043
37044 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37045 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37046 term/i386/pc/serial.c.
37047
37048 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37049
37050 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37051 file size must be permitted.
37052
37053 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37054 between %ah and %al.
37055
37056 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37057
37058 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37059 grub_uint64_t.
37060 Call the hook with a NUL-terminated filename.
37061 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37062 grub_cpu_to_be32.
37063
37064 * kern/term.c (cursor_state): New variable.
37065 (grub_term_set_current): Reset the cursor state on a new
37066 terminal.
37067 (grub_setcursor): Rewritten to use CURSOR_STATE.
37068 (grub_getcursor): New function.
37069
37070 * include/grub/term.h (grub_getcursor): New prototype.
37071
37072 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37073 integers on ARM. Reported by Timothy Baldwin
37074 <T.E.Baldwin99@members.leeds.ac.uk>.
37075
37076 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
37077
37078 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37079 allocated.
37080 (grub_sfs_dir): Likewise.
37081
37082 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
37083
37084 Add support for the SFS filesystem.
37085
37086 * fs/sfs.c: New file.
37087
37088 * DISTLIST: Added `fs/sfs.c'.
37089
37090 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37091 (grub_probefs_SOURCES): Likewise.
37092 (grub_emu_SOURCES): Likewise.
37093 (pkgdata_MODULES): Add `sfs.mod'.
37094 (sfs_mod_SOURCES): New variable.
37095 (sfs_mod_CFLAGS): Likewise.
37096 (sfs_mod_LDFLAGS): Likewise.
37097
37098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37099 (pkgdata_MODULES): Add `sfs.mod'.
37100 (sfs_mod_SOURCES): New variable.
37101 (sfs_mod_CFLAGS): Likewise.
37102
37103 * util/grub-emu.c (main): Call `grub_sfs_init' and
37104 `grub_sfs_fini'.
37105
37106 * include/grub/fs.h (grub_sfs_init): New prototype.
37107 (grub_sfs_fini): Likewise.
37108
37109 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
37110
37111 Add support for the AFFS filesystem.
37112
37113 * fs/affs.c: New file.
37114
37115 * DISTLIST: Added `fs/affs.c'.
37116
37117 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37118 (grub_probefs_SOURCES): Likewise.
37119 (grub_emu_SOURCES): Likewise.
37120 (pkgdata_MODULES): Add `affs.mod'.
37121 (affs_mod_SOURCES): New variable.
37122 (affs_mod_CFLAGS): Likewise.
37123 (affs_mod_LDFLAGS): Likewise.
37124
37125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37126 (pkgdata_MODULES): Add `affs.mod'.
37127 (affs_mod_SOURCES): New variable.
37128 (affs_mod_CFLAGS): Likewise.
37129
37130 * util/grub-emu.c (main): Call `grub_affs_init' and
37131 `grub_affs_fini'.
37132
37133 * include/grub/fs.h (grub_affs_init): New prototype.
37134 (grub_affs_fini): Likewise.
37135
37136 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
37137
37138 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37139
37140 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
37141
37142 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37143 `-m32' to CFLAGS.
37144
37145 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37146 linking.
37147
37148 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37149 (COMMON_LDFLAGS): New variable.
37150 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37151 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37152 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37153 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37154 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37155 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37156 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37157 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37158 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37159 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37160 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37161 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37162 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37163 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37164 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37165 variables.
37166 (normal_mod_ASFLAGS): Add `-m32'.
37167
37168 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37169 (grub_host_size_t, grub_host_ssize_t): New types.
37170 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
37171 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
37172 `GRUB_HOST_SIZEOF_VOID_P'.
37173
37174 * include/grub/kernel.h (struct grub_module_header): Type of
37175 member offset changed to `grub_host_off_t'. Type of member size
37176 changed to `grub_host_size_t'.
37177 (struct grub_module_info): Type of member offset changed to
37178 `grub_host_off_t'. Type of member size changed to
37179 `grub_host_size_t'.
37180
37181 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37182
37183 Make GRUB's kernel compliant to Multiboot Specification.
37184
37185 * kern/i386/pc/startup.S (multiboot_header): New label.
37186 (multiboot_entry): Likewise.
37187 (multiboot_trampoline): Likewise.
37188
37189 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37190 Increased to 0x4A0.
37191
37192 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37193 put parentheses after a question mark.
37194 [!GRUB_UTIL] (my_mod): New variable.
37195
37196 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37197
37198 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
37199
37200 Adds support for the XFS filesystem. Btrees are not supported
37201 yet.
37202
37203 * fs/xfs.c: New file.
37204
37205 * DISTLIST: Added `fs/xfs.c'.
37206
37207 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37208 (grub_probefs_SOURCES): Likewise.
37209 (grub_emu_SOURCES): Likewise.
37210 (pkgdata_MODULES): Add `xfs.mod'.
37211 (xfs_mod_SOURCES): New variable.
37212 (xfs_mod_CFLAGS): Likewise.
37213
37214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37215 (pkgdata_MODULES): Add `xfs.mod'.
37216 (xfs_mod_SOURCES): New variable.
37217 (xfs_mod_CFLAGS): Likewise.
37218
37219 * util/grub-emu.c (main): Call `grub_xfs_init' and
37220 `grub_xfs_fini'.
37221
37222 * include/grub/fs.h (grub_xfs_init): New prototype.
37223 (grub_xfs_fini): Likewise.
37224
37225
37226 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37227
37228 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37229 color modes, allow greater than 16 colors to be configured as
37230 a default palette.
37231
37232 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37233
37234 * normal/completion.c (complete_arguments): Add the qualifier
37235 const into OPTIONS.
37236
37237 From Omniflux <omniflux+lists@omniflux.com>:
37238 * include/grub/terminfo.h: New file.
37239 * include/grub/tparm.h: Likewise.
37240 * include/grub/i386/pc/serial.h: Likewise.
37241 * term/terminfo.c: Likewise.
37242 * term/tparm.c: Likewise.
37243 * term/i386/pc/serial.c: Likewise.
37244 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37245 serial.mod.
37246 (terminfo_mod_SOURCES): New variable.
37247 (terminfo_mod_CFLAGS): Likewise.
37248 (serial_mod_SOURCES): Likewise.
37249 (serial_mod_CFLAGS): Likewise.
37250
37251 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37252
37253 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37254 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37255 and kern/powerpc/ieee1275/cmain.c, respectively.
37256
37257 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37258 * kern/powerpc/ieee1275/crt0.S: ... here.
37259
37260 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37261 * kern/powerpc/ieee1275/cmain.c: ... here.
37262
37263 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37264 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37265 instead of boot/powerpc/ieee1275/crt0.S and
37266 boot/powerpc/ieee1275/cmain.c, respectively.
37267
37268 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37269 sectors. It was not used anyway.
37270
37271 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37272
37273 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37274 `unused parameter' warning.
37275
37276 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37277
37278 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37279 function.
37280 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37281 getcharwidth.
37282
37283 2005-08-28 Marco Gerards <metgerards@student.han.nl>
37284
37285 * include/grub/normal.h (enum grub_completion_type): Added
37286 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37287
37288 * normal/cmdline.c (print_completion): Handle
37289 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37290 * normal/menu_entry.c (store_completion): Likewise.
37291
37292 * normal/completion.c (complete_arguments): New function.
37293 (grub_normal_do_completion): Call `complete_arguments' when the
37294 current words start with a dash.
37295
37296 2005-08-27 Marco Gerards <metgerards@student.han.nl>
37297
37298 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37299 `gzio.mod' instead of `io.mod').
37300
37301 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37302
37303 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37304 (DISTDIRS): Added io and video.
37305 Rewrite the search routine to make an output consistently.
37306
37307 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37308 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37309 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37310 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37311 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37312 util/powerpc/ieee1275/misc.c.
37313
37314 * include/grub/gzio.h: New file.
37315 * io/gzio.c: Likewise.
37316
37317 * kern/file.c (grub_file_close): Call grub_device_close only if
37318 FILE->DEVICE is not NULL.
37319
37320 * include/grub/mm.h [!NULL] (NULL): New macro.
37321
37322 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37323
37324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37325 (pkgdata_MODULES): Added gzio.mod.
37326 (gzio_mod_SOURCES): New variable.
37327 (gzio_mod_CFLAGS): Likewise.
37328
37329 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37330 (pkgdata_MODULES): Added gzio.mod.
37331 (gzio_mod_SOURCES): New variable.
37332 (gzio_mod_CFLAGS): Likewise.
37333
37334 * commands/cat.c: Include grub/gzio.h.
37335 (grub_cmd_cat): Use grub_gzfile_open instead of
37336 grub_file_open.
37337
37338 * commands/cmp.c: Include grub/gzio.h.
37339 (grub_cmd_cmp): Use grub_gzfile_open instead of
37340 grub_file_open.
37341
37342 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37343 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37344 grub_file_open.
37345 (grub_rescue_cmd_module): Likewise.
37346
37347 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37348
37349 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37350 kern/sparc64/ieee1275/init.c because it contains _start.
37351 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37352
37353 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37354
37355 * configure.ac: Add support for sparc64 host with ieee1275
37356 firmware.
37357 * configure: Generated from configure.ac.
37358 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37359 instead of int.
37360 (grub_ofdisk_read): Likewise.
37361 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37362 pointers as (void *) to remove a warning.
37363 (grub_ofdisk_close): Likewise.
37364 (grub_ofdisk_read): Likewise.
37365 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37366 returns, so make it return void to remove a warning.
37367 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37368 Corresponding prototype change.
37369 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37370 values, and cast the pointers as (void *) to remove a warning.
37371 (grub_mm_dump): Likewise.
37372 * conf/sparc64-ieee1275.mk: New file.
37373 * conf/sparc64-ieee1275.rmk: Likewise.
37374 * include/grub/sparc64/setjmp.h: Likewise.
37375 * include/grub/sparc64/types.h: Likewise.
37376 * include/grub/sparc64/ieee1275/console.h: Likewise.
37377 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37378 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37379 * include/grub/sparc64/ieee1275/time.h: Likewise.
37380 * kern/sparc64/cache.c: Likewise.
37381 * kern/sparc64/dl.c: Likewise.
37382 * kern/sparc64/ieee1275/init.c: Likewise.
37383 * kern/sparc64/ieee1275/openfw.c: Likewise.
37384
37385 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37386
37387 * util/console.c (grub_ncurses_putchar): If C is greater than
37388 0x7f, set C to a question mark.
37389 (grub_ncurses_getcharwidth): New function.
37390 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37391 getcharwidth.
37392
37393 * normal/menu.c (print_entry): Made aware of Unicode. First,
37394 convert TITLE to UCS-4, and predict the cursor position by
37395 grub_getcharwidth.
37396
37397 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37398 const to SRC.
37399 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37400
37401 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37402
37403 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37404 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37405 grub_strcat.
37406
37407 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37408 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37409 grub_strcpy and grub_strlen. Take it into account that a space
37410 character is inserted as a delimiter.
37411
37412 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37413
37414 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
37415 invalid magic in the error.
37416
37417 * commands/search.c: New file.
37418
37419 * util/grub-emu.c (main): Call grub_search_init and
37420 grub_search_fini.
37421
37422 * kern/rescue.c (grub_rescue_print_disks): Removed.
37423 (grub_rescue_print_devices): New function.
37424 (grub_rescue_cmd_ls): Use grub_device_iterate with
37425 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37426 grub_rescue_print_disks.
37427
37428 * kern/partition.c (grub_partition_iterate): Return the result of
37429 PARTMAP->ITERATE instead of GRUB_ERRNO.
37430
37431 * kern/device.c: Include grub/partition.h.
37432 (grub_device_iterate): New function.
37433
37434 * include/grub/partition.h (grub_partition_iterate): Return int
37435 instead of grub_err_t.
37436
37437 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37438 prototype.
37439 [GRUB_UTIL] (grub_search_fini): Likewise.
37440
37441 * include/grub/device.h (grub_device_iterate): New prototype.
37442
37443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37444 commands/search.c.
37445 (pkgdata_MODULES): Added search.mod.
37446 (search_mod_SOURCES): New variable.
37447 (search_mod_CFLAGS): Likewise.
37448
37449 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37450 (pkgdata_MODULES): Added search.mod.
37451 (search_mod_SOURCES): New variable.
37452 (search_mod_CFLAGS): Likewise.
37453
37454 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37455 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37456 All callers changed.
37457
37458 * DISTLIST: Added commands/search.c.
37459
37460 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37461
37462 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37463 conversion.
37464 (grub_getcharwidth): New function.
37465
37466 * kern/misc.c (grub_utf8_to_ucs4): New function.
37467
37468 * include/grub/term.h (struct grub_term): Added a new member
37469 "getcharwidth".
37470 (grub_getcharwidth): New prototype.
37471
37472 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37473
37474 * term/i386/pc/console.c (map_char): New function. Segregated from
37475 grub_console_putchar.
37476 (grub_console_putchar): Use map_char.
37477 (grub_console_getcharwidth): New function.
37478 (grub_console_term): Specified grub_console_getcharwidth as
37479 getcharwidth.
37480
37481 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37482 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37483
37484 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37485 GRUB_ERRNO.
37486 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37487 on grub_strtoul completely.
37488 (write_char): Declare local variables in the beginning of the
37489 function.
37490 (grub_vesafb_getcharwidth): New function.
37491 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37492 getcharwidth.
37493
37494 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37495
37496 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37497 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37498 commands/i386/pc/vbetest.c.
37499
37500 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37501 call grub_vbe_get_controller_info again, because the returned
37502 information is volatile.
37503 (grub_vbe_set_video_mode): Mostly rewritten.
37504 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37505 grub_vbe_status_t correctly.
37506 (grub_vbe_get_video_mode_info): Likewise.
37507 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37508 several if statements.
37509
37510 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37511 * commands/i386/pc/vbeinfo.c: ... this.
37512
37513 * commands/i386/pc/vbe_test.c: Renamed to ...
37514 * commands/i386/pc/vbetest.c: ... this.
37515
37516 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37517 ...
37518 (grub_cmd_vbeinfo): ... this. Save video modes before
37519 iterating. Skip a video mode, if it is not available, not enough
37520 information is given or it is monochrome. Show the memory
37521 model. Leave the interpretation of MODEVAR to grub_strtoul
37522 completely.
37523 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37524 (GRUB_MOD_FINI): Likewise.
37525
37526 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37527 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37528 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37529 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37530 grub_strtoul completely.
37531 (real2pm): Removed.
37532 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37533 (GRUB_MOD_FINI): Likewise.
37534
37535 * normal/misc.c: Include grub/mm.h.
37536
37537 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37538 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37539 (vbe_list_modes_mod_SOURCES): Removed.
37540 (vbe_list_modes_mod_CFLAGS): Likewise.
37541 (vbe_test_mod_SOURCES): Likewise.
37542 (vbe_test_mod_CFLAGS): Likewise.
37543 (vbeinfo_mod_SOURCES): New variable.
37544 (vbeinfo_mod_CFLAGS): Likewise.
37545 (vbetest_mod_SOURCES): Likewise.
37546 (vbetest_mod_CFLAGS): Likewise.
37547
37548 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37549
37550 * normal/misc.c: New file.
37551
37552 * DISTLIST: Added normal/misc.c.
37553
37554 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37555 DISK to HOOK. Call HOOK with DISK.
37556 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37557 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37558 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37559
37560 * normal/menu_entry.c (struct screen): Added a new member
37561 "completion_shown".
37562 (completion_buffer): New global variable.
37563 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37564 (store_completion): New function.
37565 (complete): Likewise.
37566 (clear_completions): Likewise.
37567 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37568 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37569 a tab, call complete.
37570
37571 * normal/completion.c (disk_dev): Removed.
37572 (print_simple_completion): Likewise.
37573 (print_partition_completion): Likewise.
37574 (print_func): New global variable.
37575 (add_completion): Do not take the arguments WHAT or PRINT any
37576 longer. Added a new argument TYPE. Instead of printing directly,
37577 call PRINT_FUNC if not NULL.
37578 All callers changed.
37579 (complete_device): Use a local variable DEV instead of
37580 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37581 (grub_normal_do_completion): Take a new argument HOOK. Do not
37582 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37583 empty string, return NULL instead.
37584 All callers changed.
37585
37586 * normal/cmdline.c (print_completion): New function.
37587
37588 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37589 to HOOK.
37590 All callers changed.
37591
37592 * kern/disk.c (grub_print_partinfo): Removed.
37593
37594 * include/grub/partition.h (struct grub_partition_map): Add a new
37595 argument DISK into HOOK of ITERATE.
37596 (grub_partition_iterate): Add a new argument DISK to HOOK.
37597
37598 * include/grub/normal.h (enum grub_completion_type): New enum.
37599 (grub_completion_type_t): New type.
37600 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37601 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37602 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37603 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37604 (grub_normal_do_completion): Added a new argument HOOK.
37605 (grub_normal_print_device_info): New prototype.
37606
37607 * include/grub/disk.h (grub_print_partinfo): Removed.
37608
37609 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37610 (normal_mod_SOURCES): Likewise.
37611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37612 (normal_mod_SOURCES): Likewise.
37613
37614 * commands/ls.c (grub_ls_list_disks): Use
37615 grub_normal_print_device_info instead of grub_print_partinfo. Free
37616 PNAME.
37617 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37618 duplicating the code.
37619
37620 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37621
37622 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37623 follow GCS more precisely.
37624 * commands/i386/pc/vbe_test.c: Likewise.
37625 * include/grub/i386/pc/vbe.h: Likewise.
37626 * term/i386/pc/vesafb.c: Likewise.
37627 * video/i386/pc/vbe.c: Likewise.
37628
37629 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37630
37631 * DISTLIST: Added term/i386/pc/vesafb.c
37632 DISTLIST: Added video/i386/pc/vbe.c
37633 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37634 DISTLIST: Added commands/i386/pc/vbe_test.c.
37635 * commands/i386/pc/vbe_list_modes.c: New file.
37636 * commands/i386/pc/vbe_test.c: Likewise.
37637 * term/i386/pc/vesafb.c: Likewise.
37638 * video/i386/pc/vbe.c: Likewise.
37639 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37640 (grub_vbe_probe) Added prototype.
37641 (grub_vbe_set_video_mode) Likewise.
37642 (grub_vbe_get_video_mode) Likewise.
37643 (grub_vbe_get_video_mode_info) Likewise.
37644 (grub_vbe_set_pixel_rgb) Likewise.
37645 (grub_vbe_set_pixel_index) Likewise.
37646 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37647 (pkgdata_MODULES): Added vesafb.mod.
37648 (pkgdata_MODULES): Added vbe_list_modes.mod.
37649 (pkgdata_MODULES): Added vbe_test.mod.
37650 (vbe_mod_SOURCES): Added.
37651 (vbe_mod_CFLAGS): Likewise.
37652 (vesafb_mod_SOURCES): Likewise.
37653 (vesafb_mod_CFLAGS): Likewise.
37654 (vbe_list_modes_mod_SOURCES): Likewise.
37655 (vbe_list_modes_mod_CFLAGS): Likewise.
37656 (vbe_test_mod_SOURCES): Likewise.
37657 (vbe_test_mod_CFLAGS): Likewise.
37658
37659 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37660
37661 * normal/command.c (grub_command_execute): If INTERACTIVE is
37662 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37663 CMDLINE. Disable the pager if INTERACTIVE is true.
37664 All callers are changed.
37665
37666 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37667 before reading a config file.
37668 * normal/main.c (read_config_file): Even if a command is not
37669 found, register it if it is within an entry.
37670
37671 * util/grub-emu.c: Include sys/types.h and unistd.h.
37672 (options): Added --hold.
37673 (struct arguments): Added a new member "hold".
37674 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37675 missing.
37676 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37677 cleared by a debugger, if it is not zero.
37678
37679 * include/grub/normal.h (grub_command_execute): Add an argument
37680 INTERACTIVE.
37681
37682 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37683
37684 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37685
37686 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37687
37688 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37689 program with another one, because the old one didn't detect a bug
37690 in gcc-3.4. Always use regparm 2, because the new test is still
37691 not enough for gcc-4.0. Someone must investigate a simple test
37692 case which detects a bug in gcc-4.0.
37693
37694 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37695
37696 * DISTLIST: Added normal/completion.c.
37697
37698 * normal/completion.c: New file.
37699
37700 * term/i386/pc/console.c (grub_console_getwh): New function.
37701 (grub_console_term): Assign grub_console_getwh to getwh.
37702
37703 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37704 function is defined in normal/completion.c as
37705 grub_normal_do_completion.
37706 (grub_cmdline_get): Use grub_normal_do_completion instead of
37707 grub_tab_complete.
37708
37709 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37710 returns non-zero, otherwise return 0.
37711 (grub_partition_iterate): First, probe the partition map. Then,
37712 call ITERATE only for this partition map.
37713
37714 * kern/misc.c (grub_strncmp): Rewritten.
37715
37716 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37717 returns non-zero. Otherwise return 0.
37718
37719 * include/grub/partition.h (grub_partition_map_iterate): Return
37720 int instead of void.
37721
37722 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37723
37724 * include/grub/misc.h (grub_strncmp): Change the type of N to
37725 grub_size_t.
37726
37727 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37728 of void.
37729
37730 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
37731 unsigned explicitly before comparing it with I.
37732
37733 * kern/main.c (grub_env_write_root): Add the attribute unused into
37734 VAR.
37735
37736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37737 normal/completion.c.
37738 (normal_mod_SOURCES): Likewise.
37739 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37740 (normal_mod_SOURCES): Likewise.
37741
37742 * normal/command.c (grub_iterate_commands): If ITERATE returns
37743 non-zero, return one immediately.
37744
37745 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37746
37747 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37748 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37749 descriptions.
37750 (grub_vbe_get_controller_info): New function.
37751 (grub_vbe_get_mode_info): Likewise.
37752 (grub_vbe_set_mode): Likewise.
37753 (grub_vbe_get_mode): Likewise.
37754 (grub_vbe_set_memory_window): Likewise.
37755 (grub_vbe_get_memory_window): Likewise.
37756 (grub_vbe_set_scanline_length): Likewise.
37757 (grub_vbe_get_scanline_length): Likewise.
37758 (grub_vbe_set_display_start): Likewise.
37759 (grub_vbe_get_display_start): Likewise.
37760 (grub_vbe_set_palette_data): Likewise.
37761 * include/grub/i386/pc/vbe.h: New file.
37762
37763 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37764
37765 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37766 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37767 * DISTLIST: Likewise.
37768 * kern/ieee1275/of.c: Moved to ...
37769 * kern/ieee1275/ieee1275.c: ... here.
37770
37771 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37772
37773 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37774 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37775 Pass 0 as `end' parameter to grub_strtoul().
37776
37777 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37778
37779 * include/grub/powerpc/ieee1275/console.h: Do not include
37780 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37781 ifdef.
37782 (grub_console_cur_color): Remove i386-specific prototype.
37783 (grub_console_real_putchar): Likewise.
37784 (grub_console_checkkey): Likewise.
37785 (grub_console_getkey): Likewise.
37786 (grub_console_getxy): Likewise.
37787 (grub_console_gotoxy): Likewise.
37788 (grub_console_cls): Likewise.
37789 (grub_console_setcursor): Likewise.
37790 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37791 Include <grub/machine/console.h>.
37792 * term/ieee1275/ofconsole.c: Likewise.
37793
37794 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37795
37796 * Makefile.in (LIBLZO): New variable.
37797
37798 * configure.ac: Check for LZO version 2.
37799
37800 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37801 lzo/lzo1x.h instead of lzo1x.h.
37802
37803 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37804 of -llzo.
37805
37806 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37807 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37808
37809 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37810 copying the data from PARTITION to P.
37811
37812 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37813
37814 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37815 negative, unload the module.
37816
37817 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37818 map is "pc_partition_map" but not "pc".
37819 (usage): Fix the description. The options are --boot-image and
37820 --core-image but not --boot-file or --core-file.
37821 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37822 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37823 DEFAULT_DIRECTORY.
37824
37825 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37826 --core-file. Specify INSTALL_DEVICE as an argument.
37827
37828 * util/console.c: Include config.h.
37829 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37830 [HAVE_NCURSES_H]: Include ncurses.h.
37831 [HAVE_CURSES_H]: Include curses.h.
37832 [!A_NORMAL] (A_NORMAL): Defined as zero.
37833 [!A_STANDOUT] (A_STANDOUT): Likewise.
37834
37835 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37836 -lncurses.
37837 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37838
37839 * configure.ac: Check for curses libraries and headers.
37840
37841 * Makefile.in (LIBCURSES): New variable.
37842
37843 * genmk.rb (Script::rule): Set the executable bits.
37844
37845 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37846 name of the PC partition map is "pc_partition_map" but not "pc".
37847
37848 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37849
37850 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37851 (modules): Likewise.
37852 (usage): Added descriptions for --modules and --grub-probefs.
37853 Handle --modules and --grub-probefs. Save the arguments in MODULES
37854 and GRUB_PROBEFS, respectively.
37855 Auto-detect a filesystem module against GRUBDIR. If the result is
37856 empty and modules are not specified explicitly, abort the
37857 installation. Add the result to MODULES.
37858
37859 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37860 disk/powerpc/ieee1275/ofdisk.c,
37861 include/grub/powerpc/ieee1275/init.h and
37862 term/powerpc/ieee1275/ofconsole.c.
37863 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37864 term/ieee1275/ofconsole.c.
37865
37866 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37867
37868 * COPYING: Upgraded to the latest version. Only the address of the
37869 FSF office has changed.
37870
37871 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37872
37873 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37874 kern/ieee1275.c with kern/ieee1275/of.c.
37875
37876 * kern/ieee1275.c: Moved to ...
37877 * kern/ieee1275/of.c: ... here.
37878
37879 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37880
37881 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
37882 readability.
37883
37884 * config.guess: Updated to the latest version from gnulib.
37885 * config.sub: Likewise.
37886 * install.sh: Likewise.
37887 * mkinstalldirs: Likewise.
37888
37889 * include/grub/console.h: Removed. This file is arch-specific. Do
37890 not put this in include/grub.
37891
37892 * include/grub/i386/pc/console.h: Resurrected.
37893
37894 * util/console.c: Include grub/machine/console.h instead of
37895 grub/console.h.
37896 * util/grub-emu.c: Likewise.
37897
37898 2005-08-04 Marco Gerards <metgerards@student.han.nl>
37899
37900 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37901 hardcoded value.
37902
37903 From Vincent Pelletier <subdino2004@yahoo.fr>
37904 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37905 Redefined to use grub_getwh.
37906 (grub_term): New member named getwh.
37907 (grub_getwh): New prototype.
37908 * kern/term.c (grub_getwh): New function.
37909 * term/i386/pc/console.c (grub_console_getwh): New function.
37910 (grub_console_term): New member `getwh'.
37911 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37912 (grub_vga_term): New member `getwh'.
37913 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
37914 grub_ssize_t.
37915 (grub_ofconsole_getw): New function.
37916 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37917 (grub_ofconsole_term): New field named getwh and new initial
37918 value.
37919
37920 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37921
37922 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37923 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37924 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37925 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37926 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37927 of <grub/machine/ieee1275.h>.
37928 * commands/ieee1275/reboot.c: Likewise.
37929 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37930 * kern/ieee1275.c: ... to here. All users updated. Change all
37931 parameter structs to use new type `grub_ieee1275_cell_t'.
37932 * term/powerpc/ieee1275/ofconsole.c: Move ...
37933 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37934 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37935 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37936 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37937 to return int.
37938 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37939 Remove unused prototypes. All users updated.
37940 * include/grub/powerpc/ieee1275/console.h: Removed.
37941 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37942 `grub_ieee1275_cell_t'.
37943 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37944 Cast comparisons with -1 to the correct type.
37945 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37946 type to match `grub_ieee1275_entry_fn'.
37947
37948 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37949
37950 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37951
37952 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37953 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37954 partmap/sun.c.
37955 (grub_probefs_SOURCES): New variable.
37956
37957 * util/i386/pc/grub-probefs.c: New file.
37958
37959 * util/i386/pc/grub-setup.c (main): Call
37960 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37961 grub_hfs_init and grub_jfs_init to initialize the system. Call
37962 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37963 grub_pc_partition_map_fini to finish the system.
37964
37965 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37966
37967 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37968 function.
37969 (grub_multiboot_load_elf32): Likewise.
37970 (grub_multiboot_is_elf64): Likewise.
37971 (grub_multiboot_load_elf64): Likewise.
37972 (grub_multiboot_load_elf): Likewise.
37973 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37974 an ELF32 or ELF64 file.
37975 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37976
37977 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37978 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37979 NULL before calling FS->LABEL.
37980 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37981 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37982 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37983 before calling FS->LABEL.
37984
37985 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37986
37987 * util/i386/pc/grub-install.in (datadir): New variable.
37988 (libdir): Removed.
37989 (pkgdatadir): New variable.
37990 (pkglibdir): Removed.
37991
37992 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37993
37994 * DISTLIST: Added util/i386/pc/grub-install.in.
37995
37996 * util/i386/pc/grub-install.in: New file.
37997
37998 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37999 (grub_install_SOURCES): Likewise.
38000
38001 * genmk.rb: Added support for scripts.
38002 (Script): New class.
38003 (scripts): New variable.
38004
38005 * Makefile.in (install-local): Install sbin_SCRIPTS by
38006 INSTALL_SCRIPT.
38007 (uninstall): Remove sbin_SCRIPTS.
38008
38009 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38010 device, try to get a GRUB device by
38011 grub_util_biosdisk_get_grub_dev.
38012 Free DEST_DEV.
38013
38014 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38015 description for --device-map.
38016
38017 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38018
38019 Change the semantics of variable hooks. They now return strings
38020 instead of error values.
38021
38022 * util/i386/pc/grub-setup.c: Include grub/env.h.
38023 (setup): Use grub_device_set_root instead of grub_env_set.
38024
38025 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38026 grub_env_get instead of grub_device_set_root and
38027 grub_device_get_root, respectively.
38028
38029 * kern/main.c (grub_env_write_root): New function.
38030 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38031 grub_env_set instead of grub_device_set_root.
38032
38033 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38034 many variables.
38035 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38036 rather than calling ENV->WRITE_HOOK afterwards.
38037 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38038 passing a pointer of a pointer.
38039 (grub_register_variable_hook): Change the types of "read_hook" and
38040 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38041 respectively.
38042 Allocate the default empty string on the heap, because this string
38043 may be freed later.
38044
38045 * kern/device.c: Include grub/env.h.
38046 (grub_device_set_root): Removed.
38047 (grub_device_get_root): Likewise.
38048 (grub_device_open): Use grub_env_get instead of
38049 grub_device_get_root.
38050
38051 * include/grub/env.h (grub_env_read_hook_t): New type.
38052 (grub_env_write_hook_t): Likewise.
38053 (grub_env_var): Change the types of "read_hook" and "write_hook"
38054 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38055 (grub_register_variable_hook): Likewise.
38056
38057 * include/grub/device.h (grub_device_set_root): Removed.
38058 (grub_device_set_root): Likewise.
38059
38060 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38061 make sure that DIRNAME terminates with '/', so that
38062 grub_fat_find_dir will fail if PATH is not a directory.
38063
38064 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38065 from DIRNAME.
38066 Use the qualifier auto for print_files and print_files_long.
38067 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38068 as a regular file.
38069 Put a newline only if there is no error.
38070 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38071 used.
38072
38073 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38074
38075 * kern/partition.c (grub_partition_probe): Initialize PART to
38076 NULL. Otherwise, when no partition map is registered, this returns
38077 a garbage.
38078
38079 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38080
38081 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38082 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38083 valid.
38084
38085 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38086
38087 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38088 information on each device, if it does not have partitions. Print
38089 "Device" instead of "Disk", because this function is not specific
38090 to disk devices.
38091
38092 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38093 static to ensure that it is put on the memory rather than a
38094 register.
38095
38096 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38097
38098 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38099 (grub_cat_init): Likewise.
38100 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38101 (options): Likewise.
38102 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38103 (grub_configfile_init): Likewise.
38104 * font/manager.c (GRUB_MOD_INIT): Likewise.
38105 * commands/help.c (GRUB_MOD_INIT): Likewise.
38106 (grub_help_init): Likewise.
38107 * normal/command.c (grub_command_init): Likewise.
38108 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38109 * disk/loopback.c (grub_loop_init): Likewise.
38110 (GRUB_MOD_INIT): Likewise.
38111 * commands/ls.c (grub_ls_init): Likewise.
38112 (GRUB_MOD_INIT): Likewise.
38113 (options): Likewise.
38114 * commands/boot.c (grub_boot_init): Likewise.
38115 (GRUB_MOD_INIT): Likewise.
38116 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38117 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38118 (GRUB_MOD_INIT): Likewise.
38119 * commands/cmp.c (grub_cmp_init): Likewise.
38120 (GRUB_MOD_INIT): Likewise.
38121
38122 * normal/arg.c: Use <> instead of "" to include header files.
38123 (SHORT_ARG_HELP): New macro.
38124 (SHORT_ARG_USAGE): Likewise.
38125 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38126 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38127 descriptions.
38128 (find_short): Check if C is 'h' or 'u' explicitly.
38129 (grub_arg_show_help): Use space characters instead of tabs. Treat
38130 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38131 are shown with --help and --usage only if they are not used for
38132 the command itself.
38133 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38134 'h' and 'u'.
38135
38136 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38137 const into "longarg". Change the type of "shortarg" to int.
38138
38139 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38140
38141 * boot/i386/pc/boot.S (boot_drive_check): New label.
38142
38143 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38144 macro.
38145
38146 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38147 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38148
38149 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38150
38151 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38152 When turning off Gate A20, skip the check and return immediately,
38153 because this is not fatal usually.
38154
38155 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38156
38157 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38158 be 0x7C00 instead of 0x8000.
38159
38160 * boot/i386/pc/pxeboot.S: Rewritten.
38161
38162 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38163 EXT_C.
38164 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38165 result.
38166
38167 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38168
38169 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38170 robustness. This routine now supports a BIOS call and System
38171 Control Port A to modify the gate A20.
38172
38173 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38174 Increased to 0x440.
38175
38176 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38177
38178 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38179 device path and resulting ihandle.
38180 (grub_ofdisk_close): dprintf the ihandle being closed.
38181 (grub_ofdisk_read): dprintf function parameters.
38182 * kern/mm.c (grub_mm_init_region): Likewise.
38183 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38184 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38185 size, and boot arguments.
38186 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38187 before loading into memory.
38188 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38189 before loading into memory.
38190
38191 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38192
38193 * kern/mm.c: Added much documentation.
38194 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38195 8, set to 5 instead of 8.
38196
38197 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38198
38199 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38200
38201 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38202 (grub_mkdevicemap_SOURCES): New variable.
38203
38204 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38205 lib/device.c of GRUB Legacy.
38206
38207 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38208
38209 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38210 instead of PATH is NULL.
38211
38212 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38213
38214 * commands/cmp.c (BUFFER_SIZE): New macro.
38215 (grub_cmd_cmp): Close the right file at the right time. Compare
38216 only data just read. Don't report files of different size as
38217 identical. Dynamically allocate buffers. Move variable
38218 declarations at the beginning of function.
38219
38220 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
38221
38222 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38223 reverse.
38224
38225 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38226
38227 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38228 when backspace is pressed at beginning of line.
38229
38230 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
38231
38232 * DISTLIST: Added genfslist.sh.
38233
38234 * normal/main.c (fs_module_list): New variable.
38235 (autoload_fs_module): New function.
38236 (read_fs_list): Likewise.
38237 (grub_normal_execute): Call read_fs_list.
38238
38239 * kern/fs.c (grub_fs_autoload_hook): New variable.
38240 (grub_fs_probe): Added support for auto-loading.
38241
38242 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38243 (grub_fs_module_list_t): New type.
38244
38245 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38246 (grub_fs_autoload_hook): New prototype.
38247
38248 * genfslist.sh: New file.
38249
38250 * genmk.rb: Added a rule to generate a filesystem list.
38251
38252 2005-06-30 Marco Gerards <metgerards@student.han.nl>
38253
38254 * configure.ac: Fix the test for cross-compiling.
38255
38256 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38257 define GRUB_UTIL anymore.
38258
38259 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38260 so this function works on other systems than just big endian.
38261 (load_modules): Likewise.
38262 (add_segments): Likewise.
38263
38264 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38265
38266 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38267 contains `l' modifier, get a long from va_arg().
38268
38269 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38270
38271 * kern/mm.c (grub_free): If the next free block which is being
38272 merged is the first free block, set the first block to the block
38273 being freed.
38274 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38275
38276 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38277
38278 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38279 `grub_ieee1275_chosen'.
38280
38281 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38282
38283 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38284 (grub_ieee1275_chosen): New variable.
38285 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38286 `chosen'.
38287 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38288 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38289 Rename first argument to `phandle' for consistency.
38290 (grub_ieee1275_get_property_length): Likewise.
38291 (grub_ieee1275_next_property): Likewise. Change type of first argument
38292 to grub_ieee1275_phandle_t.
38293 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38294 Move export next to declaration.
38295 (grub_ieee1275_chosen): New variable.
38296 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38297 Correct cosmetic typo.
38298 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38299 `grub_ieee1275_chosen'.
38300 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38301 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38302 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38303 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38304 `grub_ieee1275_chosen'.
38305
38306 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38307
38308 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38309 /chosen/bootargs.
38310 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38311 /chosen/bootargs as "variable=value" pairs.
38312
38313 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38314
38315 * include/grub/misc.h (grub_dprintf): New macro.
38316 (grub_real_dprintf): New prototype.
38317 (grub_strword): Likewise.
38318 (grub_iswordseparator): Likewise.
38319 * kern/misc.c (grub_real_dprintf): New function.
38320 (grub_strword): Likewise.
38321 (grub_iswordseparator): Likewise.
38322
38323 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38324
38325 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38326 (roundup): Remove macro.
38327 (grub_ieee1275_flags): Make static.
38328 (grub_ieee1275_realmode): Remove.
38329 (grub_ieee1275_test_flag): New function.
38330 (grub_ieee1275_set_flag): Likewise.
38331 (find_options): Rename to `grub_ieee1275_find_options'; update
38332 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38333 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38334 (cmain): New prototype.
38335 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38336 `grub_ieee1275_flags' directly.
38337 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38338 machine/biosdisk.h.
38339 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38340 Don't include grub/machine/init.h.
38341 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38342 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38343 Remove prototype.
38344 (grub_ieee1275_realmode): Likewise.
38345 (grub_ieee1275_flag): New enum.
38346 (grub_ieee1275_test_flag): New prototype.
38347 (grub_ieee1275_set_flag): New prototype.
38348 * include/grub/powerpc/ieee1275/init.h: Remove file.
38349 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38350 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38351 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38352 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38353 comment.
38354 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38355 `grub_ieee1275_test_flag'.
38356 (grub_ieee1275_encode_devname): Likewise.
38357
38358 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38359
38360 * include/grub/powerpc/ieee1275/ieee1275.h
38361 (grub_ieee1275_encode_devname): New prototype.
38362 (grub_ieee1275_get_filename): Likewise.
38363 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38364 function.
38365 (grub_set_prefix): Likewise.
38366 (grub_machine_init): Call grub_set_prefix.
38367 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38368 (grub_parse_type): New enum.
38369 (grub_ieee1275_get_devargs): New function.
38370 (grub_ieee1275_get_devname): Likewise.
38371 (grub_ieee1275_parse_args): Likewise.
38372 (grub_ieee1275_get_filename): Likewise.
38373 (grub_ieee1275_encode_devname): Likewise.
38374
38375 2005-03-30 Marco Gerards <metgerards@student.han.nl>
38376
38377 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38378 `grub_loader_unset'.
38379
38380 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38381
38382 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38383 instead of grub_ieee1275_interpret.
38384 (grub_halt_init): New function.
38385 (grub_halt_fini): Likewise.
38386 (GRUB_MOD_INIT): Correct message grammar.
38387 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38388 instead of grub_ieee1275_interpret.
38389 (grub_reboot_init): New function.
38390 (grub_reboot_fini): Likewise.
38391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38392 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38393 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38394 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38395 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38396 function.
38397 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38398 Add prototype.
38399 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38400 prototype.
38401 (grub_halt): Likewise.
38402 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38403 (cmain): Remove __attribute__((unused)).
38404 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38405 (grub_heap_len): Likewise.
38406 (grub_machine_fini): New function.
38407 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38408 (grub_halt): Likewise.
38409 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38410 function.
38411 * util/powerpc/ieee1275/misc.c: New file.
38412
38413 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38414
38415 * DISTLIST: New file.
38416 * gendistlist.sh: Likewise.
38417
38418 * Makefile.in (COMMON_DISTFILES): Removed.
38419 (BOOT_DISTFILES): Likewise.
38420 (CONF_DISTFILES): Likewise.
38421 (DISK_DISTFILES): Likewise.
38422 (FS_DISTFILES): Likewise.
38423 (INCLUDE_DISTFILES): Likewise.
38424 (KERN_DISTFILES): Likewise.
38425 (LOADER_DISTFILES): Likewise.
38426 (TERM_DISTFILES): Likewise.
38427 (UTIL_DISTFILES): Likewise.
38428 (DISTFILES): Likewise.
38429 (uninstall): Uninstall files in $(pkgdata_DATA).
38430 (DISTLIST): New target.
38431 (distdir): Use the contents of the file DISTLIST to get a list of
38432 distributed files.
38433
38434 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38435
38436 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38437 descriptor. This is ported from GRUB Legacy.
38438
38439 * gencmdlist.sh: Added an extra semicolon to make it work with
38440 old sed versions. Reported by Robert Bihlmeyer
38441 <robbe@orcus.priv.at>.
38442
38443 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
38444
38445 Automatic loading of commands is supported.
38446
38447 * normal/main.c (read_command_list): New function.
38448 (grub_normal_execute): Call read_command_list.
38449
38450 * normal/command.c (grub_register_command): Return zero or CMD.
38451 Allocate CMD->NAME from the heap.
38452 Initialize CMD->MODULE_NAME to zero.
38453 Find the same name as well. If the same command is found and it is
38454 a dummy command, overwrite members. If it is not a dummy command,
38455 return zero.
38456 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38457 (grub_command_find): If a dummy command is found, load a module
38458 and retry to find a command only once.
38459
38460 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38461 make sure that each command is loaded.
38462
38463 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38464 macro.
38465 (struct grub_command): Remove const from the member `name'.
38466 Add a new member `module_name'.
38467 (grub_register_command): Return grub_command_t.
38468
38469 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38470 sure that each command is loaded.
38471
38472 * genmk.rb (PModule::rule): Specify a module name without the
38473 suffix ".mod" to gencmdlist.sh.
38474
38475 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38476
38477 * gencmdlist.sh: New file.
38478
38479 * genmk.rb (PModule::rule): Generate a rule for a command list.
38480 Clean command.lst.
38481 Generate command.lst from $(COMMANDFILES).
38482
38483 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38484 (DATA): Added $(pkgdata_DATA).
38485 (install-local): Install files in $(pkgdata_DATA).
38486
38487 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38488
38489 * term/i386/pc/vga.c (debug_command): Removed.
38490 (GRUB_MOD_INIT): Do not register the command "debug".
38491
38492 From Hollis Blanchard:
38493 * commands/configfile.c: New file.
38494 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38495 commands/configfile.c.
38496 (pkgdata_MODULES): Added configfile.mod.
38497 (configfile_mod_SOURCES): New variable.
38498 (configfile_mod_CFLAGS): Likewise.
38499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38500 commands/configfile.c.
38501 (pkgdata_MODULES): Added configfile.mod.
38502 (configfile_mod_SOURCES): New variable.
38503 (configfile_mod_CFLAGS): Likewise.
38504 * util/grub-emu.c (main): Call grub_configfile_init and
38505 grub_configfile_fini.
38506 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38507 prototype.
38508 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38509
38510 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38511
38512 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38513 address.
38514
38515 * commands/help.c (grub_cmd_help): Do not print newlines after
38516 the last command in print_command_help.
38517
38518 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38519
38520 * commands/default.h: New file.
38521 * commands/timeout.h: Likewise.
38522 * normal/context.c: Likewise.
38523
38524 * util/misc.c: Do not include sys/times.h.
38525 Include sys/time.h and grub/machine/time.h.
38526 (grub_get_rtc): Rewritten with gettimeofday.
38527
38528 * util/grub-emu.c (main): Call grub_default_init and
38529 grub_timeout_init before grub_normal_init, and call
38530 grub_timeout_fini and grub_default_fini after grub_main.
38531
38532 * util/console.c (grub_ncurses_checkkey): Return the read
38533 character or -1.
38534
38535 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38536 timeouts.
38537
38538 * normal/main.c (read_config_file): Push MENU. If this fails,
38539 print an error and wait for a user input.
38540 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38541 If a menu is empty or an error occurs, pop MENU.
38542 (grub_normal_execute): Pop and free MENU after grub_menu_run
38543 returns.
38544
38545 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38546
38547 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38548 include time.h.
38549 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38550 without GRUB_UTIL.
38551 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38552 time.h.
38553 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38554 without GRUB_UTIL.
38555
38556 * include/grub/normal.h (struct grub_menu_list): New struct.
38557 (grub_menu_list_t): New type.
38558 (struct grub_context): New struct.
38559 (grub_context_t): New type.
38560 (grub_register_command): Got rid of EXPORT_FUNC.
38561 (grub_unregister_command): Likewise.
38562 (grub_context_get): New prototype.
38563 (grub_context_get_current_menu): Likewise.
38564 (grub_context_push_menu): Likewise.
38565 (grub_context_pop_menu): Likewise.
38566 [GRUB_UTIL] (grub_default_init): Likewise.
38567 [GRUB_UTIL] (grub_default_fini): Likewise.
38568 [GRUB_UTIL] (grub_timeout_init): Likewise.
38569 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38570
38571 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38572 commands/timeout.c and normal/context.c.
38573 (pkgdata_MODULES): Added default.mod and timeout.mod.
38574 (normal_mod_SOURCES): Added normal/context.c.
38575 (default_mod_SOURCES): New variable.
38576 (default_mod_CFLAGS): Likewise.
38577 (timeout_mod_SOURCES): Likewise.
38578 (timeout_mod_CFLAGS): Likewise.
38579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38580 conf/i386-pc.rmk.
38581 (pkgdata_MODULES): Added default.mod and timeout.mod.
38582 (normal_mod_SOURCES): Added normal/context.c.
38583 (default_mod_SOURCES): New variable.
38584 (default_mod_CFLAGS): Likewise.
38585 (timeout_mod_SOURCES): Likewise.
38586 (timeout_mod_CFLAGS): Likewise.
38587
38588 * Makefile.in (all-local): Added $(MKFILES).
38589
38590 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38591
38592 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38593 (grub_emu_SOURCES): Likewise.
38594 (pkgdata_MODULES): Add `sun.mod'.
38595 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38597 `partmap/sun.c'.
38598 (pkgdata_MODULES): Add `sun.mod'.
38599 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38600 * include/grub/partition.h (grub_sun_partition_map_init): New
38601 prototype.
38602 (grub_sun_partition_map_fini): Likewise.
38603 * partmap/sun.c: New file.
38604 * util/grub-emu.c (main): Initialize and de-initialize the sun
38605 partitionmap support.
38606
38607 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38608
38609 This implements an Emacs-like menu entry editor.
38610
38611 * normal/menu_entry.c: New file.
38612
38613 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38614 characters to ASCII.
38615 (saved_char): New variable.
38616 (grub_ncurses_checkkey): Rewritten completely.
38617 (grub_ncurses_getkey): Likewise.
38618 (grub_ncurses_init): Call raw instead of cbreak.
38619
38620 * normal/menu.c (print_entry): Do not put a space.
38621 (init_page): Renamed to ...
38622 (grub_menu_init_page): ... this. All callers changed.
38623 (edit_menu_entry): Removed.
38624 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38625
38626 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38627
38628 * kern/misc.c (grub_vprintf): Call grub_refresh.
38629
38630 * normal/menu.c (DISP_LEFT): Renamed to ...
38631 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38632 * normal/menu.c (DISP_UP): Renamed to ...
38633 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38634 * normal/menu.c (DISP_RIGHT): Renamed to ...
38635 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38636 * normal/menu.c (DISP_DOWN): Renamed to ...
38637 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38638 * normal/menu.c (DISP_HLINE): Renamed to ...
38639 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38640 * normal/menu.c (DISP_VLINE): Renamed to ...
38641 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38642 * normal/menu.c (DISP_UL): Renamed to ...
38643 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38644 * normal/menu.c (DISP_UR): Renamed to ...
38645 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38646 * normal/menu.c (DISP_LL): Renamed to ...
38647 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38648 * normal/menu.c (DISP_LR): Renamed to ...
38649 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38650 * normal/menu.c (TERM_WIDTH): Renamed to ...
38651 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38652 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38653 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38654 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38655 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38656 * normal/menu.c (TERM_MARGIN): Renamed to ...
38657 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38658 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38659 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38660 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38661 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38662 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38663 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38664 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38665 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38666 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38667 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38668 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38669 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38670 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38671 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38672 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38673 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38674 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38675 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38676 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38677 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38678 All callers changed.
38679
38680 * include/grub/normal.h: New prototype.
38681
38682 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38683 normal/menu_entry.c.
38684 (normal_mod_SOURCES): Likewise.
38685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38686 (normal_mod_SOURCES): Likewise.
38687
38688 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38689
38690 * include/grub/normal.h (grub_halt_init): New prototype.
38691 (grub_halt_fini): Likewise.
38692 (grub_reboot_init): Likewise.
38693 (grub_reboot_fini): Likewise.
38694
38695 * util/grub-emu.c: Include signal.h.
38696 (main_env): New global variable.
38697 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38698 catch C-c.
38699 (grub_machine_fini): New function.
38700 (main): Call grub_halt_init and grub_reboot_init before
38701 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38702 Call setjmp with MAIN_ENV to go back afterwards.
38703 Call grub_machine_fini right before return.
38704
38705 * include/grub/util/misc.h: Include setjmp.h.
38706 (main_env): New prototype.
38707
38708 * include/grub/kernel.h (grub_machine_fini): New prototype.
38709 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38710 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38711
38712 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38713 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38714 * term/i386/pc/console.c (grub_console_fini): Likewise.
38715
38716 * util/i386/pc/misc.c: New file.
38717
38718 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38719 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38720 commands/i386/pc/reboot.c.
38721
38722 2005-02-14 Guillem Jover <guillem@hadrons.org>
38723
38724 * include/grub/dl.h (grub_dl_check_header): New prototype.
38725 (grub_arch_dl_check_header): Change return type to grub_err_t,
38726 remove size parameter and export function. Update all callers.
38727 * kern/dl.c (grub_dl_check_header): New function.
38728 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38729 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38730 are inside the core.
38731 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38732 independent ELF header checks.
38733 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38734 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38735 `grub_dl_check_header' instead of explicit checks. Check for the
38736 ELF type.
38737 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38738 `grub_dl_check_header' instead of explicit checks. Remove arch
38739 specific ELF header checks.
38740
38741 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38742 argument SIZE.
38743
38744 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38745
38746 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38747 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38748
38749 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38750
38751 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
38752 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
38753 (part_map_iterate): Clear `grub_errno' and return 0 if
38754 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
38755 * partmap/amiga.c (amiga_partition_map_iterate): Return
38756 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38757 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38758
38759 2005-02-01 Guillem Jover <guillem@hadrons.org>
38760
38761 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38762 help info.
38763
38764 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38765
38766 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38767 Removed prototype.
38768 (grub_rescue_cmd_linux): New prototype.
38769 (grub_rescue_cmd_initrd): Likewise.
38770 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38771 `bi_rec'.
38772 (grub_linux_release_mem): Release the memory for the initrd.
38773 (grub_load_linux): Renamed from this...
38774 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38775 Changed `entry' not to be static. Loop over memory regions to
38776 find another one when the default fails.
38777 (grub_rescue_cmd_initrd): New function.
38778 (grub_linux_init): Remove function.
38779 (grub_linux_fini): Likewise.
38780 (GRUB_MOD_INIT): Register `initrd'.
38781 (GRUB_MOD_FINI): Unregister `initrd'.
38782 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38783 Function removed.
38784 (grub_linux_normal_fini): Likewise.
38785 (GRUB_MOD_INIT): Register `initrd'.
38786 (GRUB_MOD_FINI): Unregister `initrd'.
38787
38788 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38789
38790 * commands/help.c: New file.
38791 * normal/arg.c (show_help): Renamed to...
38792 (grub_arg_show_help): ... this.
38793 * commands/i386/pc/halt.c: New file.
38794 * commands/i386/pc/reboot.c: Likewise.
38795 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38796 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38797 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38798 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38799 variables.
38800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38801 `commands/help.c'.
38802 (pkgdata_MODULES): Add `help.mod'.
38803 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38804 * grub/i386/pc/init.h (grub_reboot): New prototype.
38805 (grub_halt): Likewise.
38806 * include/grub/normal.h (grub_arg_show_help): New prototype.
38807 (grub_help_init): Likewise.
38808 (grub_help_fini): Likewise.
38809 * util/grub-emu.c (main): Initialize and deinitialize the help
38810 command.
38811
38812 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38813
38814 * normal/command.c (grub_command_init): Fixed the description of
38815 the `set' and `unset' commands.
38816
38817 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38818
38819 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38820 function.
38821 * commands/ieee1275/halt.c: New file.
38822 * commands/ieee1275/reboot.c: Likewise.
38823 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38824 `__attribute__ ((unused))'. Some GCS related fixed.
38825 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38826 (grub_suspend_fini): Likewise.
38827 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38828 and `halt.mod'.
38829 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38830 (halt_mod_CFLAGS): New variables.
38831 * include/grub/powerpc/ieee1275/ieee1275.h
38832 (grub_ieee1275_interpret): New prototype.
38833
38834 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38835
38836 * include/grub/misc.h (memmove): New prototype.
38837 (memcpy): Likewise.
38838
38839 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38840
38841 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38842 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38843
38844 2005-01-22 Marco Gerards <metgerards@student.han.nl>
38845
38846 * kern/misc.c (grub_strndup): Function rewritten.
38847
38848 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38849
38850 * normal/menu.c (TERM_WIDTH): Macro redefined.
38851 (TERM_TOP_BORDER_Y): Likewise.
38852 (draw_border): Replaced while-loop by a for-loop. Make the number
38853 of lines consistent with the number of lines displayed in
38854 print_entries. Added a margin below the rectangle.
38855 (print_entry): Make the entry fit in the rectangle.
38856 (print_entries): Display the scroll arrows next to the right
38857 border.
38858
38859 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38860
38861 * fs/minix.c (grub_minix_find_file): Reserve more space for
38862 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38863 `grub_strncpy' to copy `path' into it.
38864
38865 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38866
38867 Add the loopback device, a device via which files can be accessed
38868 as devices.
38869
38870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38871 (pkgdata_MODULES): Add loopback.mod.
38872 (loopback_mod_SOURCES): New variable.
38873 (loopback_mod_CFLAGS): Likewise.
38874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38875 `disk/loopback.c'.
38876 (pkgdata_MODULES): Add loopback.mod.
38877 (loopback_mod_SOURCES): New variable.
38878 (loopback_mod_CFLAGS): Likewise.
38879 * disk/loopback.c: new file.
38880 * include/grub/normal.h (grub_loop_init): New prototype.
38881 (grub_loop_fini): New prototype.
38882 * util/grub-emu.c (main): Initialize and de-initialize loopback
38883 support.
38884 * include/grub/disk.h (grub_disk_dev_id): Add
38885 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38886
38887 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38888
38889 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38890 function.
38891 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38892 (suspend_mod_SOURCES): New variable.
38893 (suspend_mod_CFLAGS): Likewise.
38894 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38895 New prototype.
38896 * commands/ieee1275/suspend.c: New file.
38897
38898 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38899
38900 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
38901 ((unused))' to `__attribute__ ((used))'.
38902 (GRUB_MOD_FINI): Likewise.
38903 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38904 * genmk.rb (PModule): Assign space to common symbols when linking
38905 modules.
38906
38907 2005-01-20 Marco Gerards <metgerards@student.han.nl>
38908
38909 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38910 `unsigned' arguments to `grub_size_t'.
38911 (grub_malloc): Likewise.
38912 (grub_realloc): Likewise.
38913 (grub_memalign): Likewise.
38914 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38915 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38916 * util/misc.c (grub_malloc): Likewise.
38917 (grub_realloc): Likewise.
38918 * kern/mm.c (get_header_from_pointer): Change the casts to
38919 `unsigned' into a cast to `grub_size_t'.
38920
38921 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38922 point to `currnode' when `currnode' is changed.
38923
38924 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38925 Schottelius <nico-linux@schottelius.org>.
38926
38927 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38928
38929 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38930 (note_path): Remove variable.
38931 (GRUB_IEEE1275_NOTE_NAME): New macro.
38932 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38933 (grub_ieee1275_note_hdr): New structure.
38934 (grub_ieee1275_note_desc): Likewise.
38935 (grub_ieee1275_note): Likewise.
38936 (load_note): Remove `dir' argument. All callers updated. Remove
38937 `note_img' and `path'. Do not load a file from `note_path'.
38938 Initialize a struct grub_ieee1275_note and write that to `out'.
38939 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38940
38941 2005-01-05 Marco Gerards <metgerards@student.han.nl>
38942
38943 * util/misc.c (grub_util_read_image): Revert last change. It
38944 called `grub_util_read_at', which seeks from the beginning of the
38945 file.
38946
38947 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38948
38949 * TODO: Add note about endianness in grub-mkimage.
38950 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38951 section.
38952 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38953 (grub_mkimage_SOURCES): New target.
38954 * include/grub/kernel.h (grub_start_addr): Remove variable.
38955 (grub_end_addr): Likewise.
38956 (grub_total_module_size): Likewise.
38957 (grub_kernel_image_size): Likewise.
38958 (GRUB_MODULE_MAGIC): New constant.
38959 (grub_module_info): New structure.
38960 (grub_arch_modules_addr): New prototype.
38961 (grub_get_end_addr): Remove prototype.
38962 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38963 * include/grub/powerpc/ieee1275/kernel.h: New file.
38964 * include/grub/util/misc.h (grub_util_get_fp_size): New
38965 prototype.
38966 (grub_util_read_at): Likewise.
38967 (grub_util_write_image_at): Likewise.
38968 * kern/main.c (grub_get_end_addr): Remove function.
38969 (grub_load_modules): Call grub_arch_modules_addr instead of using
38970 grub_end_addr. Look for a grub_module_info struct in memory. Use
38971 the grub_module_info fields instead of calling grub_get_end_addr
38972 as loop conditions. Move grub_add_unused_region code here.
38973 (grub_add_unused_region): Remove function.
38974 * kern/i386/pc/init.c: Include grub/cache.h.
38975 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38976 one call to add_mem_region.
38977 (grub_arch_modules_addr): New function.
38978 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38979 (grub_total_module_size): Likewise.
38980 Include grub/machine/kernel.h.
38981 (grub_arch_modules_addr): New function.
38982 * util/grub-emu.c (grub_end_addr): Remove variable.
38983 (grub_total_module_size): Likewise.
38984 (grub_arch_modules_addr): New function.
38985 * util/misc.c: Include unistd.h.
38986 (grub_util_get_fp_size): New function.
38987 (grub_util_read_at): Likewise.
38988 (grub_util_write_image_at): Likewise.
38989 (grub_util_read_image): Call grub_util_read_at.
38990 (grub_util_write_image): Call grub_util_write_image_at.
38991 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38992 additional memory in kernel_img for a struct grub_module_info.
38993 Fill in that grub_module_info.
38994 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38995
38996 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38997
38998 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38999 New function.
39000 * include/grub/powerpc/ieee1275/ieee1275.h
39001 (grub_ieee1275_milliseconds): New prototype.
39002 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39003 Change to 1000.
39004 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39005 grub_ieee1275_milliseconds.
39006
39007 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39008
39009 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39010 variable.
39011 (find_options): New function.
39012 (cmain): Call find_options.
39013 * include/grub/powerpc/ieee1275/ieee1275.h
39014 (grub_ieee1275_realmode): New extern variable.
39015 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39016 grub_map if grub_ieee1275_realmode is false.
39017
39018 2004-12-29 Marco Gerards <metgerards@student.han.nl>
39019
39020 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39021 lines are inserted and make it work like readline. Reported by
39022 Vincent Pelletier <subdino2004@yahoo.fr>.
39023
39024 2004-12-28 Marco Gerards <metgerards@student.han.nl>
39025
39026 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39027
39028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39029 `kern/powerpc/cache.S'.
39030
39031 2004-12-27 Marco Gerards <metgerards@student.han.nl>
39032
39033 * genmk.rb: Handle the `Program' class in the main loop. Written
39034 by Johan Rydberg <jrydberg@gnu.org>.
39035 (Program): New class.
39036 (programs): New variable.
39037 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39038 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39039 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39040 (help_arch): Function removed.
39041 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39042 `powerpc/libgcc.h' and `loader.h'.
39043 (pkgdata_PROGRAMS): New variable.
39044 (sbin_UTILITIES): Variable removed.
39045 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39046 (grubof_SOURCES): Variable re-defined so it only includes the
39047 core functionality.
39048 (grubof_CFLAGS): Remove `-DGRUBOF'.
39049 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39050 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39051 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39052 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39053 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39054 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39055 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39056 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39057 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39058 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39059 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39060 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39061 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39062 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39063 (pc_mod_CFLAGS): New variables.
39064 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39065 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39066 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39067 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39068 Moved from here...
39069 * include/grub/i386/pc/init.h (grub_os_area_addr)
39070 (rub_os_area_size): ... to here.
39071 * include/grub/powerpc/ieee1275/ieee1275.h
39072 (grub_ieee1275_entry_fn): Export symbol.
39073 * include/grub/powerpc/ieee1275/init.h: New file.
39074 * include/grub/powerpc/libgcc.h: Likewise.
39075 * include/grub/cache.h: Likewise.
39076 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39077 <hollis@penguinppc.org>.
39078 * kern/dl.c: Include <grub/cache.h>.
39079 (grub_dl_flush_cache): New function.
39080 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39081 for this module.
39082 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39083 (grub_console_init): Removed prototypes.
39084 (grub_machine_init): Don't initialize the modules anymore.
39085 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39086 static.
39087 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39088 Macro undef removed.
39089 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39090 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39091 relocation `R_PPC_REL32'. Return an error when the relocation is
39092 unknown.
39093 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39094 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39095 * util/misc.c (grub_arch_sync_caches): Likewise.
39096
39097 2004-12-19 Marco Gerards <metgerards@student.han.nl>
39098
39099 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39100 `symlist.c', add `grubof_symlist.c'.
39101 (symlist.c): Variable removed.
39102 (grubof_HEADERS): Variable added.
39103 (grubof_symlist.c): New target.
39104 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39105 `kernel_img_HEADERS'.
39106 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39107 * kern/powerpc/dl.c: New file.
39108 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39109 Function removed.
39110 (grub_arch_dl_relocate_symbols): Likewise.
39111 (grub_register_exported_symbols): Likewise.
39112
39113 2004-12-13 Marco Gerards <metgerards@student.han.nl>
39114
39115 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39116 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39117 to fail instead. Reported by Vincent Pelletier
39118 <subdino2004@yahoo.fr>.
39119
39120 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39121 it is not allocated. Reported by Vincent Pelletier
39122 <subdino2004@yahoo.fr>.
39123
39124 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39125 output so the output looks better.
39126
39127 2004-12-04 Marco Gerards <metgerards@student.han.nl>
39128
39129 Modulize the partition map support and add support for the amiga
39130 partition map.
39131
39132 * commands/ls.c: Include <grub/partition.h> instead of
39133 <grub/machine/partition.h>.
39134 * kern/disk.c: Likewise.
39135 * kern/rescue.c: Likewise.
39136 * loader/i386/pc/chainloader.c: Likewise.
39137 * normal/cmdline.c: Likewise.
39138 * kern/powerpc/ieee1275/init.c: Likewise.
39139 (grub_machine_init): Call `grub_pc_partition_map_init',
39140 `grub_amiga_partition_map_init' and
39141 `grub_apple_partition_map_init'.
39142 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39143 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39144 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39145 `partition.h' and `pc_partition.h'.
39146 (grub_setup_SOURCES): Remove
39147 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39148 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39149 (grub_emu_SOURCES): Likewise.
39150 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39151 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39152 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39154 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39155 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39156 (grubof_SOURCES): Likewise.
39157 * disk/i386/pc/partition.c: File removed.
39158 * disk/powerpc/ieee1275/partition.c: Likewise.
39159 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39160 * include/grub/i386/pc/partition.h: Likewise.
39161 * kern/partition.c: New file.
39162 * partmap/amiga.c: Likewise.
39163 * partmap/apple.c: Likewise.
39164 * partmap/pc.c: Likewise.
39165 * include/grub/partition.h: Likewise..
39166 * include/grub/pc_partition.h: Likewise.
39167 * util/grub-emu.c: Include <grub/partition.h> instead of
39168 <grub/machine/partition.h>.
39169 (main): Call `grub_pc_partition_map_init',
39170 `grub_amiga_partition_map_init' and
39171 `grub_apple_partition_map_init' and deinitialize afterwards.
39172 * util/i386/pc/biosdisk.c: Include `#include
39173 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39174 `<grub/machine/partition.h>'.
39175 * util/i386/pc/grub-setup.c: Likewise.
39176 * util/i386/pc/biosdisk.c: Likewise.
39177 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39178 partition information in case of a PC partition.
39179 * util/i386/pc/grub-setup.c: Include `#include
39180 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39181 `<grub/machine/partition.h>'.
39182 (setup): Only access the PC specific partition information in case
39183 of a PC partition.
39184
39185 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
39186
39187 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39188 (grub_longjmp): Likewise.
39189 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39190 20.
39191 * normal/powerpc/setjmp.S: New file.
39192 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39193 `normal/powerpc/setjmp.S'.
39194 (grubof_CFLAGS): Add `-DGRUBOF'.
39195 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39196 [GRUB_UTIL && !GRUBOF].
39197
39198 2004-11-16 Marco Gerards <metgerards@student.han.nl>
39199
39200 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39201 property named `name'. Correctly handle the error returned by
39202 `grub_ieee1275_finddevice' if a device can not be opened.
39203
39204 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39205
39206 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39207 `actual' for negativity.
39208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39209 kern/fshelp.c.
39210
39211 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39212
39213 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39214 (PAGE_OFFSET): New macro.
39215 (CRTC_ADDR_PORT): Likewise.
39216 (CRTC_DATA_PORT): Likewise.
39217 (START_ADDR_HIGH_REGISTER): Likewise.
39218 (START_ADDR_LOW_REGISTER): Likewise.
39219 (GRAPHICS_ADDR_PORT): Likewise.
39220 (GRAPHICS_DATA_PORT): Likewise.
39221 (READ_MAP_REGISTER): Likewise.
39222 (INPUT_STATUS1_REGISTER): Likewise.
39223 (INPUT_STATUS1_VERTR_BIT): Likewise.
39224 (page): New variable.
39225 (wait_vretrace): New function.
39226 (set_read_map): Likewise.
39227 (set_start_address): Likewise.
39228 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39229 the right page.
39230 (check_vga_mem): Take the page into account.
39231 (write_char): Likewise.
39232 (write_cursor): Likewise.
39233 (scroll_up): Likewise. Copy the page to the page that is not
39234 shown and switch between both pages.
39235 (grub_vga_putchar): Fix off by one error.
39236 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39237 account.
39238
39239 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39240
39241 Add support for iso9660 (including rockridge).
39242
39243 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39244 (iso9660_mod_SOURCES): New variable.
39245 (iso9660_mod_CFLAGS): Likewise.
39246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39247 * include/grub/fs.h (grub_iso9660_init): New prototype.
39248 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39249 * fs/iso9660.c: New file.
39250
39251 * include/grub/misc.h (grub_strncat): New prototype.
39252 * kern/misc.c (grub_strncat): New function.
39253
39254 * fs/hfs.c (grub_hfs_mount): Translate the error
39255 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39256 * fs/jfs.c (grub_jfs_mount): Likewise.
39257 * fs/ufs.c (grub_ufs_mount): Likewise.
39258
39259 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39260
39261 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39262 which initialized BAT registers.
39263 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39264 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39265 Move from here...
39266 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39267 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39268 ... to here.
39269 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39270 (grub_mapclaim): Likewise.
39271 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39272 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39273 hand.
39274
39275 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39276
39277 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39278 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39279 -ffreestanding and -msoft-float.
39280
39281 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39282
39283 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39284 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39285 set in grub_ieee1275_flags.
39286
39287 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39288
39289 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39290 prototype.
39291 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39292 grub_console_init first.
39293 Change the memory range used for grub_ieee1275_claim and
39294 grub_mm_init_region.
39295 Print an error message if the claim fails.
39296 Include <grub/misc.h>.
39297
39298 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39299
39300 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39301 Call grub_children_iterate for device nodes of type `scsi',
39302 `ide', or `ata'.
39303 (grub_ofdisk_open): Remove manual device alias resolution.
39304 Fix memory leak when device cannot be opened.
39305 * include/grub/powerpc/ieee1275/ieee1275.h
39306 (grub_children_iterate): New prototype.
39307 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39308 New function.
39309 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39310 Return -1 if args.size was -1.
39311
39312 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39313
39314 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39315 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39316 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39317 Open Firmware's memory for it; claim memory from _start to _end.
39318 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39319 (_end): New extern.
39320 (_start): Zero BSS from __bss_start to _end.
39321 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39322 New extern.
39323 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39324
39325 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39326
39327 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39328 -1 if args.base was -1.
39329
39330 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39331
39332 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39333 escape sequence instead of a literal ^L. Also call
39334 grub_ofconsole_gotoxy.
39335
39336 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39337
39338 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39339 void * arguments to grub_addr_t. All callers updated. Also make
39340 the `result' argument optional.
39341 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39342 All callers updated.
39343
39344 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39345
39346 * commands/ls.c (grub_ls_list_files): Use the string following the
39347 initial ')', if present, as the filesystem path.
39348 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39349
39350 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39351
39352 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39353
39354 Make the source code of the menu interface more readable.
39355
39356 * normal/menu.c: Include grub/mm.h.
39357 (TERM_WIDTH): New macro.
39358 (TERM_HEIGHT): Likewise.
39359 (TERM_INFO_HEIGHT): Likewise.
39360 (TERM_MARGIN): Likewise.
39361 (TERM_SCROLL_WIDTH): Likewise.
39362 (TERM_TOP_BORDER_Y): Likewise.
39363 (TERM_LEFT_BORDER_X): Likewise.
39364 (TERM_BORDER_WIDTH): Likewise.
39365 (TERM_MESSAGE_HEIGHT): Likewise.
39366 (TERM_BORDER_HEIGHT): Likewise.
39367 (TERM_NUM_ENTRIES): Likewise.
39368 (TERM_FIRST_ENTRY_Y): Likewise.
39369 (TERM_ENTRY_WIDTH): Likewise.
39370 (TERM_CURSOR_X): Likewise.
39371 (draw_border): Use macros instead of magic numbers.
39372 (print_entry): Likewise.
39373 (print_entries): Likewise.
39374 (run_menu): Likewise. Also, handle the key 'e'.
39375 (run_menu_entry): Ignore empty command lines.
39376 (print_message): Added a new argument EDIT. If EDIT is true,
39377 print a different message.
39378 (init_page): Likewise.
39379 (edit_menu_entry): New function. Not implemented yet.
39380
39381 2004-09-17 Marco Gerards <metgerards@student.han.nl>
39382
39383 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39384 can be loaded from normal mode.
39385
39386 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39387 `multiboot.mod'.
39388 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39389 (multiboot_mod_CFLAGS): New variables.
39390 * loader/i386/pc/linux_normal.c: New file.
39391 * loader/i386/pc/multiboot_normal.c: Likewise.
39392
39393 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39394 attribute `unused'.
39395
39396 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39397 `fdiro' to read the mode information from instead of `diro'.
39398
39399 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39400 looking up a symlink.
39401
39402 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39403 macro.
39404 * normal/command.c (grub_command_execute): Don't parse the
39405 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39406 flags of the command.
39407
39408 * normal/menu.c (grub_menu_run): Fix typo.
39409
39410 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39411
39412 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39413
39414 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39415 `y + 1' instead of `y - 1'.
39416
39417 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
39418
39419 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39420
39421 From Hollis Blanchard <hollis@penguinppc.org>:
39422 * kern/misc.c (memmove): New alias for grub_memmove.
39423 (memcmp): New alias for grub_memcmp.
39424 (memset): New alias for grub_memset.
39425 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39426 Change "int handle" to "grub_ieee1275_phandle_t handle".
39427 * include/grub/powerpc/ieee1275/ieee1275.h
39428 (grub_ieee1275_get_property): Likewise.
39429
39430 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39431
39432 Added normal mode command `chainloader' as module chain.mod, which
39433 depends on normal.mod and _chain.mod.
39434
39435 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39436 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39437 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39438 Deleted prototype.
39439 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39440 but arguments parsing moved to ...
39441 (grub_chainloader_cmd): ... here. New function.
39442 * include/grub/i386/pc/chainloader.h: New file.
39443 * loader/i386/pc/chainloader_normal.c: Likewise.
39444
39445 2004-09-11 Marco Gerards <metgerards@student.han.nl>
39446
39447 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39448 (grub_mkimage_LDFLAGS): Likewise.
39449 (grub_emu_SOURCES): Likewise.
39450 (kernel_img_HEADERS): Added fshelp.h.
39451 * fs/ext2.c: Include <grub/fshelp.h>.
39452 (FILETYPE_REG): New macro.
39453 (FILETYPE_INO_REG): Likewise.
39454 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39455 Changed all users.
39456 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39457 all users.
39458 (grub_fshelp_node): New struct.
39459 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39460 to a pointer.
39461 (grub_ext2_get_file_block): Removed function.
39462 (grub_ext2_read_block): New function.
39463 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39464 This function was written.
39465 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39466 (grub_ext2_find_file): Removed function.
39467 (grub_ext2_read_symlink): New function.
39468 (grub_ext2_iterate_dir): Likewise.
39469 (grub_ext2_open): Rewritten.
39470 (grub_ext2_dir): Rewritten.
39471 * include/grub/fshelp.h: New file.
39472 * fs/fshelp.c: Likewise.
39473
39474 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39475
39476 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39477 (print_message): Add a missing newline.
39478 (run_menu): Added timeout support.
39479 (run_menu_entry): New local function.
39480 (grub_menu_run): Added support for booting.
39481
39482 * kern/loader.c (grub_loader_is_loaded): New function.
39483
39484 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39485 (grub_get_rtc): Exported.
39486
39487 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39488 (grub_get_rtc): Exported.
39489
39490 * include/grub/normal.h (struct grub_command_list): Remove
39491 constant from the member `command'.
39492
39493 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39494
39495 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39496
39497 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39498
39499 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39500
39501 Add support for the JFS filesystem.
39502
39503 * fs/jfs.c: New file.
39504 * include/grub/fs.h (grub_jfs_init): New prototype.
39505 (grub_jfs_fini): New prototype.
39506 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39507 (grub_emu_SOURCES): Likewise.
39508 (pkgdata_MODULES): Add jfs.mod.
39509 (jfs_mod_SOURCES): New variable.
39510 (jfs_mod_CFLAGS): Likewise.
39511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39512 (grubof_SOURCES): Likewise.
39513 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39514
39515 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39516 endian to the host endian.
39517 (grub_fat_utf16_to_utf8): Move function from there...
39518 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39519 the endianness of the source string anymore.
39520 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39521
39522 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39523
39524 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39525 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39526 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39527 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39528
39529 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39530 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39531 for `node_found' and `it_dir'.
39532 (grub_hfs_dir): Add prototype for `dir_hook'.
39533
39534 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39535 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39536 and `indir32' to silence a gcc warning.
39537
39538 * include/grub/fs.h (grub_hfs_init): New prototype.
39539 (grub_hfs_fini): Likewise.
39540
39541
39542 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39543
39544 Each disk device has its own id now. This is useful to make use
39545 of multiple disk devices.
39546
39547 * include/grub/disk.h (grub_disk_dev_id): New enum.
39548 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39549 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39550
39551 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39552 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39553
39554 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39555 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39556
39557 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39558 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39559
39560 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39561 "id" which is used by the cache manager.
39562
39563 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39564 of just "GRUB".
39565
39566 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39567
39568 * fs/hfs.c: New file.
39569 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39570 (grub_emu_SOURCES): Likewise.
39571 (pkgdata_MODULES): Add hfs.mod.
39572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39573 (grubof_SOURCES): Likewise.
39574 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39575
39576 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39577 * kern/misc.c (grub_strncasecmp): Add function.
39578
39579 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39580
39581 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39582 with parentheses.
39583
39584 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39585 (grub_ext2_dir): In case the directory entry type is unknown, read
39586 it from the inode.
39587
39588 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39589
39590 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39591 grub_load_linux instead of grub_rescue_cmd_linux as second
39592 argument of grub_rescue_register_command.
39593
39594 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39595
39596 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39597
39598 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39599 function.
39600 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39601 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39602 `loader/powerpc/ieee1275/linux.c',
39603 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39604 * include/grub/powerpc/ieee1275/ieee1275.h
39605 (grub_ieee1275_release): New prototype.
39606 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39607 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39608 normal, boot, linux and linux_normal.
39609 * loader/powerpc/ieee1275/linux.c: New file.
39610 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39611
39612 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39613
39614 * normal/arg.c (grub_arg_parse): Correct error handling after
39615 reallocating the argumentlist (check if `argl' is not null instead
39616 of checking if `args' is not null).
39617 * kern/mm.c (grub_realloc): Return the same pointer when using the
39618 same region, instead of returning the header address.
39619
39620 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39621
39622 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39623 one block instead of two when looking for the initial partition.
39624 (grub_partition_probe): Initialize the local variable `p' with 0.
39625 Use base 10 for the grub_strtoul call.
39626 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39627 need for one local variable.
39628 (grub_strtoul): Don't add the new value to `num', instead of that
39629 just assign it.
39630
39631 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39632
39633 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39634 (pxeboot_img_SOURCES): New variable.
39635 (pxeboot_img_ASFLAGS): Likewise.
39636 (pxeboot_img_LDFLAGS): Likewise.
39637 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39638 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39639 <lode_leroy@hotmail.com>.
39640
39641 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39642
39643 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39644 there was no input.
39645
39646 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39647
39648 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39649 the history buffer logic.
39650
39651 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39652
39653 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39654 (FILETYPE_INO_SYMLINK): New macros.
39655 (grub_ext2_find_file): Check if the node is a directory using the
39656 inode stat information instead of using the filetype in the
39657 dirent. Exclude the first character of an absolute symlink.
39658 (grub_ext2_dir): Mask out the filetype part of the mode member of
39659 the inode.
39660
39661 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39662
39663 Add support for UFS version 1 and 2. Add support for the minix
39664 filesystem version 1 and 2, both the variants with 14 and 30 long
39665 filenames.
39666
39667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39668 fs/minix.c.
39669 (grub_emu_SOURCES): Likewise.
39670 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39671 (ufs_mod_SOURCES): New variable.
39672 (ufs_mod_CFLAGS): Likewise.
39673 (minix_mod_SOURCES): Likewise.
39674 (minix_mod_CFLAGS): Likewise.
39675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39676 fs/minix.c.
39677 (grubof_SOURCES): Likewise.
39678 * fs/ufs.c: New file.
39679 * fs/minix.c: New file.
39680 * include/grub/fs.h (grub_ufs_init): New prototype.
39681 (grub_ufs_fini): Likewise.
39682 (grub_minix_init): Likewise.
39683 (grub_minix_fini): Likewise.
39684 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39685 minix fs.
39686
39687 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39688
39689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39690 commands/ls.c, commands/terminal.c, commands/boot.c,
39691 commands/cmp.c and commands/cat.c.
39692 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39693
39694 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39695 "env.h"
39696
39697 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39698
39699 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39700 and grub_, respectively. Because the conversion is trivial and
39701 mechanical, I omit the details here. Please refer to the CVS
39702 if you need more information.
39703
39704 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39705
39706 * include/pupa: Renamed to ...
39707 * include/grub: ... this.
39708 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39709 * util/i386/pc/grub-mkimage.c: ... this.
39710 * util/i386/pc/pupa-setup.c: Renamed to ...
39711 * util/i386/pc/grub-setup.c: ... this.
39712 * util/pupa-emu.c: Renamed to ...
39713 * util/grub-emu.c: ... this.
39714
39715 2004-03-29 Marco Gerards <metgerards@student.han.nl>
39716
39717 Add support for the newworld apple macintosh (PPC). This has been
39718 tested on the powerbook 2000 only. It only adds support for
39719 generic ieee1275 functions, console and disk support. This should
39720 be easy to port to other architectures with support for Open
39721 Firmware.
39722
39723 * configure.ac: Accept the powerpc as host_cpu. In the case of
39724 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39725 specific tests are only executed while building for the i386.
39726 Inverse test for crosscompile.
39727 * genmk.rb (Utility): Allow assembler files.
39728 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39729 * conf/powerpc-ieee1275.rmk: New file.
39730 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39731 * disk/powerpc/ieee1275/partition.c: Likewise.
39732 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39733 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39734 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39735 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39736 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39737 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39738 * include/pupa/powerpc/ieee1275/loader.h
39739 * include/pupa/powerpc/setjmp.h: Likewise.
39740 * include/pupa/powerpc/types.h: Likewise.
39741 * kern/powerpc/ieee1275/init.c: Likewise.
39742 * kern/powerpc/ieee1275/openfw.c: Likewise.
39743 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39744
39745 These files were written by Johan Rydberg
39746 (jrydberg@night.trouble.net) and I only modified them slightly.
39747
39748 * boot/powerpc/ieee1275/cmain.c: New file.
39749 * boot/powerpc/ieee1275/crt0.S: Likewise.
39750 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39751 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39752
39753 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39754
39755 * Makefile.in: Update copyright.
39756 * genmodsrc.sh: Likewise.
39757 * gensymlist.sh: Likewise.
39758 * term/i386/pc/vga.c: Indent correctly.
39759
39760 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39761 bugreporting address.
39762 * util/i386/pc/pupa-setup.c (usage): Likewise,
39763 (main): Call pupa_ext2_init and pupa_ext2_fini.
39764
39765 * fs/fat.c (log2): Renamed to ...
39766 (fat_log2): ... this.
39767 All callers changed.
39768 * kern/misc.c (memcpy): Alias to pupa_memmove.
39769 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39770 lvalue cast.
39771 * util/console.c (pupa_ncurses_fini): Return 0.
39772
39773 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39774 Move fail label here.
39775 [__GNU__]: Don't warn when using stat.
39776 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39777 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39778 long int. Use strtol instead of strtoul.
39779
39780 2004-03-14 Marco Gerards <metgerards@student.han.nl>
39781
39782 * commands/boot.c: New file.
39783 * commands/cat.c: Likewise.
39784 * commands/cmp.c: Likewise.
39785 * commands/ls.c: Likewise.
39786 * commands/terminal.c: Likewise.
39787 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39788 (pupa_register_command): Changed interface to match the new
39789 argument parser.
39790 (pupa_command_execute): Changed (almost rewritten) so it uses
39791 pupa_split_command. Added support for setting variables using the
39792 syntax `foo=bar'.
39793 (rescue_command): Changed to work with the new argument parser.
39794 (terminal_command): Moved from here to commands/terminal.c.
39795 (set_command): New function.
39796 (unset_command): New function.
39797 (insmod_command): New function.
39798 (rmmod_command): New function.
39799 (lsmod_command): New function.
39800 (pupa_command_init): Don't initialize the command terminal
39801 anymore. Initialize the commands set, unset, insmod, rmmod and
39802 lsmod.
39803 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39804 (kernel_img_HEADERS): Add arg.h and env.h.
39805 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39806 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39807 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39808 normal/arg.c.
39809 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39810 terminal.mod.
39811 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39812 (boot_mod_SOURCES): New variable.
39813 (terminal_mod_SOURCES): Likewise.
39814 (ls_mod_SOURCES): Likewise.
39815 (cmp_mod_SOURCES): Likewise.
39816 (cat_mod_SOURCES): Likewise.
39817
39818 * normal/arg.c: New file.
39819 * kern/env.c: Likewise.
39820 * include/pupa/arg.h: Likewise.
39821 * include/pupa/env.h: Likewise.
39822 * font/manager.c (font_command): Changed to match argument parsing
39823 interface changes.
39824 (PUPA_MOD_INIT): Likewise.
39825 * hello/hello.c (pupa_cmd_hello): Likewise.
39826 (PUPA_MOD_INIT): Likewise.
39827 * include/pupa/disk.h: Include <pupa/device.h>.
39828 (pupa_print_partinfo): New prototype.
39829 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39830 (pupa_dl_get_prefix): Likewise.
39831 * include/pupa/misc.h: Include <pupa/err.h>.
39832 (pupa_isgraph): New prototype.
39833 (pupa_isdigit): Likewise.
39834 (pupa_split_cmdline): Likewise.
39835 * include/pupa/normal.h: Include <pupa/arg.h>.
39836 (pupa_command): Changed the prototype of the member `func' to
39837 match the argument parsing interface. Added member `options'.
39838 (pupa_register_command): Updated to match function.
39839 (pupa_arg_parse): New prototype.
39840 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39841 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39842 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39843 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39844 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39845 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39846 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39847 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39848 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39849 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39850 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39851 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39852 * kern/disk.c: Include <pupa/file.h>.
39853 (pupa_print_partinfo): New function.
39854 * kern/dl.c: Include <pupa/env.h>.
39855 (pupa_dl_dir): Variable removed.
39856 (pupa_dl_load): Use the environment variable `prefix' instead of
39857 the variable pupa_dl_dir.
39858 (pupa_dl_set_prefix): Function removed.
39859 (pupa_dl_get_prefix): Likewise.
39860 * kern/i386/pc/init.c: Include <pupa/env.h>.
39861 (pupa_machine_init): Use the environment variable `prefix' instead of
39862 using pupa_dl_set_prefix to set the prefix.
39863 * kern/main.c: Include <pupa/env.h>.
39864 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39865 using pupa_dl_get_prefix to get the prefix.
39866 * kern/misc.c: Include <pupa/env.h>.
39867 (pupa_isdigit): New function.
39868 (pupa_isgraph): Likewise.
39869 (pupa_ftoa): Likewise.
39870 (pupa_vsprintf): Added support for printing values of the type
39871 `double'. Make it possible to format variable output when using
39872 formatting like `%1.2%f'.
39873 (pupa_split_cmdline): New function.
39874 * kern/rescue.c: Include <pupa/env.h>.
39875 (next_word): Removed function.
39876 (pupa_rescue_cmd_prefix): Likewise.
39877 (pupa_rescue_cmd_set): New function.
39878 (pupa_rescue_cmd_unset): New function.
39879 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39880 split the command line instead of splitting it here. Added
39881 support for setting variables using the syntax `foo=bar'. Don't
39882 initialize the prefix command anymore. Initialized the set and
39883 unset commands.
39884 * normal/cmdline.c: Include <pupa/env.h>.
39885 (pupa_tab_complete): Added prototypes for print_simple_completion,
39886 print_partition_completion, add_completion, iterate_commands,
39887 iterate_dev, iterate_part and iterate_dir. Moved code to print
39888 partition information from here to kern/disk.c.
39889 (pupa_cmdline_run): Don't check if the function exists anymore.
39890 * normal/main.c: Include <pupa/env.h>.
39891 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39892 instead of using pupa_dl_get_prefix to get the prefix.
39893 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39894 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39895 warning.
39896 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39897 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39898 ((unused))' to silence a gcc warning.
39899 (pupa_vga_setcolor): Likewise.
39900 (debug_command): Changed to match argument parsing
39901 interface changes.
39902 * util/pupa-emu.c: Include <pupa/env.h>.
39903 (options): Added 0's for unused fields to silence a gcc warning.
39904 (argp): Likewise.
39905 (main): Use the environment variable `prefix' instead of using
39906 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39907 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39908 and terminal.
39909
39910 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39911 * util/misc.c: Include <malloc.h>.
39912 (pupa_malloc): Rewritten so errors are correctly reported.
39913 (pupa_realloc): Likewise.
39914 (pupa_memalign): Likewise.
39915 (pupa_mm_init_region): Declare unused variables with
39916 `__attribute__ ((unused))' to silence a gcc warning.
39917 * normal/i386/setjmp.S: Remove tab at the end of the file to
39918 silence a gcc warning.
39919 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39920 variables with `__attribute__ ((unused))' to silence a gcc
39921 warning.
39922 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39923 local variable i unsigned to silence a gcc warning.
39924
39925 * kern/term.c: Include <pupa/misc.h>.
39926 (pupa_more_lines): New variable.
39927 (pupa_more): Likewise.
39928 (pupa_putcode): When the pager is active pause at the end of every
39929 screen.
39930 (pupa_set_more): New function.
39931 * include/pupa/term.h (pupa_set_more): New prototype.
39932
39933
39934 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39935
39936 Now this project is GRUB 2 rather than PUPA. The location of
39937 the CVS repository was moved to GRUB's.
39938
39939 * configure.ac: Use bug-grub as the reporting address.
39940 Use GRUB instead of PUPA.
39941 Change the version number to 1.90.
39942
39943 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39944
39945 * genkernsyms.sh: Updated copyright information.
39946 * genmk.rb: Likewise.
39947 * genmodsrc.sh: Likewise.
39948 * gensymlist.sh: Likewise.
39949 * boot/i386/pc/boot.S: Likewise.
39950 * boot/i386/pc/diskboot.S: Likewise.
39951 * disk/i386/pc/biosdisk.c: Likewise.
39952 * disk/i386/pc/partition.c: Likewise.
39953 * font/manager.c: Likewise.
39954 * fs/ext2.c: Likewise.
39955 * fs/fat.c: Likewise.
39956 * include/pupa/boot.h: Likewise.
39957 * include/pupa/device.h: Likewise.
39958 * include/pupa/disk.h: Likewise.
39959 * include/pupa/dl.h: Likewise.
39960 * include/pupa/elf.h: Likewise.
39961 * include/pupa/err.h: Likewise.
39962 * include/pupa/file.h: Likewise.
39963 * include/pupa/font.h: Likewise.
39964 * include/pupa/fs.h: Likewise.
39965 * include/pupa/kernel.h: Likewise.
39966 * include/pupa/loader.h: Likewise.
39967 * include/pupa/misc.h: Likewise.
39968 * include/pupa/mm.h: Likewise.
39969 * include/pupa/net.h: Likewise.
39970 * include/pupa/normal.h: Likewise.
39971 * include/pupa/rescue.h: Likewise.
39972 * include/pupa/setjmp.h: Likewise.
39973 * include/pupa/symbol.h: Likewise.
39974 * include/pupa/term.h: Likewise.
39975 * include/pupa/types.h: Likewise.
39976 * include/pupa/i386/setjmp.h: Likewise.
39977 * include/pupa/i386/types.h: Likewise.
39978 * include/pupa/i386/pc/biosdisk.h: Likewise.
39979 * include/pupa/i386/pc/boot.h: Likewise.
39980 * include/pupa/i386/pc/console.h: Likewise.
39981 * include/pupa/i386/pc/init.h: Likewise.
39982 * include/pupa/i386/pc/kernel.h: Likewise.
39983 * include/pupa/i386/pc/linux.h: Likewise.
39984 * include/pupa/i386/pc/loader.h: Likewise.
39985 * include/pupa/i386/pc/memory.h: Likewise.
39986 * include/pupa/i386/pc/multiboot.h: Likewise.
39987 * include/pupa/i386/pc/partition.h: Likewise.
39988 * include/pupa/i386/pc/time.h: Likewise.
39989 * include/pupa/i386/pc/vga.h: Likewise.
39990 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39991 * include/pupa/util/getroot.h: Likewise.
39992 * include/pupa/util/misc.h: Likewise.
39993 * include/pupa/util/resolve.h: Likewise.
39994 * kern/device.c: Likewise.
39995 * kern/disk.c: Likewise.
39996 * kern/dl.c: Likewise.
39997 * kern/err.c: Likewise.
39998 * kern/file.c: Likewise.
39999 * kern/fs.c: Likewise.
40000 * kern/loader.c: Likewise.
40001 * kern/main.c: Likewise.
40002 * kern/misc.c: Likewise.
40003 * kern/mm.c: Likewise.
40004 * kern/rescue.c: Likewise.
40005 * kern/term.c: Likewise.
40006 * kern/i386/dl.c: Likewise.
40007 * kern/i386/pc/init.c: Likewise.
40008 * kern/i386/pc/lzo1x.S: Likewise.
40009 * kern/i386/pc/startup.S: Likewise.
40010 * loader/i386/pc/chainloader.c: Likewise.
40011 * loader/i386/pc/linux.c: Likewise.
40012 * loader/i386/pc/multiboot.c: Likewise.
40013 * normal/cmdline.c: Likewise.
40014 * normal/command.c: Likewise.
40015 * normal/main.c: Likewise.
40016 * normal/menu.c: Likewise.
40017 * normal/i386/setjmp.S: Likewise.
40018 * term/i386/pc/console.c: Likewise.
40019 * term/i386/pc/vga.c: Likewise.
40020 * util/console.c: Likewise.
40021 * util/genmoddep.c: Likewise.
40022 * util/misc.c: Likewise.
40023 * util/pupa-emu.c: Likewise.
40024 * util/resolve.c: Likewise.
40025 * util/unifont2pff.rb: Likewise.
40026 * util/i386/pc/biosdisk.c: Likewise.
40027 * util/i386/pc/getroot.c: Likewise.
40028 * util/i386/pc/pupa-mkimage.c: Likewise.
40029 * util/i386/pc/pupa-setup.c: Likewise.
40030
40031 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40032
40033 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40034 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40035 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40036 reading and reset it after reading.
40037 (pupa_ext2_close): Return PUPA_ERR_NONE.
40038
40039 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40040 Correct value.
40041 (struct linux_kernel_header): Add kernel_version and
40042 initrd_addr_max.
40043 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40044 pupa_file_read succeeds.
40045 (pupa_rescue_cmd_initrd): Implement.
40046
40047 2003-12-03 Marco Gerards <metgerards@student.han.nl>
40048
40049 * fs/ext2.c (pupa_ext2_label): New function.
40050 (pupa_ext2_fs): Added label.
40051 * fs/fat.c (pupa_fat_label): New function.
40052 (pupa_fat_fs): Added label.
40053 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40054
40055 * kern/misc.c (pupa_strndup): New function.
40056 * include/pupa/misc.h (pupa_strndup): New prototype.
40057
40058 * include/pupa/normal.h: Include <pupa/err.h>.
40059 (pupa_set_history): New prototype.
40060 (pupa_iterate_commands): New prototype.
40061 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40062 <pupa/disk.h>, <pupa/file.h>.
40063 (hist_size): New variable.
40064 (hist_lines): Likewise.
40065 (hist_end): Likewise.
40066 (hist_used): Likewise.
40067 (pupa_set_history): New function.
40068 (pupa_history_get): Likewise.
40069 (pupa_history_add): Likewise.
40070 (pupa_history_replace): Likewise.
40071 (pupa_tab_complete): Likewise.
40072 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40073 completion shows partitionnames while completing partitions, this
40074 feature was suggested by Jeff Bailey.
40075 * normal/command.c (pupa_iterate_commands): New function.
40076 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40077 (pupa_normal_init): Initialize history buffer.
40078 (PUPA_MOD_INIT): Likewise.
40079 (pupa_normal_fini): Free the history buffer.
40080 (PUPA_MOD_FINI): Likewise.
40081
40082 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40083 key.
40084
40085 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40086 * configure.ac [i386]: Check for regparam bug.
40087 (NESTED_FUNC_ATTR) [! i386]: Defined.
40088
40089 2003-11-17 Marco Gerards <metgerards@student.han.nl>
40090
40091 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40092 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40093 (pupa_emu_SOURCES): New variable.
40094 (pupa_emu_LDFLAGS): Likewise.
40095 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40096 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40097 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40098 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40099 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40100 (pupa_jmp_buf): New typedef.
40101 (pupa_setjmp) [PUPA_UTIL]: New macro.
40102 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40103 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40104 (pupa_refresh): New prototype.
40105 * include/pupa/util/getroot.h: New file.
40106 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40107 it.
40108 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40109 (pupa_rescue_cmd_cat): Likewise.
40110 (pupa_rescue_cmd_ls): Likewise.
40111 (pupa_rescue_cmd_testload): Likewise.
40112 (pupa_rescue_cmd_lsmod): Likewise.
40113 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40114 * normal/menu.c (run_menu): Likewise.
40115 * kern/term.c (pupa_cls): Likewise.
40116 (pupa_refresh): New function.
40117 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40118 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40119 * util/console.c: New file.
40120
40121 * util/i386/pc/getroot.c: New file.
40122 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40123 (pupa_putchar): New function.
40124 (pupa_refresh): Likewise.
40125 (xgetcwd): Function moved to ...
40126 (strip_extra_slashes): Likewise.
40127 (get_prefix): Likewise.
40128 * util/i386/pc/getroot.c: ... here.
40129 (find_root_device): Function moved and renamed to...
40130 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40131 Changed all callers.
40132 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40133 and renamed to...
40134 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40135 Changed all callers.
40136 * util/misc.c (pupa_memalign): New function.
40137 (pupa_mm_init_region): Likewise.
40138 (pupa_register_exported_symbols): Likewise.
40139 (pupa_putchar): Function removed.
40140 * util/pupa-emu.c: New file.
40141
40142 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40143
40144 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40145 (_multiboot_mod_SOURCES): New variable.
40146 (_multiboot_mod_CFLAGS): Likewise.
40147 * loader/i386/pc/multiboot.c: New file.
40148 * include/pupa/i386/pc/multiboot.h: Likewise.
40149 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40150 (pupa_multiboot_real_boot): New function.
40151 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40152 (pupa_multiboot_real_boot): New prototype.
40153 (pupa_rescue_cmd_multiboot): Likewise
40154 (pupa_rescue_cmd_module): Likewise.
40155
40156 * kern/loader.c (pupa_loader_set): Continue when
40157 pupa_loader_unload_func() fails.
40158 (pupa_loader_unset): New function.
40159 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40160
40161 * kern/misc.c (pupa_stpcpy): New function.
40162 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40163
40164 2003-11-12 Marco Gerards <metgerards@student.han.nl>
40165
40166 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40167 for available extensions.
40168
40169 * include/pupa/i386/pc/time.h: New file.
40170 * kern/disk.c: Include <pupa/machine/time.h>.
40171 (PUPA_CACHE_TIMEOUT): New macro.
40172 (pupa_last_time): New variable.
40173 (pupa_disk_open): Flush the cache when there was a timeout.
40174 (pupa_disk_close): Reset the timer.
40175 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40176 pupa_currticks.
40177 * util/misc.c: Include <sys/times.h>
40178 (pupa_get_rtc): New function.
40179
40180 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40181
40182 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40183 as blocks.
40184 (pupa_ext2_get_file_block): Use blocks member.
40185
40186 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40187 first block. Return -1 instead of pupa_errno on error.
40188
40189 2003-10-27 Marco Gerards <metgerards@student.han.nl>
40190
40191 * README: In the pupa-mkimage example use _chain instead of chain
40192 and ext2 instead of fat.
40193 * TODO: Replace ext2fs with jfs as an example. Add an item for
40194 adding journal playback for ext2fs.
40195 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40196 (pkgdata_MODULES): Added ext2.mod.
40197 (ext2_mod_SOURCES): New variable.
40198 (ext2_mod_CFLAGS): Likewise.
40199 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40200 * include/pupa/misc.h (pupa_strncpy): New prototype.
40201 (pupa_strcat): Likewise.
40202 (pupa_strncmp): Likewise.
40203 * kern/misc.c (pupa_strcat): Enable function.
40204 (pupa_strncpy): New function.
40205 (pupa_strncmp): Likewise.
40206 * fs/ext2.c: New file.
40207
40208 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40209 when the read failed before retrying.
40210 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40211 (_FILE_OFFSET_BITS): Likewise.
40212 * configure.ac: Added AC_SYS_LARGEFILE.
40213
40214 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40215
40216 * genmk.rb (PModule#rule): Make sure to get only symbol names
40217 from the output of nm.
40218 Reported by Robert Millan <rmh.grub@aybabtu.com>.
40219
40220 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40221
40222 I forgot to check in these changes for a long time. This adds
40223 incomplete support for VGA console, and this is still very
40224 buggy. Also, a lot of consideration is required for I18N,
40225 UNICODE, and VGA font issues. Therefore, assume that this is
40226 such that "better than nothing".
40227
40228 * font/manager.c: New file.
40229 * include/pupa/font.h: Likewise.
40230 * include/pupa/i386/pc/vga.h: Likewise.
40231 * term/i386/pc/vga.c: Likewise.
40232 * util/unifont2pff.rb: Likewise.
40233
40234 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40235 (pkgdata_MODULES): Added vga.mod and font.mod.
40236 (vga_mod_SOURCES): New variables.
40237 (vga_mod_CFLAGS): Likewise.
40238 (font_mod_SOURCES): Likewise.
40239 (font_mod_CFLAGS): Likewise.
40240
40241 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40242
40243 * include/pupa/term.h: Include pupa/err.h.
40244 (struct pupa_term): Added init and fini.
40245 Changed the argument of putchar to pupa_uint32_t.
40246
40247 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40248 (pupa_console_real_putchar): New prototype.
40249 (pupa_console_putchar): Removed.
40250 (pupa_console_checkkey): Exported.
40251 (pupa_console_getkey): Likewise.
40252
40253 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40254 characters.
40255
40256 * kern/term.c (pupa_term_set_current): Rewritten.
40257 (pupa_putchar): Likewise.
40258 (pupa_putcode): New function.
40259
40260 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40261 (pupa_console_real_putchar): ... this.
40262 (pupa_vga_set_mode): New function.
40263 (pupa_vga_get_font): Likewise.
40264
40265 * normal/command.c: Include pupa/term.h.
40266 (terminal_command): New function.
40267 (pupa_command_init): Register the command "terminal".
40268
40269 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40270 (DISP_UP): Likewise.
40271 (DISP_RIGHT): Likewise.
40272 (DISP_DOWN): Likewise.
40273 (DISP_HLINE): Likewise.
40274 (DISP_VLINE): Likewise.
40275 (DISP_UL): Likewise.
40276 (DISP_UR): Likewise.
40277 (DISP_LL): Likewise.
40278 (DISP_LR): Likewise.
40279
40280 * term/i386/pc/console.c (pupa_console_putchar): New function.
40281
40282 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40283
40284 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40285 FIX. Reverse the path_list.
40286
40287 * include/pupa/normal.h: Export pupa_register_command and
40288 pupa_unregister_command.
40289
40290 * hello/hello.c (pupa_cmd_hello): New module.
40291 * conf/i386-pc.rmk: Added hello.mod.
40292
40293 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40294
40295 * kern/i386/pc/lzo1x.S: New file.
40296
40297 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40298 (compress_kernel): New variable.
40299 (generate_image): Heavily modified to support compressing a
40300 large part of the core image.
40301
40302 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40303 leak.
40304 (pupa_util_load_image): New function.
40305
40306 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40307 (pupa_compressed_size): New variable.
40308 (codestart): Enable Gate A20 here.
40309 Decompress the compressed part of the core image.
40310 Rearrange the code to put functions and variables which are
40311 required for initialization in the non-compressed part.
40312 Include lzo1x.S.
40313
40314 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40315 here.
40316
40317 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40318
40319 * include/pupa/i386/pc/kernel.h
40320 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40321 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40322 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40323 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40324 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40325
40326 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40327
40328 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40329 (Utility#rule): Likewise.
40330
40331 * configure.ac: Check if LZO is available.
40332
40333 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40334
40335 * include/pupa/normal.h: New file.
40336 * include/pupa/setjmp.h: Likewise.
40337 * include/pupa/i386/setjmp.h: Likewise.
40338 * normal/cmdline.c: Likewise.
40339 * normal/command.c: Likewise.
40340 * normal/main.c: Likewise.
40341 * normal/menu.c: Likewise.
40342 * normal/i386/setjmp.S: Likewise.
40343
40344 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40345 (pupa_rescue_cmd_initrd): Likewise.
40346
40347 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40348 Likewise.
40349
40350 * kern/i386/pc/startup.S (translation_table): New variable.
40351 (translate_keycode): New function.
40352 (pupa_console_getkey): Call translate_keycode.
40353
40354 * kern/rescue.c (attempt_normal_mode): New function.
40355 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40356 it failed, print a message.
40357
40358 * kern/mm.c (pupa_real_malloc): Print more information when a
40359 free magic is broken.
40360 (pupa_free): If the first free header is not free actually, set
40361 it to P.
40362
40363 * kern/main.c (pupa_load_normal_mode): Just load the module
40364 "normal".
40365 (pupa_main): Don't print the message
40366 "Entering into rescue mode..." here.
40367
40368 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40369 Declared.
40370 (pupa_rescue_cmd_initrd): Likewise.
40371 (pupa_rescue_cmd_initrd): Likewise.
40372
40373 * include/pupa/symbol.h (FUNCTION): Specify the type.
40374 (VARIABLE): Likewise.
40375
40376 * include/pupa/err.h (pupa_err_t): Added
40377 PUPA_ERR_UNKNOWN_COMMAND.
40378
40379 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40380 (pupa_dl_get_prefix): Likewise.
40381
40382 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40383 Added _chain.mod and _linux.mod instead of chain.mod and
40384 linux.mod.
40385 (chain_mod_SOURCES): Renamed to ...
40386 (_chain_mod_SOURCES): ... this.
40387 (chain_mod_CFLAGS): Renamed to ...
40388 (_chain_mod_CFLAGS): ... this.
40389 (linux_mod_SOURCES): Renamed to ...
40390 (_linux_mod_SOURCES): ... this.
40391 (linux_mod_CFLAGS): Renamed to ...
40392 (_linux_mod_CFLAGS): ... this.
40393 (normal_mod_SOURCES): New variable.
40394 (normal_mod_CFLAGS): Likewise.
40395 (normal_mod_ASFLAGS): Likewise.
40396
40397 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40398
40399 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40400 possible.
40401
40402 * kern/dl.c (pupa_dl_ref): Refer depending modules
40403 recursively.
40404 (pupa_dl_unref): Unrefer depending modules recursively.
40405 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40406 a module is unloaded before one depending on that module is
40407 unloaded.
40408 (pupa_dl_unload): Unload depending modules explicitly,
40409 if possible.
40410
40411 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40412
40413 * include/pupa/i386/pc/linux.h: New file.
40414 * loader/i386/pc/linux.c: Likewise.
40415
40416 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40417 Removed.
40418 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40419 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40420 of PUPA_CHAINLOADER_BOOT_SECTOR.
40421
40422 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40423 (pupa_linux_prot_size): New variable.
40424 (pupa_linux_tmp_addr): Likewise.
40425 (pupa_linux_real_addr): Likewise.
40426 (pupa_linux_boot_zimage): New function.
40427 (pupa_linux_boot_bzimage): Likewise.
40428
40429 * kern/i386/pc/init.c (struct mem_region): New structure.
40430 (MAX_REGIONS): New macro.
40431 (mem_regions): New variable.
40432 (num_regions): Likewise.
40433 (pupa_os_area_addr): Likewise.
40434 (pupa_os_area_size): Likewise.
40435 (pupa_lower_mem): Likewise.
40436 (pupa_upper_mem): Likewise.
40437 (add_mem_region): New function.
40438 (compact_mem_regions): Likewise.
40439 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40440 the size of the conventional memory and that of so-called upper
40441 memory (before the first memory hole).
40442 Instead of adding each found region to free memory, use
40443 add_mem_region and add them after removing overlaps.
40444 Also, add only 1/4 of the upper memory to free memory. The rest
40445 is used for loading OS images. Maybe this is ad hoc, but this
40446 makes it much easier to relocate OS images when booting.
40447
40448 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40449 (pupa_enter_rescue_mode): Don't register initrd and module.
40450
40451 * kern/mm.c: Include pupa/dl.h.
40452
40453 * kern/main.c: Include pupa/file.h and pupa/device.h.
40454
40455 * kern/loader.c (pupa_loader_load_module_func): Removed.
40456 (pupa_loader_load_module): Likewise.
40457
40458 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40459 ``.o''.
40460
40461 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40462 (pupa_linux_tmp_addr): Likewise.
40463 (pupa_linux_real_addr): Likewise.
40464 (pupa_linux_boot_zimage): Likewise.
40465 (pupa_linux_boot_bzimage): Likewise.
40466
40467 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40468 (pupa_upper_mem): Likewise.
40469 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40470 module is too dangerous.
40471
40472 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40473 (pupa_os_area_size): Likewise.
40474 (pupa_loader_set): Remove the first argument. Loader doesn't
40475 manage modules or initrd any longer.
40476 (pupa_loader_load_module): Removed.
40477
40478 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40479 (linux_mod_SOURCES): New variable.
40480 (linux_mod_CFLAGS): Likewise.
40481
40482 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40483
40484 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40485 the length of a blocklist correctly.
40486
40487 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40488 Use ioctl only if the OS file is a block device.
40489 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40490 not very useful for normal files.
40491
40492 * kern/main.c (pupa_set_root_dev): New function.
40493 (pupa_load_normal_mode): Likewise.
40494 (pupa_main): Call those above.
40495
40496 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40497 pupa_uint16_t.
40498
40499 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40500
40501 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40502
40503 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40504 (setup): Configure the installed partition information and the
40505 dl prefix.
40506
40507 * loader/i386/pc/chainloader.c (my_mod): New variable.
40508 (pupa_chainloader_unload): New function.
40509 (pupa_rescue_cmd_chainloader): Refer itself.
40510 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40511
40512 * kern/i386/pc/startup.S (install_partition): Removed.
40513 (version_string): Likewise.
40514 (config_file): Likewise.
40515 (pupa_install_dos_part): New variable.
40516 (pupa_install_bsd_part): Likewise.
40517 (pupa_prefix): Likewise.
40518 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40519
40520 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40521 and pupa/misc.h.
40522 (make_install_device): New function.
40523 (pupa_machine_init): Set the dl prefix.
40524
40525 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40526 (buf): Renamed to ...
40527 (linebuf): ... this.
40528 (pupa_rescue_cmd_prefix): New function.
40529 (pupa_rescue_cmd_insmod): Likewise.
40530 (pupa_rescue_cmd_rmmod): Likewise.
40531 (pupa_rescue_cmd_lsmod): Likewise.
40532 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40533 rmmod and lsmod.
40534
40535 * kern/mm.c (pupa_memalign): If failed even after invalidating
40536 disk caches, unload unneeded modules and retry.
40537
40538 * kern/misc.c (pupa_memmove): New function.
40539 (pupa_memcpy): Removed.
40540 (pupa_strcpy): New function.
40541 (pupa_itoa): Made static.
40542
40543 * kern/dl.c (pupa_dl_iterate): New function.
40544 (pupa_dl_ref): Likewise.
40545 (pupa_dl_unref): Likewise.
40546 (pupa_dl_unload): Return if succeeded or not.
40547 (pupa_dl_unload_unneeded): New function.
40548 (pupa_dl_unload_all): Likewise.
40549 (pupa_dl_init): Renamed to ...
40550 (pupa_dl_set_prefix): ... this.
40551 (pupa_dl_get_prefix): New function.
40552
40553 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40554 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40555 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40556 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40557 (pupa_install_dos_part): Declared.
40558 (pupa_install_bsd_part): Likewise.
40559 (pupa_prefix): Likewise.
40560 (pupa_boot_drive): Likewise.
40561
40562 * include/pupa/types.h: Fix a typo.
40563
40564 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40565 pupa_memmove.
40566 (pupa_memmove): Declared.
40567 (pupa_strcpy): Likewise.
40568
40569 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40570 pupa_mod_init takes one argument, its own module.
40571 (pupa_dl_unload_unneeded): Declared.
40572 (pupa_dl_unload_all): Likewise.
40573 (pupa_dl_ref): Likewise.
40574 (pupa_dl_unref): Likewise.
40575 (pupa_dl_iterate): Likewise.
40576 (pupa_dl_init): Renamed to ...
40577 (pupa_dl_set_prefix): ... this.
40578 (pupa_dl_get_prefix): Declared.
40579
40580 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40581 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40582 unloaded.
40583 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40584 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40585
40586 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40587 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40588
40589 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40590
40591 * util/i386/pc/pupa-setup.c (setup): Define the internal
40592 function find_first_partition_start at the top level, because GCC
40593 3.0.x cannot compile internal functions in deeper scopes
40594 correctly.
40595 (find_root_device): Use lstat instead of stat.
40596 Don't follow symbolic links.
40597 Fix the path-constructing code.
40598
40599 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40600 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40601 by a BLKGETSIZE ioctl first, because block devices don't fill
40602 the member st_mode of the structure stat on Linux.
40603 [__linux__] (linux_find_partition): Use a temporary buffer
40604 REAL_DEV for the working space. Copy it to DEV before returning.
40605 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40606 buffer cache consistent.
40607 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40608 strncmp. The previous value was merely wrong.
40609 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40610
40611 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40612 FAT size is 12. The previous value was merely wrong.
40613
40614 * kern/main.c (pupa_main): Don't split the starting message from
40615 newlines.
40616
40617 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40618 LF, because BIOS goes crazy about character attributes in this
40619 case.
40620
40621 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40622
40623 * include/i386/pc/util/biosdisk.h: New file.
40624 * util/i386/pc/biosdisk.c: Likewise.
40625 * util/i386/pc/pupa-setup.c: Likewise.
40626
40627 * Makefile.in (INCLUDE_DISTFILES): Added
40628 include/pupa/i386/pc/util/biosdisk.h.
40629 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40630 directory util/i386/pc.
40631 (install-local): Added a rule for sbin_UTILITIES.
40632 (uninstall): Likewise.
40633
40634 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40635
40636 * util/misc.c (xrealloc): New function.
40637 (pupa_malloc): Likewise.
40638 (pupa_free): Likewise.
40639 (pupa_realloc): Likewise.
40640 (pupa_stop): Likewise.
40641 (pupa_putchar): Likewise.
40642
40643 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40644
40645 * include/pupa/util/misc.h (xrealloc): Declared.
40646
40647 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40648 macro.
40649 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40650 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40651
40652 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40653 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40654
40655 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40656 way should be implemented.
40657 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40658
40659 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40660 the size of NAME for safety.
40661 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40662 0x88.
40663
40664 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40665 (pupa_setup_SOURCES): Likewise.
40666
40667 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40668
40669 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40670
40671 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40672 bunch of pushl's from pusha, because this destroys the return
40673 value.
40674
40675 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40676
40677 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40678 This means that any missing prototypes could be fatal. Also, you
40679 must take care when writing assembly code. See the comments at
40680 the beginning of startup.S, for more details.
40681
40682 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40683 compilation mechanism.
40684 (pupa_chainloader_real_boot): Likewise.
40685 (pupa_biosdisk_rw_int13_extensions): Likewise.
40686 (pupa_biosdisk_rw_standard): Likewise.
40687 (pupa_biosdisk_check_int13_extensions): Likewise.
40688 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40689 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40690 (pupa_get_memsize): Likewise.
40691 (pupa_get_mmap_entry): Likewise.
40692 (pupa_console_putchar): Likewise.
40693 (pupa_console_setcursor): Likewise.
40694 (pupa_getrtsecs): Use pushl instead of push.
40695
40696 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40697 memory instead of the stack for a mmap entry, because some
40698 BIOSes may ignore the maximum size and overflow.
40699
40700 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40701
40702 * genmk.rb (PModule#rule): Compile automatically generated
40703 sources with module-specific CFLAGS as well as other sources.
40704
40705 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40706
40707 * configure.ac: Check ld.
40708 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40709 respectively, before checking endianness and sizes.
40710
40711 * Makefile.in (LD): New variable.
40712
40713 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40714
40715 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40716
40717 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40718
40719 * Changelog: New file.
40720