]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
[grub2.git] / ChangeLog
CommitLineData
e6da1467
VS
12012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4
b1ac4cb1
VS
52012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
8
b4bf7c3b
VS
92012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13
8ee1101a
VS
142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
17 rather than a hack for grub_strncasemap.
18
192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20
21 Support multiple initrds
22 Note: part of this was accidently committed in r3739.
23
24 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
25 initrd.
26 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
27 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
28 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
29 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
30 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
31
4d1e2bc9
VS
322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
35 disks with unknown size.
36 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
37
75b49ebe
VS
382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
39
40 Remove defines pertaining to arbitrary limits not affecting GRUB
41 anymore.
42
43 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
44 (EXT2_MAX_SYMLINKCNT): Likewise.
45 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
46 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
47 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
48 (GRUB_PXE_MAX_BLKSIZE): Likewise.
49 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
50 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
51 (DN_MAX_OBJECT_SHIFT): Likewise.
52 (DN_MAX_OFFSET_SHIFT): Likewise.
53 (DN_MAX_OBJECT): Likewise.
54 (DNODES_PER_LEVEL_SHIFT): Likewise.
55 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
56 (SPA_MAXBLOCKSIZE): Likewise.
57 (SPA_BLOCKSIZES): Likewise.
58 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
59 (MZAP_MAX_BLKSZ): Likewise.
60
74a1dce7
VS
612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
64 handle NULL appropriately.
65 Remove MIN.
66
30c7d3ce
VS
672012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
68
69 Fix efiemu.
70
71 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
72 cpu/types.h.
73 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
74 * configure.ac: Fix efiemu check.
75
3c76ea0c
VS
762012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
79 grub_probe.
80 Reported by: adamwill
81
7e532280
SG
822012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
83
84 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
85
30492374
VS
862012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
87
88 Fix handling of wide characters in gfxterm.
89
90 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
91 (clear_char): Likewise.
92 (paint_char): Skip code == NULL chars.
93 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
94
e70cb72f
VS
952012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/normal/charset.c: Move comment to right place.
98
5c827cf9
VS
992012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
102 (GRUB_AFFS_FLAG_FFS): Put back where it was.
103 (grub_affs_mount): Revert the correct version checking.
104
53603892
VS
1052012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * docs/grub.texi (Unicode): Mention several other unsupported features.
108
ff094b9b
VS
1092011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
112 case statements as compile-time one.
113 (direct_read): Prevent spurious warnings.
114 (grub_squash_read_data): Likewise.
115
c029da8a
VS
1162011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Various squash4 fixes and LZO and XZ support.
119
120 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
121 Add xzembed source files.
122 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
123 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
124 (grub_squash_inode): New subtype long_dir.
125 (SQUASH_TYPE_LONG_DIR): New inode type.
126 (COMPRESSION): New enum.
127 (XZBUFSIZ): New const.
128 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
129 (read_chunk): Use data->decompress.
130 (zlib_decompress): New function.
131 (lzo_decompress): Likewise.
132 (xz_decompress): Likewise.
133 (squash_mount): Set new data fields.
134 (grub_squash_iterate_dir): Handle long dir.
135 (squash_unmount): Free xzdec and xzbuf.
136 (grub_squash_open): Check ino type.
137 (direct_read): Stylistic fixes. Use data->decompress.
138 (grub_squash_read_data): Likewise.
139 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
140 (get_byte): Likewise.
141 (grub_zlib_disk_read): Removed.
142 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
143 (GRUB_POSIX_BOOL_DEFINED): New define.
144 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
145 * grub-core/lib/xzembed/xz.h: Addmissing includes.
146 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
147 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
148
7a45a539
VS
1492011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
150
151 Don't override more informative errors.
152
153 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
154 * grub-core/font/font.c (open_section): Likewise.
155 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
156 filename. Don't override errors.
157 (grub_cmd_openbsd_ramdisk): Don't override errors.
158 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
159 (grub_cmd_initrd): Likewise.
160 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
161 (grub_cmd_initrd): Likewise.
162 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
163 (grub_cmd_linux): Likewise.
164 (grub_cmd_initrd): Likewise.
165 (grub_cmd_payload): Likewise.
166 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
167 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
168 (grub_cmd_module): Likewise.
169 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
170 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
171 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
172 (grub_cmd_xnu_mkext): Likewise.
173 (grub_cmd_xnu_ramdisk): Likewise.
174 (grub_xnu_check_os_bundle_required): Likewise.
175 (grub_xnu_load_kext_from_dir): Likewise.
176 (grub_cmd_xnu_kextdir): Likewise.
177 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
178
b2d004db
VS
1792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
182 as 1024 in block size field. Found on one of my test images.
183 Small optimisation while on it.
184
ec000eac
VS
1852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
188 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
189 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
190 performance fixes while on it.
191 (grub_sfs_close): Fix memory leak while on it.
192 (grub_sfs_label): Convert Latin1 to UTF-8.
193
f50e1165
VS
1942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
197 space to avoid overflows.
198 (grub_hfs_label): Convert from macroman to UTF-8.
199
2ae254de
VS
2002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
203
0108f491
VS
2042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
207
f45f5f89
VS
2082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * unicode: Import Unicode 6.0 data.
211
4d8c4765
VS
2122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
213
63fa8ef9
VS
214 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
215 outside of range.
216
2172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
218
219 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
220
221 * include/grub/charset.h (grub_getend): New function.
222 * grub-core/script/function.c (grub_script_function_find): Use
223 grub_getend.
224 * grub-core/normal/completion.c (add_completion): Likewise.
225
f3cb4a4e
VS
2262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
229 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
230 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
231 (GRUB_UNICODE_TAG_END): Likewise.
232 (GRUB_UNICODE_LAST_VALID): Likewise.
233
5da8dbc5
VS
2342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
237 len and make it smaller. All users updated.
238 * util/import_unicode.py: Put length and not end character.
239 Check length.
240
8569f13d
VS
2412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
242
243 Make better Unicode-compliant and unify some UTF-8 code pathes.
244
245 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
246 valid character.
247 (grub_is_valid_utf8): Use grub_utf8_process.
248 Check resulting code range.
249 (grub_utf8_to_ucs4): Use grub_utf8_process.
250 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
251 valid character.
252
cc4fddf5
VS
2532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
256
bbc47747
VS
2572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * docs/grub.texi (Filesystems): Mention AFS.
260
f63d6bf4
VS
2612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * docs/grub.texi (Filesystems): Clarify restrictions.
264 (Regexp): Mention non-Unicode regexp behaviour.
265 (Other): Mention non-Unicode matching behaviour.
266
74bbf0db
VS
2672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
268
f63d6bf4 269 Make HFS implementation use MacRoman.
74bbf0db
VS
270
271 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
272 (macroman): New const array.
273 (macroman_to_utf8): New function.
274 (utf8_to_macroman): Likewise.
275 (grub_hfs_find_dir): Use utf8_to_macroman.
276 (grub_hfs_dir): Use macroman_to_utf8.
277 Set case_insensitive.
278
4ea0316e
VS
2792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
282
d3c13cbd
VS
2832011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
284
285 Integrate hints into autogeneration scripts.
286
287 * docs/grub.texi (Filesystems): Add a hostdisk example.
288 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
289 (grub-probe): Add ofpath.
290 * gentpl.py: Remove group nosparc64.
291 * grub-core/commands/search.c (cache_entry): New struct.
292 (cache): New var.
293 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
294 * grub-core/commands/search_wrap.c (options): Add platform-specific
295 hint options.
296 (grub_cmd_search): Handle platform-specific hints.
297 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
298 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
299 (grub_util_biosdisk_data): Likewise.
300 (grub_util_biosdisk_open): Set device_map.
301 (read_device_map): Handle "" as indication of no map.
302 Set device_map.
303 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
304 (grub_util_biosdisk_get_compatibility_hint): New function.
305 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
306 * include/grub/emu/hostdisk.h
307 (grub_util_biosdisk_get_compatibility_hint): New proto.
308 * util/grub-install.in: Don't call grub-mkdevicemap.
309 Add platform-specific hint to load.cfg.
310 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
311 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
312 hints. Set root preliminary to compatibility hint, not to OS name.
313 * util/grub-probe.c (PRINT_*): Add hints.
314 (print): Make static.
315 (escape_of_path): New function.
316 (guess_bios_drive): Likewise.
317 (guess_efi_drive): Likewise.
318 (guess_baremetal_drive): Likewise.
319 (print_full_name): Likewise.
320 (probe): Handle hints.
321 (main): Likewise.
322 * util/ieee1275/devicemap.c: Removed.
323 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
324 updated.
325 (grub_util_devname_to_ofpath): Return NULL on failure.
326
327 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
328 resource leak.
329 * util/getroot.c (grub_util_pull_device): Fix memory leak.
330
331 * po/POTFILES.in: Regenerated.
332
333 Allow purely long options
334
335 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
336 (SHORT_ARG_USAGE): Likewise.
337 (grub_arg_show_help): Compare opt with help_options.
338 (parse_option): Receive opt as argument. If makes big simplificatons.
339 All users updated
340
00ce2df3
VS
3412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
344 Restructure to avoid warning.
345
e77e325f
VS
3462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * util/grub-install.in: Account for possible escaped comma in device
349 name.
350
165099ea
VS
3512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
354 channel.
355
ce4a999d
VS
3562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
359 allocation and zero-setting.
360 (grub_ieee1275_get_devname): Check that alias is complete.
361
379586ad
VS
3622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
365 unaligned segments.
366
9197b0ad
VS
3672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
370 prefix.
371 (grub_ofdisk_open): Check and discard ieee1275 prefix.
372 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
373 Add ieee1275 prefix.
374
edddb7f9
VS
3752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * docs/grub.texi (Filesystems): Update.
378
a1a8b1b9
VS
3792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Support odc, newc and bigendian cpio formats.
382
383 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
384 * grub-core/Makefile.core.def (newc): New module.
385 (odc): Likewise.
386 (cpio_be): Likewise.
387 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
388 (MAGIC): Likewise.
389 (MAGIC2): Likewise.
390 (head) [MODE_ODC]: Adapt for the format.
391 (head) [MODE_NEWC]: Likewise.
392 (head) [!MODE_*]: Write fields of interest as arrays.
393 (MAGIC_USTAR): Removed.
394 (read_number) [MODE_NEWC]: Change to hex.
395 (read_number) [!MODE_*]: Parse binary arrays.
396 (grub_cpio_find_file): Factor out the code for better structure and
397 always use read_number.
398 (grub_cpio_mount): Use MAGIC and MAGIC2.
399 (grub_cpio_dir): Exit on first hook non-0 return.
400 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
401 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
402 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
403 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
404 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
405 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
406 * grub-core/fs/newc.c: New file.
407 * grub-core/fs/odc.c: Likewise.
408 * grub-core/fs/cpio_be.c: Likewise.
409
58eba9ee
VS
4102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
411
412 Fix handling of tar numbers occupying the whole field.
413
414 * grub-core/fs/cpio.c (read_number): New function.
415 (grub_cpio_find_file): Use read_number instead of strtoull.
416
a54a0e12
VS
4172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
420 occupying the whole field size.
421
a6120aca
LA
4222011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
423
424 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
425
a93964ce
VS
4262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
429
3ea1ca46
SG
4302011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
431
432 * grub-core/Makefile.core.def (lzma_decompress): Add missing
433 TARGET_IMG_LDFLAGS.
434
b87f7ef2
VS
4352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * util/getroot.c (ESCAPED_PATH_MAX): New define.
438 (mountinfo_entry): Increase the field size to take escaping into
439 account.
440 (find_root_device_from_libzfs): Add one byte to size of strings for
441 security.
442
62092395
VS
4432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
446 an assert.
447 * util/grub-setup.c (setup): Likewise.
448
1f0b1a77
VS
4492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
452 _LzmaDecodeA.
453
8eba9997
VS
4542011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * docs/grub.texi (Internationalisation): New section.
457
dd0c91e9
VS
4582011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * docs/grub.texi (Loopback booting): New section.
461
4622011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
463
464 * util/grub-mkstandalone.in: Fix minor typo errors.
465
198e150a
VS
4662011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
467
468 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
469
470 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
471 net/icmp.c and net/icmp6.c.
472 (http): New module.
473 (priority_queue): Likewise.
474 * grub-core/io/bufio.c: Rewritten.
475 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
476 TYPE_WITH_CONFIGFILE_OPTION.
477 (legacy_commands): Add bootp and dhcp.
478 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
479 (grub_legacy_parse): Likewise.
480 * grub-core/lib/priority_queue.c: New file.
481 * grub-core/net/arp.c: Add missing license header.
482 (arp_find_entry): Removed.
483 (arp_find_entry): Likewise.
484 (grub_net_arp_resolve): Rename to ...
485 (grub_net_arp_send_request): ...this.
486 (grub_net_arp_receive): New card argument.
487 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
488 Set router and DNS server.
489 (grub_net_configure_by_dhcp_ack): Handle routing information.
490 (grub_cmd_bootp): Set checksum.
491 (grub_bootp_init): Remove net_dhcp.
492 * grub-core/net/dns.c: New file.
493 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
494 completion.
495 (get_card_packet): Handle allocation.
496 (grub_efinet_findcards): Set mtu.
497 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
498 (get_card_packet): Handle allocation.
499 (emucard): Set mtu.
500 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
501 (GRUB_MOD_INIT): Set mtu.
502 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
503 mtu.
504 (get_card_packet): Handle allocation.
505 (grub_ofnet_findcards): Set mtu.
506 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
507 assert.
508 (grub_net_recv_ethernet_packet): Handle IPv6.
509 * grub-core/net/http.c: New file.
510 * grub-core/net/icmp.c: Likewise.
511 * grub-core/net/icmp6.c: Likewise.
512 * grub-core/net/ip.c (ip6addr): New type.
513 (ip6hdr): Likewise.
514 (reassemble): Likewise.
515 (cmp): New function.
516 (reassembles): New variable.
517 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
518 (id): New variable.
519 (send_fragmented): New function.
520 (grub_net_send_ip_packet): Rename to ...
521 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
522 Handle non-UDP.
523 (grub_net_recv_ip_packets): Rename to ...
524 (handle_dgram): ... this. Check checksum. Handle non-UDP.
525 (free_rsm): New function.
526 (free_old_fragments): Likewise.
527 (grub_net_recv_ip4_packets): New function.
528 (grub_net_send_ip6_packet): Likewise.
529 (grub_net_send_ip_packet): Likewise.
530 (grub_net_recv_ip6_packets): Likewise.
531 (grub_net_recv_ip_packets): Likewise.
532 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
533 (LINK_LAYER_CACHE_SIZE): New const.
534 (link_layer_find_entry): New function.
535 (grub_net_link_layer_add_address): Likewise.
536 (grub_net_link_layer_resolve_check): Likewise.
537 (grub_net_link_layer_resolve): Likewise.
538 (grub_net_ipv6_get_slaac): Likewise.
539 (grub_net_ipv6_get_link_local): Likewise.
540 (grub_cmd_ipv6_autoconf): Likewise.
541 (parse_ip): Handle one number representation.
542 (parse_ip6): New functoion.
543 (match_net): Handle IPv6.
544 (grub_net_resolve_address): Handle IPv6 and DNS.
545 (grub_net_resolve_net_address): Handle IPv6.
546 (route_cmp): New function.
547 (grub_net_route_address): Find best route.
548 (grub_net_addr_to_str): Handle IPv6.
549 (grub_net_addr_cmp): New function.
550 (grub_net_add_addr): Register local route.
551 (print_net_address): Handle net address.
552 (grub_net_poll_cards): Retransmit TCP.
553 (grub_net_poll_cards_idle_real): Likewise.
554 (have_ahead): New function.
555 (grub_net_seek_real): Use underlying seek.
556 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
557 * grub-core/net/tcp.c: New file.
558 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
559 (cmp): New function.
560 (ack): Likewise.
561 (tftp_receive): Handle unordered input.
562 (destroy_pq): New function.
563 (tftp_close): Close pq.
564 * grub-core/net/udp.c: Put missing license header.
565 (grub_net_udp_socket): New function.
566 (udp_socket_register): Likewise.
567 (grub_net_udp_close): Likewise.
568 (grub_net_recv_udp_packet): Check checksum.
569 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
570 * include/grub/misc.h (grub_memchr): New function.
571 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
572 (grub_net_card_driver): Return buf in recv.
573 (grub_net_slaac_mac_list): New struct.
574 (grub_network_level_protocol_id): Add ipv6.
575 (grub_net_network_level_addr): Likewise.
576 (grub_net_network_level_net_addr): Likewise.
577 (grub_net_app_protocol): Add seek.
578 (grub_net_socket): Removed.
579 (grub_net_sockets): Likewise.
580 (grub_net_socket_register): Likewise.
581 (grub_net_socket_unregister): Likewise.
582 (FOR_NET_SOCKETS): Likewise.
583 (grub_net_add_addr): Add const.
584 (GRUB_NET_BOOTP_*): New enum.
585 (grub_net_addr_cmp): New proto.
586 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
587 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
588 (grub_net_hwaddr_to_str): NEw proto.
589 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
590 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
591 (grub_dns_init): New proto.
592 (grub_dns_fini): Likewise.
593 (grub_net_tcp_retransmit): Likewise.
594 (grub_net_link_layer_add_address): Likewise.
595 (grub_net_link_layer_resolve_check): Likewise.
596 (grub_net_link_layer_resolve): Likewise.
597 (grub_net_dns_lookup): Likewise.
598 (grub_net_add_dns_server): Likewise.
599 (grub_net_remove_dns_server): Likewise.
600 (GRUB_NET_TRIES): New const.
601 (GRUB_NET_INTERVAL): Likewise.
602 * include/grub/net/arp.h: Mostly rewritten.
603 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
604 * include/grub/net/ip.h: Mostly rewritten.
605 * include/grub/net/netbuff.h: Indent.
606 * include/grub/net/tcp.h: New file.
607 * include/grub/net/udp.h: Mostly rewritten.
608 * include/grub/priority_queue.h: New file.
609 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
610 (grub_swap_bytes64_compile_time): Likewise.
611 (grub_cpu_to_be16_compile_time): Likewise.
612 (grub_cpu_to_be32_compile_time): Likewise.
613 (grub_cpu_to_be64_compile_time): Likewise.
614 (grub_be_to_cpu64_compile_time): Likewise.
615
215c1800
VS
6162011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
619 UINT_TO_PTR with cast.
620
c17e546c
VS
6212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
624 don't use them.
625
ff6b18b6
VS
6262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
629 already there.
630
70ffcc93
VS
6312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
634 confusing ipxe.
635
e5f4d260
VS
6362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
639 Add missing const attribute.
640 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
641 Likewise.
642 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
643 Likewise.
644
8e54b4b7
VS
6452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
648 misaligned access.
649 (serpent_setkey): Likewise.
650 (serpent_encrypt_internal): Likewise.
651 (serpent_decrypt_internal): Likewise.
652 (serpent_encrypt): Don't put an alignment-increasing cast.
653 (serpent_decrypt): Likewise.
654 (serpent_test): Likewise.
655
813c0a2b
VS
6562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
659
f2b60fbd
VS
6602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
661
662 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
663
664 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
665 grub_addr_t casts.
666 (PTR_TO_UINT64): Likewise.
667 (PTR_TO_UINT32): Likewise.
668
5ef5c511
VS
6692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * util/grub-mkimage.c (generate_image): Decrease the higher limit
672 because of stack.
673 * util/grub-setup.c (setup): Don't add redundancy past the higher load
674 limit.
675
c476e6df
VS
6762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
679 text_width > available width a bit more gracefully.
680
384ad7cc
VS
6812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
684 current address calculation.
685
96f8caf8
VS
6862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
689 stack.
690 (encode_block): Likewise.
691
276b7a8b
VS
6922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
695 certainety.
696
e3fd394a
VS
6972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
700 non-RS part to avoid RS messing with GDT.
701 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
702 Increase to suit in realmode routines.
703
7042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/kern/i386/realmode.S: Increase alignment.
707 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
708
ee9c2e7a
VS
7092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
712 be deterministic.
713 (syndroms): Compute 0 syndrom.
714 (rs_recover): Use 0 syndrom.
715
7a7f7cc9
VS
7162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
719
a14b16d1
VS
7202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
723 brackets.
724
9f59e9fc
VS
7252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
726
ca1b552c
VS
727 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
728 account.
729 (get_top_pad): Likewise.
730 (get_right_pad): Likewise.
731 (get_bottom_pad): Likewise.
732
7332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 736
e739d698
VS
7372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
740 attribute as the structure isn't guaranteed to be properly aligned.
741 (grub_efi_pci_device_path): Likewise.
742 (grub_efi_pccard_device_path): Likewise.
743 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
744 specify the size of `memory_type'.
745 (grub_efi_vendor_device_path): Likewise.
746 (grub_efi_controller_device_path): Likewise.
747 (grub_efi_acpi_device_path): Likewise.
748 (grub_efi_expanded_acpi_device_path): Likewise.
749 (grub_efi_atapi_device_path): Likewise.
750 (grub_efi_scsi_device_path): Likewise.
751 (grub_efi_fibre_channel_device_path): Likewise.
752 (grub_efi_1394_device_path): Likewise.
753 (grub_efi_usb_device_path): Likewise.
754 (grub_efi_usb_class_device_path): Likewise.
755 (grub_efi_i2o_device_path): Likewise.
756 (grub_efi_mac_address_device_path): Likewise.
757 (grub_efi_ipv4_device_path): Likewise.
758 (grub_efi_ipv6_device_path): Likewise.
759 (grub_efi_infiniband_device_path): Likewise.
760 (grub_efi_uart_device_path): Likewise.
761 (grub_efi_vendor_messaging_device_path): Likewise.
762 (grub_efi_hard_drive_device_path): Likewise.
763 (grub_efi_cdrom_device_path): Likewise.
764 (grub_efi_vendor_media_device_path): Likewise.
765 (grub_efi_file_path_device_path): Likewise.
766 (grub_efi_protocol_device_path): Likewise.
767 (grub_efi_piwg_device_path): Likewise.
768 (grub_efi_bios_device_path): Likewise.
769
cb8f88ea
VS
7702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
773 (grub_ucs4_to_utf8_alloc): Likewise.
774 (grub_ucs4_to_utf8): Likewise.
775 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
776 (grub_ucs4_to_utf8_alloc): Likewise.
777
309e5352
VS
7782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
779
780 AFFS never uses unicode.
781
782 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
783 (grub_latin1_to_utf8): New inline function.
784 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
785
e7987e1b
VS
7862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
789 overflow.
790
efc2616e
VS
7912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
794 (grub_squash_dirent_header): Likewise.
795 (read_chunk): Don't double swap.
796 (grub_squash_iterate_dir): Fix swap sizes.
797
3c349f5a
VS
7982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
801
b453412d
VS
8022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
805 (grub_hfs_iterate_dir): Likewise.
806
12e9d4d1
VS
8072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
808
809 Fix video on platforms where unaligned access is forbidden.
810 Make several optimisations while on it.
811
812 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
813 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
814 (grub_video_fbblit_replace_32bit_1bit): Likewise.
815 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
816 Disable.
817 (grub_video_fbblit_replace_16bit_1bit):
818 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
819 (grub_video_fbblit_replace_8bit_1bit): Likewise.
820 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
821 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
822 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
823 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
824 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
825 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
826 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
827 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
828 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
829 (grub_video_fbblit_replace_index_RGB888): Likewise.
830 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
831 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
832 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
833 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
834 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
835 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
836 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
837 Disable.
838 (grub_video_fbblit_blend_XXX565_1bit):
839 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
840 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
841 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
842 void *.
843 * grub-core/video/fb/video_fb.c (common_blitter)
844 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
845 (grub_video_fb_create_render_target_from_pointer)
846 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
847 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
848 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
849 definition.
850 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
851
ace96609
VS
8522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
855 HH22 and HM10 relocations.
856
fd261d73
VS
8572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
860
e59b7857
VS
8612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
864 allocation succeeded.
865
9b4baaa4
VS
8662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
869 argument a u8 pointer. All users updated.
870 Handle unaligned buffers.
871
dc713193
VS
8722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
875 add_part to workaround compiler bug.
876
30dd48c2
VS
8772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
880
0c6087a8
VS
8812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
884 Reserve alignment invariants.
885 (grub_multiboot_load): Likewise.
886 (retrieve_video_parameters): Likewise.
887 (grub_multiboot_make_mbi): Likewise.
888
c2e77777
VS
8892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
892 incorrect pointer.
893
b70b6d11
VS
8942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
897 (grub_pata_pio_write): Likewise.
898
02a2bf83
VS
8992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Add noreturn attributes and remove unreachable code.
902
903 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
904 code.
905 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
906 code. Mark as noreturn.
907 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
908 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
909 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
910 unreachable code.
911 * grub-core/kern/main.c (grub_main): Mark as noreturn.
912 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
913 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
914 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
915 * include/grub/kernel.h (grub_main): Mark as noreturn.
916 * include/grub/reader.h (grub_rescue_run): Likewise.
917
2019d09e
VS
9182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
921 redundant declaration.
922
d1c501ee
VS
9232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * include/grub/net.h (grub_net_network_level_interfaces): Remove
926 redundant declaration.
927 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
928
61664420
VS
9292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
932 to ensure alignment.
933 (grub_hdparm_print_identify): Make argument uint16 * to ensure
934 alignment. Ensure tmp alignment.
935 (grub_cmd_hdparm): Ensure buf alignment.
936 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
937 to ensure alignment.
938 (grub_ata_dumpinfo): Ensure text alignment.
939 (grub_atapi_identify): Preserve alignment invariant.
940 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
941
0d51ee20
VS
9422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
945 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
946 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
947 * include/grub/misc.h (grub_reboot)
948 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
949 (grub_halt) [__mips__]: Likewise.
950
753ef8c1
VS
9512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
954 Remove redundant declaration.
955 (grub_mmap_get_post64): Likewise.
956 (grub_mmap_get_upper): Likewise.
957 (grub_mmap_get_lower): Likewise.
958
85c85365
VS
9592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
962 uint32_t * to ensure alignment.
963 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
964
a23f2cc4
VS
9652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
966
93018f64
VS
967 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
968 uint16_t * to ensure alignment.
969 (sun_pc_partition_map_iterate): Make `block' a union to ensure
970 alignment.
971
9722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
975 to ensure alignment.
976 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
977
58acccd6
VS
9782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/fs/ntfs.c (u16at): Make into inline function.
981 Handle unaligned pointers.
982 (u32at): Likewise.
983 (u64at): Likewise.
984 (fixup): Use byte access instead of v16at.
985 (find_attr): Fix imporper usage of v32at.
986 (read_data): Likewise.
987 (list_file): Handle byte-swapping and unaligned strings.
988 (grub_ntfs_label): Likewise.
989
9b05cad7
VS
9902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
993 as it's not necessarily aligned.
994
b3950b84
VS
9952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
998 redundant declaration.
999 (grub_serial_init): Likewise.
1000 (grub_terminfo_init): Likewise.
1001
fcd232b7
VS
10022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1005 function.
1006 (ZAP_HASH_IDX): Likewise.
1007 (ZAP_LEAF_HASH_SHIFT): Likewise.
1008 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1009 (LEAF_HASH): Likewise.
1010 (ZAP_LEAF_NUMCHUNKS): Likewise.
1011 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1012 alignment invariants. Return pointer. All users updated.
1013 (ZAP_LEAF_ENTRY): Make into inline function.
1014 (NBBY): Removed.
1015 (xor): LIkewise.
1016 (xor_out): Use grub_crypto_xor.
1017 (dnode_get_path): Use grub_get_unaligned.
1018 (nvlist_find_value): Likewise.
1019 (grub_zfs_nvlist_lookup_uint64): Likewise.
1020 (grub_zfs_nvlist_lookup_string): Likewise.
1021 (get_nvlist_size): Likewise.
1022 (grub_zfs_open): Likewise.
1023 (fill_fs_info): Likewise.
1024 (grub_zfs_dir): Likewise.
1025 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1026 alignment invariants.
1027 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1028 necessarily aligned.
1029
f138623a
VS
10302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1033
564840dc
VS
10342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1037 arithmetic to conserve alignment invariants.
1038
9b40df20
VS
10392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1042 redundant declaration.
1043 (grub_efiemu_mm_obtain_request): Likewise.
1044 (grub_efiemu_prepare): Likewise.
1045
d1c930f9
VS
10462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1049 to match types.
1050
4c5f3056
VS
10512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1054 case of aunaligned recptr.
1055 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1056 alignment.
1057 (grub_hfsplus_btree_search): Handle unaligned index.
1058
728cba91
VS
10592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1062 to get freetag and skip.
1063
eb561f31
VS
10642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1067 array.
1068 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1069 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1070
20993fbb
VS
10712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1074 name for checksum and fix allocation algorithm.
1075
1f313b94
VS
10762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * include/grub/types.h (grub_properly_aligned_t): New type.
1079 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1080 (grub_get_unaligned16): Add explicit casts.
1081 (grub_get_unaligned32): Likewise.
1082 (grub_get_unaligned64): Likewise.
1083 (grub_set_unaligned16): New function.
1084 (grub_set_unaligned32): Likewise.
1085
47ae27ec
VS
10862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1089
78c2cd1c
VS
10902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1093 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1094 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1095
53072f9b
VS
10962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1099 conditionals.
1100
055dc239
VS
11012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1104 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1105
496bd074
VS
11062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 Unify and improve RAID and crypto xor.
1109
1110 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1111 changed to grub_crypto_xor
1112 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1113 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1114 Use bigger types when possible.
1115
ef6e4335
VS
11162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/disk/raid.c (scan_devices): Fix condition.
1119
5d048bf2
VS
11202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1123 Make name a const ptr.
1124
ee533335
VS
11252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1128 first argument a const pointer.
1129 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1130 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1131 proto.
1132 (grub_children_iterate): Likewise.
1133 (grub_machine_mmap_iterate): Remove redundant declaration.
1134
cc8f3668
VS
11352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1138 (grub_cmd_acpi) [!x86]: Disable EBDA.
1139
c5fc563a
VS
11402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 Enable UTF8 in gnulib regexp.
1143
1144 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1145 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1146 (isupper): Use grub_isupper.
1147 (isascii): New inline function.
1148 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1149 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1150 * grub-core/normal/charset.c (grub_utf8_process): New function.
1151 (grub_utf8_to_utf16): Use grub_utf8_process.
1152 (grub_encode_utf8_character): New function.
1153 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1154 * include/grub/charset.h (grub_utf8_process): New declaration.
1155 (grub_encode_utf8_character): Likewise.
1156 * include/grub/misc.h (grub_islower): New inline function.
1157 (grub_isupper): Likewise.
1158 (grub_strchrsub): Moved down to fix the definitions.
1159
0af2346f
VS
11602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1163 specification.
1164
74dbd244
VS
11652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * include/grub/loader.h (grub_loader_register_preboot_hook):
1168 Use struct preboot * and not void * for handle. All users updated.
1169 (grub_loader_unregister_preboot_hook): Likewise.
1170
1bc8f60d
VS
11712011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1174 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1175 UTF-16-BE. All users updated.
1176 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1177 (grub_hfsplus_iterate_dir): Likewise.
1178 (grub_hfsplus_label): Likewise.
1179
48d6e456
VS
11802011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1183
bf3a3857
VS
11842011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 Add missing const qualifiers.
1187
1188 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1189 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1190 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1191 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1192 (grub_lvm_check_flag): Likewise.
1193 * grub-core/efiemu/i386/coredetect.c
1194 (grub_efiemu_get_default_core_name): Likewise
1195 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1196 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1197 * grub-core/fs/ntfs.c (fixup): Likewise.
1198 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1199 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1200 (fzap_lookup): Likewise.
1201 (zap_lookup): Likewise.
1202 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1203 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1204 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1205 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1206 (grub_freebsd_add_meta_module): Likewise.
1207 (grub_cmd_freebsd_module): Likewise.
1208 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1209 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1210 (grub_xnu_writetree_get_size): Likewise.
1211 (grub_xnu_writetree_toheap_real): Likewise.
1212 (grub_xnu_find_key): Likewise.
1213 (grub_xnu_create_key): Likewise.
1214 (grub_xnu_create_value): Likewise.
1215 (grub_xnu_register_memory): Likewise.
1216 (grub_xnu_check_os_bundle_required): Likewise.
1217 (grub_xnu_scan_dir_for_kexts): Likewise.
1218 (grub_xnu_load_kext_from_dir): Likewise.
1219 * grub-core/normal/color.c (color_list): Likewise.
1220 * grub-core/normal/completion.c (current_word): Likewise.
1221 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1222 * grub-core/term/serial.c (grub_serial_find): Likewise.
1223 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1224 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1225 Likewise.
1226 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1227 (grub_freebsd_add_meta_module): Likewise.
1228 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1229 * include/grub/net.h (grub_net_card_driver): Likewise.
1230 (grub_net_card): Likewise.
1231 (grub_net_app_protocol): Likewise.
1232 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1233 * include/grub/serial.h (grub_serial_find): Likewise.
1234 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1235 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1236 (grub_xnu_create_value): Likewise.
1237 (grub_xnu_find_key): Likewise.
1238 (grub_xnu_scan_dir_for_kexts): Likewise.
1239 (grub_xnu_load_kext_from_dir): Likewise.
1240
1241 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1242 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1243 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1244 Moved from here ...
1245 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1246
112b4837
CW
12472011-11-28 Colin Watson <cjwatson@ubuntu.com>
1248
1249 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1250
49e891ac
VS
12512011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1254 (read_device): Fix size calculation.
1255
fd258e5c
RM
12562011-11-25 Robert Millan <rmh@gnu.org>
1257
1258 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1259 (find_root_device_from_libzfs): Add zpool output parser to be used
1260 as fallback when libzfs isn't available.
1261
78845dc2
SG
12622011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1263
1264 * po/Makefile.in.in: Add missing escape-continuation.
1265
adac5211
VS
12662011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1269
10b64f1c
VS
12702011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1273
bb416954
VS
12742011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1277
bdfe9eeb
VS
12782011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1281
581ffa8a
VS
12822011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/lib/adler32.c: Add missing license specification.
1285 * grub-core/lib/crc64.c: Likewise.
1286 * grub-core/loader/i386/pc/plan9.c: Likewise.
1287 * grub-core/partmap/plan.c: Likewise.
1288
2536cf64
LK
12892011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1290
1291 Add facility to debug GRUB with gdb under qemu.
1292
1293 * grub-core/gdb_grub.in: New file.
1294 * grub-core/gmodule.pl.in: Likewise.
1295 * grub-core/Makefile.core.def (gmodule.pl): New script.
1296 (gdb_grub): Likewise.
1297
bc108a4a
VS
12982011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * util/grub-mount.c (argp_parser): Accept relative pathes.
1301 * util/grub-fstest.c (argp_parser): Likewise.
1302
111c1778
VS
13032011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 Plan9 support.
1306
1307 * Makefile.util.def (libgrubmods): Add
1308 grub-core/partmap/plan.c.
1309 * docs/grub.texi: Notice Plan9 support.
1310 * grub-core/Makefile.core.def (plan9): New module.
1311 (part_plan): Likewise.
1312 * grub-core/loader/i386/pc/plan9.c: New file.
1313 * grub-core/partmap/plan.c: Likewise.
1314 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1315 define.
1316 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1317 * include/grub/mm.h (grub_extend_alloc): New inline function.
1318
c30be3b6
VS
13192011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 Make Reed-Solomon faster by using power of generator representation of
1322 GF(256)*.
1323
1324 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1325 (gf_double_t): Likewise.
1326 (gf_invert): Removed.
1327 (gf_powx): New array.
1328 (gf_powx_inv): Likewise.
1329 (scratch): Move higher.
1330 (gf_reduce): Removed.
1331 (gf_mul): Use powx.
1332 (gf_invert): Likewise.
1333 (init_inverts): Replaced with ...
1334 (init_powx): ...this. All users updated.
1335 (pol_evaluate): Replace multiplications with additions.
1336 (rs_encode): Likewise.
1337 (gauss_eliminate): Call gf_invert.
1338 (grub_reed_solomon_add_redundancy): Call init_powx.
1339 (grub_reed_solomon_recover): Call init_powx unconditionally.
1340
fa5aeffc
VS
13412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1344
a346b81c
VS
13452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1348 disk->partiton for safety.
1349
d89ee414
VS
13502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1353 Fix a memory leak.
1354 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1355
91ee7b6d
VS
13562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1359
91e5a33d
VS
13602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1363
9edd7be2
VS
13642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 Fix spaces handling in proc/self/mountinfo.
1367
1368 * util/getroot.c (unescape): New function.
1369 (grub_find_root_device_from_mountinfo): Use unescape.
1370
ba102053
VS
13712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 Support ZFS embedding.
1374
1375 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1376 (grub_zfs_fs): Register grub_zfs_embed.
1377
aa94b870
VS
13782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Fix MIPS compilation.
1381
1382 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1383 * include/grub/offsets.h: Rename decompressor fields from
1384 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1385 * util/grub-mkimage.c (image_targets): Use new names.
1386
5fbdac14
VS
13872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 Defer multiboot device parsing until we're in compressed part.
1390
1391 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1392 bsd_part. setdevice has fallen into disuse.
1393 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1394 (bsd_part): Likewise.
1395 (boot_dev): New variable.
1396 (multiboot_trampoline): Don't parse multiboot device.
1397 Pass multiboot device in %edx.
1398 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1399 grub_boot_device.
1400 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1401 Likewise.
1402 * grub-core/kern/i386/pc/startup.S: Save edx.
1403 (grub_boot_drive): Removed.
1404 (grub_install_dos_part): Likewise.
1405 (grub_install_bsd_part): Likewise.
1406 (grub_boot_device): New variable.
1407 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1408 (grub_install_bsd_part): Likewise.
1409 (grub_boot_drive): Likewise.
1410 (grub_boot_device): New variable.
1411 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1412 Removed.
1413 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1414 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1415 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1416 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1417 * util/grub-install.in: Remove redundant condition.
1418
691cbb58
VS
14192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 Fix bug introduced by previous commit.
1422
1423 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1424
60240b8b
VS
14252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 Use decompressors framework on i386-pc. It increases core size
1428 by 46 bytes but improves compatibility and maintainability.
1429
1430 * grub-core/Makefile.core.def (lzma_decompress): New image.
1431 (kernel): Add i386_pc_ldflags.
1432 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1433 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1434 to real_to_prot, prot_to_real and device info.
1435 * include/grub/offsets.h: Renamed decompressor offsets.
1436 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1437 (image_target_desc): Remove raw_size and rename decompressor fields.
1438 (compress_kernel): Handle lzma.
1439 (generate_image): Handle decompressors on i386-pc.
1440
e9d3421c
VS
14412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * configure.ac: Add -fno-asynchronous-unwind-tables.
1444
2b23074a
VS
14452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 Move assembly code to C by using intwrap. It increases core size
1448 by 88 bytes but improves compatibility and maintainability.
1449
1450 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1451 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1452 ... here. Translated to C.
1453 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1454 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1455 ... here. Translated to C.
1456 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1457 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1458 ... here. Translated to C.
1459 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1460 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1461 ... here. Translated to C.
1462 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1463 * grub-core/term/i386/pc/console.c (grub_console_cls):
1464 ... here. Translated to C.
1465 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1466 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1467 ... here. Translated to C.
1468 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1469 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1470 Translated to C.
1471 * grub-core/term/i386/pc/console.c (int10_9): New function.
1472 (grub_console_putchar): Likewise.
1473 * include/grub/i386/pc/console.h: Removed the not anymore shared
1474 functions.
1475
678f4b67
VS
14762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 Move grub_chainloader_real_boot out of the kernel.
1479
1480 * grub-core/Makefile.am: Remove machine/loader.h.
1481 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1482 Removed.
1483 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1484 variable.
1485 (grub_relocator16_keep_a20_enabled): Likewise.
1486 (grub_relocator16_boot): Fill new variables.
1487 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1488 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1489 relocator.
1490 (grub_chainloader_unload): Likewise.
1491 (grub_chainloader_cmd): Likewise.
1492 * include/grub/i386/pc/loader.h: Removed.
1493 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1494 and esi. All initialisers updated.
1495
4626edf6
VS
14962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14972011-11-12 Colin Watson <cjwatson@ubuntu.com>
1498
1499 * Makefile.util.def (grub-mount): New util.
1500 * .bzrignore: Add grub-mount.
1501 * configure.ac: Check for fuse and enable grub-mount if available.
1502 * docs/man/grub-mount.h2m: New file.
1503 * util/grub-mount.c: Likewise.
1504
10f0117b
VS
15052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/commands/efi/fixvideo.c: Gettextize.
1508 * grub-core/commands/hashsum.c: Likewise.
1509 * grub-core/commands/i386/cmostest.c: Likewise.
1510 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1511 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1512 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1513 * grub-core/commands/lsmmap.c: Likewise.
1514 * grub-core/commands/menuentry.c: Likewise.
1515 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1516 * grub-core/commands/setpci.c: Likewise.
1517 * grub-core/loader/i386/bsd.c: Likewise.
1518 * grub-core/loader/i386/linux.c: Likewise.
1519 * util/getroot.c: Likewise.
1520 * util/grub-editenv.c: Likewise.
1521 * util/grub-fstest.c: Likewise.
1522 * util/grub-mkfont.c: Likewise.
1523 * util/grub-mkimage.c: Likewise.
1524 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1525 * util/grub-pe2elf.c: Likewise.
1526 * util/grub-probe.c: Likewise.
1527 * util/grub-setup.c: Likewise.
1528 * util/ieee1275/ofpath.c: Likewise.
1529 * util/misc.c: Likewise.
1530 * util/raid.c: Likewise.
1531
566f779b
RM
15322011-11-11 Robert Millan <rmh@gnu.org>
1533
1534 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1535 __attribute__((unused)) from `os_dev', which *is* being used.
1536
b50787de
VS
15372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1540 forgotten define.
1541 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1542 GRUB_IA64_DL_GOT_ALIGN.
1543 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1544 GRUB_IA64_DL_TRAMP_ALIGN.
1545
119d11c8
VS
15462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 Replace grub_fatal with normal errors in i386 linux loader.
1549
1550 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1551 (allocate_pages): Check find_efi_mmap_size return value.
1552 (grub_e820_add_region): Return error.
1553 (grub_linux_boot): Check mmap return value.
1554
6e0632e2
VS
15552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/commands/acpihalt.c: Gettextized.
1558 * grub-core/commands/cacheinfo.c: Likewise.
1559 * grub-core/commands/cmp.c: Likewise.
1560 * grub-core/commands/efi/loadbios.c: Likewise.
1561 * grub-core/commands/gptsync.c: Likewise.
1562 * grub-core/commands/ieee1275/suspend.c: Likewise.
1563 * grub-core/commands/legacycfg.c: Likewise.
1564 * grub-core/commands/memrw.c: Likewise.
1565 * grub-core/commands/minicmd.c: Likewise.
1566 * grub-core/commands/parttool.c: Likewise.
1567 * grub-core/commands/time.c: Likewise.
1568 * grub-core/commands/videoinfo.c: Likewise.
1569 * grub-core/disk/geli.c: Likewise.
1570 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1571 * grub-core/disk/luks.c: Likewise.
1572 * grub-core/disk/lvm.c: Likewise.
1573 * grub-core/font/font_cmd.c: Likewise.
1574 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1575 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1576 * grub-core/gfxmenu/view.c: Likewise.
1577 * grub-core/kern/emu/hostdisk.c: Likewise.
1578 * grub-core/kern/emu/main.c: Likewise.
1579 * grub-core/kern/emu/misc.c: Likewise.
1580 * grub-core/kern/emu/mm.c: Likewise.
1581 * grub-core/kern/mips/arc/init.c: Likewise.
1582 * grub-core/kern/mips/loongson/init.c: Likewise.
1583 * grub-core/kern/partition.c: Likewise.
1584 * grub-core/lib/i386/halt.c: Likewise.
1585 * grub-core/lib/mips/arc/reboot.c: Likewise.
1586 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1587 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1588 * grub-core/loader/i386/xnu.c: Likewise.
1589 * grub-core/loader/multiboot.c: Likewise.
1590 * grub-core/net/bootp.c: Likewise.
1591 * grub-core/net/net.c: Likewise.
1592 * grub-core/normal/term.c: Likewise.
1593 * grub-core/partmap/bsdlabel.c: Likewise.
1594 * grub-core/parttool/msdospart.c: Likewise.
1595 * grub-core/term/gfxterm.c: Likewise.
1596 * grub-core/term/terminfo.c: Likewise.
1597 * grub-core/video/i386/pc/vbe.c: Likewise.
1598 * util/grub-menulst2cfg.c: Likewise.
1599 * util/grub-mkdevicemap.c: Likewise.
1600 * util/grub-mklayout.c: Likewise.
1601 * util/grub-mkrelpath.c: Likewise.
1602 * util/grub-script-check.c: Likewise.
1603 * util/ieee1275/grub-ofpathname.c: Likewise.
1604 * util/resolve.c: Likewise.
1605
073aa7a9
VS
16062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 Support %1$d syntax.
1609
1610 * tests/printf_unit_test.c: New file.
1611 * Makefile.util.def (printf_test): New test.
1612 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1613
c76b5417
VS
16142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1617 fix.
1618
df067ad1
VS
16192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1622 dprintf.
1623 * grub-core/font/font.c (grub_font_load): Likewise.
1624
5b289bc5
VS
16252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * util/grub-macho2img.c: Add comment concerning gettext.
1628 * grub-core/lib/legacy_parse.c: Likewise.
1629
c1860f87
VS
16302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1633 (grub_xvasprintf): Likewise.
1634
d35d0d37
VS
16352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 Add const keyword to grub_env_get and gettextize week days.
1638
1639 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1640 (grub_read_hook_datetime): Return const char *.
1641 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1642 updated.
1643 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1644 Mark for gettext.
1645 (grub_get_weekday_name): Return const char *. Call gettext.
1646 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1647 char * and len as the argument. All users updated.
1648 (grub_script_argv_split_append): Receive const char *.
1649 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1650 * include/grub/env.h (grub_env_get): Likewise.
1651 (grub_env_read_hook_t): Return const char *.
1652 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1653 (grub_script_argv_split_append): Likewise.
1654
9aed8a71
VS
16552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1658
067fdf00
VS
16592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1662 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1663
a8bd9d39
VS
16642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1667 Fix prototype.
1668
f7ce5baf
VS
16692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 Fix mips compilation.
1672
1673 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1674 normal decoder.
1675 (hashes): Use in embed decoder as well (for sizes).
1676 (dec_stream_header): Fix embed decompressor logic.
1677 (dec_stream_footer): Likewise.
1678
9bb182f3
VS
16792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1682 an error and not a fatal on unrecognised relocation types.
1683
63a9e6f6
VS
16842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1687 Issue error rather than printf on unknown arguments.
1688
4c458569
VS
16892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1692 Make buf a const.
1693
e2d22baf
VS
16942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1697 Fix module name.
1698
53dc8590
VS
16992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1702 leftover debug printf.
1703
6c189294
VS
17042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1707
f7688369
VS
17082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1711 A stylistic fix.
1712
11a775a3
VS
17132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1716
33f784e8
SL
17172011-11-10 Shea Levy <slevy@tieronedesign.com>
1718
1719 Allow all modules to perform serial IO
1720
1721 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1722 * include/grub/serial.h (grub_serial_port_configure): New inline
1723 function.
1724 (grub_serial_port_fetch): Likewise.
1725 (grub_serial_port_put): Likewise.
1726 (grub_serial_port_fini): Likewise.
1727 (grub_serial_find): New proto.
1728
f6276525
VS
17292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 Put symlink at the end of the node and fix a potential
1732 memory corruption.
1733
1734 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1735 Make symlink into an array.
1736 (set_rockridge): Set have_symlink and alloc_dirents.
1737 (grub_iso9660_read_symlink): Use new layout.
1738 (grub_iso9660_iterate_dir): Fix memory corruption.
1739 Use new layout.
1740 (grub_iso9660_dir): Set have_symlink.
1741 (grub_iso9660_open): Likewise.
1742
c3591189
VS
17432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 Remove local keyword.
1746
1747 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1748 (version_test_gt): Likewise.
1749 (version_find_latest): Likewise.
1750 (gettext_printf): Likewise.
1751 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1752
cb544caa
VS
17532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1756
45bd824d
VS
17572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 Fix ZFS memory and resource leaks.
1760
1761 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1762 All users updated.
1763 Free type on exit.
1764 (fill_vdev_info): New parameter inserted. All users updated.
1765 (check_pool_label): Likewise.
1766 (scan_disk): Likewise.
1767 (scan_devices): Close non-inserted disks.
1768 (fzap_iterate): Free l.
1769 (unmount_device): Free children descripto memory.
1770
ad9a2f44
VS
17712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1774 argument (access out of bounds).
1775
6b68db81
VS
17762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1779 >= 6 drives.
1780
28840fda
VS
17812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1784 Fix declaration.
1785
8a5a3a5b
VS
17862011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Fix several memory leaks.
1789
1790 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1791 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1792 (grub_cpio_dir): Likewise.
1793 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1794 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1795 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1796 (grub_romfs_label): Likewise.
1797 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1798 (squash_unmount): New function.
1799 (grub_squash_dir): Fix memory leak.
1800 (grub_squash_open): Likewise.
1801 (grub_squash_read): Likewise.
1802 (grub_squash_mtime): Likewise.
1803 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1804 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1805 * util/grub-fstest.c (fstest): Likewise.
1806
57b01250
VS
18072011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1810 avoid accessing beyond the array.
1811
19e81ba7
VS
18122011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1815
52b656c0
VS
18162011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 Several AFFS fixes.
1819
1820 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1821 (GRUB_AFFS_FLAG_FFS): Removed.
1822 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1823 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1824 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1825 (grub_fshelp_node): Make block 32-bit.
1826 Add block_cache and last_block_cache.
1827 (grub_affs_read_block): Fill and use block cache.
1828 (grub_affs_read_file): Removed.
1829 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1830 boot block.
1831 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1832 safety.
1833 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1834 space.
1835 (grub_affs_close): Free block cache.
1836 (grub_affs_read): Use grub_fshelp_read_file directly.
1837
438a746a
VS
18382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1841 with no error set.
1842
49a45021
VS
18432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1846 used variable.
1847 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1848 Likewise.
1849
3ae17eb8
VS
18502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1853
1854 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1855 byteswap when needed.
1856
27610c38
VS
18572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 Fix FreeBSD compilation.
1860
1861 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1862 to avoid circular dependency.
1863 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1864 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1865 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1866
4a19b601
VS
18672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 Fix ZFS crypto error types.
1870
1871 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1872 (grub_gcm_decrypt): Likewise.
1873 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1874 from PBKDF2.
1875
958ee221
VS
18762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 Illumos support.
1879
1880 * Makefile.util.def (10_illumos): New script.
1881 * configure.ac: Set COND_HOST_ILLUMOS.
1882 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
1883 Support Illumos calls.
1884 (find_partition_start) [__sun__]: Likewise.
1885 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
1886 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
1887 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
1888 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
1889 device.
1890 * util/grub-probe.c (probe) [__sun__]: Do character check.
1891 * util/grub.d/10_illumos.in: New file.
1892
cac14fb6
VS
18932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 Support escaped commas in hostdisk.
1896
1897 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
1898 (find_grub_drive): Use unescape_cmp.
1899 (make_device_name): Escape commas.
1900
78e08dc3
VS
19012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
1904
9f421dd1
VS
19052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
1908 variable.
1909
ed64e9e2
VS
19102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 Support trampoline jumps on powerpc.
1913
1914 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
1915 __ia64__ path.
1916 (grub_dl_load_segments): Set mod->sz.
1917 (grub_dl_flush_cache): Flush whole space occupied by module, not just
1918 segments.
1919 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
1920 (jump): Likewise.
1921 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
1922 function.
1923 (trampoline): New struct.
1924 (trampoline_template): New const.
1925 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
1926 * include/grub/dl.h (grub_dl): Add sz element.
1927 [__powerpc__]: Follow __ia64__.
1928 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
1929 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
1930 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
1931 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
1932
3084ede4
VS
19332011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 ZFS crypto support.
1936
1937 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
1938 * grub-core/Makefile.core.def (zfscrypt): New module.
1939 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
1940 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
1941 it. All users updated.
1942 (grub_zfs_decrypt): New var.
1943 (grub_zfs_load_key): Likewise.
1944 (zio_checksum_functions): Add SHA256+MAC.
1945 (zio_checksum_verify): Handle incomplete comparison due to MAC.
1946 (zio_read): Handle encrypted blocks.
1947 (zap_verify): Remove incorrect check.
1948 (fzap_iterate): Handle non-standard fzap.
1949 (zap_iterate): Likewise.
1950 (zap_iterate_u64): New function.
1951 (dnode_get_fullpath): Load keys.
1952 * grub-core/fs/zfs/zfscrypt.c: New file.
1953 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
1954 (grub_crypto_ecb_encrypt): Make input const.
1955 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
1956 (grub_crypto_ecb_encrypt): Make input const.
1957 (GRUB_CIPHER_AES): New macro.
1958 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
1959 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
1960 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
1961 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
1962 prefix. All users updated.
1963 (grub_zfs_add_key): New proto.
1964 (grub_zfs_decrypt): Likewise.
1965 (grub_zfs_load_key): Likewise.
1966 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
1967 * util/grub-fstest.c (options): Add -K option.
1968 (argp_parser): Likewise.
1969
b632b404
VS
19702011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 Support zle compression on ZFS.
1973
1974 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
1975 (decomp_table): Add zle.
1976 * include/grub/zfs/zio.h (zio_compress): Add zle.
1977
c7ba4f69
VS
19782011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 Support BtrFS embedding.
1981
1982 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
1983 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
1984 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
1985 * util/grub-setup.c (setup): Use fs embedding if available.
1986 Add additional sanity check.
1987
455377d9
VS
19882011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * util/grub-install.in: Fix condition for config_opt.
1991
c2fd16ca
VS
19922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 Support third redundancy strip on raidz3.
1995
1996 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
1997 Return error on singularity. All users updated.
1998 (read_device): Don't stop on 3rd failure on raidz3.
1999
8622923b
VS
20002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 Support case-insensitive ZFS subvolumes.
2003
2004 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2005 All users updated.
2006 (zap_hash): Likewise.
2007 (name_cmp): New function.
2008 (zap_leaf_array_equal): New parameter case_insensitive.
2009 All users updated.
2010 (zap_leaf_lookup): Likewise.
2011 (fzap_lookup): Likewise.
2012 (zap_lookup): Likewise.
2013 (dnode_get_path): New parameter case_insensitive. Retrieve case
2014 sensitiviness of a volume. All users updated.
2015 (dnode_get_fullpath): New parameter case_insensitive.
2016 All users updated.
2017 (grub_zfs_dir): Set info.case_insensitiveness.
2018
95f2e860
VS
20192011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 Support second redundancy strip on raidz(2,3).
2022
2023 * grub-core/fs/zfs/zfs.c (powx): New array.
2024 (powx_inv): Likewise.
2025 (poly): New const.
2026 (xor_out): New function.
2027 (gf_mul): Likewise.
2028 (recovery): Likewise.
2029 (read_device): Use second redundancy strip.
2030
11ee4389
VS
20312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 Use a power of generator representation of GF(256) multiplication group
2034 to save space time and complexity.
2035
2036 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2037 (raid6_table2): Likewise.
2038 (powx): New array.
2039 (powx_inv): Likewise.
2040 (poly): New const.
2041 (grub_raid_block_mul): Replace with ...
2042 (grub_raid_block_mulx): ...this.
2043 (grub_raid6_init_table): Rewritten.
2044 (grub_raid6_recover): Use power of generator representation.
2045
09e2763f
VS
20462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2049 for the right device.
2050
8bec9a28
VS
20512011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2054 expected by grub-mkimage and it's more clear since there is no implicit
2055 padding.
2056
dbd3a32e
VS
20572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2060 disk.
2061 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2062
182c872a
PMH
20632011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2064
2065 * util/grub-mkrescue.in: Fix handling xorriso option.
2066
1e51cabd
VS
20672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2070 NULL.
2071
9cc3581d 20722011-11-03 crocket <crockabiscuit@gmail.com>
2073
2074 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2075
158dc1ea
VS
20762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 XZ CRC64 and SHA256 support.
2079
2080 * Makefile.util.def (libgrubmods): Add crc64.c.
2081 * grub-core/Makefile.core.def (crc64): New module.
2082 * grub-core/lib/crc64.c: New file.
2083 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2084 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2085 Fix the type.
2086 (MAX_HASH_SIZE): New define.
2087 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2088 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2089 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2090 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2091 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2092 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2093 Handle non-crc32 hashes.
2094 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2095 (dec_stream_header): Handle non-crc32 hashes.
2096 (dec_stream_footer): Likewise.
2097 (dec_block_header): Likewise.
2098 (dec_main): Likewise.
2099 (xz_dec_init): Likewise.
2100 (xz_dec_reset): Likewise.
2101 (xz_dec_end): Likewise.
2102 * util/import_gcry.py: Add CRC64 line.
2103
9d9b3d2f
VS
21042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2107 as well.
2108
7d0ac931
VS
21092011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 Make reiserfs label retrieval similar to other *_label functions.
2112
2113 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2114 (REISERFS_MAX_LABEL_LENGTH): Removed.
2115 (REISERFS_LABEL_OFFSET): Likewise.
2116 (grub_reiserfs_label): Rewritten.
2117
21182011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2121 field.
2122
cf5ba824
VS
21232011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2126
17744004
VS
21272011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2130 drive failure on both raidz and raidz2.
2131
aca5aefc
VS
21322011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 Fix RAIDZ(2) for >= 5 devices.
2135
2136 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2137 asize argument. All users updated.
2138
ce8ca56e
VS
21392011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 Fix RAIDZ(2).
2142
2143 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2144 (fill_vdev_info_real): Set ashift.
2145 (read_device): Rewrite RAIDZ part based on reverse engineering.
2146
7c01e783
VS
21472011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2150 don't report potentially unavialiable fields in debug output.
2151 (find_path): Fix double-free and memory leak.
2152
ce109e84
VS
21532011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 Read label on UFS1.
2156
2157 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2158 (grub_ufs_fs): Always set .label.
2159
87661123
VS
21602011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 Use shifts in UFS.
2163
2164 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2165 (grub_ufs_data): New field log2_blksz.
2166 (grub_ufs_read_file): Use shifts.
2167 (grub_ufs_mount): Check block size and logarithm it.
2168
46bc1dc2
VS
21692011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2172 long symlinks.
2173
19ee2987
VS
21742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 Handle symlinks and long names on tar and cpio.
2177
2178 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2179 (ATTR_FILE): Likewise.
2180 (ATTR_DIR): Likewise.
2181 (ATTR_LNK): Likewise.
2182 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2183 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2184 L and K entries.
2185 (grub_cpio_mount): Zero-fill data.
2186 (handle_symlink): New function.
46bc1dc2
VS
2187 (grub_cpio_dir): Handle symlinks.
2188 (grub_cpio_open): Likewise.
2189 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 2190
c83a08d8
VS
21912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Fix iso9660 filename limitations and fix memory leaks.
2194
2195 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2196 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2197
45cdd3ea
VS
21982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 Fix JFS file name length limitations.
2201
2202 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2203 (grub_jfs_diropen): Fix maximum filename length.
2204 (grub_jfs_getent): Fix filename length.
2205 (grub_jfs_lookup_symlink): Fix size checks.
2206
94ef05c2
VS
22072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2210 string.
2211
785ab8c7
VS
22122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2213
eb0b6b45
VS
2214 Leverage BFS implementation to read AFS.
2215
2216 * Makefile.util.def (libgrubmods): Add afs.c.
2217 * grub-core/Makefile.core.def (afs): New module
2218 * grub-core/fs/afs.c: New file.
2219 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2220
22212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 2224
c4a1628f
VS
22252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/fs/bfs.c: Run indent.
2228
5825b379
VS
22292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 BFS implementation based on the specification.
2232
2233 * grub-core/fs/bfs.c: New file.
2234 * Makefile.util.def (libgrubmods): Add bfs.c.
2235 * grub-core/Makefile.core.def (bfs): New module.
2236
42b2a706
VS
22372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * util/grub-fstest.c (cmd_cp): Clarify error message.
2240 (cmd_cmp): Likewise.
2241
61b99bfc
YB
22422011-10-30 Yves Blusseau <blusseau@zetam.org>
2243
2244 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2245 and befs_be.
2246
faba3d16
VS
22472011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 Remove afs and befs because of copyright problem.
2250
2251 * grub-core/fs/afs.c: Removed.
2252 * grub-core/fs/afs_be.c: Removed.
2253 * grub-core/fs/befs.c: Removed.
2254 * grub-core/fs/befs_be.c: Removed.
2255 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2256 * grub-core/Makefile.core.def (afs): Removed.
2257 (afs_be): Likewise.
2258 (befs): Likewise.
2259 (befs_be): Likewise.
2260
c39224b0
VS
22612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Prefer rockridge over Joliet.
2264
2265 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2266 to ...
2267 (set_rockridge): ... here.
2268 (grub_iso9660_mount): Check rockridge on the primary label when
2269 discovering. Ignore Joliet if Rockridge is present.
2270
e551115a
VS
22712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 Use shifts in nilfs2.
2274
2275 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2276 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2277 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2278 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2279 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2280 (grub_nilfs2_entries_per_block): Replaced with ...
2281 (grub_nilfs2_log_entries_per_block_log): ... this.
2282 (grub_nilfs2_blocks_per_group): Replaced with ...
2283 (grub_nilfs2_blocks_per_group_log): ... this.
2284 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2285 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2286 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2287 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2288 (grub_nilfs2_palloc_entry_offset): Replaced ...
2289 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2290 (grub_nilfs2_dat_translate): Use shifts.
2291 (grub_nilfs2_read_inode): Likewise.
2292 (GRUB_MOD_INIT): Ensure that logs are correct.
2293
564dd58c
VS
22942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 Use shifts in minix filesystem.
2297
2298 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2299 (GRUB_MINIX_ZONE2SECT): Likewise.
2300 (grub_minix_data): Replace block_size with log_block_size.
2301 (grub_minix_read_file): Use shifts.
2302 (grub_minix_mount): Check block size and take a logarithm.
2303
ed9ba06d
VS
23042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 Use shifts in squash4.
2307
2308 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2309 (squash_mount): Check block size and take logarithm.
2310 (direct_read): Use shifts.
2311
ad03fe76
VS
23122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 Correct befs block counting logic.
2315
2316 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2317 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2318 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2319 (grub_afs_read_inode): Use block_shift.
2320 (RANGE_SHIFT): New definition.
2321 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2322 unexpected conditions, use shifts and appropriate types.
2323 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2324
6563f63d
VS
23252011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/disk/raid.c (scan_devices): Check partition.
2328 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2329
5b1ae25f
VS
23302011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Support BFS (befs) UUID.
2333
2334 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2335 (grub_afs_small_data_element_header): New struct.
2336 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2337 (grub_afs_read_attribute) [MODE_BFS]: New function.
2338 (grub_afs_iterate_dir): Allocate for complete inode.
2339 (grub_afs_mount): Likewise.
2340 (grub_afs_uuid) [MODE_BFS]: New function.
2341 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2342
f8d82408
VS
23432011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2346 (zfs_unmount): Fix memory leak.
2347
5773fb64
VS
23482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 Support NTFS reparse points.
2351
2352 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2353 (symlink_descriptor): New struct.
2354 (grub_ntfs_read_symlink): New function.
2355 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2356 (grub_ntfs_open): Likewise.
2357
91c3fdde
VS
23582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2361
3be82e10
VS
23622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 fstest xnu_uuid subcommand.
2365
2366 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2367 grub-core/commands/xnu_uuid.c.
2368 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2369 (fstest): Handle xnu_uuid.
2370 (options): Document xnu_uuid.
2371 (argp_parser): Parse xnu_uuid.
2372
8e32442e
VS
23732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2376 -l argument. Add newline at the end if printing.
2377 (GRUB_MOD_INIT): Document -l.
2378
52a05075
VS
23792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2382
1869edb5
VS
23832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 ZFS multi-device and version 33 support.
2386
2387 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2388 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2389 (grub_zfs_data): Add multidev-ice-related fields.
2390 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2391 (dva_get_offset): Make dva const.
2392 (zfs_fetch_nvlist): New function.
2393 (fill_vdev_info_real): Likewise.
2394 (fill_vdev_info): Likewise.
2395 (check_pool_label): Likewise.
2396 (scan_disk): Likewise.
2397 (scan_devices): Likewise.
2398 (read_device): Likewise.
2399 (read_dva): Likewise.
2400 (zio_read_gang): Use read_dva.
2401 (zio_read_data): Likewise.
2402 (zap_leaf_lookup): Add missing endian conversion.
2403 (zap_verify): Add missing endian conversion. All users updated.
2404 (fzap_lookup): Likewise.
2405 (fzap_iterate): Likewise.
2406 (dnode_get_path): Handle SA bonus.
2407 (nvlist_find_value): Make input const. All users updated.
2408 (unmount_device): New function.
2409 (zfs_unmount): Use unmount_device.
2410 (zfs_mount): Use scan_disk.
2411 (zfs_mtime): New function.
2412 (grub_zfs_open): Handle system attributes.
2413 (fill_fs_info): Likewise.
2414 (grub_zfs_dir): Likewise.
2415 (grub_zfs_fs): Add mtime.
2416 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2417 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2418 (SA_MTIME_OFFSET): Likewise.
2419 (SA_SYMLINK_OFFSET): Likewise.
2420 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2421 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2422 (fstest): Support zfsinfo.
2423 (argp_parser): Likewise.
2424
186b4028
VS
24252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2428 error.
2429
24302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
2431
2432 ZFS fixes.
2433
2434 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2435 sharing the same block. Iterate over correct number of indices.
2436 (dnode_get_path): Handle symlinks correctly.
2437
c0584900
VS
24382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2441
67e2bd71
VS
24422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Read label on HFS+.
2445
2446 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2447 (grub_hfsplus_btree_search): Fix types.
2448 (grub_hfsplus_label): Implement.
2449
e9cc6b7b
VS
24502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2453
19832ddb
VS
24542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2457
66b40850
VS
24582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 Fix symlink handling on iso9660.
2461
2462 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2463 All users updated.
2464 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2465 (grub_iso9660_read_symlink): Moved most of code ...
2466 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2467
db821363
VS
24682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2471 Use union to avoid breaking strict-aliasing rules.
2472
e1211949
VS
24732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 Support multi-extent iso files.
2476
2477 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2478 Add node.
2479 (grub_fshelp_node): Revamp. All users updated.
2480 (FLAG_*): New enum.
2481 (read_node): New function.
2482 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2483 All users updated.
2484 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2485 (get_node_size): New function.
2486 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2487 entries.
2488 Fix memory leak on . and ..
2489 (grub_iso9660_read): Use read_node.
2490 (grub_iso9660_close): Free node.
2491
d4888031
VS
24922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 Fix tar 4G limit and handle paths containing dot.
2495
2496 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2497 (canonicalize): New function.
2498 (grub_cpio_find_file): Use canonicalize. Store offs in
2499 grub_disk_addr_t.
2500 (grub_cpio_dir): Use grub_disk_addr_t.
2501 (grub_cpio_open): Likewise.
2502
9f12e664
VS
25032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2506
2507 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2508 unused flags.
2509 (grub_squash_inode): Add long_file and block_size.
2510 (grub_squash_cache_inode): New struct.
2511 (grub_squash_dirent): Make types into enum.
2512 (SQUASH_TYPE_LONG_REGULAR): New type.
2513 (grub_squash_frag_desc): Add field size.
2514 (SQUASH_BLOCK_FLAGS): New enum.
2515 (grub_squash_data): Use grub_squash_cache_inode.
2516 (grub_fshelp_node): Make ino_chunk 64-bit.
2517 (read_chunk): Minor argument change. All users updated.
2518 (squash_mount): Use correct le_to_cpu.
2519 (grub_squash_open): Handle LONG_REGULAR.
2520 (direct_read): New function.
2521 (grub_squash_read_data): Handle blocks correctly.
2522
9f326fba
VS
25232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2526
f4d9b64b
VS
25272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2530
5bbd28b8
VS
25312011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 Fix 2G limit on ZFS.
2534
2535 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2536 types.
2537 (uberblock_verify): Likewise.
2538 (dmu_read): Likewise.
2539 (grub_zfs_read): Likewise. Remove invalid cast.
2540
68c72069
VS
25412011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2544 (grub_jfs_blkno): Fix incorrect shift.
2545 (grub_jfs_read_file): Use more appropriate types.
2546
6e536dc8
VS
25472011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Support triple indirect on minix2 and minix3.
2550
2551 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2552 Declare triple_indir_zone.
2553 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2554 indirect.
2555
e0864e7a
VS
25562011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 Minix FS fixes.
2559
2560 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2561 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2562 Rename ctime to mtime. All users updated.
2563 (grub_minix_get_file_block): Fix types and double indirect computations.
2564
89481cab
VS
25652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2568 if no label is found.
2569 (grub_fat_iterate_dir): Fix file size type.
2570 (grub_fat_iterate_dir): Likewise.
2571
f646e143
VS
25722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2575 save some space.
2576 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2577 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2578
534d769e
VS
25792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2582
e084ba18
VS
25832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * util/import_gcry.py: Accept space between # and include.
2586
3471ecdf
VS
25872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2590
124df5f6
VS
25912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2594
2595 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2596 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2597 yylex_strncpy.
2598 * grub-core/script/yylex.l: Add fine-grained #pragma.
2599
4defb8d5
VS
26002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2603 New inline function.
2604 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2605 Likewise.
2606 (memset) [GRUB_UTIL]: Likewise.
2607 (memcmp) [GRUB_UTIL]: Likewise.
2608
4e94ae65
VS
26092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2612 inline function rather than a define.
2613
18c575e5
VS
26142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * util/grub-setup.c: Add missing include.
2617
f8bc22a8
VS
26182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * util/ieee1275/grub-ofpathname.c: Add missing include.
2621
3ce69fc9
VS
26222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2625 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2626 Likewise.
2627
d1e293bb
VS
26282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2631 grub_memcmp usage.
2632
7a5c54a4
VS
26332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * util/grub-install.in: Add datarootdir as per automake manual
2636 suggestion.
2637 * util/grub-mknetdir.in: Likewise.
2638
26392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
2640
2641 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2642 suggestion.
2643 * util/grub.d/10_kfreebsd.in: Likewise.
2644 * util/grub.d/10_linux.in: Likewise.
2645 * util/grub.d/10_netbsd.in: Likewise.
2646 * util/grub.d/10_windows.in: Likewise.
2647 * util/grub.d/20_linux_xen.in: Likewise.
2648
766f7d08
VS
26492011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 Remove redundant grub_kernel_image_size.
2652
2653 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2654 _edata and _start.
2655 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2656 the small code. It moves it only by few bytes but simplifies the code.
2657 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2658 _start.
2659 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2660 (grub_kernel_image_size): Removed.
2661 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2662 (grub_kernel_image_size): Removed.
2663 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2664 compiled with Apple toolchain.
2665 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2666 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2667 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2668 (grub_total_module_size): Likewise.
2669 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2670 Removed.
2671 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2672 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2673 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2674 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2675 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2676 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2677 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2678 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2679 Removed.
2680 (grub_total_module_size): Removed.
2681 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2682 (image_targets): Likewise.
2683 Set .compressed_size to no field on sparc.
2684 (generate_image): Remove kernel_image_size handling.
2685
fcf1d672
SJ
26862011-10-19 Szymon Janc <szymon@janc.net.pl>
2687
2688 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2689 NULL pointer dereference.
2690
de9c615e
VS
26912011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2694 done with a dedicated section.
2695
2696 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2697 Ensure the correct position of boot_path.
2698 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2699 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2700 other fields.
2701 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2702 * include/grub/boot.h: Removed. All references removed.
2703 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2704 Removed.
2705 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2706
e55599dc
VS
27072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2710 name.
2711
36dd20ad
VS
27122011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2715
f8f72eb8
VS
27162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2719 Don't add the bogus brackets.
2720
a374751b
VS
27212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 ExFAT support.
2724
2725 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2726 * grub-core/Makefile.core.def (exfat): New module.
2727 * grub-core/fs/exfat.c: New file.
2728 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2729 (GRUB_FAT_ATTR_*): Make into an enum.
2730 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2731 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2732 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2733 (GRUB_FAT_MAXFILE): Removed.
2734 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2735 (grub_current_fat_bpb_t): New type.
2736 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2737 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2738 (grub_fat_dir_node_t): New type.
2739 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2740 (fat_log2) [MODE_EXFAT]: Removed.
2741 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2742 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2743 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2744 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2745 (grub_fat_label) [MODE_EXFAT]: New function.
2746 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2747 reserved_first_sector to 0.
2748
544c2487
VS
27492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 Move grub_reboot out of the kernel.
2752
2753 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2754 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2755 * grub-core/lib/efi/reboot.c: ... here.
2756 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2757 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2758 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2759 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2760 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2761 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2762 * grub-core/lib/ieee1275/reboot.c: ... here.
2763 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2764 * grub-core/lib/mips/arc/reboot.c: ... here.
2765 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2766 * grub-core/lib/mips/loongson/reboot.c: ...here.
2767 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2768 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2769 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2770 * include/grub/i386/reboot.h: New file.
2771 * include/grub/mips/loongson/ec.h: Fix includes.
2772 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2773 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2774 * grub-core/lib/i386/reboot.c: New file.
2775
a97501d2
VS
27762011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 Make grub_prefix into module to fix the arbitrary limit and save
2779 some space.
2780
2781 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2782 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2783 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2784 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2785 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2786 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2787 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2788 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2789 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2790 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2791 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2792 * include/grub/ia64/efi/kernel.h: Removed.
2793 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2794 (grub_prefix): Removed.
2795 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2796 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2797 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2798 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2799 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2800 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2801 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2802 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2803 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2804 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2805 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2806 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2807 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2808 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2809 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2810 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2811 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2812 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2813 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2814 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2815 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2816 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2817 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2818 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2819 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2820 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2821 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2822 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2823 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2824 from module.
2825 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2826 prefix_end.
2827 (image_targets): Likewise.
2828 (generate_image): Put prefix as a module.
2829
39705fad
VS
28302011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 Replace grub_module_iterate with FOR_MODULES.
2833
2834 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2835 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2836 (grub_efi_modules_addr): ...this.
2837 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2838 (grub_efi_init): Set grub_modbase.
2839 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2840 (grub_modbase): New variable.
2841 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2842 (grub_modbase): New variable.
2843 (grub_machine_init): Set grub_modbase.
2844 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2845 (grub_modbase): New variable.
2846 (grub_machine_init): Set grub_modbase.
2847 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2848 (grub_modbase): New variable.
2849 (grub_machine_init): Set grub_modbase.
2850 * grub-core/kern/main.c (grub_module_iterate): Remove.
2851 (grub_modules_get_end): Use grub_modbase.
2852 (grub_load_modules): Use FOR_MODULES.
2853 (grub_load_config): Likewise.
2854 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2855 (grub_modbase): New variable.
2856 (grub_machine_init): Set grub_modbase.
2857 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2858 (grub_modbase): New variable.
2859 (grub_machine_init): Set grub_modbase.
2860 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2861 Removed.
2862 (grub_modbase): New variable.
2863 (grub_machine_init): Set grub_modbase.
2864 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2865 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2866 (grub_module_iterate): Likewise.
2867 (grub_modbase): New variable declaration.
2868 (FOR_MODULES): New macro.
2869
2afb7f6c
VS
28702011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2873 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2874
366e34fa
VS
28752011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Fix few obvious type discrepancies.
2878
2879 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2880 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2881 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
2882 variable.
2883 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
2884 and connected types.
2885 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
2886 offset.
2887 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
2888 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
2889 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
2890 and connected types.
2891
177b960e
VS
28922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 Fix python 3.x incompatibilities.
2895
2896 * gentpl.py: Put brackets around print strings.
2897 * util/import_gcry.py: Open explicitly as utf-8.
2898 Use in instead of has_key.
2899
3b619ae1
VS
29002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
2903 (GRUB_XFS_INO_AGBITS): Make into inline function.
2904 (GRUB_XFS_INO_INOINAG): Likewise.
2905 (GRUB_XFS_INO_AG): Likewise.
2906 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2907 (GRUB_XFS_EXTENT_OFFSET): Likewise.
2908 (GRUB_XFS_EXTENT_BLOCK): Likewise.
2909 (GRUB_XFS_EXTENT_SIZE): Likewise.
2910 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
2911 (GRUB_XFS_NEXT_DIRENT): Likewise.
2912 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
2913 (grub_xfs_read_file): Fix offset type.
2914
8bcebcb8
RM
29152011-10-15 Robert Millan <rmh@gnu.org>
2916
2917 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
2918
0017e5ef
RM
29192011-10-15 Robert Millan <rmh@gnu.org>
2920
2921 Fix build problem on FreeBSD and GNU/kFreeBSD.
2922
2923 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
2924
d8919552
VS
29252011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
2928
2929 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
2930 types.
2931 (grub_hfsplus_btree_recoffset): Likewise.
2932 (grub_hfsplus_btree_recptr): Likewise.
2933 (grub_hfsplus_find_block): Likewise.
2934 (grub_hfsplus_btree_search): Likewise.
2935 (grub_hfsplus_read_block): Likewise.
2936 (grub_hfsplus_read_file): Likewise.
2937 (grub_hfsplus_mount): Likewise.
2938 (grub_hfsplus_btree_iterate_node): Likewise.
2939 (grub_hfsplus_btree_search): Likewise.
2940 (grub_hfsplus_iterate_dir): Likewise.
2941 (grub_hfsplus_read): A small code simplification.
2942
c81296b6
VS
29432011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/kern/emu/hostdisk.c
2946 (convert_system_partition_to_system_disk): Don't assume that children
2947 of mapper nodes are mapper nodes.
2948
0eb8ffb1
VS
29492011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
2952 * include/grub/misc.h (grub_isxdigit): New function.
2953 * grub-core/video/colors.c (my_isxdigit): Removed. All users
2954 switched to grub_isxdigit.
2955 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
2956 number starting with a letter.
2957
a98f4a08
RM
29582011-10-09 Robert Millan <rmh@gnu.org>
2959
2960 LVM support for FreeBSD and GNU/kFreeBSD.
2961
2962 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
2963 GNU/kFreeBSD.
2964 (LVM_DEV_MAPPER_STRING): Move from here ...
2965 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
2966 * util/getroot.c: Include `<grub/util/lvm.h>'.
2967 (grub_util_get_dev_abstraction): Enable
2968 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
2969 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
2970 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
2971 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
2972 support it.
2973 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
2974 GNU/kFreeBSD.
2975 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
2976 when LVM abstraction is required for ${GRUB_DEVICE}.
2977
050e8e90
SJ
29782011-10-06 Szymon Janc <szymon@janc.net.pl>
2979
2980 Add support for LZO compression in GRUB:
2981 - import of minilzo library,
2982 - LZO decompression for btrfs,
2983 - lzop files decompression.
2984
2985 * grub-core/io/lzopio.c: New file.
2986 * grub-core/lib/adler32.c: Likewise.
2987 * grub-core/lib/minilzo/lzoconf.h: Likewise.
2988 * grub-core/lib/minilzo/lzodefs.h: Likewise.
2989 * grub-core/lib/minilzo/minilzo.c: Likewise.
2990 * grub-core/lib/minilzo/minilzo.h: Likewise.
2991 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
2992 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
2993 grub-core/lib/minilzo/minilzo.c to common.
2994 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
2995 cflags in cppflags.
2996 * grub-core/Makefile.core.def (btrfs): Likewise.
2997 * grub-core/Makefile.core.def (lzopio): New module.
2998 (adler32): Likewise.
2999 * grub-core/fs/btrfs.c: Include minilzo.h.
3000 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3001 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3002 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3003 (grub_btrfs_lzo_decompress): New function.
3004 (grub_btrfs_extent_read): Add support for LZO compression type.
3005 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3006 (GRUB_USHRT_MAX): Likewise.
3007 (GRUB_UINT_MAX): Likewise.
3008 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3009 (UINT_MAX): Likewise.
3010 (CHAR_BIT): Likewise.
3011 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3012 grub-core/lib/posix_wrap/limits.h
3013 (UCHAR_MAX): Likewise.
3014 * include/grub/file.h (grub_file_filter_id): New compression filter
3015 GRUB_FILE_FILTER_LZOPIO.
3016 * include/grub/file.h (grub_file_filter_id): Set
3017 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3018 * include/grub/types.h (grub_get_unaligned16): New function.
3019 (grub_get_unaligned32): Likewise.
3020 (grub_get_unaligned64): Likewise.
3021 * util/import_gcry.py (cryptolist): Add adler32.
3022
0eb8ffb1
VS
30232011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3026 in perspective decreases the complexity of build system and fixes
3027 compilation right now.
3028
ce79cc99 30292011-10-01 Ales Nesrsta <starous@volny.cz>
3030
3031 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3032 (fixed problem related to using UHCI with coreboot).
3033
8667a314
BC
30342011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3035
3036 * gentpl.py: Use Autogen macros so that the output template file
3037 (Makefile.tpl) size is reduced.
3038
fc5efcc0
MK
30392011-09-29 Mads Kiilerich <mads@kiilerich.com>
3040
3041 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3042 extra_dist.
3043
d1ab689d
ML
30442011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3045
3046 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3047 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3048
c05de032
ML
30492011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3050
3051 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3052 _fullpath.
3053
cca7ccd8
ML
30542011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3055
3056 Remove extra declaration of sleep for mingw32.
3057
3058 * util/misc.c (sleep) [__MINGW32__]: Removed.
3059 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3060
e0b0dc83
GS
30612011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3062
3063 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3064 type and packname.
3065 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3066 Resurrected.
3067 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3068 (grub_netbsd_btinfo_bootwedge): New struct.
3069 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3070 New function.
3071 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3072
91a1a164
TH
30732011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3074
3075 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3076 loader.
3077
2ded951e
AB
30782011-09-28 Andreas Born <futur.andy@googlemail.com>
3079
3080 Fix incorrect identifiers in bash-completion.
3081
3082 * util/bash-completion.d/grub-completion.bash.in
3083 (_grub_mkpasswd-pbkdf2): Rename to ...
3084 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3085 (_grub_script-check): Rename to ...
3086 (_grub_script_check): ... this. All users updated.
3087
69915030
VS
30882011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3091 Return 0 if disk isn't biosdisk.
3092
20fd15f9
GS
30932011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3094
3095 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3096 on NetBSD.
3097 * Makefile.util.def (grub-fstest): Likewise.
3098
1a7d7db9
GS
30992011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3100
3101 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3102 Get sector size from disk label.
3103
2221ab6c
CW
31042011-09-05 Colin Watson <cjwatson@ubuntu.com>
3105
3106 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3107 */README* as well as README*.
3108 Reported by: Axel Beckert.
3109
ca51c4a0
VS
31102011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3113 case of less than 256 MiB of RAM.
3114
ab80f326
VS
31152011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/commands/wildcard.c (make_regex): Handle @.
3118
4155e697
VS
31192011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3122
ab178c08
SJ
31232011-08-21 Szymon Janc <szymon@janc.net.pl>
3124
3125 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3126 AC_LANG_CONFTEST macros.
3127
7dc3c686
SJ
31282011-08-20 Szymon Janc <szymon@janc.net.pl>
3129
3130 Add grub-fstest option to uncompress data for commands.
3131
3132 * util/grub-fstest.c (uncompress): New var.
3133 (options): New option -u.
3134
fe8d4a7b
SJ
31352011-08-20 Szymon Janc <szymon@janc.net.pl>
3136
3137 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3138 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3139
a5219af1
SJ
31402011-08-20 Szymon Janc <szymon@janc.net.pl>
3141
3142 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3143 file type was not recognized correctly (not gzip or corrupted).
3144
f87abff5
VS
31452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3148 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3149
d94497ea
VS
31502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3153 loongson.
3154 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3155 video_radeon_fuloong2e.
3156 * grub-core/video/radeon_fuloong2e.c: New file.
3157 * include/grub/video.h (grub_video_id_t): Add new ID
3158 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3159
0d1fd011
VS
31602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3163 define.
3164 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3165 that PRID matches the detected subplatform and reset the subplatform
3166 if it doesn't.
3167
84beb0ee
VS
31682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3171
1227c133
VS
31722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 Fix PCI iterating on functions >= 4.
3175
3176 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3177 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3178 Removed.
3179 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3180 (grub_pci_read): Fix bitmask.
3181 (grub_pci_read_word): Likewise.
3182 (grub_pci_read_byte): Likewise.
3183 (grub_pci_write): Likewise.
3184 (grub_pci_write_word): Likewise.
3185 (grub_pci_write_byte): Likewise.
3186
9594c689
VS
31872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3190 can still be specified in TARGET_CFLAGS)
3191
14a2562c
VS
31922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3195
3196 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3197 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3198 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3199 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3200 (FULOONG): Rename to ...
3201 (FULOONG2F): ... this. All users updated.
3202 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3203 (machtype_fuloong2f_str): ... this.
3204 (machtype_fuloong2e_str): New string.
3205 Check for machtype_fuloong2e_str.
3206 * grub-core/loader/mips/linux.c (loongson_machtypes)
3207 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3208 * grub-core/term/serial.c (loongson_defserial)
3209 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3210 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3211 loongson_defserial.
3212 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3213 Rename to ...
3214 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3215 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3216 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3217 to IMAGE_FULOONG2F_FLASH. All users updated.
3218 (image_targets): Rename images.
3219 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3220
b526cbb6
SJ
32212011-08-19 Szymon Janc <szymon@janc.net.pl>
3222
3223 Make enable of disk cache statistics code configurable.
3224
3225 * configure.ac: --enable-cache-stats added.
3226 * config.h.in (DISK_CACHE_STATS): New define.
3227 * grub-core/Makefile.core.def (cacheinfo): New command.
3228 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3229 * grub-core/commands/cacheinfo.c: New file.
3230 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3231 moved to cacheinfo.c.
3232 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3233 debug code.
3234 * include/grub/disk.h: Likewise.
3235
fb739ccd
SJ
32362011-08-19 Szymon Janc <szymon@janc.net.pl>
3237
3238 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3239 * grub-core/Makefile.am: Likewise.
3240
2bba8cfd
VS
32412011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3244 non-zero pull.
3245
43526629
VS
32462011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3249 All users updated.
3250 (grub_jfs_lookup_symlink): Use correct starting inode.
3251
5c144cc8
VS
32522011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * util/grub-setup.c (main): Add missing gcry initialisation.
3255
b1257f65
VS
32562011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Don't accept text modes on EFI when booting Linux.
3259
3260 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3261 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3262
828bc390
ML
32632011-08-15 Mario Limonciello <mario_limonciello@dell.com>
32642011-08-15 Colin Watson <cjwatson@ubuntu.com>
3265
3266 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3267 use of "/path/.." as in grub-install for EFI as well as handling
3268 symlinks correctly.
3269 Fixes Debian bug #637768.
3270
5f60ccac
CW
32712011-08-15 Colin Watson <cjwatson@ubuntu.com>
3272
3273 * util/grub-probe.c: Remove duplicate #include.
3274
6dc212f9
RM
32752011-08-10 Robert Millan <rmh@gnu.org>
3276
3277 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3278
3279 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3280 function.
3281 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3282 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3283
66816d85
RM
32842011-08-03 Robert Millan <rmh@gnu.org>
3285
3286 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3287 la_array as packed.
3288 Reported by: Zachary Bedell
3289
20168fca
CW
32902011-07-26 Colin Watson <cjwatson@ubuntu.com>
3291
3292 * configure.ac: The Loongson port requires grub-mkfont due to its
3293 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3294 be built.
3295
303b6246
CW
32962011-07-26 Colin Watson <cjwatson@ubuntu.com>
3297
3298 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3299 processing arguments (otherwise help2man fails when GRUB has not yet
3300 been installed).
3301
6795300e
VS
33022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3303
41aa28ea
VS
3304 New script grub-mkstandalone.
3305
3306 * Makefile.util.def (grub-mkstandalone): New script.
3307 * docs/man/grub-mkstandalone.h2m: New file.
3308 * util/grub-mkstandalone.in: Likewise.
3309
33102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 Support ATA disks with 4K sectors.
6795300e
VS
3313
3314 * include/grub/ata.h (grub_ata): New member log_sector_size.
3315 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3316 (grub_ata_identify): Read sector size.
3317 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3318
92227597
VS
33192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * util/grub-install.in: Don't use uhci outside of x86.
3322
c77069f5
VS
33232011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * util/grub-mkrescue.in: Add missing quotes.
3326
33272011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
3328
3329 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3330 dereference.
3331
583168a2
VS
33322011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3335
6be1c01f
VS
33362011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * include/grub/video.h: add missing EXPORT_FUND on
3339 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3340
a1167439
VS
33412011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * include/grub/mips/kernel.h: Fix define conflict.
3344
bf66054f
VS
33452011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3348 all four ways.
3349
8fc4fa45
CW
33502011-07-21 Colin Watson <cjwatson@ubuntu.com>
3351
3352 Preferred resolution detection for VBE.
3353
3354 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3355 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3356 the Flat Panel extension, in line with the X.org VESA driver.
3357 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3358 New function.
3359 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3360 (grub_vbe_bios_read_edid): Likewise.
3361 (grub_vbe_get_preferred_mode): Likewise.
3362 (grub_video_vbe_setup): When the mode is "auto", try to get the
3363 preferred mode from VBE, and use the largest mode that is no larger
3364 than the preferred mode (some BIOSes expose a preferred mode that is
3365 not in their mode list!). If this fails, fall back to 640x480 as a
3366 safe conservative choice.
3367 (grub_video_vbe_get_edid): New function.
3368 (grub_video_vbe_adapter): Add get_edid.
3369 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3370 (struct grub_video_adapter): Add get_edid.
3371 (grub_video_edid_checksum): Add prototype.
3372 (grub_video_edid_preferred_mode): Likewise.
3373 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3374 structure.
3375
3376 * grub-core/commands/videoinfo.c (print_edid): New function.
3377 (grub_cmd_videoinfo): Print EDID if available.
3378
3379 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3380 is more appropriate on a wider range of platforms than 640x480.
3381 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3382 documentation.
3383
ca5572a9
VS
33842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3387
e4bcf625
VS
33882011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * po/POTFILES.in: Regenerate.
3391
c4edd548
VS
33922011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3395 incorrect memory usage.
3396
16a2bab0
VS
33972011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * util/grub-install.in: Source grub-mkconfig_lib.
3400
2e418de6
VS
34012011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 Remove getroot.c from core on emu platform.
3404
3405 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3406 kern/emu/raid.c.
3407 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3408 useless.
3409 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3410 * util/getroot.c (get_win32_path): ... here.
3411 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3412 * util/getroot.c (fini_libzfs): ... here.
3413 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3414 * util/getroot.c (grub_get_libzfs_handle): ... here.
3415 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3416 Moved from here...
3417 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3418 * grub-core/kern/emu/misc.c
3419 (grub_make_system_path_relative_to_its_root): Moved from here...
3420 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3421 * grub-core/kern/emu/getroot.c: Moved from here ...
3422 * util/getroot.c: ... here. All users updated.
3423 * grub-core/kern/emu/raid.c: Moved from here ...
3424 * util/raid.c: ... here. All users updated.
3425
def9832a
VS
34262011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * po/POTFILES.in: Regenerate.
3429
cd8fe79a
VS
34302011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 Fix compilation on GNU/Linux.
3433
3434 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3435 Disable geli.
3436 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3437 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3438 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3439
a251b719
VS
34402011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
34412011-07-07 Michael Gorven <michael@gorven.za.net>
34422011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3443
3444 LUKS and GELI support.
3445
3446 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3447 grub-core/disk/luks.c, grub-core/disk/geli.c,
3448 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3449 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3450 grub-core/lib/arg.c.
3451 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3452 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3453 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3454 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3455 (grub-bin2h): Add libgcry.a.
3456 (grub-mkimage): Likewise.
3457 (grub-mkrelpath): Likewise.
3458 (grub-script-check): Likewise.
3459 (grub-editenv): Likewise.
3460 (grub-mkpasswd-pbkdf2): Likewise.
3461 (grub-pe2elf): Likewise.
3462 (grub-fstest): Likewise.
3463 (grub-mkfont): Likewise.
3464 (grub-mkdevicemap): Likewise.
3465 (grub-probe): Likewise.
3466 (grub-ofpath): Likewise.
3467 (grub-mklayout): Likewise.
3468 (example_unit_test): Likewise.
3469 (grub-menulst2cfg): Likewise.
3470 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3471 * grub-core/Makefile.core.def (cryptodisk): New module.
3472 (luks): Likewise.
3473 (geli): Likewise.
3474 * grub-core/disk/AFSplitter.c: New file.
3475 * grub-core/disk/cryptodisk.c: Likewise.
3476 * grub-core/disk/geli.c: Likewise.
3477 * grub-core/disk/luks.c: Likewise.
3478 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3479 grub_util_is_lvm.
3480 (grub_util_get_dm_abstraction): New function.
3481 (grub_util_follow_gpart_up): Likewise.
3482 (grub_util_get_geom_abstraction): Likewise.
3483 (grub_util_get_dev_abstraction): Use new functions.
3484 (grub_util_pull_device): Pull GELI and LUKS.
3485 (grub_util_get_grub_dev): Handle LUKS and GELI.
3486 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3487 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3488 (follow_geom_up): Removed.
3489 (grub_util_fd_seek): New function.
3490 (open_device): Use grub_util_fd_seek.
3491 (nread): Rename to ..
3492 (grub_util_fd_read): ... this. All users updated.
3493 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3494 (grub_crypto_cbc_decrypt): Likewise.
3495 (grub_crypto_hmac_write): Likewise.
3496 (grub_crypto_hmac_buffer): Likewise.
3497 (grub_password_get): Extend to util.
3498 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3499 New member modname.
3500 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3501 * include/grub/cryptodisk.h: New file.
3502 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3503 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3504 LUKS and GELI.
3505 (grub_util_follow_gpart_up): New proto.
3506 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3507 (grub_util_fd_read): Likewise.
3508 (grub_cryptodisk_cheat_mount): Likewise.
3509 (grub_util_cryptodisk_print_uuid): Likewise.
3510 (grub_util_get_fd_sectors): Likewise.
3511 * util/grub-fstest.c (mount_crypt): New var.
3512 (fstest): Mount crypto if requested.
3513 (options): New option -C.
3514 (argp_parser): Parse -C.
3515 (main): Init and fini gcry.
3516 * util/grub-install.in: Support cryptodisk install.
3517 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3518 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3519 cryptodisk.
3520 (prepare_grub_to_access_device): Likewise.
3521 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3522 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3523 (probe_cryptodisk_uuid): New function.
3524 (probe_abstraction): Likewise.
3525 (probe): Use new functions.
3526 * util/import_gcry.py: Create Makefile.utilgcry.def.
3527 Add modname member.
3528
9bfdcbbc
VS
35292011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 Lazy device scanning.
3532
3533 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3534 (grub-setup): Remove util/raid.c.
3535 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3536 * grub-core/disk/lvm.c (scan_depth): New variable.
3537 (grub_lvm_iterate): Rescan if necessary.
3538 (find_lv): New function based on grub_lvm_open.
3539 (grub_lvm_open): Use find_lv. Rescan on error.
3540 (is_node_readable): New function.
3541 (is_lv_readable): Likewise.
3542 (grub_lvm_scan_device): Skip already found disks.
3543 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3544 Stop if searched device is found and readable.
3545 * grub-core/disk/raid.c (inscnt): New variable.
3546 (scan_depth): Likewise.
3547 (scan_devices): New function based on grub_raid_register. Abort if
3548 looked for device is found.
3549 (grub_raid_iterate): Rescan if needed.
3550 (find_array): NEw function based on -grub_raid_open.
3551 (grub_raid_open): Use find_array and rescan.
3552 (insert_array): Set became_readable_at.
3553 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3554 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3555 New function.
3556 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3557 (grub_util_pull_device): New function.
3558 (grub_util_get_grub_dev): Call grub_util_pull_device.
3559 * util/raid.c: Moved to ..
3560 * grub-core/kern/emu/raid.c: ... here.
3561 (grub_util_raid_getmembers): New parameter "bootable".
3562 All users updated. Support 1.x.
3563 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3564 All users updated.
3565 * include/grub/disk.h (grub_disk_pull_t): New enum.
3566 (grub_disk_dev): Change iterate prototype.
3567 All users updated.
3568 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3569 New proto.
3570 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3571 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3572 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3573 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3574 All users updated.
3575 * include/grub/util/raid.h: Removed.
3576
1c358e59
VS
35772011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * po/POTFILES.in: Regenerate.
3580
abee94ed
VS
35812011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 Unify sparc init with other ieee1275.
3584
3585 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3586 instead of kern/sparc64/ieee1275/init.c.
3587 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3588 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3589 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3590 grub/machine/kernel.h.
3591 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3592 (grub_claim_heap) [__sparc__]: Use sparc version.
3593 (grub_machine_init): Moved args parsing to
3594 (grub_parse_cmdline): ...this.
3595 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3596 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3597 New definition.
3598 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3599
3600 Move BOOTP to separate file.
3601
3602 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3603 * grub-core/net/net.c: Move all BOOTP functions to
3604 * grub-core/net/bootp.c: ... here.
3605
3606 Use frame interface on PXE.
3607
3608 * grub-core/Makefile.core.def (pxecmd): Removed.
3609 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3610 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3611 * grub-core/i386/pc/pxe.c: Moved from here ...
3612 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3613 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3614 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3615
3616 EFI network support.
3617
3618 * grub-core/Makefile.core.def (efinet): New module.
3619 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3620 here...
3621 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3622 All users updated.
3623 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3624 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3625 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3626 * grub-core/net/drivers/efi/efinet.c: New file.
3627 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3628 (grub_efi_net_config): New extern var.
3629
3630 Various cleanups and bugfixes.
3631
3632 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3633 error.
3634 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3635 disk declared as partition.
3636 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3637 leak on failure.
3638 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3639 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3640 (grub_debug_zalloc): Likewise.
3641 (grub_debug_realloc): Likewise.
3642 (grub_debug_memalign): Likewise.
3643 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3644 Check that target is IPv4.
3645 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3646 local-mac-address as fallback.
3647 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3648 memory leak.
3649 * grub-core/net/ip.c (ipchksum): Rename to ...
3650 (grub_net_ip_chksum): ... this. All users updated.
3651 (grub_net_recv_ip_packets): Special handling for DHCP.
3652 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3653
3654 Unify prefix handling
3655
3656 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3657 (grub_machine_get_bootlocation): ... this.
3658 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3659 (grub_machine_get_bootlocation): ... this.
3660 (grub_prefix): New variable.
3661 (prefix): Removed.
3662 (root_dev): New variable.
3663 (dir): Likewise.
3664 (main): Use new variables.
3665 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3666 Revamped into ...
3667 (grub_machine_get_bootlocation): ... this.
3668 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3669 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3670 (grub_machine_get_bootlocation): ... this.
3671 (grub_machine_set_prefix): Removed.
3672 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3673 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3674 Revamped into ...
3675 (grub_machine_get_bootlocation): ... this.
3676 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3677 (grub_set_prefix_and_root): ... this. All users updated.
3678 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3679 Revamped into ...
3680 (grub_machine_get_bootlocation): ... this.
3681 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3682 (grub_machine_get_bootlocation): New proto.
3683 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3684
3685 Less intrusive and more reliable seek on network implementation.
3686
3687 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3688 (grub_file_seek): Don't call grub_file_net_seek.
3689 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3690 (grub_net_fs_read_real): .. this.
3691 (grub_net_seek_real): Use net->offset.
3692 (grub_net_fs_read): Seek if necessary.
3693
3694 Unify IEEE1275 netwotk config with the other platforms.
3695
3696 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3697 New variable.
3698 (grub_machine_get_bootlocation): Support network.
3699 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3700 Support type and device parsing.
3701 (grub_ieee1275_get_device_type): New function.
3702 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3703 into ...
3704 (grub_ieee1275_net_config_real): ... this.
3705 (grub_ofnet_probecards): Removed.
3706 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3707 * include/grub/ieee1275/ofnet.h: Removed.
3708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3709 extern var.
3710 (grub_ieee1275_get_device_type): New function.
3711
3712 Unify network device closing across platforms and make more robust.
3713
3714 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3715 grub_grubnet_fini.
3716 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3717 already.
3718 * grub-core/net/net.c (grub_net_network_level_interface_register):
3719 Update num_ifaces.
3720 (grub_net_card_unregister): Close all interfaces.
3721 (receive_packets): Don't poll if no iterfaces are registered.
3722 Open if necessary.
3723 (grub_net_fini_hw): New function.
3724 (grub_net_restore_hw): Likewise.
3725 (fini_hnd): New variable.
3726 (GRUB_MOD_INIT): Register preboot hook.
3727 (GRUB_MOD_FINI): Run and unregister preboot hook.
3728
3729 Poll network cards when idle.
3730
3731 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3732 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3733 * grub-core/net/net.c (receive_packets): Save last poll time.
3734 (grub_net_poll_cards_idle_real): New function.
3735 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3736 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3737 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3738
3739 Rename ofnet interfaces.
3740
3741 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3742 (grub_ofnet_findcards): Use ofnet_%s names.
3743
3744 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3745
3746 Cleanup socket opening.
3747
3748 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3749 (grub_net_fs_close): Likewise.
3750 (grub_net_fs_read_real): Use eof member.
3751 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3752 (+grub_net_udp_close): New inline function.
3753
3754 * include/grub/net/tftp.h: Moved to the top of ...
3755 * grub-core/net/tftp.c: ... here.
3756 * include/grub/net/ip.h: Moved mostly to the top of ...
3757 * grub-core/net/ip.c: ... here.
3758 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3759 * grub-core/net/ethernet.c: ... here.
3760
3761 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3762
3763 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3764 FS name.
3765
3766 * include/grub/net/ip.h (ipv4_ini): Removed.
3767 (ipv4_fini): Likewise.
3768
3769 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3770 (grub_net_send_ip_packets): Likewise.
3771
cf1337aa
VS
37722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3775 grub_read_cmos prototype.
3776
93c06ff9
VS
37772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 VGA text support in qemu-mips
3780
3781 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3782 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3783 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3784 text.
3785 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3786 * grub-core/kern/vga_init.c: ... this.
3787 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3788 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3789 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3790 Adjust.
3791 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3792 GRUB_MACHINE_PCI_IO_BASE.
3793
748ccabe
VS
37942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 MIPS qemu flash support.
3797
3798 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3799 magic.
3800 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3801 (grub_machine_init): Probe memory if its size isn't known.
3802 * util/grub-mkimage.c (image_targets): Add flash targets.
3803 (generate_image): Handle flash targets.
3804
d7345994
VS
38052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 MIPS qemu at_keyboard support.
3808
3809 * gentpl.py (videoinkernel): Add qemu-mips.
3810 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3811 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3812 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3813 modules.
3814 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3815 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3816 * grub-core/term/serial.c (grub_serial_register)
3817 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3818
a07a81b3
VS
38192011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 CMOS support on sparc.
3822
3823 * gentpl.py (cmos): Add powerpc and sparc.
3824 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3825 powerpc and sparc.
3826 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3827 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3828 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3829 grub_set_datetime_cmos.
3830 * grub-core/lib/ieee1275/cmos.c: New file.
3831 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3832 (find_rtc): Set no_ieee1275_rtc on error.
3833 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3834 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3835 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3836 fail. Move value to argument. All users updated
3837 (grub_cmos_write): Likewise.
3838 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3839 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3840 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3841 grub_get_datetime_cmos and grub_set_datetime_cmos.
3842
77546584
GS
38432011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3844
3845 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3846 sourcing grub-mkconfig_lib.
3847 * util/update-grub_lib.in: Likewise.
3848 * util/grub.d/00_header.in: Likewise.
3849 * util/grub.d/10_hurd.in: Likewise.
3850 * util/grub.d/10_kfreebsd.in: Likewise.
3851 * util/grub.d/10_linux.in: Likewise.
3852 * util/grub.d/10_netbsd.in: Likewise.
3853 * util/grub.d/10_windows.in: Likewise.
3854 * util/grub.d/20_linux_xen.in: Likewise.
3855 * util/grub.d/30_os-prober.in: Likewise.
3856
54894791
CW
38572011-06-28 Colin Watson <cjwatson@ubuntu.com>
3858
3859 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3860 default_bg_color rather than black.
3861 (grub_gfxterm_fullscreen): Likewise.
3862 (grub_gfxterm_background_color_cmd): Save new background color in
3863 default_bg_color.
3864
8d5d8444
VS
38652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3868
5afeb5bd
VS
38692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3872 mismerge.
3873
ba7df45e
VS
38742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 Chainloading on coreboot support.
3877
3878 * grub-core/Makefile.core.def (chain): Add coreboot.
3879 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3880
d0b526b2
VS
38812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
3884 if it happens.
3885
5ff1d945
VS
38862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 Implement time command.
3889
3890 * grub-core/Makefile.core.def (time): New module.
3891 * grub-core/commands/time.c: New file.
3892 * grub-core/script/parser.y: Remove "time" keyword.
3893 * grub-core/script/yylex.l: Likewise.
3894
5ebaad7e
VS
38952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
3898
bdea3798
VS
38992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
3902 when handling leftovers.
3903
b28c5655
VS
39042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
3907 so that help2man doesn't fail.
3908
b6f945dc
VS
39092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
3912 type in pointers on sparc64.
3913 (get_card_packet): Likewise.
3914
f9b75e8a
CW
39152011-06-27 Colin Watson <cjwatson@ubuntu.com>
3916
3917 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
3918 with `*'.
3919 (grub_cmd_videoinfo): Fetch current video mode.
3920
1e3d9b86
VS
39212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
3924 because of underlying system restrictions.
3925
efff4b1c
VS
39262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
3929 necessary.
3930
9fc9ce37
VS
39312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 Coreboot video support.
3934
3935 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
3936 (vbe): Likewise.
3937 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
3938 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
3939 here ...
3940 * grub-core/kern/i386/int.S: ... here.
3941 * grub-core/video/i386/pc/vbe.c: Updated includes.
3942 * grub-core/video/i386/pc/vga.c: Likewise.
3943 * include/grub/i386/coreboot/memory.h
3944 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
3945 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
3946 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
3947 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
3948 Disable interrupts.
3949 * include/grub/i386/pc/vga.h: Removed. All users updated.
3950
41bec7fe
VS
39512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
3954 definitions for dprintf.
3955 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
3956
ca80309d
VS
39572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
3960 prototype.
3961 (get_card_packet): Likewise.
3962
9e322ce8
YB
39632011-06-26 Yves Blusseau <blusseau@zetam.org>
3964
3965 Display the path of the file when file is not found
3966
3967 * grub-core/fs/fat.c: Display the filename when file is not found.
3968 * grub-core/fs/fshelp.c: Likewise.
3969 * grub-core/fs/hfs.c: Likewise.
3970 * grub-core/fs/jfs.c: Likewise.
3971 * grub-core/fs/minix.c: Likewise.
3972 * grub-core/fs/ufs.c: Likewise.
3973 * grub-core/fs/btrfs.c: Likewise.
3974 * grub-core/commands/i386/pc/play.c: Likewise.
3975
cbf597af
SJ
39762011-06-26 Szymon Janc <szymon@janc.net.pl>
3977
3978 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
3979 pointer checks before calling grub_free().
3980 * grub-core/commands/wildcard.c (match_devices): Likewise.
3981 * grub-core/commands/wildcard.c (match_files): Likewise.
3982 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
3983 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
3984 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
3985 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
3986 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
3987 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
3988 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
3989 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3990 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
3991
6295b32f
P
39922011-06-25 Patrick <p55@mailinator.com>
3993
3994 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
3995
77c0840b
VS
39962011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
3999 (grub_pxe_send): Likewise.
4000 (GRUB_MOD_INIT): Fix types.
4001
40ea05de
SJ
40022011-06-24 Szymon Janc <szymon@janc.net.pl>
4003
4004 * grub-core/io/xzio.c: Fix code style issues
4005
90162423
MRA
40062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
40072011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
4008
4009 Network infrastructure.
4010 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4011
4012 * include/grub/net/arp.h: New file.
90162423
MRA
4013 * include/grub/net/device.h: Likewise.
4014 * include/grub/net/ethernet.h: Likewise.
4015 * include/grub/net/ip.h: Likewise.
4016 * include/grub/net/netbuff.h: Likewise.
4017 * include/grub/net/tftp.h: Likewise.
4018 * include/grub/net/udp.h: Likewise.
4019 * include/grub/ieee1275/ofnet.h: Likewise.
4020 * include/grub/emu/export.h: Likewise.
4021 * include/grub/net.h: Likewise.
4022 * grub-core/net/arp.c: Likewise.
4023 * grub-core/net/ethernet.c: Likewise.
4024 * grub-core/net/ip.c: Likewise.
4025 * grub-core/net/udp.c: Likewise.
4026 * grub-core/net/tftp.c: Likewise.
4027 * grub-core/net/netbuff.c: Likewise.
4028 * grub-core/net/net.c: Likewise.
4029 * grub-core/net/drivers/emu/emunet.c: Likewise.
4030 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4031 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4032 export.h.
4033 * grub-core/Makefile.core.def (net): New module.
4034 (tftp): Likewise.
4035 (ofnet): Likewise.
4036 (emunet): Likewise.
4037 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4038 network protocols.
4039 * grub-core/kern/device.c (grub_net_open) : New variable.
4040 (grub_device_open): Handle network device.
4041 (grub_device_close): Likewise.
4042 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4043 (grub_grubnet_fini): Likewise.
4044 (grub_file_seek): Seek in network device.
4045 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4046 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4047 network root.
4048 (grub_machine_fini): Call grub_grubnet_fini.
4049 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4050 network.
4051 (grub_ieee1275_get_aliasdevname): New function.
4052 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4053 Add unofficial Solaris network info.
4054 (grub_multiboot_make_mbi): Likewise.
4055 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4056 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4057 * include/grub/device.h (grub_fs): Removed.
4058 * include/grub/err.h (grub_err_t): Add network-related values.
4059 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4060 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4061 (grub_ieee1275_get_aliasdevname): New proto.
4062 * include/grub/net.h: Rewritten.
423a1849 4063
031f22a0
VS
40642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4067 names.
4068
4388ca72
VS
40692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4072 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4073 it truncates the output.
4074 Reported by: Ximin Luo.
4075
98e2f506
VS
40762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4079
2a5e94d8
VS
40802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4083 partmap before abstraction.
4084
535c1910
AK
40852011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4086
4087 * util/grub-mkconfig_lib.in: Add missing quotes.
4088
bc09e1a2
VS
40892011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4092 old method if mountinfo would return /dev/root and /dev/root doesn't
4093 exist.
4094
290766fb
VS
40952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 ZFS zlib support
4098
4099 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4100 (decomp_table): Add zlib entries.
4101 (zio_read): USe 8 bits for compression function rather than 3.
4102 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4103
41042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/disk/ahci.c: Add missing license statements.
4107 * grub-core/fs/romfs.c: Likewise.
4108 * grub-core/lib/ia64/setjmp.S: Likewise.
4109 * grub-core/loader/i386/pc/freedos.c: Likewise.
4110 * grub-core/loader/ia64/efi/linux.c: Likewise.
4111 * grub-core/video/colors.c: Likewise.
4112 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4113
5ab3f48a
VS
41142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 AHCI support.
4117
4118 * grub-core/Makefile.core.def (ata_pthru): Removed.
4119 (ahci): New module.
4120 (pata): Likewise.
4121 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4122 on unload.
4123 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4124 readwrite.
4125 (grub_hdparm_do_check_powermode_cmd): Likewise.
4126 (grub_hdparm_do_smart_cmd): Likewise.
4127 (grub_hdparm_set_val_cmd): Likewise.
4128 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4129 * grub-core/disk/ahci.c: New file.
4130 * grub-core/disk/ata.c: Factor out the low-level part into ...
4131 * grub-core/disk/pata.c: ... here.
4132 * grub-core/disk/ata_pthru.c: Contents moved to ...
4133 * grub-core/disk/pata.c: ... here.
4134 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4135 (grub_scsi_iterate): Use grub_scsi_names.
4136 (grub_scsi_open): Likewise.
4137 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4138 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4139 (grub_ata_regs_t): New struct.
4140 (grub_disk_ata_pass_through_parms): Likewise.
4141 (grub_ata_device): Renamed to ...
4142 (grub_ata): ... this.
4143 (grub_ata_dev): New struct.
4144 Removed all low-level inline functions.
4145 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4146 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4147 iterate hooks and open. All users updated.
4148 * util/grub-install.in: Handle AHCI disk module.
4149
c31dc5f5
SJ
41502011-06-23 Szymon Janc <szymon@janc.net.pl>
4151
4152 Add support for DRI and RSTn markers in JPEG files.
4153
4154 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4155 (JPEG_MARKER_RST0): Likewise.
4156 (JPEG_MARKER_RST1): Likewise.
4157 (JPEG_MARKER_RST2): Likewise.
4158 (JPEG_MARKER_RST3): Likewise.
4159 (JPEG_MARKER_RST4): Likewise.
4160 (JPEG_MARKER_RST5): Likewise.
4161 (JPEG_MARKER_RST6): Likewise.
4162 (JPEG_MARKER_RST7): Likewise.
4163 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4164 (grub_jpeg_decode_dri): New function.
4165 (grub_jpeg_decode_sos): Move image data related part into
4166 grub_jpeg_decode_data function.
4167 (grub_jpeg_decode_data): New function.
4168 (grub_jpeg_reset): New function.
4169 (grub_jpeg_decode_jpeg): Handle new markers.
4170
fe12fd5b
VS
41712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * util/ieee1275/ofpath.c (check_sas): Close fd.
4174 (main): Free of_path.
4175 Reported by: David Volgyes <dvolgyes>.
4176
03147f46
VS
41772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4180 Reported by: David Volgyes <dvolgyes>.
4181
cad3237f
VS
41822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4185 file after stat.
4186 Reported by: David Volgyes <dvolgyes>.
4187
13548d26
VS
41882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4191
4192 Reported by: David Volgyes <dvolgyes>.
4193
e061a1b5
VS
41942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4197 Prevent memory leak.
4198
1abe47dc
VS
41992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4202 (main): Close file.
e061a1b5 4203 Reported by: David Volgyes <dvolgyes>.
1abe47dc 4204
fbc62666
VS
42052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4208 to continue if allocation is failed.
4209
4210 Reported by: David Volgyes <dvolgyes>.
4211
e98c83e9
DV
42122011-06-23 David Volgyes <dvolgyes>
4213
4214 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4215 dereference.
4216
a199a8cd
VS
42172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 Fix spurious warning.
4220
4221 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4222 (acorn_partition_map_find): Use .bin member.
4223
e2d1dba0
VS
42242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4227 /dev/root as a valid device.
4228
8a5d6919
JM
42292011-06-23 Jim Meyering <meyering@redhat.com>
4230
e2d1dba0
VS
4231 Avoid NULL deref in grub_device_open.
4232
8a5d6919
JM
4233 * grub-core/kern/device.c (grub_device_open): Don't dereference
4234 a NULL pointer upon failed grub_env_get.
4235
f7db6f4a
VS
42362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 Support non-512B sectors and agglomerate reads.
4239
4240 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4241 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4242 (disk_io_guid): Removed.
4243 (make_devices): Locate solely by BlockIO.
4244 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4245 (grub_efidisk_read): Use read_blocks.
4246 (grub_efidisk_write): Use write_blocks.
4247 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4248 log_sector_size.
4249 (get_safe_sectors): Handle non-512B sectors.
4250 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4251 sectors.
4252 (grub_biosdisk_write): Handle non-512B sectors.
4253 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4254 (grub_scsi_read): Remove special non-512B block handling (now handled
4255 one level up).
4256 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4257 and do sanity checks.
4258 (grub_disk_adjust_range): Handle non-512B sectors.
4259 (transform_sector): New function.
4260 (grub_disk_read_small): Likewise.
4261 (grub_disk_read): Rewritten.
4262 (grub_disk_write): Handle non-512B sectors.
4263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4264 log_sector_size.
4265 (open_device): Use log_sector_size.
4266 (grub_util_biosdisk_read): Likewise.
4267 (grub_util_biosdisk_write): Likewise.
4268 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4269 non-512B sectors.
4270 (pc_partition_map_embed): Likewise.
4271 * include/grub/disk.h (grub_disk): New field log_sector_size.
4272 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4273 (GRUB_DISK_CACHE_BITS): Increased to 6.
4274 * util/grub-fstest.c (fstest): New command testload.
4275 (argp_parser): Likewise.
4276
881ac815
RM
42772011-06-16 Robert Millan <rmh@gnu.org>
4278
4279 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4280 `ata' driver on kernel of FreeBSD 9.
4281
4282 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4283 (get_ataraid_disk_name): New functions.
4284 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4285 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4286 get_ataraid_disk_name() and get_ada_disk_name().
4287
1e9aef7d
CW
42882011-06-13 Colin Watson <cjwatson@ubuntu.com>
4289
4290 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4291 input format.
4292
351c7c8a
CW
42932011-05-29 Colin Watson <cjwatson@ubuntu.com>
4294
4295 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4296 `ftp.gnu.org' for `alpha.gnu.org'.
4297
6b4e6430
CW
42982011-05-27 Colin Watson <cjwatson@ubuntu.com>
4299
4300 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4301 partitions under /dev/disk/by-id/.
4302
c64db050
CW
43032011-05-27 Colin Watson <cjwatson@ubuntu.com>
4304
4305 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4306 after ten consecutive open failures. Scanning all the way up to
4307 10000 is excessive and can cause serious performance problems in
4308 some configurations.
4309 Fixes Ubuntu bug #787461.
4310
245f4aba
VS
43112011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4314 opening new one.
4315
f767c929
VS
43162011-05-21 Colin Watson <cjwatson@ubuntu.com>
43172011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 Don't stat devices unless we have to.
4320
4321 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4322 dir == /dev/mapper.
4323 (grub_guess_root_device): Use already known os_dev if possible.
4324 * grub-core/kern/emu/hostdisk.c
4325 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4326 if device is known to be a dm one.
4327
f35fa3a6
CW
43282011-05-20 Colin Watson <cjwatson@ubuntu.com>
4329
4330 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4331 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4332 Reported by: Pawel Tecza.
4333
9a79fcf2
VS
43342011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4337 (lsefisystab): Likewise.
4338 (lssal): Likewise.
4339 (lsefimmap): Likewise.
4340 (hdparm): Enable on qemu-mips.
4341 (setjmp): Add ia64 nodist.
4342 (serial): Simplify tags.
4343
63e3eea9
CW
43442011-05-18 Colin Watson <cjwatson@ubuntu.com>
4345
4346 * Makefile.util.def (grub-ofpathname): Install manual page.
4347
09728256
CW
43482011-05-18 Colin Watson <cjwatson@ubuntu.com>
4349
4350 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4351
8b63a142
CW
43522011-05-18 Colin Watson <cjwatson@ubuntu.com>
4353
4354 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4355
e775d8ed
VS
43562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4359 into dprintf.
4360
bf947d36
VS
43612011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 Use full 64-bit division.
4364
4365 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4366 (grub_divmod64): ... this.
4367 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4368 version.
4369
b84f26c5
CW
43702011-05-18 Colin Watson <cjwatson@ubuntu.com>
4371
4372 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4373 `source'.
4374
5626056f
CW
43752011-05-18 Colin Watson <cjwatson@ubuntu.com>
4376
4377 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4378 to avoid accidents when debugging with 'sh -x'.
4379 * grub-core/gensyminfo.sh.in: Likewise.
4380 * tests/example_scripted_test.in: Likewise.
4381 * tests/grub_cmd_regexp.in: Likewise.
4382 * tests/grub_script_blanklines.in: Likewise.
4383 * tests/grub_script_dollar.in: Likewise.
4384 * tests/grub_script_expansion.in: Likewise.
4385 * tests/grub_script_final_semicolon.in: Likewise.
4386 * tests/partmap_test.in: Likewise.
4387 * tests/util/grub-shell-tester.in: Likewise.
4388 * tests/util/grub-shell.in: Likewise.
4389
e2965f4a
CW
43902011-05-18 Colin Watson <cjwatson@ubuntu.com>
4391
4392 Move gfxmenu color handling to video, so that gfxterm can use it
4393 too.
4394
4395 * grub-core/gfxmenu/named_colors.c: Move to ...
4396 * grub-core/video/colors.c: ... here. Rename
4397 grub_gui_get_named_color to grub_video_get_named_color.
4398 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4399 * grub-core/video/colors.c (my_isxdigit): ... here.
4400 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4401 Move to ...
4402 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4403 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4404 to ...
4405 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4406
4407 * include/grub/gui.h (grub_gui_color_t): Move to ...
4408 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4409 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4410 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4411 * include/grub/gui.h (grub_gui_map_color): Move to ...
4412 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4413 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4414 to ...
4415 * include/grub/video.h (grub_video_get_named_color): ... here.
4416 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4417 * include/grub/video.h (grub_video_parse_color): ... here.
4418
4419 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4420 video/colors.c.
4421 (gfxmenu): Remove gfxmenu/named_colors.c.
4422 (video) [videomodules]: Add video/colors.c.
4423
4424 Add a background_color command.
4425
4426 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4427 function.
4428 (GRUB_MOD_INIT): Register background_color command.
4429 (GRUB_MOD_FINI): Unregister background_color command.
4430 (redraw_screen_rect): Allow blend/replace of text layer to be
4431 controlled independently from whether there is a background bitmap.
4432 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4433 changing bitmap.
4434
1e4b4390
VS
44352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4436
26618ff0
VS
4437 Patch BPB in ntldr and chainloader --bpb.
4438
1e4b4390
VS
4439 * grub-core/fs/fat.c: Include grub/fat.h.
4440 (grub_fat_bpb): Moved to ...
4441 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4442 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4443 grub/ntfs.h.
4444 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4445 Moved from here...
4446 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4447 here.
4448 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4449 New function.
4450 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4451 (GRUB_MOD_INIT): Show --bpb.
4452 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4453 * grub-core/normal/main.c (features): New variable.
4454 (GRUB_MOD_INIT): Set feature_* variables.
4455 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4456 proto.
4457 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4458
cf02731e
VS
44592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4462 for cleanness.
4463
e3a1073f
VS
44642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 FreeDOS direct loading support.
4467
4468 * docs/grub.texi (Supported OS): Add FreeDOS.
4469 * grub-core/Makefile.core.def (freedos): New module.
4470 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4471 variable.
4472 (grub_relocator16_boot): Handle %ebx.
4473 * grub-core/lib/i386/relocator16.S: Likewise.
4474 * grub-core/loader/i386/pc/freedos.c: New file.
4475
05caa461
VS
44762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 Long Linux command line support.
4479
4480 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4481 (maximal_cmdline_size): New variable.
4482 (allocate_pages): Use maximal_cmdline_size.
4483 (grub_cmd_linux): Set and use maximal_cmdline_size.
4484 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4485 (allocate_pages): Use maximal_cmdline_size.
4486 (grub_cmd_linux): Set and use maximal_cmdline_size.
4487 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4488 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4489 and cmdline_size.
4490
a2491e23
VS
44912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
44922011-05-18 Colin Watson <cjwatson@ubuntu.com>
4493
4494 Improve devmapper support
4495
4496 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4497 (grub_util_is_lvm): New function.
4498 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4499 than lvm if not dmraid.
4500 Handle mapped md nodes.
4501 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4502 (grub_util_device_is_mapped): ... this. Make always available. All users
4503 updated.
4504 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4505 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4506 dmraid nodes.
4507 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4508
6ad6223e
VS
45092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4512
4513 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4514 * grub-core/modinfo.sh.in: New file.
4515 * grub-core/Makefile.core.def (modinfo.sh): New script.
4516 * util/grub-mknetdir.in: Use modinfo.sh.
4517 * util/grub-mkrescue.in: Likewise.
4518
543a8f6e
VS
45192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4522 Fix potential usage of Elf32 instead of Elf64 when compiling on
4523 32-bit architecture. Add endianness macros while on it.
4524
4959e111
VS
45252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Use mipsel- rather than mips- in directories involving mipsel ports to
4528 allow both endiannesses coexist.
4529
4530 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4531 mips. All conditions adjusted.
4532 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4533 variable.
4534 * util/grub-install.in: Adjust conditions to take renaming into account.
4535 * util/grub-mkimage.c (image_targets): Likewise. New target
4536 mips-qemu_mips-elf for bigendian mips.
4537
35341bbc
VS
45382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 Avoid unnecessary copying on MIPS.
4541
4542 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4543 early if src == dest.
4544 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4545 compression is none.
4546
b772baed
VS
45472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 Reduce memory footprint on SGI by putting modules before the kernel
4550 as opposed to after.
4551
4552 * grub-core/Makefile.core.def (kernel): Increase linking address.
4553 (none_decompress): Likewise.
4554 (xz_decompress): Likewise.
4555 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4556 address.
4557 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4558 layout change.
4559 (grub_arch_modules_addr): New function.
4560 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4561 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4562 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4563 here.
4564 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4565 (grub_total_modules_size): ... this. Make global.
4566 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4567 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4568 New definition.
4569 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4570 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4571 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4572 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4573 * util/grub-mkimage.c (image_target_desc): New flag
4574 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4575 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4576 (generate_image): Handle images with modules before kernel.
4577
566a1917
VS
45782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Prevent potential loss of memory map by overwrite on qemu-mips.
4581
4582 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4583 Save ram size in $s4.
4584 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4585 All users changed to grub_arch_memsize.
4586 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4587 Loongson.
4588 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4589 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4590 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4591 external variable.
4592
5d420cd9
CW
45932011-05-17 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * .bzrignore: Remove grub-dumpbios.
4596
d064b830
CW
45972011-05-17 Colin Watson <cjwatson@ubuntu.com>
4598
4599 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4600 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4601 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4602 existing options which append).
4603 * docs/grub.texi (Simple configuration): Document new options.
4604 Reported by: Ian Jackson. Fixes Debian bug #617538.
4605
3ca2b466
CW
46062011-05-17 Colin Watson <cjwatson@ubuntu.com>
4607
4608 * util/grub-fstest.c (cmd_cat): New function.
4609 (fstest): Handle CMD_CAT.
4610 (options): Add cat.
4611 (argp_parser): Handle cat.
4612
24c9143a
CW
46132011-05-17 Colin Watson <cjwatson@ubuntu.com>
4614
4615 * Makefile.util.def (grub-bin2h): Don't install.
4616 * docs/man/grub-bin2h.h2m: Remove.
4617
90f7ac19
VS
46182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4621 place.
4622
8d4a5178
VS
46232011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 Reenable qemu-mips port.
4626
4627 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4628 Fix small arc bug while on it.
4629 * gentpl.py: Handle qemu_mips.
4630 * grub-core/Makefile.am: Likewise.
4631 * grub-core/Makefile.core.def: Likewise.
4632 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4633 inappropriate includes.
4634 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4635 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4636 * grub-core/kern/main.c (grub_modules_get_end)
4637 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4638 * grub-core/kern/mips/qemu-mips: Moved to ..
4639 * grub-core/kern/mips/qemu_mips: ... this.
4640 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4641 (grub_machine_init): Call terminfo_init and serial_init.
4642 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4643 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4644 New variable.
4645 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4646 parameter passing.
4647 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4648 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4649 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4650 * include/grub/mips/qemu_mips/cmos.h: New file.
4651 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4652 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4653 Removed.
4654 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4655 Use correct mips-style address.
4656 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4657 (GRUB_TICKS_PER_SECOND): Removed.
4658 (grub_get_rtc): Likewise.
4659 (grub_cpu_idle): Likewise.
4660 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4661 New definition.
4662 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4663 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4664 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4665 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4666 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4667 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4668 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4669 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4670
400b9371
VS
46712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 SGI ARCS port.
4674
4675 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4676 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4677 platforms.
4678 * configure.ac: New target mips-arc.
4679 * gentpl.py: Likewise.
4680 * grub-core/Makefile.am: Likewise.
4681 * grub-core/Makefile.core.def: Likewise.
4682 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4683 (none_decompress): Likewise.
4684 (lsdev): New module.
4685 (datetime): Use lib/arc/datetime.c on ARC.
4686 (part_dvh): New module.
4687 * grub-core/commands/arc/lsdev.c: New file.
4688 * grub-core/disk/arc/arcdisk.c: Likewise.
4689 * grub-core/kern/mips/arc/init.c: Likewise.
4690 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4691 aligned addresses.
4692 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4693 support.
4694 (grub_arch_dl_relocate_symbols): Likewise.
4695 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4696 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4697 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4698 platforms.
4699 * grub-core/lib/arc/datetime.c: New file.
4700 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4701 pci.h on non-loongson.
4702 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4703 (grub_linux_boot): Set unused registers to 0.
4704 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4705 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4706 * grub-core/mmap/mips/uppermem.c: ...here.
4707 * grub-core/partmap/dvh.c: New file.
4708 * grub-core/term/arc/console.c: Likewise.
4709 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4710 (grub_terminfo_set_current): Add terminal "arc".
4711 (grub_terminfo_readkey): Support ARC sequences.
4712 * include/grub/arc/arc.h: New file.
4713 * include/grub/arc/console.h: Likewise.
4714 * include/grub/disk.h (grub_disk_dev_id): Add
4715 GRUB_DISK_DEVICE_ARCDISK_ID.
4716 * include/grub/mips/arc/kernel.h: New file.
4717 * include/grub/mips/arc/memory.h: Likewise.
4718 * include/grub/mips/arc/time.h: Likewise.
4719 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4720 * include/grub/mips/kernel.h (grub_halt): ... here.
4721 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4722 here...
4723 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4724 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4725 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4726 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4727 proto.
4728 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4729 from here ...
4730 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4731 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4732 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4733 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4734 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4735 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4736 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4737 (grub_phys_addr_t): Moved from here ...
4738 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4739 (grub_vtop): Moved from here ...
4740 * include/grub/mips/memory.h (grub_vtop): ... here.
4741 (grub_map_memory): Moved from here ...
4742 * include/grub/mips/memory.h (grub_map_memory): ... here.
4743 (grub_unmap_memory): Moved from here ...
4744 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4745 (grub_machine_mmap_iterate): Moved from here ...
4746 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4747 (grub_mmap_get_lower): Moved from here ...
4748 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4749 (grub_mmap_get_upper): Moved from here ...
4750 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4751 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4752 here ...
4753 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4754 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4755 here ...
4756 * include/grub/mips/time.h (grub_get_rtc): ... here.
4757 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4758 here ...
4759 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4760 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4761 here ...
4762 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4763 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4764 definition.
4765 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4766 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4767 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4768 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4769 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4770 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4771 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4772 (GRUB_MACHINE_LINK_ADDR): Likewise.
4773 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4774 to 6.
4775 * util/grub-install.in: Run dvhtool on ARC.
4776 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 4777 (generate_image): Handle ECOFF output for mips-arc.
400b9371 4778
c8ecc840
VS
47792011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4782 blocks.
4783
153a4b55
VS
47842011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4787 after enabling port.
4788
ff44d107
VS
47892011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Skip incorrect USB devices.
4792
4793 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4794 configcnt == 0.
4795 * include/grub/usb.h (grub_usb_err_t): New enum value
4796 GRUB_USB_ERR_BADDEVICE.
4797
638dbe4f
VS
47982011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 Fuloong video init support.
4801
4802 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4803 well.
4804 (grub_vga_read_arx): New function.
4805 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4806 definition.
4807 (framebuffer): New members io, mmioptr and mmiobase.
4808 (read_sis_cmd): New function.
4809 (write_sis_cmd): Likewise.
4810 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4811 rather than 640x400.
4812 * grub-core/video/sis315_init.c: New file.
4813
c3fc520c
VS
48142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4817 non-loongson.
4818 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4819 to grub_dl_register_symbol.
4820
67b1e5c9
VS
48212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 Fix compilation errors.
4824
4825 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4826 potentially unused.
4827 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4828 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4829 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4830 to loongson machines.
4831
b756f75f
VS
48322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 Several FS mtime support.
4835
4836 * grub-core/fs/affs.c (grub_affs_time): New struct.
4837 (grub_affs_file): New field mtime.
4838 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4839 type. Removed 'size'. New field 'di'. All users updated.
4840 (grub_affs_mount): Simplify checsum checking.
4841 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4842 (grub_affs_dir): Handle mtime.
4843 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4844 (grub_cpio_dir): Likewise.
4845 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4846 (grub_hfs_filerec): New field mtime.
4847 (grub_hfs_dir): Handle mtime.
4848 (grub_hfs_mtime): New function.
4849 (grub_hfs_fs): Register grub_hfs_mtime.
4850 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4851 (grub_iso9660_dir): New field mtime.
4852 (grub_fshelp_node): New field dirent.
4853 (iso9660_to_unixtime): New function.
4854 (iso9660_to_unixtime2): Likewise.
4855 (grub_iso9660_read_symlink): Use node->dirent.
4856 (grub_iso9660_iterate_dir): Likewise.
4857 (grub_iso9660_dir): Set mtime.
4858 (grub_iso9660_mtime): New function.
4859 (grub_iso9660_fs): Register grub_iso9660_mtime.
4860 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4861 (grub_jfs_inode): New fields atime, ctime and mtime.
4862 (grub_jfs_dir): Set mtime.
4863 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4864 * grub-core/fs/ntfs.c (list_file): Set mtime.
4865 (grub_ntfs_dir): Likewise.
4866 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4867 (grub_reiserfs_iterate_dir): Set mtime.
4868 (grub_reiserfs_dir): Likewise.
4869 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4870 (grub_fshelp_node): Likewise.
4871 (grub_sfs_iterate_dir): Set mtime.
4872 (grub_sfs_dir): Likewise.
4873 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4874 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4875 (grub_xfs_inode): New fields atime, mtime, ctime.
4876 (grub_xfs_dir): Set mtime.
4877 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4878 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4879 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4880
4881 Support UDF symlinks.
4882
4883 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
4884 (grub_ufs_read_symlink): New function. All users updated.
4885
4886 Check amiga partmap checksum.
4887
4888 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
4889 (grub_amiga_partition): Likewise.
4890 (amiga_partition_map_checksum): New function.
4891 (amiga_partition_map_iterate): Check checksum.
4892
5470225d
VS
48932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 ROMFS support.
4896
4897 * Makefile.util.def (libgrubmods.a): Add romfs.
4898 * grub-core/Makefile.core.def (romfs): New module.
4899 * grub-core/fs/romfs.c: New file.
4900
d4680a35
VS
49012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 Squashfs v4 support.
4904
4905 * Makefile.util.def (libgrubmods.a): Add squash4.
4906 * grub-core/Makefile.core.def (squash4): New module.
4907 * grub-core/fs/squash4.c: New file.
4908 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
4909 disk_input_start, disk_input.
4910 (get_byte): Handle disk_input.
4911 (grub_zlib_disk_read): New function.
4912 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
4913
bcb18e74
FZ
49142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
49152011-05-15 Feiran Zheng <famcool@gmail.com>
4916
4917 * Makefile.util.def (libgrubmods.a): Add minix3.
4918 * grub-core/Makefile.core.def (minix3): New module.
4919 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
4920 (GRUB_MINIX_BSIZE): Removed.
4921 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
4922 (grub_minix_ino_t): New type.
4923 (grub_minix_le_to_cpu_ino): New macro.
4924 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
4925 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
4926 (grub_minix_data): New field block_size.
4927 (grub_minix_read_file): Handle 64-bit correctly.
4928 * grub-core/fs/minix3.c: New file.
4929
32297d5f
TG
49302011-05-15 Tristan Gingold <gingold@free.fr>
49312011-05-15 Robert Millan <rmh.grub@aybabtu.com>
49322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 IA64 support.
4935
4936 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
4937 * configure.ac: Add ia64-efi target.
4938 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
4939 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
4940 * gentpl.py: Add ia64_efi platform.
4941 Rename x86_efi to efi and Add ia64-efi. All users updated.
4942 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
4943 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
4944 Remove kern/generic/rtc_get_time_ms.c on EFI.
4945 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
4946 kern/ia64/dl_helper.c on ia64-efi.
4947 Add kern/emu/cache.c on emu.
4948 (linux): Use on loader/ia64/efi/linux.c on ia64.
4949 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
4950 whether symbol is a function.
4951 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
4952 (grub_symbol): New field 'isfunc'.
4953 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
4954 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
4955 (grub_dl_load_segments): Place all sections into the same region.
4956 [__ia64__]: Create trampolines and got.
4957 [GRUB_MACHINE_EMU]: Call mprotect.
4958 (grub_dl_resolve_symbols): Resolve symbol type as well.
4959 [__ia64__]: Create function descriptors.
4960 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
4961 (grub_rtc_get_time_ms): ... this. Expressions simplified.
4962 (grub_get_rtc): New function.
4963 * grub-core/kern/emu/cache.c [__ia64__]: New file.
4964 * grub-core/kern/emu/cache.S: Renamed to ...
4965 * grub-core/kern/emu/cache_s.S: ... this.
4966 [__ia64__]: Add a nop.
4967 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
4968 [__ia64__]: New function.
4969 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
4970 * grub-core/kern/ia64/dl.c: New file.
4971 * grub-core/kern/ia64/dl_helper.c: Likewise.
4972 * grub-core/kern/ia64/efi/init.c: New file.
4973 * grub-core/kern/ia64/efi/startup.S: Likewise.
4974 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
4975 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
4976 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
4977 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
4978 * grub-core/loader/ia64/efi/linux.c: New file.
4979 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
4980 (GRUB_MOD_DEP): Likewise.
4981 (grub_dl) [__ia64__]: New fields got and tramp.
4982 (grub_dl): New field 'base'.
4983 (grub_dl_register_symbol): New argument isfunc. All users updated.
4984 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
4985 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
4986 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
4987 (grub_ia64_dl_get_tramp_got_size): New proto.
4988 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
4989 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
4990 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
4991 * include/grub/efi/api.h: Skip call wrappers on ia64.
4992 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
4993 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
4994 * include/grub/elf.h (ELF_ST_INFO): New definition.
4995 * include/grub/ia64/efi/kernel.h: New file.
4996 * include/grub/ia64/efi/memory.h: Likewise.
4997 * include/grub/ia64/efi/time.h: Likewise.
4998 * include/grub/ia64/kernel.h: Likewise.
4999 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5000 * include/grub/ia64/time.h: New file.
5001 * include/grub/ia64/types.h: Likewise.
5002 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5003 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5004 New protos.
5005 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5006 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5007 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5008 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5009 All users updated.
5010 (EFI64_HEADER_SIZE): New definition. All users updated.
5011 (image_targets): Add ia64-efi.
5012 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5013 jumpers_addr. All users updated.
5014 Create function descriptors.
5015 (count_funcs): New function.
5016 (unaligned_uint32): New struct.
5017 (MASK20): New definition.
5018 (MASK19): Likewise.
5019 (MASKF21): Likewise.
5020 (add_value_to_slot_20b): New function.
5021 (add_value_to_slot_21_real): Likewise.
5022 (add_value_to_slot_21): Likewise.
5023 (ia64_kernel_trampoline): New struct.
5024 (nopm): New variable.
5025 (jump): Likewise.
5026 (make_trampoline): New function.
5027 (relocate_addresses): Handle ia64.
5028 (make_reloc_section): Likewise.
5029 (load_image): Likewise.
5030
983b414d
VS
50312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5034 warning. Move variables before code while on it.
5035
5d063cdc
VS
50362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 Fuloong support.
5039
5040 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5041 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5042 * grub-core/boot/mips/loongson/fuloong.S: New file.
5043 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5044 Explicitly init CS5536.
5045 [FULOONG]: Don't use serial until CS5536 is available.
5046 Set GPIO based on dumps.
5047 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5048 [FULOONG]: Handle GPIO and memory controller differences.
5049 Parse machine type in $a2.
5050 * grub-core/boot/mips/startup_raw.S: Determine and save the
5051 architecture.
5052 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5053 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5054 init on architecture type.
5055 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5056 SIS315E. Don't init at_keyboard on fuloong.
5057 (grub_halt): Support Fuloong.
5058 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5059 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5060 (loongson_machtypes): New array.
5061 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5062 type.
5063 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5064 config. All users updated. Handle CS5536 serial.
5065 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5066 default port on machine type. Register serial as inactive.
5067 * grub-core/video/sis315pro.c: New file.
5068 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5069 definition.
5070 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5071 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5072 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5073 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5074 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5075 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5076 to ...
5077 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5078 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5079 definition.
5080 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5081 (grub_arch_machine): New extern var.
5082 * include/grub/mips/loongson/serial.h
5083 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5084 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5085 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5086 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5087 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5088 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5089 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5090 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5091 * include/grub/term.h (grub_term_register_input_inactive): New inline
5092 function.
5093 (grub_term_register_output_inactive): Likewise.
5094 * include/grub/video.h (grub_video_driver_id): New value
5095 GRUB_VIDEO_DRIVER_SIS315PRO.
5096 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5097 New field "names". All users updated.
5098 New field value IMAGE_FULOONG_FLASH.
5099 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5100
6ada82d1
JU
51012011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5102
5103 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5104 and add some clarification.
5105
90c571a4
VS
51062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5109 platforms if kernel is compressed.
5110
de04eecf
VS
51112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5114 unused modules since currently referrence counter isn't reliable and
5115 there isn't much memory to recover there anyway.
5116
57688121
VS
51172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5120 rather than resetting it to allow modules to reference themselves
5121 in init.
5122
3d2c7e35
VS
51232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5126 counter on dependencies since grub_dl_unref already handles this.
5127
b25db218
VS
51282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5131 on error if not already done.
5132
25a45338
VS
51332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 Fix few potential memory misusage.
5136
5137 * grub-core/font/font.c (load_font_index): Don't free char_index to
5138 avoid double free.
b25db218
VS
5139 (grub_font_load): Zero-fill font at alloc for safety.
5140 Close file on error.
5141 (free_font): Free bmp_idx.
25a45338 5142
0cac83df
VS
51432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * docs/grub.texi (Installation): Fix several outdated claims.
5146
2217a143
VS
51472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 Handle module_license on windows.
5150
5151 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5152 sections shifted.
5153 (insert_string): Make argument const char * instead of char *.
5154 (write_section_data): Handle long section names.
5155 Handle module_license.
5156
d4de6b01
VS
51572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5160 handle class-free menuentries.
5161 (grub_normal_add_menu_entry): Add a check to be sure.
5162
4c2a3b43
VS
51632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5166 PgUp and PgDown.
5167
85c6210f
VS
51682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * configure.ac: Bump version to 1.99.
5171
36084912
VS
51722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 Give ATA device a bit more time on first try in order to allow disks
5175 to spin up.
5176
5177 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5178 if dev->present is 1. Reset dev->present on failure.
5179 (grub_ata_device_initialize): Set dev->present to 1.
5180 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5181 (grub_ata_device): New member 'present'.
5182
bda0e219
VS
51832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * util/grub-mkimage.c (generate_image): Update hash.
5186
19e1c41b
VS
51872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 Flush caches on DMA memory.
5190
5191 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5192 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5193 (grub_dma_free): Likewise.
5194 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5195
91bbcc0c
VS
51962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5199 to avoid asm treating ld and sd as macros.
5200
60ddfad3
VS
52012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5204 decompressor.
5205
a298aa04
VS
52062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5209 grub_decompress_core since later would fail if grub_decompress_core
5210 is too far.
5211
9b44feca
VS
52122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5215 R_MIPS_JALR since it's used by newer compiler.
5216
56dbe7b4
VS
52172011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5220
52856af2
VS
52212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5224 file_path to 0 for surety.
5225 (grub_chainloader_boot): Set exit_data to NULL.
5226 Unset the loader once done.
5227 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5228
9c9bfc6d
VS
52292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5232 unknown key into a dprintf.
5233
dd94a3df
VS
52342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5237 on first non-existant partition.
5238
fa68d99c
VS
52392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5242 openning fails.
5243 Reported by: Mark Korenberg.
5244
157effb7
VS
52452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5248 overflow.
5249
ea75312f
VS
52502011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5253 before closing to ensure that it will be readable by grub-setup.
5254
072b5d31
VS
52552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5258 (devpath_1): Use MAKE_PIWG_PATH.
5259 (devpath_2): Likewise.
5260 (devpath_3): Likewise.
5261 (devpath_4): Likewise.
5262 (devpath_5): Likewise.
5263 (devpath_6): Likewise.
5264
5265 The appleldr.mod was checked that to be binary identical to previous
5266 version.
5267
7fae0051
Z
52682011-05-05 Zach <mikezackles>
5269
5270 Support 2010 Macbooks.
5271
5272 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5273 (devs): Add devpath_6.
5274
7c515bee
VS
52752011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5278 /dev/random. /dev/urandom is good enough for our purposes (salting).
5279
ed660bd8
VS
52802011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5283
ee5614b7
VS
52842011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5287 hexadecimal.
5288
664889a6
VS
52892011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5292 and not 0 on failure.
5293
bd405bbc
CW
52942011-05-03 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5297 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5298 disk; otherwise grub_fs_probe will not fall back to the next
5299 filesystem.
5300 (grub_pxefs_open): Likewise, for consistency.
5301 Reported and tested by: Ezekiel Grave.
5302
4ebff753
CW
53032011-05-03 Colin Watson <cjwatson@ubuntu.com>
5304
5305 * tests/partmap_test.in: Don't hardcode path to parted.
5306 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5307
8f942553
CW
53082011-05-01 Colin Watson <cjwatson@ubuntu.com>
5309
5310 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5311 of `ls' to find out which devices are available.
5312
3c62402d
VS
53132011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5316 than source address for efi mmap buffer.
5317
723f63f2
VS
53182011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5321 wrong action on non-detecting the magic.
5322
68797f92
VS
53232011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5326 already supplied by another part of the module (fixes compilation on
5327 FreeBSD).
5328
6be8715d
VS
53292011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5332 match the one used by mdadm.
5333
e91dba5b
CW
53342011-04-21 Colin Watson <cjwatson@ubuntu.com>
5335
5336 * po/README: Add instructions for creating po/LINGUAS.
5337
c85140b3
CW
53382011-04-21 Colin Watson <cjwatson@ubuntu.com>
5339
5340 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5341 #551428.
5342
5343 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5344 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5345 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5346 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5347 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5348 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5349 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5350 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5351 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5352 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5353 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5354 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5355 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5356 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5357 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5358 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5359 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5360 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5361 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5362 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5363 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5364 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5365
92051871
CW
53662011-04-21 Colin Watson <cjwatson@ubuntu.com>
5367
5368 * grub-core/kern/emu/getroot.c
5369 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5370 test that was incorrectly reintroduced in r3214.
5371 Reported by: Ian Dall. Fixes Savannah bug #33133.
5372
b13f79a4
CW
53732011-04-21 Colin Watson <cjwatson@ubuntu.com>
5374
5375 Fix stack pointer handling in 16-bit relocator.
5376
5377 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5378 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5379 Fixes Ubuntu bug #683904.
5380
9b710a88
VS
53812011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * configure.ac: Bump version to 1.99~rc2.
5384
d97e7b59
VS
53852011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5388 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5389 * grub-core/lib/x86_64/setjmp.S: Likewise.
5390 * grub-core/lib/mips/setjmp.S: Likewise.
5391 * grub-core/lib/powerpc/setjmp.S: Likewise.
5392 * grub-core/lib/sparc64/setjmp.S: Likewise.
5393
0624551c
VS
53942011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5397 * grub-core/lib/efi/datetime.c: Likewise.
5398
e8f28d4c
VS
53992011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5402 New function.
5403 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5404 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5405 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5406
bba79a15
VS
54072011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5410 bitmap.
5411 (grub_gfxterm_term_init): Likewise.
5412
abc474ef
VS
54132011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 Take into account the decorations the computing menu entry width.
5416
5417 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5418 (grub_gfxmenu_create_box): Register get_border_width.
5419 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5420 if available.
5421 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5422 get_border_width.
5423
e74b3947
EP
54242011-04-18 Endres Puschner <code@e7p.de>
5425
5426 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5427 Don't skip first class.
5428
34faa595
VS
54292011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5432 chunks.
5433 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5434
93a777e3
VS
54352011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 Complete 64-bit division support.
5438
5439 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5440 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5441 * include/grub/misc.h (grub_divmod64): Rename to ...
5442 (grub_divmod64_full): ... this.
5443 (grub_divmod64): New inline function.
5444
a5102d94
VS
54452011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5448
f3fb7b36
VS
54492011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5452 performing the necessary test.
5453
9ac718b0
VS
54542011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5457 (kfreebsd.elf): Likewise.
5458 (pc-chainloader.elf): Likewise.
5459 (ntldr.elf): Likewise.
5460
50d2cc5a
VS
54612011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 Identify RAID by its UUID rather than (guessed) name.
5464
5465 * grub-core/disk/raid.c (ascii2hex): New function.
5466 (grub_raid_open): Accept mduuid/%s specification.
5467 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5468 (get_mdadm_uuid): ... this.
5469 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5470
e03f7bea
VS
54712011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5474 to negative size.
5475
e74c3112
CW
54762011-04-13 Colin Watson <cjwatson@ubuntu.com>
5477
5478 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5479 btrfs subvolume.
5480 * util/grub.d/20_linux_xen.in: Likewise.
5481
78fa584f
CW
54822011-04-13 Colin Watson <cjwatson@ubuntu.com>
5483
5484 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5485 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5486
5487 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5488 Build a list of relevant visible mounts using the mnt_id and
5489 parent_mnt_id fields, and then scan that list at the end.
5490
9d5f8162
CW
54912011-04-12 Colin Watson <cjwatson@ubuntu.com>
5492
5493 * docs/grub.texi (normal): New section.
5494 (normal_exit): New section.
5495 (Embedded configuration): Add reference to normal.
5496 (GRUB only offers a rescue shell): Likewise.
5497 * docs/grub-dev.texi (Error Handling): Fix typo.
5498
09a9d66f
CW
54992011-04-12 Colin Watson <cjwatson@ubuntu.com>
5500
5501 * NEWS: Drop obsolete entry about probe-only btrfs support.
5502
0c676933
CW
55032011-04-12 Colin Watson <cjwatson@ubuntu.com>
5504
5505 * util/import_gcry.py: Fix typo.
5506
ec9f5e0d
VS
55072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * NEWS: Add btrfs support.
5510
fe6b2cba
VS
55112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
55122011-04-11 Colin Watson <cjwatson@ubuntu.com>
5513
5514 BtrFS support. Written by me (Vladimir) with important bugfixes and
5515 even more important testing by Colin.
5516
5517 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5518 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5519 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5520 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5521 mem_input_off and mem_input. All users updated to accept in-RAM input.
5522 (gzio_seek): New function.
5523 (test_zlib_header): Likewise.
5524 (grub_gzio_read): Likewise.
5525 (grub_zlib_decompress): Likewise.
5526 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5527 Accept partial and non-virtual mounts.
5528 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5529 avoid receiving /dev/dm-X as device.
5530 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5531 Handle bind and partial mounts.
5532 * grub-core/lib/crc.c: New file.
5533 * include/grub/deflate.h: Likewise.
5534 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5535 proto.
5536 * include/grub/lib/crc.h: New file.
5537
e745cf0c
VS
55382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Implement automatic module license checking according to new GNU
5541 guidelines.
5542
5543 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5544 (grub_dl_load_core): Use grub_dl_check_license.
5545 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5546 (GRUB_MOD_LICENSE): Likewise.
5547 (GRUB_MOD_DUAL_LICENSE): Likewise.
5548 All modules updated.
5549
2a9bc016
CW
55502011-04-11 Colin Watson <cjwatson@ubuntu.com>
5551
5552 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5553 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5554 loaders.
5555 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5556
8a3bc88e
VS
55572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5560
af869a4a
VS
55612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5564 failed.
5565
9ee8d94f
VS
55662011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5569 parenthesis in the middle of the filename.
5570
b01abe3e
VS
55712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5574 rather than trying to put initrd way too high.
5575 Reported by: Ryan Lortie <desrt@desrt.ca>
5576
335bda1e
VS
55772011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5580 improperly removed string.
5581
5ca1a64d
VS
55822011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5585 is_disk.
5586 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5587 (open_device) Likewise.
5588 (grub_util_biosdisk_close): Likewise.
d8ce9995 5589 Reported by: Mark Korenberg.
5ca1a64d 5590
cbac5b1e
AK
55912011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5592
5593 * util/grub-mkconfig_lib.in: Add missing quotes.
5594
088cdb65
CW
55952011-04-10 Colin Watson <cjwatson@ubuntu.com>
5596
5597 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5598 is NULL.
5599
8b8a81fa
VS
56002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 Dynamically count the number of lines for the lower banner.
5603
5604 * grub-core/normal/menu_entry.c (per_term_screen): New member
5605 num_entries.
5606 (print_down): Use num_entries.
5607 (update_screen): Likewise.
5608 (grub_menu_entry_run): Set num_entries.
5609 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5610 num_entries.
5611 (grub_print_message_indented): Move real part to ...
5612 (grub_print_message_indented_real): ... here. Additional argument
5613 dry_run.
5614 (draw_border): Additional argument num_entries.
5615 (print_message): Additional argument dry_run.
5616 (print_entries): Receive menu viewer data.
5617 (grub_menu_init_page): New argment num_entries.
5618 (menu_text_set_chosen_entry): Use num_entries.
5619 (grub_menu_try_text): Likewise.
5620 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5621 All users updated.
5622 (grub_ucs4_count_lines): New function.
5623 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5624 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5625 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5626 (grub_term_border_height): Likewise.
5627 (grub_term_num_entries): Likewise.
5628
277f955b
VS
56292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5632 Remove now unused string.
5633
536ce85a
CW
56342011-04-09 Colin Watson <cjwatson@ubuntu.com>
5635
5636 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5637 build system.
5638 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5639
5640 (Comment): Fix typo.
5641 (Getting started): General copy-editing.
5642 (Typical Development Experience): Likewise.
5643 (Error Handling): Likewise.
5644 (Video API): Likewise.
5645
2cf09e32
CW
56462011-04-09 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5649 throughout.
5650
1ec652f4
VS
56512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5654 directory.
5655
2c583728
CW
56562011-04-08 Colin Watson <cjwatson@ubuntu.com>
5657
5658 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5659 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5660 "development".
5661
d7a565e9
VS
56622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5665 grub_strcpy since the lines aren't necessarily 0-terminated.
5666
7c2e4909
VS
56672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5670 root on legacy.
5671
34c09785
VS
56722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5675 (GRUB_MOD_INIT): DEVICE isn't optional.
5676
6a6f8058
VS
56772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5680 word on new line if it's too long anyway. Fixes a hang.
5681
2e335e90
VS
56822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5685 const.
5686 * util/grub-setup.c (main): Reuse md device name if available.
5687 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5688 not GRUB name as argument.
5689 Based on patch by: Florian Wagner <fwagner>.
5690
10a7a867
VS
56912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5694 Place mbi on low memory for better compatibility.
5695
7a3d6cd9
VS
56962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5699
18dd6b47
VS
57002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
57012011-04-08 Colin Watson <cjwatson@ubuntu.com>
5702
5703 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 5704 * conf/Makefile.common: Likewise.
18dd6b47 5705
3c0e3f14
VS
57062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5707
f7148863
VS
5708 * grub-core/normal/menu.c: Add missing include.
5709
57102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 5713
6d1fa41f
MZ
57142011-04-08 Martin Zuther <mzuther@mzuther.de>
5715
5716 * util/grub-mkconfig.in: Ignore emacsen backup.
5717
478182a8
VS
57182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5721 on open.
5722 (grub_util_biosdisk_close): Likewise.
5723
72a89a54
VS
57242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5727 const attribute and use grub_isdigit.
5728
b5ebecfa
A
57292011-04-06 Andrey <dev_null@ukr.net>
5730
5731 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5732 gcc warning.
5733
7755f66e
VS
57342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5737 useful grub_dprintf's.
5738
461121ff
VS
57392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5742
2a961775
VS
57432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5746
adf594cc
VS
57472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 Output errors if theme loading failed.
5750
5751 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5752 grub_gfxterm_fullscreen on error paths to ...
5753 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5754 theme loading error.
5755
665900a3
VS
57562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5759 space for older compilers.
5760 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5761
a562b479
VS
57622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5765 and report them as not RAID members since they are useless for GRUB.
5766 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5767
850e9373
VS
57682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 Increase LVM implementation robustness in order not to crash on
5771 configurations like pvmove. Previously code assumed that in some places
5772 only lvs or only pvs are used whereas it seems that they are used
5773 interchangeably.
5774
5775 * grub-core/disk/lvm.c (read_node): New function.
5776 (read_lv): Use read_node.
5777 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5778 Match volumes only at the end when all lvs are found. Take both
5779 pvs (first) and lvs (second) into account.
5780 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5781 mirror_* into node_*. All users updated.
5782 (grub_lvm_stripe): Merge this ...
5783 (grub_lvm_mirror): ... and this ...
5784 (grub_lvm_node): ... into this. All users updated.
5785
6f332153
VS
57862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5789 of function to allow further scanning for LVMs.
5790
829ea451
VS
57912011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5794 on failed seek as it breaks open fd reusage.
5795
09ceb9a5
VS
57962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * util/grub-install.in: Add a recommendation to use --recheck before
5799 reporting bugs.
5800
67e11623
VS
58012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5804 are obtained.
5805
caee5efd
VS
58062011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 GRUB developper manual based on existing Internals section and
5809 contributions by the various authors with active copyright assignment.
5810
5811 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5812 * docs/font_char_metrics.png: New file.
5813 * docs/font_char_metrics.txt: Likewise.
5814 * docs/grub-dev.texi: Likewise.
5815 * docs/grub.texi (Internals): Move from here ...
5816 * docs/grub-dev.texi: ... here.
5817
2cccc747
CW
58182011-04-01 Colin Watson <cjwatson@ubuntu.com>
5819
5820 Store the loopback device as data on loopback grub_disk structures,
5821 rather than the file it points to. This fixes use of freed memory
5822 if an existing loopback device is replaced.
5823
5824 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5825 disk->data, not dev->file.
5826 (grub_loopback_read): Adjust file assignment to match.
5827 Fixes Ubuntu bug #742967.
5828
186ae367
CW
58292011-04-01 Colin Watson <cjwatson@ubuntu.com>
5830
5831 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5832 when replacing an existing device.
5833
cfed2ad0
VS
58342011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5837 memory corruptions.
5838
5839 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5840 unsigned.
5841 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5842 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5843 (grub_jfs_read_inode): Likewise.
5844 (grub_jfs_opendir): Likewise. Remove now useless casts.
5845 (grub_jfs_getent): Likewise.
5846 Make ino a grub_uint32_t rather than int.
5847 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5848 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5849 division and module with bit operations.
5850 (grub_jfs_find_file): Make ino a grub_uint32_t.
5851 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5852
05d2ed32
CW
58532011-04-01 Colin Watson <cjwatson@ubuntu.com>
5854
5855 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5856 warning. (This was in fact always initialised before use, but GCC
5857 wasn't smart enough to prove that.)
5858 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5859
91dc6073
VS
58602011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5863 stack alignment.
5864 (efi_wrap_1): Likewise.
5865 (efi_wrap_2): Likewise.
5866 (efi_wrap_3): Likewise.
5867 (efi_wrap_4): Likewise.
5868 (efi_wrap_5): Likewise.
5869 (efi_wrap_6): Likewise.
5870 (efi_wrap_10): Likewise.
5871 Based on information by: Red Hat/Peter Jones.
5872
a8afc1d1
CW
58732011-03-31 Colin Watson <cjwatson@ubuntu.com>
5874
5875 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5876 set-but-not-used variable.
5877
a826cc7d
CW
58782011-03-31 Colin Watson <cjwatson@ubuntu.com>
5879
5880 * docs/grub.texi (Simple configuration): Be more explicit about
5881 GRUB_DEFAULT, and add an example.
5882 Reported by: Leslie Rhorer.
5883
875b67ba
CW
58842011-03-30 Colin Watson <cjwatson@ubuntu.com>
5885
5886 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
5887 shell".
5888
fd7cd914
AS
58892011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5890
5891 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
5892 * util/grub.d/20_linux_xen.in: Likewise.
5893
090b1b6a
VS
58942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * util/grub.d/10_linux.in: Try alternative config filenames where
5897 we parse config file.
5898 * util/grub.d/20_linux_xen.in: Likewise.
5899
baad885c
AS
59002011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5901
5902 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
5903 * util/grub.d/20_linux_xen.in: Likewise.
5904
241e41f5
VS
59052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/disk/raid.c (insert_array): Add few potentially
5908 useful grub_util_info.
5909 (grub_raid_register): Likewise.
5910
56445fb2
VS
59112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
5914 Preserve partition number in mdadm code path.
5915
c871b1c6
VS
59162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
5919 few potentially useful grub_util_info.
5920
5e631b4f
CW
59212011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
5924
2d5d0333
CW
59252011-03-30 Colin Watson <cjwatson@ubuntu.com>
5926
5927 * docs/grub.texi (default): Use @example rather than nested
5928 itemized lists to avoid breaking gendocs.
5929
3d7ed04e
CW
59302011-03-30 Colin Watson <cjwatson@ubuntu.com>
5931
5932 * docs/grub.texi (Future): Update.
5933
abf04200 59342011-03-30 Colin Watson <cjwatson@ubuntu.com>
5935
5936 * docs/grub.texi (Environment): New chapter.
5937 (Changes from GRUB Legacy): Link to "Environment block" section for
5938 details of limitations.
5939 (Simple configuration): Likewise. Link to documentation of gfxmode
5940 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
5941 respectively.
5942 (Shell-like scripting): Note that normal variables are stored in the
5943 environment.
5944 (gettext): Link to documentation of lang and locale_dir.
5945 (list_env): New section.
5946 (load_env): New section.
5947 (save_env): New section.
5948
5949 (Reporting bugs): Fix typo.
5950
e1ad0edd
VS
59512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
5954 the example.
5955
5d803174
VS
59562011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * grub-core/term/at_keyboard.c (set_scancodes)
5959 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
5960
2a2da1d0
CW
59612011-03-30 Colin Watson <cjwatson@ubuntu.com>
5962
5963 * docs/grub.texi (Menu-specific commands): Remove some semantics
5964 that were true in GRUB Legacy but not in GRUB 2.
5965 (submenu): New section.
5966 (false): New section.
5967 (read): New section.
5968 (true): New section.
5969
a7527639
CW
59702011-03-30 Colin Watson <cjwatson@ubuntu.com>
5971
5972 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
5973
59742011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
5975
5976 * docs/grub.texi (Simple configuration): Explain some of the
5977 current limitations of grub-mkconfig.
8a748df2 5978 Reported by: Leslie Rhorer.
e30af029 5979
fc858482
VS
59802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 Old macs search for boot.efi rather than for bootia32.efi.
5983
5984 * util/grub-install.in: Copy bootia32.efi to boot.efi.
5985 * util/grub-mkrescue.in: Likewise.
5986 Suggested by: Peter Jones.
5987
e1eb511d
VS
59882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
5991
70e75364
VS
59922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
5995 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
5996 (grub_lvm_mirror): New struct.
5997 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
5998 (grub_lvm_iterate): Iterate only visible volumes.
5999 (grub_lvm_read): Factor out to ..
6000 (read_lv): ... this. Support mirrors.
6001 (grub_lvm_read): New wrapper function.
6002 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6003 stripped or mirrored.
6004
fc18f6a3
VS
60052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6008
5c650f4c
CW
60092011-03-29 Colin Watson <cjwatson@ubuntu.com>
6010
6011 * docs/grub.texi (loopback): New section.
6012
61d7156b
CW
60132011-03-29 Colin Watson <cjwatson@ubuntu.com>
6014
6015 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6016 removed -p option.
6017
994b8264
CW
60182011-03-29 Colin Watson <cjwatson@ubuntu.com>
6019
6020 * docs/grub.texi (BIOS installation): New section, partly based on
6021 previous text in other sections.
6022 (Installing GRUB using grub-install): Replace BIOS discussion with a
6023 cross-reference.
6024 (Images): Likewise.
6025
9e4d19e0
VS
60262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6029 [HAVE_DIOCGDINFO]: Add safety checks.
6030
a307c0b2
VS
60312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6034 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6035
b4db4f39
CW
60362011-03-29 Colin Watson <cjwatson@ubuntu.com>
6037
6038 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6039 real_sb->size is zero (e.g. RAID-0), get the disk size from
6040 real_sb->data_size instead.
6041 Fixes Ubuntu bug #743136.
6042
35e5f84c
VS
60432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6046 printf clauses for printing size and start.
6047
d2e29d81
VS
60482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6051 Reported and tested by: Timothy Nikkel.
6052
ed5587af
VS
60532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6056 (dirty_region_add_real): ... this.
6057 (dirty_region_add): Don't discard margin refresh when performing
6058 scheduled repaint.
6059
a1dc717c
VS
60602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * grub-core/lib/relocator.c (allocate_regstart)
6063 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6064 terminals are capabple of malloc-free operation.
6065 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6066 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6067
9f3677d3
VS
60682011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6069
6070 * util/grub-setup.c: Copy the partition table zone if floppy support
6071 is disabled, even if no partition table is found.
6072
6073 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6074 during POST if an invalid partition table is contained in the PBR
6075 of the active partition when GRUB is installed to a partition.
6076
24148725
CW
60772011-03-28 Colin Watson <cjwatson@debian.org>
6078
6079 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6080 comment.
6081
f329eda7
CW
60822011-03-28 Colin Watson <cjwatson@debian.org>
6083
6084 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6085 to be specific about what kind of RAID device we're scanning for.
6086
c482ad98
SG
60872011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6088
6089 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6090 return freed string.
6091
5ee04984
VS
60922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6095
f4727da9
VS
60962011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 Use libgeom on FreeBSD to detect partitions.
6099
6100 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6101 (grub-mkrelpath): Likewise.
6102 (grub-script-check): Likewise.
6103 (grub-editenv): Likewise.
6104 (grub-mkpasswd-pbkdf2): Likewise.
6105 (grub-fstest): Likewise.
6106 (grub-mkfont): Likewise.
6107 (grub-mkdevicemap): Likewise.
6108 (grub-probe): Likewise.
6109 (grub-setup): Likewise.
6110 (grub-ofpathname): Likewise.
6111 (grub-mklayout): Likewise.
6112 (example_unit_test): Likewise.
6113 (grub-menulst2cfg): Likewise.
6114 * grub-core/Makefile.core.def (grub-emu): Likewise.
6115 (grub-emu-lite): Likewise.
6116 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6117 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6118 define HAVE_DIOCGDINFO.
6119 (follow_geom_up) [FreeBSD]: New function.
6120 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6121 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6122 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6123 unconditionally of HAVE_DIOCGDINFO.
6124
82fe6c75
VS
61252011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 Fix FreeBSD compilation problem.
6128
6129 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6130 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6131
4c6c9431
CW
61322011-03-24 Colin Watson <cjwatson@ubuntu.com>
6133
6134 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6135 Switch back to page zero before loading a kernel, since some kernel
6136 drivers expect that.
6137 Thanks to: Felix Kuehling.
6138
c7064d94
VS
61392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6142 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6143 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6144
3f71cded
VS
61452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6148 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6149
ef6de21a
VS
61502011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6153 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6154 malloc is disabled.
6155
8bc66a2c
VS
61562011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6159 for modules headers when counting the needed allocation size.
6160
5657722c
VS
61612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6164 if no ASCII character is found to prevent crash.
6165
41a85f55
AK
61662011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6167
6168 * grub-core/video/bitmap.c (match_extension): Ignore case.
6169
59e1e5f1
VS
61702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6173
bd4d051a
VS
61742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/script/parser.y: Declare "time" as valid argument.
6177
bae7fcc1
PJ
61782011-03-23 Peter Jones <pjones@redhat.com>
6179
6180 Fix incorrect assert failure reporting.
6181
6182 * grub-core/tests/example_functional_test.c (example_test): Add
6183 a failure comment.
6184 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6185 (failure_start): ...this. Check that malloc succeeded.
6186 Don't call xvasprintf. Return failure struct.
6187 (failure_append_vtext): New function.
6188 (failure_append_text): Likewise.
6189 (add_failure): Likewise.
6190 (grub_test_assert_helper): Likewise.
6191 * include/grub/test.h (grub_test_assert_helper): New declaration.
6192 (grub_test_assert): Macro rewritten.
6193
537dc9be
VS
61942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6197
fa3e01bf
VS
61982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6201
b1d28404
VS
62022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6205 into GRUB-style one.
6206
2e3e2e09
VS
62072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6210 error and not grub_errno.
6211 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6212
ed57e557
VS
62132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6216 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6217
d1611f01
VS
62182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/efiemu/i386/pc/cfgtables.c
6221 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6222 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6223 (grub_xnu_unlock): Likewise.
6224 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6225
7d4e39d6
VS
62262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6229 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6230 * grub-core/commands/hashsum.c (aliases): Likewise.
6231 * grub-core/commands/setpci.c (pci_registers): Likewise.
6232 * grub-core/disk/usbms.c (attach_hook): Likewise.
6233 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6234 (zio_checksum_table): Likewise.
6235 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6236 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6237 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6238 * grub-core/lib/relocator.c (leftovers): Likewise.
6239 (extra_blocks): Likewise.
6240 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6241 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6242 (modules_last): Likewise.
6243 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6244 (devices): Likewise.
6245 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6246 (modules_last): Likewise.
6247 * grub-core/normal/auth.c (users): Likewise.
6248 * grub-core/normal/context.c (initial_menu): Likewise.
6249 (current_menu): Likewise.
6250 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6251 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6252 (grub_serial_terminfo_input_template): Likewise.
6253 (grub_serial_terminfo_output_template): Likewise.
6254 (grub_serial_terminfo_input): Likewise.
6255 (grub_serial_terminfo_output): Likewise.
6256 (registered): Likewise.
6257 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6258
40fc4659
VS
62592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6262 grub_video_mode_type_t.
6263 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6264 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6265 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6266
2da48d28
VS
62672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * util/grub-install.in: Correct the x86-64 name as x86_64.
6270
9b43bf39
CW
62712011-03-11 Colin Watson <cjwatson@ubuntu.com>
6272
6273 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6274 initial chunk read from the kernel always includes GRUB's multiboot
6275 header, which is now outside the first sector.
6276
be1a7ce0
CW
62772011-03-09 Colin Watson <cjwatson@ubuntu.com>
6278
6279 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6280 cached mmap_size, so that this works correctly when called multiple
6281 times.
6282 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6283
83a3c48d
CW
62842011-03-09 Colin Watson <cjwatson@ubuntu.com>
6285
6286 * docs/grub.texi (Simple configuration): Tidy up formatting.
6287
57d75699
SJ
62882011-03-07 Szymon Janc <szymon@janc.net.pl>
6289
6290 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6291 Set-but-not-used variable removed.
6292
028501a0
VS
62932011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 Workaround yet another IEEE1275 bug.
6296
6297 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6298 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6299 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6300 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6301 is set.
6302 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6303 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6304
d998657d
VS
63052011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6308 error.
6309
fee7cdd4
CW
63102011-02-11 Colin Watson <cjwatson@ubuntu.com>
6311
6312 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6313 empty, since in that case we can only generate either nothing or a
6314 syntactically invalid configuration file.
6315 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6316
97286eb5
CW
63172011-02-09 Colin Watson <cjwatson@ubuntu.com>
6318
6319 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6320 (Making a GRUB bootable CD-ROM): Likewise.
6321 (Invoking grub-mkrescue): New section.
6322 Reported by: Yann Dirson. Fixes Debian bug #612585.
6323
22b28eb3
CW
63242011-02-09 Colin Watson <cjwatson@ubuntu.com>
6325
6326 * util/grub-install.in: Remove unnecessary brackets from tr
6327 arguments.
6328 * util/grub.d/10_hurd.in: Likewise.
6329 * util/grub.d/10_kfreebsd.in: Likewise.
6330 * util/grub.d/10_linux.in: Likewise.
6331 * util/grub.d/20_linux_xen.in: Likewise.
6332 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6333
7e735e43
CW
63342011-02-08 Colin Watson <cjwatson@ubuntu.com>
6335
6336 * include/grub/file.h (not_easly_seekable): Rename to ...
6337 (not_easily_seekable): ... this. Update all users.
6338
800f1881
CW
63392011-01-28 Colin Watson <cjwatson@ubuntu.com>
6340
6341 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6342 grub-mkrescue.
6343
3281d3d6
VS
63442011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * util/grub-mkimage.c (generate_image): Refuse to create the images
6347 bigger than the actual flash (512K) in Loongson machines. 512K is also
6348 the biggest chip supported by them.
6349
3533413c
VS
63502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6353
73ae4f4f
VS
63542011-01-22 Anthony DeRobertis <anthony@derobert.net>
6355
6356 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6357 super_offset field.
6358
37f4f608
VS
63592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * util/grub-install.in: Ignore install device on platforms
6362 where it doesn't make sense. Always use UUIDs except on pc, efi and
6363 sparc64.
6364 Reported by: Daniel Kahn Gillmor.
6365
03a4ccb5
VS
63662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6369
ffc8f4d8
VS
63702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6373 (iterate_real): Don't rely on partition being non-NULL.
6374
80f23be7
VS
63752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6378 supported platforms. Put a compile time assert for this rather than
6379 generate a warning with 32-bit shift.
6380
5d4f4dd5
VS
63812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6384 logical expression more readable.
6385
e489601a
VS
63862011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6389 even if some elements have a name.
6390 Reported by: Alexander GQ Gerasiov.
6391
96e0a6ea
CW
63922011-01-22 Colin Watson <cjwatson@ubuntu.com>
6393
6394 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6395 path unreadable if `grub-probe -t abstraction' fails, for example if
6396 memberlist fails on an LVM volume group.
6397 Reported by: Darius Jahandarie.
6398
81431e2b
CW
63992011-01-22 Colin Watson <cjwatson@ubuntu.com>
6400
6401 * docs/grub.texi (Simple configuration): Document
6402 GRUB_PRELOAD_MODULES.
6403
5e79d66a
CW
64042011-01-17 Colin Watson <cjwatson@ubuntu.com>
6405
6406 * .bzrignore: Remove nonexistent grub-pbkdf2.
6407
646ada34
VS
64082011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * configure.ac: Bump version to 1.99~rc1.
6411
04360337
VS
64122011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6415 for safety.
6416
46c9db88
VS
64172011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6420 module.
6421
64222011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
6423
6424 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6425
4fbf1852
VS
64262011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6429 diskdevid.
6430
f1632d4d
VS
64312011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 Fix compilation on cygwin.
6434
6435 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6436 -R .drectve on cygwin.
6437 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6438 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6439 (COND_CYGWIN): New condition.
6440 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6441 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6442 not @TARGET_OBJ2ELF@.
6443 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6444 type to determine whether aux is to be used.
6445
0b5e127b
VS
64462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6449 realpath'ed device string.
6450 Handle floppy (somewhat).
6451 Issue error in unknown case rather than garbage.
6452 Reported by: Axel Beckert.
6453
173b71e9
VS
64542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * util/grub.d/00_header.in (load_video): Handle the case when no video
6457 drivers available.
6458 Thanks to: Axel Beckert.
6459
f8f479db
VS
64602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6463 variable. Fixes problem on big endian platforms.
6464
8fc0a245
VS
64652011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6468 It doesn't work well there.
6469
b8494fbe
VS
64702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6473 warning.
6474 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6475 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6476 counter.
6477
b44a558c
VS
64782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 Use alias->path rather than buggy "canon".
6481
6482 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6483 (ofdisk_hash_add): New argument curcan. All users updated.
6484
51fa856c
CW
64852011-01-11 Colin Watson <cjwatson@ubuntu.com>
6486
6487 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6488
9da068a5
VS
64892011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6492 loadmask before doing any calculations. Use correct type for offset.
6493 (grub_linux_load64): Likewise.
6494
86205c94
CW
64952011-01-11 Colin Watson <cjwatson@ubuntu.com>
6496
6497 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6498 with NULL.
6499 (console_grub_equivalences_unshift): Likewise.
6500 Reported by: Daniel Dehennin.
6501
4531a206
VS
65022011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6505 (set_env_limn_ro): Likewise.
6506 (GRUB_MOD_INIT): Likewise.
6507 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6508 ARRAY_SIZE while on it.
6509 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6510 * grub-core/normal/context.c (grub_env_export): Move from here ...
6511 * grub-core/kern/env.c (grub_env_export): ... here.
6512 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6513 prefix.
6514 * grub-core/kern/main.c (grub_main): Export root and prefix.
6515 * include/grub/env.h (grub_env_export): Export.
6516 Reported by: Seth Goldberg.
6517
45146057
VS
65182011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6521 Take into account space used by ELF sections and multiboot palette.
6522 Reported by: Grégoire Sutre.
6523
f093110b
VS
65242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * BUGS: New file.
6527
3395fe52
VS
65282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 Pass more appropriate video id to Linux.
6531
6532 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6533 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6534 fill have_vga.
6535 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6536 shift params->lfb_size.
6537 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6538
c2fa6cbb
VS
65392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6542
b3ff6ff0
VS
65432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6546 separator and pass bootpath/devid even if only one of them is available.
6547 Reported by: Seth Goldberg.
6548
ae67942e
VS
65492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6552 implementations bug on them.
6553
6554 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6555 memory.
6556 (filter_memory_map): Likewise.
6557
d570097a
VS
65582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6561 Reported by: nebuchadnezzar.
6562
a508e776
VS
65632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6566 Reported by: nebuchadnezzar.
6567
dcb883b1
VS
65682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 Submenu default support.
6571
6572 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6573 auto_boot. All users updated.
6574 Declared static.
6575 Handle chosen and default with submenus.
6576 (grub_menu_execute_with_fallback): Declared static.
6577 Don't notify failure if autobooted. Upper level does it.
6578 (menuentry_eq): New function.
6579 (get_entry_number): Use menuentry_eq.
6580 (show_menu): New parameter "autobooted". All users updated.
6581 (grub_show_menu): Likewise.
6582 * include/grub/normal.h (grub_show_menu): Likewise.
6583 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6584 (grub_menu_execute_with_fallback): Likewise.
6585
6fef99b4
VS
65862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * util/grub-mklayout.c (usage): Update help text.
6589
47a77af5
VS
65902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6593
ce6bb3ee
VS
65942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * util/grub-menulst2cfg.c (main): Trim the line.
6597
db87be2a
VS
65982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6601 (grub_machine_init): Don't check amount of low memory as reportedly
6602 INT 12h can be broken and if low memory is too low we wouldn't have
6603 gotten into grub_machine_init anyway.
6604
c49849cc
VS
66052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6608 (grub_machine_mmap_iterate): Take low memory into account
6609
b1969b30
VS
66102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6613 badfs.
6614 Reported by: TiCPU.
6615
cf0eaf13
VS
66162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6619 members errors.
6620
1f060f39
GS
66212011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6622
6623 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6624 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6625
a21e5672
GS
66262011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6627
6628 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6629 openbsd and netbsd types being in part_bsd module.
6630
c88172fa
VS
66312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6634 (_FILE_OFFSET_BITS): Likewise.
6635 Reported by: Seth Goldberg.
6636
53798c4b
GS
66372011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6638
6639 * configure.ac: Check for libdevmapper header.
6640
e7121b69
VS
66412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6644 avoid aliasing.
6645 (fzap_lookup): Likewise.
6646 (dnode_get): Likewise.
6647 (make_mdn): Likewise.
6648 (zfs_mount): Likewise.
6649 (fzap_iterate): Use temporary pointer to avoid aliasing.
6650 (grub_zfs_read): Likewise.
6651 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6652 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6653 pointers to avoid aliasing.
6654 (grub_cmd_xnu_kernel64): Likewise.
6655 (grub_xnu_load_driver): Likewise.
6656
fc836af9
VS
66572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6660 aliasing warning.
6661 (grub_cmd_terminal_output): Likewise.
6662 Reported and tested by: Grégoire Sutre.
6663
f9f37648
VS
66642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6667 warning.
6668 Reported and tested by: Grégoire Sutre.
6669
ec1dfd63
VS
66702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * configure.ac: Do CPU substitution even if it's specified explicitly.
6673 Reported and tested by: Alain Greppin.
6674
9462775a
VS
66752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6678 Reported and tested by: Alain Greppin.
6679
0fd48e35
VS
66802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 Satisfy some bison versions need for inttypes.h.
6683
6684 * grub-core/lib/posix_wrap/inttypes.h: New file.
6685 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6686 (int16_t): Likewise.
6687 (int32_t): Likewise.
6688 (int64_t): Likewise.
6689 Reported and tested by: Alain Greppin.
6690
43f1bc83
VS
66912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6694 Silence spurious warning.
6695 Reported and tested by: Alain Greppin.
6696
64d1f041
SJ
66972011-01-07 Szymon Janc <szymon@janc.net.pl>
6698
6699 * docs/grub.texi (Support automatic decompression): Update with xz
6700 decompression support.
6701
25953e10
SJ
67022011-01-07 Szymon Janc <szymon@janc.net.pl>
6703
6704 Improve loaders' kernel command line handling.
6705
6706 * grub-core/lib/cmdline.c: New file.
6707 * include/grub/lib/cmdline.h: Likewise.
6708 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6709 grub_create_loader_cmdline to create kernel command line.
6710 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6711 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6712 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6713 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6714 (linux): Add lib/cmdline.c on common.
6715
e72d259f
VS
67162011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6719 inopos might be unaligned.
6720
c0cf26da
VS
67212011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6724 endian transformations.
6725 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6726 Based on report by: Doug Nazar.
6727
0ca09e6c
DN
67282011-01-07 Doug Nazar <nazard.michi@gmail.com>
6729
6730 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6731 array->members[i].start_sector.
6732 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6733
014b6806
VS
67342011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6737 Reported and tested by: Grégoire Sutre.
6738
415502c2
CW
67392011-01-06 Colin Watson <cjwatson@ubuntu.com>
6740
6741 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6742 avoid causing test failures by clearing the screen.
6743
71b6a2b7
CW
67442011-01-06 Colin Watson <cjwatson@ubuntu.com>
6745
6746 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6747 Fix prefix check to handle the case where dir ends with a slash
6748 (most significantly, "/" itself).
6749 Reported by: Michael Vogt.
6750
b3f8d28a
VS
67512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 Run terminfo_cls on initing terminfo output to clear the screen and
6754 move the cursor to (0,0).
6755
6756 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6757 Call grub_terminfo_output_init.
6758 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6759 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6760 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6761
4c3e4f37
VS
67622011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6765 only when needed.
6766
488f71f1
VS
67672011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6770 CTRL.
6771
18a38098
VS
67722011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 The E820 type 5 is BADRAM, not EXEC_CODE.
6775
6776 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6777 (GRUB_E820_BADRAM): New define.
6778 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6779 into reserved. Propagate BADRAM.
6780 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6781 (GRUB_E820_BADRAM): New define.
6782
9eae2084
VS
67832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6786 Ignore the memory post-4G.
6787 (grub_relocator_firmware_alloc_region): Additional debug statement.
6788
ebc71d28
VS
67892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6792 names.
6793 Reported by: David Pravec.
6794
446fa400
VS
67952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6798 BIOSes.
6799
a0159f37
VS
68002011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6803 Prevent overflow.
6804 (grub_reed_solomon_recover): Likewise.
6805
e5146ca1
VS
68062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6809
68102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
6811
6812 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6813 variable.
6814
5b1bdf12
CW
68152011-01-04 Colin Watson <cjwatson@ubuntu.com>
6816
6817 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6818 descriptions of extract_legacy_entries_source and
6819 extract_legacy_entries_configfile.
6820 Reported by: Seung Soo, Ha.
6821
99d925aa
CW
68222011-01-03 Colin Watson <cjwatson@ubuntu.com>
6823
6824 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6825 on devices that do not implement function 0.
6826
4af0504b
DV
68272011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6828
6829 * grub-core/fs/hfsplus.c: Make parent unsigned.
6830 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6831 overflows.
6832 (grub_hfsplus_cmp_extkey): Likewise
6833
469ee10a
VS
68342011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * util/grub-install.in: Correctly use bootloader_id and not
6837 GRUB_DISTRIBUTOR on efibootmgr line.
6838
323a8e9c
VS
68392011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6842
1b394975
IC
68432010-12-31 Ian Campbell <ijc@hellion.org.uk>
6844
6845 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6846 Xen and reorder menu item wording to make it clearer that this entry
6847 will launch Xen. Print separate messages when loading Xen and
6848 Linux.
6849
275bff5f
VS
68502010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6853 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6854 loop in case of incorrect amiga partmap.
6855
307806cb
VS
68562010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6859 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6860 Reported by:EHeM.
6861
b12b923e
VS
68622010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6865 spurious warning.
6866 Reported by: crocket
6867
14b48a19
VS
68682010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6871 Preload EFIemu.
6872 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6873
693db2df
VS
68742010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6877 is loaded
6878 (grub_cmd_xnu_kextdir): Likewise.
6879 (grub_cmd_xnu_splash): Likewise.
6880
c7638645
VS
68812010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 Avoid using Reed-Solomon with 0 redundancy.
6884
6885 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
6886 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
6887 or 0 redundancy.
6888 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
6889 (grub_reed_solomon_recover): Likewise.
6890
25dd4780
VS
68912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 Don't use disk subsystem in freebsd_boot.
6894
6895 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
6896 (freebsd_biosdev): Likewise.
6897 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
6898 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
6899
0b2db943
VS
69002010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 Handling of files of unknown size is currently limited. They can't be
6903 used e.g. for initrd or modules. Moreover gzip handling of not
6904 easily seekable files is buggy. Disable unknown file size for now. May
6905 be inefficient but works.
6906
6907 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
6908 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6909
5c408d0f
MP
69102010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
6911
6912 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
6913 floppy probe.
6914
190a011a
JD
69152010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
6916
6917 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
6918
022d01b8
SL
69192010-12-25 Shea Levy <shlevy>
6920
6921 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
6922
c4855fdc
VS
69232010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
6926 Windows Server 2008.
6927 Reported by: Devin Giddings.
6928
0354b867
VS
69292010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
6932 writing an error message because of async power management.
6933 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
6934 (grub_reboot): Likewise.
6935
ab66c69f
JU
69362010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
6937
6938 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
6939 keep unit tests from failing when they shouldn't.
6940
1426ef35
CW
69412010-12-21 Colin Watson <cjwatson@ubuntu.com>
6942
6943 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
6944 previous patch increased the size of the RS code by 20 bytes (at
6945 least with gcc-4.4), so increase this by 20 bytes to match.
6946 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6947
20641b6b
CW
69482010-12-21 Colin Watson <cjwatson@ubuntu.com>
6949
6950 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
6951 scratch area. Make sure to initialise chosen in standalone mode as
6952 well as non-standalone.
6953 Reported by: Robert Hooker and Andy Whitcroft.
6954 Tested by: Andy Whitcroft.
6955
d060ad60
CW
69562010-12-21 Colin Watson <cjwatson@ubuntu.com>
6957
6958 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
6959 constructing a new unescaped string and passing it to grub_xputs in
6960 one go, rather than passing characters to grub_printf one at a time.
6961
b889cfad
CW
69622010-12-21 Colin Watson <cjwatson@ubuntu.com>
6963
6964 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
6965 initialising utf16.
6966
4e01b6c8
CW
69672010-12-21 Colin Watson <cjwatson@ubuntu.com>
6968
6969 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
6970 comment. Add an extra layer of quotation, requiring the output of
6971 this function to be used in a printf format string.
6972 (gettext_printf): New function.
6973 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
6974 Extract translatable strings from here-documents and use a temporary
6975 variable instead, so that xgettext can find them.
6976 * util/grub.d/10_kfreebsd.in: Likewise.
6977 * util/grub.d/10_linux.in: Likewise.
6978 * util/grub.d/20_linux_xen.in: Likewise.
6979
6980 * po/grub.d.sed: New file.
6981 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
6982 arguments. Set c-format flags on all strings extracted from
6983 util/grub.d/ (xgettext refuses to include these itself for strings
6984 it extracted from a shell file, but these really are c-format).
6985
5318fe98
VS
69862010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
6989 Avoid next pointing to nowhere.
6990
6c85b743
VS
69912010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
6994 rather than assuming than rootblock is exactly in the middle.
6995 (grub_affs_label): Likewise.
6996
a2a08a35
VS
69972010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7000 reserved_first_sector to 0.
7001 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7002 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7003 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7004
7059d1ec
VS
70052010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 Fix handling of UTF-16 UDF labels.
7008
7009 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7010 (read_string): .. here.
7011 (grub_udf_label): Use read_string.
7012
30aff4cb
BC
70132010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7014
7015 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7016 editor under argument scope.
7017 Reported by: Jordan Uggla
7018
5cf86f4b
VS
70192010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7022
32570200
CW
70232010-12-18 Colin Watson <cjwatson@ubuntu.com>
7024
7025 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7026 line, and other keys scroll an entire page (previous handling was
7027 for \r and \n to scroll a page and other keys to scroll two lines).
7028
e1dffcf2
VS
70292010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7032 Set ptrdest to correct get_physical_target_address rather than
7033 incorrect get_virtual_current_address.
7034
b04298cf 70352010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7036
7037 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7038 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7039
5367ecd3
CW
70402010-12-10 Colin Watson <cjwatson@ubuntu.com>
7041
7042 * .bzrignore: Ignore grub-core/rs_decoder.S.
7043
1fb430f8
CW
70442010-12-10 Colin Watson <cjwatson@ubuntu.com>
7045
7046 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7047 .mo/.mo.gz opening sequence to ...
7048 (grub_mofile_open_lang): ... here.
7049 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7050 * util/grub.d/00_header.in (grub_lang): Include country part of
7051 locale.
7052 Reported by: Mario Limonciello.
7053
a94a6671
RM
70542010-12-09 Robert Millan <rmh@gnu.org>
7055
7056 * NEWS: Document addition of ZFS support.
7057
24b7938b
CW
70582010-12-04 Colin Watson <cjwatson@ubuntu.com>
7059
7060 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7061 rather than `/ 2', as the latter requires -Wa,--divide which would
7062 require bumping our minimum binutils version.
7063
bddc3ef6
BC
70642010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7065
7066 * util/grub-script-check.c (main): Print script line number on
7067 error.
7068
bf78d5b2
RM
70692010-12-01 Robert Millan <rmh@gnu.org>
7070
7071 * grub-core/fs/zfs/zfs.c: New file.
7072 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7073 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7074 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7075 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7076
7077 * include/grub/zfs/dmu.h: Likewise.
7078 * include/grub/zfs/dmu_objset.h: Likewise.
7079 * include/grub/zfs/dnode.h: Likewise.
7080 * include/grub/zfs/dsl_dataset.h: Likewise.
7081 * include/grub/zfs/dsl_dir.h: Likewise.
7082 * include/grub/zfs/sa_impl.h: Likewise.
7083 * include/grub/zfs/spa.h: Likewise.
7084 * include/grub/zfs/uberblock_impl.h: Likewise.
7085 * include/grub/zfs/vdev_impl.h: Likewise.
7086 * include/grub/zfs/zap_impl.h: Likewise.
7087 * include/grub/zfs/zap_leaf.h: Likewise.
7088 * include/grub/zfs/zfs.h: Likewise.
7089 * include/grub/zfs/zfs_acl.h: Likewise.
7090 * include/grub/zfs/zfs_znode.h: Likewise.
7091 * include/grub/zfs/zil.h: Likewise.
7092 * include/grub/zfs/zio.h: Likewise.
7093 * include/grub/zfs/zio_checksum.h: Likewise.
7094
7095 * Makefile.util.def: Build ZFS into libgrubmods.
7096 * grub-core/Makefile.core.def: Build zfs.mod.
7097
3f0f3831
SJ
70982010-11-30 Szymon Janc <szymon@janc.net.pl>
7099
7100 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7101 variable.
7102 * grub-core/commands/wildcard.c (match_files): Likewise.
7103
3a4253b2
RM
71042010-11-30 Robert Millan <rmh@gnu.org>
7105
7106 * grub-core/loader/i386/bsd.c
7107 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7108 whether kernel is loaded using grub_loader_is_loaded(), rather
7109 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7110 certain error conditions.
7111
8c317b27
RM
71122010-11-30 Robert Millan <rmh@gnu.org>
7113
c5c9cd3e
RM
7114 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7115 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 7116
49d3ab46
VS
71172010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 Avoid using tricks for initialising endian variables.
7120
7121 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7122 Make const.
7123 (GRUB_MOD_INIT): Don't byte-swap.
7124 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7125 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7126 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7127 (grub_swap_bytes32_compile_time): Likewise.
7128 (grub_cpu_to_le32_compile_time): Likewise.
7129 (grub_cpu_to_le16_compile_time): Likewise.
7130
f420a804
VS
71312010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * util/grub-setup.c (setup): Stop recommending --force. People who
7134 understand the dangers of blocklists are able to find this option
7135 anyway and the ones who don't shouldn't use it anyway.
7136
4e7db17b
RM
71372010-11-26 Robert Millan <rmh@gnu.org>
7138
7139 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7140 Update all users.
7141
9be57a0d
CW
71422010-11-26 Colin Watson <cjwatson@ubuntu.com>
7143
7144 Fix LVM-on-RAID probing.
7145
7146 * util/grub-probe.c (probe): Remember which disk was detected as
7147 RAID (perhaps an LVM physical volume). Use that disk's raidname
7148 rather than that of the top-level disk.
7149
2c7859b3 71502010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 7151
d7647bb6
BC
7152 Fix cmdline argument quotes for setparams command of menuentry
7153 definitions.
7e623b0d
BC
7154
7155 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7156 quotes for arguments.
f866fe80 7157 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 7158 grub_strchrsub function instead.
f866fe80 7159
7955bea0 7160 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 7161
74f72a64
CW
71622010-11-24 Colin Watson <cjwatson@ubuntu.com>
7163
7164 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7165 effort by skipping "." and ".." entries up-front.
7166 Suggested by: Michael Lazarev.
7167
5a407278
CW
71682010-11-24 Colin Watson <cjwatson@ubuntu.com>
7169
7170 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7171 ldflags to ldadd, to fix link line ordering.
7172 (none_decompress): Likewise.
7173
3030d8ec
CW
71742010-11-24 Colin Watson <cjwatson@ubuntu.com>
7175
7176 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7177 platforms.
7178 (grub-emu-lite): Remove kern/emu/cache.S.
7179
b7fbac12
CW
71802010-11-23 Colin Watson <cjwatson@ubuntu.com>
7181
7182 * util/deviceiter.c (compare_devices): If the by-id link for a
7183 device couldn't be resolved, fall back to sorting by the by-id link
7184 rather than segfaulting.
7185 Reported and tested by: Daniel Mierswa.
7186
5225f328
CW
71872010-11-23 Colin Watson <cjwatson@ubuntu.com>
7188
7189 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7190 ldflags, to fix link line ordering.
7191
038b3ce8
CW
71922010-11-23 Colin Watson <cjwatson@ubuntu.com>
7193
7194 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7195 linkers are picky about this.
7196
bf16e98e
CW
71972010-11-23 Colin Watson <cjwatson@ubuntu.com>
7198
7199 * grub-core/Makefile.am (command.lst): Adjust sed expression
7200 ordering so that extended and priority commands aren't treated as
7201 ordinary commands.
7202
7242bab6
CW
72032010-11-23 Colin Watson <cjwatson@ubuntu.com>
7204
7205 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7206 Remove byte-swapping function calls, which are not valid in
7207 structure initialisers.
7208 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7209 non-const.
7210 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7211 grub_gpt_partition_type_bios_boot.
7212
14e8b279
CW
72132010-11-22 Colin Watson <cjwatson@ubuntu.com>
7214
7215 Fix test program build on GNU/kFreeBSD.
7216
7217 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7218 $(LIBNVPAIR)' library dependencies.
7219
e6f63338 72202010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
7221
7222 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7223
cf8ffc38
CW
72242010-11-22 Colin Watson <cjwatson@ubuntu.com>
7225
7226 * util/grub-install.in: Remove excessive quoting that broke
7227 installations to RAID devices.
7228
7f8b0fd7
VS
72292010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7232 bootloader version instead of 0.
7233
dfd240b1
VS
72342010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7237 warning.
7238
7b61e609
VS
72392010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7242 retrieve the metadat sector if size isn't known.
7243 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7244
9dfe92d0
RM
72452010-11-18 Robert Millan <rmh@gnu.org>
7246
7247 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7248 with grub_memcmp().
7249
41cc919e
VS
72502010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7253 arrow.
7254 Reported by: Jordan Uggla.
7255
1afcc914
VS
72562010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 Make better UTF compliant.
7259
7260 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7261 sequences as incorrect.
7262 (grub_is_valid_utf8): Likewise.
7263 (grub_utf8_to_ucs4): Likewise.
7264 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7265 (grub_ucs4_to_utf8_alloc): Likewise.
7266 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7267
f1808884
VS
72682010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 Make legacy_source behave like source.
7271
7272 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7273 grub_show_menu.
7274 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7275
24ec575b
CW
72762010-11-16 Colin Watson <cjwatson@debian.org>
7277
7278 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7279 (-Wunused implies -Wunused-parameter, but not vice versa).
7280
72b7c7aa
CW
72812010-11-16 Colin Watson <cjwatson@ubuntu.com>
7282
7283 * configure.ac: Make error messages less confusing by testing for
7284 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7285 accepted, but produces a diagnostic if something else is wrong).
7286
e98937aa
VS
72872010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7290 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7291 (now unused).
7292 (grub_keyboard_controller_init)
7293 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7294 read the initial state since controller isn't inited yet.
7295
f6bbabc3
VS
72962010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7299 allocate_regbeg may need to create new chunk header.
7300
22e7dbb2
VS
73012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 Fix quoting in legacy parser.
7304
7305 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7306 single quotes.
7307 (grub_legacy_parse): Likewise.
7308 Reported by: Jordan Uggla.
7309 Tested by: Jordan Uggla.
7310
03f80960
VS
73112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 Don't add -lgcc on i386 and x86_64.
7314
7315 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7316 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7317 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7318
779dc15b
VS
73192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * configure.ac: Add -Wno-trampolines when supported.
7322
d20a3b37
MV
73232010-11-14 Modestas Vainius <modax@debian.org>
7324
7325 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7326 fakeraid.
7327
e5360933
GC
73282010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7329
7330 Add generic logical block size support for UDF.
7331
7332 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7333 (GRUB_UDF_BLKSZ): Removed.
7334 (struct grub_udf_data): New field "lbshift" to hold the logical block
7335 size of the file system in log2 format. All users updated.
7336 (sblocklist): Change type to unsigned.
7337 (grub_udf_mount): Change type of "sblklist" to unsigned.
7338 Move AVDP search before VRS recognition, because the latter requires
7339 knowledge of the logical block size, which is detected during the
7340 former.
7341 Detect and validate logical block size during AVDP search, adding
7342 support for block sizes 512, 1024 and 4096.
7343 Make VRS recognition independent of block size.
7344
cb0229c5
GC
73452010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7346
7347 Properly handle deleted files on UDF.
7348
7349 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7350 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7351 set.
7352
406858a8
GC
73532010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7354
7355 Support reading files larger than 2 GiB.
7356
7357 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7358 "offset" to grub_off_t.
7359 (grub_udf_read_file): Likewise for parameter "pos".
7360
130da6a7
VS
73612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7364 unavailable.
7365 (Simple configuration): Refer to Changes from GRUB Legacy about
7366 save_env availability.
7367
65e93f6b
VS
73682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * util/grub-install.in: Ignore empty partition table detection
7371 instead of trying to include part_ module.
7372
1fd08bf1
VS
73732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7376 LVM on RAID support.
7377
de1a024f
VS
73782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Properly define WORDS_BIGENDIAN in wrapped environments.
7381
7382 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7383 definition.
7384 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7385
7386 Reported by: Manoel Rebelo Abranches.
7387 Tested by: Manoel Rebelo Abranches.
7388
bc5dd0b9
VS
73892010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * util/grub-mkconfig.in: Fix quoting.
7392
58c184be
VS
73932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 Support big ext2 files.
7396
7397 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7398 (grub_ext2_read_block): Support triple indirect blocks.
7399 (grub_ext2_read_file): Use 64-bit types and read size_high.
7400 (grub_ext2_open): Read size_high.
7401 Reported by: Ximin Luo.
7402 Tested by: Manoel Rebelo Abranches.
7403
5f0c02b3
VS
74042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 * util/grub-install.in: Handle filenames containing spaces.
7407 Reported by: Jordan Uggla.
7408 Tested by: Jordan Uggla.
7409
4417aae6
VS
74102010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * util/grub-mkconfig.in (grub_script_check): New variable.
7413 Use grub_script_check instead of grub-script-check.
7414 Reported by: Barry Jackson.
7415
7625a68e
VS
74162010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * docs/grub.texi (menu): Correct the order.
7419 Reported by: D. Hugh Redelmeier.
7420
10001ac5
VS
74212010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7424 jump.
7425
9c4cf53b
MRA
74262010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7427
10001ac5
VS
7428 * include/grub/elfload.h (grub_elf32_size): New parameter.
7429 All users updated.
9c4cf53b
MRA
7430 Return maximum segments alignment.
7431 (grub_elf64_size): Likewise.
7432 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7433 Return maximum segments alignment.
7434 (grub_elf64_size): Likewise.
7435 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
7436 (grub_linux_claimmap_iterate): New function. Uses the
7437 "available" property in the "memory" node for memory allocation
7438 for kernel in the PowerPC loader.
9c4cf53b
MRA
7439 (grub_linux_load32): Correctly find linux entry point offset.
7440 (grub_linux_load64): Likewise.
7441
d2bf06bf
RM
74422010-11-07 Robert Millan <rmh@gnu.org>
7443
7444 On mips-yeeloong, build with -march=loongson2f when this flag is
7445 available (GCC >= 4.4).
7446 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7447 `-march=mips3'.
7448 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7449 or otherwise add -march=mips3.
7450
898c99a2
BC
74512010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7452
87220a68
BC
7453 Suppress shell expansion on echo '*' and echo "*" like cases.
7454 Reported by: Jordan Uggla.
898c99a2
BC
7455
7456 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7457 string arguments before shell expansion.
7458 * tests/grub_cmd_echo.in: New testcases.
7459
4f9b406a
RM
74602010-11-07 Robert Millan <rmh@gnu.org>
7461
7462 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7463 transition.
7464
80c6d25e
VS
74652010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/kern/emu/hostdisk.c
7468 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7469
4a1a0153
VS
74702010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7473 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7474 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7475
34706ddc
VS
74762010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7479
6972dea9
VS
74802010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * util/grub-install.in: Replace useless recomendation to pass
7483 --modules with a recomendation to report a bug.
7484
9c693bd6
VS
74852010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 Properly register serial terminfo.
7488 Reported by: Jordan Uggla
7489
7490 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7491 const.
7492 (grub_serial_terminfo_output_template): Likewise.
7493 (grub_cmd_serial): Register "serial" with terminfo.
7494 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7495 grub_serial_terminfo_output.
7496
6c9e4c0c
RM
74972010-11-05 Robert Millan <rmh@gnu.org>
7498
7499 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7500 needed).
7501
b9b3839f
RM
75022010-11-05 Robert Millan <rmh@gnu.org>
7503
7504 On Yeeloong, pass machine type information to Linux.
7505
7506 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7507 (LOONGSON_MACHTYPE): New macro, set to
7508 "machtype=lemote-yeeloong-2f-8.9inches".
7509 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7510 additional argument to Linux.
7511
1a3aaff4
RM
75122010-11-04 Robert Millan <rmh@gnu.org>
7513
7514 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7515 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7516 (its SATA disks are detected as slaveless IDE master drives on
7517 kFreeBSD).
7518 Reported by Carsten Aulbert.
7519
a75f4f62
CW
75202010-11-02 Colin Watson <cjwatson@ubuntu.com>
7521
7522 * util/bin2h.c (main): Fix spelling error in generated output.
7523
33b4b0c6
GS
75242010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7525
7526 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7527
2b36fbf4
VS
75282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7531 vga= option is supplied.
7532
74aaf558
VS
75332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7536 * util/grub.d/10_kfreebsd.in: Likewise.
7537 * util/grub.d/10_linux.in: Likewise.
7538 * util/grub.d/20_linux_xen.in: Likewise.
7539
6428dec3
VS
75402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7543 argument as an argument to no-argument option.
7544
f8729d98
VS
75452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * util/grub.d/10_linux.in: Add missing load_video with explicit
7548 GRUB_GFXPAYLOAD_LINUX.
7549
89d68fa6
VS
75502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7553
3a1197cd
VS
75542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7557 elements with invlid index.
7558 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7559 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7560 members.
7561 * include/grub/raid.h (grub_raid_member): New struct.
7562 (grub_raid_array): Transform devices and start_sector into usage of
7563 grub_raid_member. All users updated
7564 (allocated_devs): New member.
7565
71574288
VS
75662010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7569 is modified
7570
8d40ec65
BC
75712010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7572
7573 NetBSD build fix for getline function conflict from gnulib.
7574
7575 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7576 components that depend on gnulib headers.
7577 (libgrubmods.a): Renamed from earlier libgrub.a.
7578 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7579
95b9257e
VS
75802010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7583 install rather than creating a broken install.
7584
26c53dc6
VS
75852010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub-setup.c (argp): Remove misleading example of installing to
7588 a partition.
7589
4171b3c5
VS
75902010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * util/grub-setup.c (setup): Clarify the error message.
7593
18568d18
VS
75942010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7597
4f6a2e21
VS
75982010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/kern/emu/misc.c
7601 (grub_make_system_path_relative_to_its_root)
7602 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7603
76042010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
7605
7606 * grub-core/kern/emu/misc.c
7607 (grub_make_system_path_relative_to_its_root): Revert r2882.
7608
e138c458
VS
76092010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7612 useless field head. All users updated.
7613 (free_subchunk): Correct handling of IN_REGION subchunk.
7614
0cbcdf0e
CW
76152010-10-22 Colin Watson <cjwatson@ubuntu.com>
7616
7617 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7618 (Supported kernels): Likewise.
7619
b65ea155
GS
76202010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7621
7622 Make mktemp invocations portable.
7623
7624 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7625 exit if mktemp fails.
7626 * tests/grub_script_blockarg.in: Likewise.
7627 * tests/partmap_test.in: Likewise.
7628 * tests/util/grub-shell-tester.in: Likewise.
7629 * tests/util/grub-shell.in: Likewise.
7630 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7631 * Makefile.am: Likewise, and chain shell commands with `&&'
7632 instead of ';'.
7633 * util/grub-mkrescue.in: Use the same explicit template as above, and
7634 exit if mktemp fails.
7635
05f43cdd
BC
76362010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7637
7638 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7639 Linux kernel, reported by Dennis Schridde.
7640
800e6a9b
SJ
76412010-10-17 Szymon Janc <szymon@janc.net.pl>
7642
7643 * grub-core/normal/auth.c (grub_auth_check_authentication):
7644 Set-but-not-used variable removed.
7645
d82df574
VS
76462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7649 32-bit linux protocol.
7650
7bced458
VS
76512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7654 cursor shape for sanity.
7655
5b027690
VS
76562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * docs/grub.texi (Installation): Document buggy BIOS install.
7659
ba5f65cf
VS
76602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * docs/grub.texi (Installation): Indent.
7663
fdf2ec9c
VS
76642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * util/grub-setup.c (setup): New parameter allow_floppy.
7667 (arguments): New member allow_floppy.
7668 (argp_parser): Handle --allow-floppy.
7669 (main): Pass allow_floppy.
7670 * util/grub-install.in: New option --allow-floppy passed though to
7671 grub-setup.
7672
861dfd4c
VS
76732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * util/grub-install.in: Handle partitionless disks.
7676
f77a8c24
VS
76772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * util/grub-setup.c (setup): Don't clean blocklists before readability
7680 verfification.
7681
27d9ee32
VS
76822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * docs/grub.texi (Installation): Document embedding zone. Remove
7685 obsolete grub-install example.
7686
6bdda8f8
SJ
76872010-10-16 Szymon Janc <szymon@janc.net.pl>
7688
7689 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7690 Set-but-not-used variable ifdef'ed.
7691 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7692 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7693 variable removed.
7694 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7695 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7696 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7697 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7698 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7699 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7700 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7701 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7702 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7703 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7704 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7705 Likewise.
7706
e19b016b
VS
77072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7710 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7711 enum value.
7712
6c8d3002
VS
77132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7716 synonym to _S5_. Needed for some DSDTs.
7717
c32b51c9
VS
77182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 Userspace ACPI parser debugging.
7721
7722 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7723 headers and add relevant defines. Don't include standard headers.
7724 (main) [GRUB_DSDT_TEST]: New function.
7725 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7726 Don't declare functions.
7727
fbfbeb39
VS
77282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 Remove dead grub_efi_mm_fini.
7731
7732 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7733 (ALLOCATED_PAGES_SIZE): Likewise.
7734 (MAX_ALLOCATED_PAGES): Likewise.
7735 (allocated_pages): Likewise.
7736 (grub_efi_allocate_pages): Don't record allocated pages.
7737 (grub_efi_free_pages): Likewise.
7738 (grub_efi_mm_init): Likewise.
7739 (grub_efi_mm_fini): Removed.
7740
65f7ed7c
VS
77412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7744 (grub_efi_mm_init): Take into account the memory map size increase.
7745
24977b44
VS
77462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7749 (serial_hw_put): Wait based on real time rather than port reads. Don't
7750 roken ports.
7751 * include/grub/serial.h (grub_serial_port): New field broken.
7752
1eb01cd2
RM
77532010-10-16 Robert Millan <rmh@gnu.org>
7754
7755 * grub-core/kern/emu/misc.c
7756 (grub_make_system_path_relative_to_its_root): Fix premature return
7757 when processing non-root ZFS filesystems.
5f8b440b 7758 Reported by Sergio Talens-Oliag.
1eb01cd2 7759
2d5fed60
RM
77602010-10-15 Robert Millan <rmh@gnu.org>
7761
7762 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7763 guarantee compressed ones are processed first.
7764
d0f4c1ea
VS
77652010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7768 grub_efiemu_autocore.
7769
d87c681f
VS
77702010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7773 rather than 0x1b.
7774 (grub_console_getkey): Use correct jae opcode rather than ja.
7775
219b3564
RM
77762010-10-12 Robert Millan <rmh@gnu.org>
7777
7778 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7779 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7780 variable. All references updated.
7781
7782 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7783
20c6bb7e
VS
77842010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 Correctly distinguish mdraid flavours.
7787
7788 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7789 (insert_array): New argument raid.
7790 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7791 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7792 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7793
74baff84
VS
77942010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7797 handling of special keys.
7798
3ef068df 77992010-10-02 Aleš Nesrsta <starous@volny.cz>
7800
c7980ad9
VS
7801 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7802 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 7803
a9455194 78042010-10-02 Aleš Nesrsta <starous@volny.cz>
7805
c7980ad9
VS
7806 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7807 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7808 users updated.
a9455194 7809 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 7810 Use right endpoint when querying descriptor.
a9455194 7811
441cfe65
VS
78122010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 Clear out 0x80 color bit on EFI.
7815 Tested by: decoder
7816 Reported by: decoder and meta tech.
7817
7818 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7819 (grub_console_setcolorstate): Clear out 0x80 bit.
7820 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7821 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7822 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7823
bf26bcc4
VS
78242010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7827 Set to "auto".
7828
6e3c515d
VS
78292010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7832 mo_file after freeing.
7833
e6d983ba
VS
78342010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7837
74ccb5b5
VS
78382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7841 flags.
7842
17821956
VS
78432010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7846 usage.
7847
ee74fa48
VS
78482010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7851
7852 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7853 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7854 and terminfo.h when needed.
7855 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7856 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7857 (terminfo): Enable only on terminfokernel.
7858 (extcmd): Likewise.
7859 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7860 * include/grub/lib/arg.h: Likewise.
7861 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7862 incorrect usage of ->.
7863
aa438e68
VS
78642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7867 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7868
57994012
VS
78692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 Fix coreboot compilation.
7872
7873 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7874 Take VBE info into account even if only text is supported.
7875 (fill_vbe_info): Take into account the case when only VGA text
7876 is supported.
7877 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7878 on coreboot, multiboot and qemu.
7879
2a406611
VS
78802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
7883 debug messages.
7884 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
7885
d33613fc
VS
78862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
7889 parameters.
7890
44a1b432
VS
78912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
7894 if they were BSD-style.
7895
edde54e6
VS
78962010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 * grub-core/boot/i386/pc/lnxboot.S: Replace
7899 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
7900 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
7901
b65830fa
VS
79022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 Write embedding zone using Reed-Solomon.
7905
7906 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
7907 * grub-core/Makefile.am (rs_decoder.S): New target.
7908 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
7909 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
7910 (multiboot): Move to RS part.
7911 (post_reed_solomon): New label.
7912 (grub_boot_drive): Move to non-RS part since it's modified in memory
7913 on boot.
7914 Include rs_decoder.S.
7915 * grub-core/lib/reed_solomon.c: New file.
7916 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
7917 New definition.
7918 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
7919 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
7920 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
7921 * include/grub/partition.h (grub_partition_map): Change prototype of
7922 embed to allow returning additional sectors.
7923 * include/grub/reed_solomon.h: New file.
7924 * util/grub-setup.c (setup): Handle Reed-Solomon.
7925
0b4b227f
CW
79262010-09-28 Colin Watson <cjwatson@ubuntu.com>
7927
7928 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7929 i386 and x86-64 definedness tests.
7930
f772623b
YB
79312010-09-27 Yves Blusseau <blusseau@zetam.org>
7932
7933 Fix generation of kernel_syms.lst
7934
7935 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
7936 ASM_PREFIX
7937
8e57a6ca
RM
79382010-09-26 Robert Millan <rmh@gnu.org>
7939
7940 Support degraded ZFS arrays in "grub-probe -t device" resolution.
7941
7942 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
7943 the pool is an array of devices, iterate through it and return the
7944 first device that passes a stat() test (instead of blindly returning
7945 the first one).
7946
f9130836
RM
79472010-09-26 Robert Millan <rmh@gnu.org>
7948
7949 Build fixes for GNU/kFreeBSD.
7950
7951 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
7952 to programs that require ZFS conversion.
7953 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
7954 kernels that don't have FLOPPY_MAJOR.
7955
96510faf
BC
79562010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7957
7958 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
7959
449333eb
BC
79602010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7961
7962 Fix grub-emu build.
7963
7964 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
7965 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
7966 mdraid09 and mdraid1x.
7967
e1fd1939
CW
79682010-09-24 Colin Watson <cjwatson@ubuntu.com>
7969
7970 Re-enable grub-extras.
7971
7972 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
7973 avoid confusing Automake. Run autogen only twice, once for the top
7974 level and once for grub-core. Add Makefile.util.def and
7975 Makefile.core.def from extra modules to the appropriate autogen
7976 invocations. If Makefile.common exists in an extra module, include
7977 it in both Makefile.util.am and grub-core/Makefile.core.am;
7978 similarly, include any Makefile.util.common file in Makefile.util.am
7979 and any Makefile.core.common file in grub-core/Makefile.core.am.
7980 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
7981 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
7982 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
7983 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
7984
7985 * gentpl.py (gvar_add): Turn GVARS into a set.
7986 (global_variable_initializers): Sort global variables on output.
7987 (vars_init): New function.
7988 (first_time): Likewise.
7989 (library): Ensure that non-global variable initialisations are
7990 emitted before the first time we emit code for a library block.
7991 Append to variables rather than setting them. Only emit
7992 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
7993 each conditional path.
7994 (program): installdir() emits an Autogen macro, so must be passed to
7995 var_add rather than gvar_add.
7996 (data): Likewise.
7997 (script): Likewise.
7998 (rules): New function, centralising handling for different target
7999 types. Set up Guile association lists for first_time and vars_init,
8000 and send most output to a diversion so that variable initialisations
8001 can be emitted first.
8002 (module_rules): Use new rules function.
8003 (kernel_rules): Likewise.
8004 (image_rules): Likewise.
8005 (library_rules): Likewise.
8006 (program_rules): Likewise.
8007 (script_rules): Likewise.
8008 (data_rules): Likewise.
8009
8010 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8011
8012 * .bzrignore: Add contrib and grub-core/contrib. Remove
8013 grub-core/Makefile.gcry.am.
8014
1d12cf29
YB
80152010-09-24 Yves Blusseau <blusseau@zetam.org>
8016
8017 * grub-core/lib/LzFind.c: Add missing include.
8018 * grub-core/lib/LzmaEnc.c: Likewise.
8019 * grub-core/script/lexer.c: Likewise.
8020 * grub-core/script/yylex.l: Likewise.
8021 * util/grub-macho2img.c: Likewise.
8022 * util/grub-menulst2cfg.c: Likewise.
8023 * util/grub-mklayout.c: Likewise.
8024 * util/grub-mkpasswd-pbkdf2.c
8025 * util/grub-mkrelpath.c: Likewise.
8026 * util/resolve.c: Likewise.
8027
dd363028
BC
80282010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8029
8030 * Makefile.util.def (example_unit_test): Add
8031 grub-core/gnulib/libgnu.a.
8032
f5a109e2
GS
80332010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8034
8035 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8036
6d0fa83c
VS
80372010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 Support xz compression on yeeloong.
8040
8041 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8042 * configure.ac: Check for LZMA.
8043 * grub-core/Makefile.core.def (xz_decompress): New target.
8044 (none_decompress): Likewise.
8045 * grub-core/boot/decompressor/minilib.c: New file.
8046 * grub-core/boot/decompressor/none.c: Likewise.
8047 * grub-core/boot/decompressor/xz.c: Likewise.
8048 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8049 * grub-core/kern/mips/cache_flush.S: Likewise.
8050 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8051 * grub-core/kern/mips/startup.S: Move first stage to ...
8052 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8053 nomacro.
8054 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8055 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8056 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8057 Allocate statically.
8058 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8059 Allocate statically or use scratch. Don't check CRC32.
8060 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8061 Allocate statically. Don't check CRC32.
8062 * include/grub/decompressor.h: New file.
8063 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8064 Removed.
8065 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8066 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8067 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8068 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8069 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8070 * util/grub-mkimage.c (grub_compression_t): New type.
8071 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8072 (image_target_desc): New field default_compression.
8073 (image_targets): Adjust yeeloong targets.
8074 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8075 (compress_kernel): New parameter comp.
8076 (generate_image): Likewise. Handle new compression case.
8077 (options): New option --compression
8078 (help): Likewise.
8079 (main): Handle new option.
8080
1b655af6
GS
80812010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8082
8083 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8084
8f03f0b5
CW
80852010-09-22 Colin Watson <cjwatson@ubuntu.com>
8086
8087 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8088 typo in __i386__ conditional.
8089
7835dfd3
VS
80902010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8093 include.
8094
e255597e
VS
80952010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8096
6d0fa83c 8097 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
8098
8099 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8100 new tags as supported.
8101 (acpiv2_size): New function.
8102 (grub_multiboot_get_mbi_size): Take new tags into account.
8103 (grub_multiboot_make_mbi): Add new tags.
8104 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 8105
6cc14051 81062010-09-21 Aleš Nesrsta <starous@volny.cz>
8107
8108 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8109 Added missing configuration of USB device.
8110
df7769d8
CW
81112010-09-21 Colin Watson <cjwatson@ubuntu.com>
8112
8113 * grub-core/normal/menu_entry.c (run): Make sure we always return
8114 a value.
8115
b031012d
CW
81162010-09-21 Colin Watson <cjwatson@ubuntu.com>
8117
8118 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8119 NumberOfPages is UINT64 according to the UEFI specification, not
8120 UINTN. Fix printf format.
8121
174de8f3
CW
81222010-09-21 Colin Watson <cjwatson@ubuntu.com>
8123
8124 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8125 `err' to grub_usb_err_t.
8126 Reported and tested by: KESHAV P.R.
8127
d7dbe923
CW
81282010-09-21 Colin Watson <cjwatson@ubuntu.com>
8129
8130 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8131 tpart non-const, so that we can assign to it. (Since this is a
8132 typedef, the constness refers to the pointer rather than what it
8133 points to.)
8134
8d5e2af3
CW
81352010-09-21 Colin Watson <cjwatson@ubuntu.com>
8136
8137 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8138 $(top_srcdir)/grub-core/gnulib as well as
8139 $(top_builddir)/grub-core/gnulib.
8140 Reported by: KESHAV P.R.
8141
5c527783
CW
81422010-09-21 Colin Watson <cjwatson@ubuntu.com>
8143
8144 * util/grub-install.in: Fix the bootloader ID option to be
8145 consistently --bootloader-id, not --bootloader_id.
8146 Reported by: KESHAV P.R.
8147
d309a16e
CW
81482010-09-21 Colin Watson <cjwatson@ubuntu.com>
8149
8150 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8151 check hash checksum." consistently translatable.
8152
b830cd16
YB
81532010-09-21 Yves Blusseau <blusseau@zetam.org>
8154
8155 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8156 $(top_builddir).
8157
c4fe27a8
CW
81582010-09-21 Colin Watson <cjwatson@ubuntu.com>
8159
8160 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8161 (GRUB_MOD_INIT): Register sha1sum command.
8162 (GRUB_MOD_FINI): Unregister sha1sum command.
8163
a4c1d277
YB
81642010-09-21 Yves Blusseau <blusseau@zetam.org>
8165
8166 Keep boot and grub directory names in sync with utils scripts
8167
8168 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8169 * config.h.in: Add previous macros.
8170 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8171 * util/grub-install.in: Use $bootdir and $grubdir variables.
8172
4eff79d2
CW
81732010-09-21 Colin Watson <cjwatson@ubuntu.com>
8174
8175 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8176 convert partition names to disk names if the new `convert' parameter
8177 is set.
8178 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8179 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8180 disk in its own right. This can happen with Xen disk images.
8181
934d7e44
YB
81822010-09-21 Yves Blusseau <blusseau@zetam.org>
8183
8184 * util/grub-editenv.c: Update strings to avoid warnings when generating
8185 grub.pot file.
8186 * util/grub-setup.c: Likewise.
934d7e44 8187
df3367cc
VS
81882010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * configure.ac: Change version to 1.99~beta0.
8191
77a94e98
VS
81922010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8195 Add BADRAM.
8196 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8197 Likewise.
8198 * include/multiboot.h: Resynced with specification.
8199 * include/multiboot2.h: Likewise.
8200
269004c1
CW
82012010-09-21 Colin Watson <cjwatson@ubuntu.com>
8202
8203 Fix po directory handling.
8204
8205 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8206 * grub-core/gnulib/Makefile.am: Import gettext module.
8207 * m4/gnulib-cache.m4: Likewise.
8208 * m4/gnulib-comp.m4: Likewise.
8209 * m4/gettext.m4: New file, from gnulib.
8210 * m4/glibc2.m4: Likewise.
8211 * m4/iconv.m4: Likewise.
8212 * m4/intdiv0.m4: Likewise.
8213 * m4/intl.m4: Likewise.
8214 * m4/intldir.m4: Likewise.
8215 * m4/intlmacosx.m4: Likewise.
8216 * m4/intmax.m4: Likewise.
8217 * m4/inttypes-pri.m4: Likewise.
8218 * m4/lcmessage.m4: Likewise.
8219 * m4/lib-ld.m4: Likewise.
8220 * m4/lib-link.m4: Likewise.
8221 * m4/lib-prefix.m4: Likewise.
8222 * m4/lock.m4: Likewise.
8223 * m4/nls.m4: Likewise.
8224 * m4/po.m4: Likewise.
8225 * m4/printf-posix.m4: Likewise.
8226 * m4/progtest.m4: Likewise.
8227 * m4/threadlib.m4: Likewise.
8228 * m4/uintmax_t.m4: Likewise.
8229 * m4/visibility.m4: Likewise.
8230 * po/Makefile.am: Remove.
8231 * po/Makefile.in.in: New file, from gettext.
8232 ($(DOMAIN).pot-update): Support POTFILES-shell.
8233 * po/Makevars: New file.
8234 * po/POTFILES-shell: Rename to ...
8235 * po/POTFILES-shell.in: ... this. Update.
8236 * po/POTFILES: Rename to ...
8237 * po/POTFILES.in: ... this. Update.
8238 * po/Rules-quot: New file, from gettext.
8239 * po/boldquot.sed: Likewise.
8240 * po/en@boldquot.header: Likewise.
8241 * po/en@quot.header: Likewise.
8242 * po/insert-header.sin: Likewise.
8243 * po/quot.sed: Likewise.
8244 * po/remove-potcdate.sin: Likewise.
8245
3e0fa5d0
VS
82462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8249
ade9bd66
VS
82502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * util/grub.d/20_linux_xen.in: Use submenus.
8253
fc55cc4c
VS
82542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 Support submenus.
8257
8258 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8259 parameter submenu. All users updated.
8260 * grub-core/normal/main.c (free_menu): Rename to ...
8261 (grub_normal_free_menu): ... this. Made global.
8262 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8263 if requested.
8264 * grub-core/normal/menu_entry.c (screen): New field submenu.
8265 (make_screen): Set submenu.
8266 (run): Open new context if requested.
8267 * include/grub/menu.h (grub_menu_entry): New field submenu.
8268 * include/grub/normal.h (grub_normal_free_menu): New proto.
8269
600cedf7
VS
82702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 Menu entries extractor.
8273
8274 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8275 variants.
8276 (GRUB_MOD_INIT): Register new variants.
8277 (GRUB_MOD_FINI): Unregister new variants.
8278 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8279 into grub_cmd_legacy_source.
8280 (grub_cmd_legacy_source): Implement extractor variants.
8281 (GRUB_MOD_INIT): Register new variants.
8282 (GRUB_MOD_FINI): Unregister new variants.
8283 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8284 as an extractor.
8285 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8286 search as an extractor.
8287 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8288 test as an extractor.
8289 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8290 as an extractor.
8291 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8292 (grub_env_new_context): New function.
8293 (grub_env_context_open): Likewise.
8294 (grub_env_extractor_open): Likewise.
8295 (grub_env_extractor_close): Likewise.
8296 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8297 grub_extractor_level.
8298 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8299 * include/grub/env.h (grub_env_extractor_open): New proto.
8300 (grub_env_extractor_close): Likewise.
8301 * include/grub/normal.h (grub_extractor_level): New external variable.
8302
7bda3a87
VS
83032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 Make cutmem accept a region specification.
8306 Suggested by: Samuel Thibault
8307
8308 * grub-core/mmap/mmap.c (parsemem): New function.
8309 (grub_cmd_cutmem): Handle new arguments.
8310
2ea57f88
VS
83112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 New command cutmem.
8314
8315 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8316 (GRUB_MOD_INIT): Register new command.
8317 (GRUB_MOD_FINI): Unregister new command.
8318
74342e31
VS
83192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 Support some annoying BSD and Minix subpartitions.
8322
8323 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8324 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8325 Properly handle concatenation.
8326 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8327 * grub-core/normal/completion.c (iterate_partition): Likewise.
8328 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8329 contain partition. All users updated.
8330 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8331 struct.
8332 (grub_openbsdlabel_partition_map): Likewise.
8333 (bsdlabel_partition_map_iterate): Rename to ..
8334 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8335 (bsdlabel_partition_map_iterate): New function.
8336 (netopenbsdlabel_partition_map_iterate): Likewise.
8337 (netbsdlabel_partition_map_iterate): Likewise.
8338 (openbsdlabel_partition_map_iterate): Likewise.
8339 (GRUB_MOD_INIT): Register new partmaps.
8340 (GRUB_MOD_FINI): Unregister new partmaps.
8341 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8342 (grub_partition_msdos_iterate): ... this. All users updated.
8343 Don't support embedding other than in a minix partition.
8344 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8345 proto.
8346 * include/grub/partition.h (grub_partition): New field msdostype.
8347 * util/grub-install.in: Handle openbsd and netbsd types being in
8348 part_bsd module.
8349
1e8d555b
VS
83502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8353
8354 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8355 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8356 (mdraid09): ... this.
8357 (mdraid1x): New module.
8358 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8359 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8360
899d8af4
VS
83612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8364 vsprintf.
8365
40901acd
CW
83662010-09-20 Colin Watson <cjwatson@ubuntu.com>
8367
8368 * grub-core/commands/efi/lsefimmap.c: Correct header.
8369 * NEWS: Update.
8370
dfe3b247
CW
83712010-09-20 Colin Watson <cjwatson@ubuntu.com>
8372
8373 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8374 as printf format strings; the translations might contain '%' which
8375 could cause a crash.
8376 (main): Likewise.
8377 * util/grub-fstest.c (argp_parser): Likewise.
8378 * util/grub-setup.c (argp_parser): Likewise.
8379 (main): Likewise.
8380
3286a4b4
VS
83812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 Use argp in grub-fstest.
8384
8385 * util/grub-fstest.c: Don't include getopt.h.
8386 Include argp.h.
8387 (root): New variable.
8388 (args_count): Likewise.
8389 (nparm): Likewise.
8390 (num_disks): Likewise.
8391 (images): Likewise.
8392 (cmd): Likewise.
8393 (debug_str): Likewise.
8394 (args): Likewise.
8395 (options): Transformed to argp.
8396 (usage): Removed.
8397 (main): Split argument parsing into ...
8398 (argp_parser): ... this. Changed to argp format.
8399 (argp): New variable.
8400 (main): Use argp_parse.
8401
3dccbe4b
TG
84022010-09-20 Tristan Gingold <gingold@free.fr>
84032010-09-20 Robert Millan <rmh.grub@aybabtu.com>
84042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * grub-core/commands/efi/lsefimmap.c: New file.
8407 * grub-core/Makefile.core.def (lsefimmap): New module.
8408 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8409
38c259a7
VS
84102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 Pause the execution (10s max) if any errors are displayed so the user
8413 has a chance to see them.
8414
8415 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8416 (grub_print_error): Increment grub_err_printed_errors.
8417 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8418 execution if any errors were displayed.
8419 (show_menu): Remove old code for pause.
8420 * grub-core/normal/menu_entry.c (run): Likewise.
8421 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8422 users updated.
8423 (grub_normal_get_char_counter): Likewise.
8424 * include/grub/err.h (grub_err_printed_errors): New external variable.
8425 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8426
f218b09c
VS
84272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 Support multiboot VBE info.
8430
8431 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8432 Take VBE info into account.
8433 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8434 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8435 Call fill_vbe_info when appropriate.
8436 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8437 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8438 as supported.
8439 (grub_multiboot_get_mbi_size): Take new tags into account.
8440 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8441 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8442 Call fill_vbe_tag when appropriate.
8443 (grub_multiboot_make_mbi): Properly align tags.
8444 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8445 function.
8446 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8447 proto.
8448 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8449
a9cc5438
VS
84502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 Suport manual terminal geometry specification.
8453
8454 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8455 Save state in grub_ofconsole_terminfo_output.
8456 (grub_ofconsole_term): Use grub_terminfo_getwh.
8457 (grub_ofconsole_getwh): Removed.
8458 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8459 (grub_serial_term): Use grub_terminfo_getwh.
8460 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8461 (options): New struct.
8462 (OPTION_*): New enum.
8463 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8464 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8465 width and height.
8466 (grub_terminfo_getwh): New proto.
8467 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8468
1a8fed20
VS
84692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 Handle legacy "terminal" command.
8472
8473 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8474 and FLAG_TERMINAL.
8475 (legacy_commands): Add terminal and title.
8476 (grub_legacy_parse): Handle terminal. Simplify title handling.
8477
41e9c57d
VS
84782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8481 parameters overflow.
8482
61c874c5
CW
84832010-09-20 Colin Watson <cjwatson@ubuntu.com>
8484
8485 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8486 widthspec.h.
8487
8488 * docs/grub.texi (Shell-like scripting): Document `!'.
8489 (Network): Simplify using new i386-pc-pxe format. Mention
8490 grub-mknetdir.
8491
8492 * NEWS: Update.
8493
943682b4
CW
84942010-09-20 Colin Watson <cjwatson@ubuntu.com>
8495
8496 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8497 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8498 when needed.
8499
6d3d698d
CW
85002010-09-20 Colin Watson <cjwatson@ubuntu.com>
8501
8502 * grub-core/commands/efi/lsefisystab.c: Correct header.
8503 * grub-core/commands/efi/lssal.c: Likewise.
8504 * grub-core/commands/testload.c: Likewise.
8505
c982589f
CW
85062010-09-20 Colin Watson <cjwatson@ubuntu.com>
8507
8508 * util/grub-mkrescue.in: Add explicit root argument to --set to
8509 prevent the UUID being interpreted as an argument to --set (matches
8510 previous change to prepare_grub_to_access_device).
8511
a63c31b6
CW
85122010-09-20 Colin Watson <cjwatson@ubuntu.com>
8513
8514 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8515 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8516 the verbosity of later #ifs.
8517 (find_partition_start): Define this function on FreeBSD too.
8518 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8519 function.
8520 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8521 on FreeBSD.
8522
6439b8ee
YB
85232010-09-20 Yves Blusseau <blusseau@zetam.org>
8524
8525 * util/grub-editenv.c: Use argp instead of getopt.
8526
c5930ec8
YB
85272010-09-20 Yves Blusseau <blusseau@zetam.org>
8528
8529 * util/grub-setup.c: Use argp instead of getopt.
8530
15c69261
YB
85312010-09-20 Yves Blusseau <blusseau@zetam.org>
8532
8533 Use gnulib-tool to create gnulib source files.
8534
8535 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8536 grub-core/gnulib directories
8537 * .bzignore: Add **/.deps and autogenerated gnulib files
8538 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8539 of gnulib macros, add grub-core/gnulib/Makefile
8540 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8541 include m4 directory to aclocal.
8542 * Makefile.util.def: Remove direct compilation of gnulib source files
8543 and use the new grub-core/gnulib/libgnu.a.
8544 * build-aux/config.rpath: move config.rpath from top directory to
8545 build-aux
8546 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8547 in gnulib headers
8548 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8549 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8550 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8551 header.
8552 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8553 string.
8554
e511c9f5
YB
85552010-09-20 Yves Blusseau <blusseau@zetam.org>
8556
8557 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8558 grub-core/genmod.sh and grub-core/gensyminfo.sh
8559
c2dede05
BC
85602010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8561
8562 Add a test for echo command options.
8563
8564 * tests/grub_cmd_echo.in: New test.
8565 * Makefile.util.def: Rules for new test.
8566
c55f5018
SJ
85672010-09-20 Szymon Janc <szymon@janc.net.pl>
8568
8569 Remove crc.mod and move crc command to hashsum.mod.
8570 Remove lib/crc.c - users updated to use gcrypt implementation.
8571
8572 * grub-core/commands/crc.c: Removed.
8573 * grub-core/Makefile.core.def (crc): Module removed.
8574 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8575 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8576 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8577 * grub-core/lib/crc.c: Removed.
8578 * include/grub/lib/crc.h: Removed.
8579 * Makefile.util.def (crc): Remove lib/crc.c
8580 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8581 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8582 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8583 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8584 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8585 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8586
e0337366
VS
85872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8590
742f9232
VS
85912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 Split config.h for util and core.
8594
8595 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8596 (ADDR32): Likewise.
8597 (DATA32): Likewise.
8598 (BSS_START_SYMBOL): Likewise.
8599 (END_SYMBOL): Likewise.
8600 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8601 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8602 * config.h.in: New file.
8603 * configure.ac: Use config-util.h as config define file.
8604 Rename MACHINE into GRUB_MACHINE. All users updated.
8605 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8606 updated.
8607 (NESTED_FUNC_ATTR): Likewise.
8608 Substitue new variables.
8609 (COND_HAVE_ASM_USCORE): New conditional.
8610 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8611 (kernel_syms.lst): Use ASM_PREFIX.
8612 * grub-core/kern/emu/console.c: Include config-util.h.
8613 * grub-core/kern/emu/misc.c: Likewise.
8614 * grub-core/kern/emu/mm.c: Likewise.
8615 * include/grub/emu/misc.h: Likewise.
8616 * include/grub/libgcc.h: Likewise.
8617
39feb0e8
VS
86182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8621 constants usage.
8622 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8623 Fix GRUB_TERM_KEY_* constants usage.
8624 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8625
9af6dac3
VS
86262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8629 print pointer.
8630 * grub-core/bus/usb/uhci.c: Remove empty define.
8631 (grub_uhci_check_transfer): Add missing cast.
8632 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8633 print pointer.
8634 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8635 PRIuGRUB_SIZE.
8636 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8637
d6d94820
VS
86382010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/Makefile.core.def (legacycfg): Add
8641 lib/i386/pc/vesa_modes_table.c on emu.
8642
3572f2b6
BC
86432010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8644
8645 Reduce number of temporary files generated by build system.
8646
8647 * grub-core/gencmdlist.sh: Removed.
8648 * grub-core/genfslist.sh: Removed.
8649 * grub-core/genhandlerlist.sh: Removed.
8650 * grub-core/genmodsrc.sh: Removed.
8651 * grub-core/genpartmaplist.sh: Removed.
8652 * grub-core/genparttoollist.sh: Removed.
8653 * grub-core/gentermiinallist.sh: Removed.
8654 * grub-core/genvideolist.sh: Removed.
8655
8656 * grub-core/genmod.sh.in: New file.
8657 * grub-core/gensyminfo.sh.in: New file.
8658
8659 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8660 * conf/Makefile.extra-dist: Update with new files.
8661 * gentpl.py: Remove rules related to unnecessary temporary files.
8662 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8663 and und-* files.
8664 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8665 genmod.sh scripts.
8666 * grub-core/bus/usb/uhci.c: Remove empty #define.
8667 * grub-core/genmoddep.awk: Updated with new syminfo format.
8668 * util/bash-completion.d/Makefile.am: Add config.log to
8669 CLEANFILES.
8670
c836b030
YB
86712010-09-19 Yves Blusseau <blusseau@zetam.org>
8672
8673 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8674
2f4e8053
BC
86752010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8676
8677 * util/grub-mkconfig.in: Check the config script for syntax errors
8678 before saving.
8679
75831c34
CW
86802010-09-19 Colin Watson <cjwatson@ubuntu.com>
86812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8684 platforms.
8685 * util/grub-install.in: Add EFI and IEEE1275 support.
8686 * util/i386/efi/grub-install.in: Removed.
8687 * util/ieee1275/grub-install.in: Likewise.
8688
eaf41b25
VS
86892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8692 (grub_cmd_cmosclean): Likewise.
8693 (GRUB_MOD_INIT): Register command cmosclean.
8694 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8695 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8696
1a9130dd
CPE
86972010-09-18 Carles Pina i Estany <carles@pina.cat>
86982010-09-18 Aleš Nesrsta <starous@volny.cz>
86992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 Add keyboard layouts support.
8702
8703 * Makefile.util.def (grub-mklayout): New file.
8704 (grub-kbdcomp): New script.
8705 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8706 Add keyboard_layouts.h.
8707 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8708 commands/boot.c on yeeloong.
8709 (keylayouts): New module.
8710 * grub-core/bus/usb/ohci.c
8711 * grub-core/bus/usb/uhci.c
8712 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8713 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8714 (attach_root_port): Likewise.
8715 (poll_nonroot_hub): Likewise.
8716 (grub_usb_poll_devices): Likewise.
8717 (detach_device): Close transfer.
8718 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8719 function.
8720 (grub_usb_bulk_setup_readwrite): Likewise.
8721 (grub_usb_bulk_finish_readwrite): Likewise.
8722 * grub-core/commands/keylayouts.c: New file.
8723 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8724 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8725 aliases.
8726 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8727 support scancode 2.
8728 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8729 * include/grub/keyboard_layouts.h: New file.
8730 * util/grub-mklayout.c: New file.
8731 * util/grub-kbdcomp.in: Likewise.
8732
a1d84a5e
VS
87332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 Unify memory types.
8736
8737 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8738 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8739 types.
8740 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8741 (grub_upper_mem): Likewise.
8742 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8743 * include/grub/memory.h (grub_memory_type_t): New enum.
8744 All users updated.
8745
9696382e
VS
87462010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/Makefile.core.def (lsapm): New module.
8749 * grub-core/commands/i386/pc/lsapm.c: New file.
8750 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8751 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8752 Likewise.
8753 * include/grub/i386/pc/apm.h: New file.
8754 * include/multiboot.h (multiboot_apm_info): New struct.
8755
87562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 GRUB-legacy configuration file support.
8759
8760 * Makefile.util.def (grub-menulst2cfg): New util.
8761 * docs/man/grub-menulst2cfg.h2m: New file.
8762 * grub-core/Makefile.core.def (legacycfg): New module.
8763 * grub-core/commands/legacycfg.c: New file.
8764 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8765 (grub_normal_add_menu_entry): ... this.
8766 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8767 (grub_normal_set_password): ...this.
8768 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8769 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8770 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8771 * grub-core/lib/legacy_parse.c: New file.
8772 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8773 * include/grub/i386/pc/vesa_modes_table.h: New file.
8774 * include/grub/legacy_parse.h: Likewise.
8775 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8776 * util/grub-menulst2cfg.c: New file.
8777
bf8d1338
CW
87782010-09-17 Colin Watson <cjwatson@ubuntu.com>
8779
8780 * grub-core/kern/emu/hostdisk.c
8781 (convert_system_partition_to_system_disk): Initialise node.
8782
9c0bad2e
CW
87832010-09-17 Colin Watson <cjwatson@ubuntu.com>
8784
8785 * grub-core/kern/emu/hostdisk.c
8786 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8787 leak.
8788 Reported and based on patch by: Modestas Vainius.
8789
a939d135
CW
87902010-09-17 Colin Watson <cjwatson@ubuntu.com>
8791
8792 Fix DM-RAID probing with recent versions of device-mapper udev
8793 rules.
8794
8795 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8796 canonicalise device paths under /dev/mapper/.
8797 (convert_system_partition_to_system_disk): Compare the
8798 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8799 path, since device nodes under /dev/mapper/ are often symlinks.
8800
0f7ee3c9
YB
88012010-09-17 Yves Blusseau <blusseau@zetam.org>
8802
8803 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8804
10854d0d
YB
88052010-09-16 Yves Blusseau <blusseau@zetam.org>
8806
8807 * configure.ac: Avoid some annoying error messages if freetype-config
8808 program is not found.
8809
108538d8
CW
88102010-09-16 Colin Watson <cjwatson@ubuntu.com>
8811
8812 Support RAID on virtio devices, and others.
8813
8814 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8815 Rename to ...
8816 [__MINGW32__] (grub_find_device): ... this.
8817 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8818 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8819 reasonable default if dir is NULL.
8820 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8821 ...
8822 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8823 (grub_guess_root_device): Update callers.
8824 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8825
8826 * util/raid.c (grub_util_getdiskname): Remove.
8827 (grub_util_raid_getmembers): Use grub_find_device rather than
8828 grub_util_getdiskname.
8829
e5bfc130
CW
88302010-09-16 Colin Watson <cjwatson@ubuntu.com>
8831
8832 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8833 needing to be compiled with serial support.
8834 (ls): Indicate that multiple files are accepted.
8835 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8836 indicate that multiple files are accepted.
8837
be458ae2
CW
88382010-09-16 Colin Watson <cjwatson@ubuntu.com>
8839
8840 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8841 libgrub_a_init.c, and util/bash-completion.d/grub.
8842
cb731b5e
VS
88432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * util/grub-setup.c (setup): Fix incorrect container semantics.
8846
35139e8a
VS
88472010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8850 misusage.
8851 Reported by: J. Nick Terry
8852
e50fca4a
VS
88532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 Move embedding routines to partmap sources files.
8856
8857 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8858 [GRUB_UTIL]: New variable.
8859 (gpt_partition_map_iterate): Set part.parent.
8860 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8861 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8862 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8863 New function.
8864 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8865 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8866 (grub_partition_map) [GRUB_UTIL]: New field embed.
8867 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8868 (setup): Use ->embed.
8869
f00478b7
VS
88702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8873 function.
8874 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8875 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8876
2b94e3ff
YB
88772010-09-15 Yves Blusseau <blusseau@zetam.org>
8878
8879 Add function to get completions from usage.
8880
8881 * util/bash-completion.d/grub-completion.bash.in: Add function to get
8882 completions from usage. Use LC_ALL=C to get options properly.
8883
2e04a006
VS
88842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/gnulib/basename-lgpl.c: Imported.
8887 * grub-core/gnulib/basename.c: Likewise.
8888 * grub-core/gnulib/dirname-lgpl.c: Likewise.
8889 * grub-core/gnulib/dirname.c: Likewise.
8890 * grub-core/gnulib/dirname.h: Likewise.
8891 * grub-core/gnulib/stripslash.c: Likewise.
8892
5dcdf93a
VS
88932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/gnulib/error.c: Resynced.
8896 * grub-core/gnulib/getopt.c: Likewise.
8897 * grub-core/gnulib/getopt_int.h: Likewise.
8898 * grub-core/gnulib/regex.h: Likewise.
8899 * grub-core/gnulib/regex_internal.c: Likewise.
8900 * grub-core/gnulib/regex_internal.h: Likewise.
8901
014f47b7
SJ
89022010-09-15 Szymon Janc <szymon@janc.net.pl>
8903
8904 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
8905 CRC calculations and validity checks.
8906 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
8907 calculations.
8908
dd521a4a
SJ
89092010-09-15 Szymon Janc <szymon@janc.net.pl>
8910
8911 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
8912
79c4eeb9
VS
89132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 Fix incorrect echo options handling.
8916 Reported by: Yves Blusseau.
8917
8918 * include/grub/command.h (grub_command_flags_t): New flags
8919 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
8920 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
8921 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
8922
ed80f7d5
VS
89232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
8926 users updated.
8927 (GRUB_COMMAND_FLAG_MENU): Likewise.
8928 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8929 (GRUB_COMMAND_FLAG_TITLE): Removed.
8930 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8931 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
8932 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
8933 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
8934 (grub_command_flags_t): New enum. All users updated.
8935
5fe7620a
SG
89362010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
8937
8938 Fix solaris compilation.
8939
8940 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
8941 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
8942 (grub-emu-list): Likewise.
8943
545b752f
VS
89442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 Remove deprecated root command.
8947
8948 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
8949 updated.
8950
6c1a338c
VS
89512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * util/i386/pc/grub-setup.c: Merge this ...
8954 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
8955 * util/grub-setup.c: ... into this.
8956 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
8957 New struct.
8958
89592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
8962 possible.
8963
d2ea4551
VS
89642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
8967 allocate p.
8968
3c3b5040
VS
89692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8972 explicit root argument to set to prevent UUID to be interpreted as
8973 argument to set.
8974
b71c3fae
VS
89752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
8978
275433e6
VS
89792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 Don't export grub_gate_a20.
8982
8983 * grub-core/kern/i386/pc/init.c: Remove leftovers.
8984 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
8985 to ...
8986 (grub_gate_a20): ... this. All users updated.
8987 * include/grub/i386/pc/init.h: Removed. All users updated.
8988
a5dbb1f1
VS
89892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 Create euro.pf2 which supports most European languages.
8992
8993 * Makefile.am (grubdata_DATA): Add euro.pf2.
8994 (euro.pf2): New target.
8995 (CLEANFILES): Add euro.pf2.
8996
62a747cb
VS
89972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * configure.ac: Disable emu-usb by default to prevent inadvertent
9000 device takeover.
9001
608e43b1
VS
90022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 Disable usbserial on grub-emu since our libusb code isn't good enough
9005 yet.
9006
9007 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9008 (usbserial_pl2303): Likewise.
9009 (usbserial_ftdi): Likewise.
9010
94564f81
VS
90112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * include/grub/disk.h (grub_disk): Remove has_partitions.
9014 All users updated.
9015 * disk/loopback.c (grub_loopback): Remove has_partitions.
9016 All users updated.
9017 (options): Remove partitions. All users updated.
9018 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9019 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9020 actual partition table is found.
9021
3352800b
VS
90222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 Remove readability checks (too many false negatives).
9025
9026 * util/grub-install.in: Remove readability checks.
9027 * util/grub-mkconfig.in: Likewise.
9028 * util/grub.d/10_hurd.in: Likewise.
9029 * util/grub.d/10_kfreebsd.in: Likewise.
9030 * util/grub.d/10_linux.in: Likewise.
9031 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9032 way.
9033
2419f17a
VS
90342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 Enable acpi shutdown on all ACPI platforms.
9037
9038 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9039 on coreboo, multiboot and EFI.
9040 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9041 (grub_acpi_halt): Likewise.
9042 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9043 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9044 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9045 * grub-core/lib/i386/halt.c (grub_halt)
9046 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9047
0575c7c3
VS
90482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9051 context.
9052
54ac3cd1
VS
90532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9056 * grub-core/video/efi_uga.c: Likewise.
9057
b2a30ac5
VS
90582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 Filter devaliases and never open same device twice.
9061
9062 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9063 (last_ihandle): Likewise.
9064 (ofdisk_hash_ent): New member shortest.
9065 (ofdisk_hash_add): Add canonical path too.
9066 (scan): New function.
9067 (grub_ofdisk_iterate): Iterate over hashed entries.
9068 (compute_dev_path): Don't add :0.
9069 (grub_ofdisk_open): Don't really open the disk.
9070 (grub_ofdisk_close): Avoid closing unrelated disk.
9071 (grub_ofdisk_read): Implement reopen logic.
9072 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9073 New function.
9074 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9075 New proto.
9076
fb53b340
VS
90772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 Fix sparc64.
9080
9081 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9082 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9083 right address. Add sparc64_ieee1275_ldflags.
9084 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9085 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9086 to grub_host_to_target_addr
9087 (load_image): Likewise.
9088
f452b040
VS
90892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * grub-core/normal/completion.c (complete_file): Handle device
9092 containing slash.
9093 Fix based on patch by Doug Nazar.
9094
9b5b2541
VS
90952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 grub-mknetdir script.
9098
9099 * Makefile.util.def (grub-mknetdir): New module.
9100 * tests/util/grub-shell.in: Support boot=net
9101 * util/grub-mknetdir.in: New file.
9102
9d2be652
VS
91032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 videoinfo on non-vbe.
9106
9107 * grub-core/Makefile.core.def (vbeinfo): Removed.
9108 (vbetest): Removed.
9109 (videoinfo): New module.
9110 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9111 * grub-core/commands/i386/pc/vbetest.c: Removed.
9112 * grub-core/commands/videoinfo.c: New file.
9113 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9114 specification.
9115 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9116 as vbetest.
9117 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9118 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9119 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9120 mode_number. New parameter mode. All users updated.
9121 (grub_video_gop_iterate): New function.
9122 (grub_video_efi_gop): New member iterate.
9123 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9124 (grub_vbe_set_video_mode): Remove setting useless fields.
9125 (vbe2videoinfo): New function.
9126 (grub_video_vbe_iterate): Likewise.
9127 (grub_video_vbe_setup): Use vbe2videoinfo.
9128 (grub_video_vbe_print_adapter_specific_info): New function.
9129 (grub_video_vbe_adapter): New fields iterate and
9130 print_adapter_specific_info.
9131 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9132 All users updated.
9133 (grub_video_mode_info): New field mode_number.
9134 (grub_video_adapter): New fields iterate and
9135 print_adapter_specific_info.
9136
179503f5
TG
91372010-09-13 Tristan Gingold <gingold@free.fr>
91382010-09-13 Robert Millan <rmh.grub@aybabtu.com>
91392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 * grub-core/commands/efi/lsefisystab.c: New file.
9142 * grub-core/commands/efi/lssal.c: Likewise.
9143 * grub-core/Makefile.core.def (lsacpi): New module.
9144 (lsefisystab): Likewise.
9145 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9146 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9147 (grub_efi_sal_system_table): New struct.
9148 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9149 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9150 (grub_efi_sal_system_table_platform_features): Likewise.
9151 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9152 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9153 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9154 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9155
cf9827de
VS
91562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 Support explicit user claim that a device is BIOS-visible.
9159
9160 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9161 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9162 * grub-core/kern/emu/hostdisk.c
9163 (convert_system_partition_to_system_disk): Support mdX.
9164 (find_system_device): New parameter add. All users updated.
9165 (grub_util_biosdisk_is_present): New function.
9166 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9167 proto.
9168
53f0eb1f
VS
91692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 Search hints support.
9172
9173 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9174 All users updated.
9175
b23ffd70
YB
91762010-09-13 Yves Blusseau <blusseau@zetam.org>
9177
9178 Bash completion script for util commands
9179
9180 * Makefile.am: Add util/bash-completion.d directory
9181 * configure.ac: Likewise.
9182 * util/bash-completion.d/Makefile.am: New file.
9183 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9184
d547dc28
VS
91852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9188 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9189 Reported by: Yves Blusseau.
9190
2fc8ccb9
VS
91912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9194 partition size and offset.
9195
d8a84076
VS
91962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9199
84fb3b3d
VS
92002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9203
768ec2e2
VS
92042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9207 (grub_xvasprintf): Likewise.
9208
4870900f
VS
92092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9212
faca6bec
VS
92132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9216 args ending with NULL.
9217
92182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
9219
9220 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9221 pointer.
9222
3c70f225
SJ
92232010-09-11 Szymon Janc <szymon@janc.net.pl>
9224
9225 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9226
4df7996d
VS
92272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 Shutdown using ACPI.
9230
9231 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9232 * grub-core/commands/acpihalt.c: New file.
9233 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9234 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9235 (grub_acpi_halt): New proto.
9236 (GRUB_ACPI_SLP_EN): New const.
9237 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9238 (GRUB_ACPI_OPCODE_*): New enum.
9239 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9240
126b4c32
TG
92412010-09-11 Tristan Gingold <gingold@free.fr>
92422010-09-11 Robert Millan <rmh.grub@aybabtu.com>
92432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * commands/lsacpi.c: New file.
9246 * grub-core/Makefile.core.def (lsacpi): New module.
9247 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9248 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9249 (grub_acpi_madt_entry_header): New struct.
9250 (grub_acpi_madt): Likewise.
9251 (grub_acpi_madt_entry_interrupt_override): Likewise.
9252 (grub_acpi_madt_entry_sapic): Likewise.
9253 (grub_acpi_madt_entry_lsapic): Likewise.
9254 (grub_acpi_madt_entry_platform_int_source): Likewise.
9255 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9256 (PRIuGRUB_UINT32_T): Likewise.
9257 (PRIxGRUB_UINT64_T): Likewise.
9258
1aa4fe88
VS
92592010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 Implement loading palette on ieee1275_fb.
9262
9263 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9264 (have_setcolors): Likewise.
9265 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9266 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9267 (grub_video_ieee1275_set_palette): Implement.
9268
25761e13
VS
92692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
92702010-09-11 Colin Watson <cjwatson@ubuntu.com>
9271
9272 * util/grub-install.in (grub_partition): New variable.
9273 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9274 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9275 Fixes a bug reported by Yves Blusseau.
9276
050abaea
VS
92772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 Fix emu on mipsel.
9280
9281 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9282 =grub_cpu_flush_cache on all mips and not only yeeloong.
9283 * configure.ac (COND_mips): New conditional.
9284 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9285 platforms.
9286 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9287 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9288 [GRUB_LINKER_HAVE_INIT]: New function.
9289 (grub_emu_post_init): Likewise.
9290 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9291 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9292 * include/grub/cache.h (_mips): Include mips/cache.h.
9293 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9294 LVM and RAID prototypes.
9295 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9296 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9297 function.
9298
5ed7d816
CW
92992010-09-10 Colin Watson <cjwatson@ubuntu.com>
9300
9301 * util/grub-install.in: Don't try to verify core.img until after
9302 running grub-mkimage to create it.
9303
90367e04
RM
93042010-09-10 Robert Millan <rmh@gnu.org>
9305
9306 * util/grub.d/10_hurd.in: Add misc readability checks.
9307 * util/grub.d/10_kfreebsd.in: Likewise.
9308 * util/grub.d/10_linux.in: Likewise.
9309
c452fa66
CW
93102010-09-10 Colin Watson <cjwatson@ubuntu.com>
9311
9312 * util/grub-install.in: ${imgext} won't be defined here until the
9313 install branch is merged. For the meantime, only verify core.img on
9314 i386-pc and sparc64-ieee1275 platforms.
9315
c38fe9f4
RM
93162010-09-10 Robert Millan <rmh@gnu.org>
9317
9318 Solaris support in grub_find_zpool_from_dir(). Thanks
9319 Seth Goldberg for referring to getextmntent() facility.
9320
9321 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9322 `sys/mkdev.h'.
9323 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9324 `<sys/mnttab.h>'.
9325 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9326 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9327 method for finding zpool name.
9328
905f7773
CW
93292010-09-10 Colin Watson <cjwatson@ubuntu.com>
9330
9331 grub-fstest needs the host and hostfs modules while other utilities
9332 actively require those modules to be absent, so grub-fstest needs
9333 its own initialisation and finalisation code.
9334
9335 * Makefile.am (grub_fstest.pp): New target.
9336 (grub_fstest_init.lst): Likewise.
9337 (grub_fstest_init.c): Likewise.
9338 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9339
fb90b546
RM
93402010-09-10 Robert Millan <rmh@gnu.org>
9341
9342 * configure.ac: Check for `struct statfs.f_fstypename' and
9343 `struct statfs.f_mntfromname'.
9344
9345 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9346 kFreeBSD-specific code.
9347
66d4bea5
RM
93482010-09-10 Robert Millan <rmh@gnu.org>
9349
9350 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9351 on ZFS. Now non-main filesystems are supported as / too.
9352
b6a690ee
CW
93532010-09-09 Colin Watson <cjwatson@ubuntu.com>
9354
9355 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9356 and grub-core/disk/host.c to ...
9357 (grub-fstest): ... here. Having the host disk implementation
9358 present confuses grub-probe and other utility programs.
9359
9360 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9361 when writing to a file, not when writing to stdout.
9362
8901b00c 93632010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9364
9365 * tests/partmap_test.in: New test for partitions.
9366 * Makefile.util.def: Rules for new test.
9367
7bf45fdd
RM
93682010-09-09 Robert Millan <rmh@gnu.org>
9369
9370 * util/grub-probe.c (probe): Fix a pair of unhandled error
9371 conditions.
9372
4dfbc574
RM
93732010-09-09 Robert Millan <rmh@gnu.org>
9374
9375 Basic Btrfs support (detection and UUID).
9376
9377 * grub-core/fs/btrfs.c: New file.
9378 * Makefile.util.def (library): Register btrfs.c.
9379 * grub-core/Makefile.core.def: Likewise.
9380
6b8e78ae
RM
93812010-09-08 Robert Millan <rmh@gnu.org>
9382
9383 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9384 with (optional) parameters to specify device and relative path.
9385 * util/grub-install.in: Use is_path_readable_by_grub() to
9386 verify readability of a few critical files.
9387 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9388 verify readability of grub.cfg.new.
9389
27f21a8b
VS
93902010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 Split minix.mod into minix.mod and minix2.mod.
9393
9394 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9395 * grub-core/Makefile.core.def (minix2): New module.
9396 * grub-core/fs/minix.c: Use definitions instead of runtime version
9397 checking.
9398 * grub-core/fs/minix2.c: New file.
9399
c0e53ea5
YB
94002010-09-08 Yves Blusseau <blusseau@zetam.org>
9401
9402 Add new --boot-directory option to replace --root-directory
9403
9404 * util/grub-install.in: Add new --boot-directory option
9405 * util/grub-reboot.in: Likewise.
9406 * util/grub-set-default.in: Likewise.
9407
b9fe6ea2
YB
94082010-09-08 Yves Blusseau <blusseau@zetam.org>
9409
9410 * util/grub-mkconfig.in: Use new variable.
9411
d87aedff
YB
94122010-09-08 Yves Blusseau <blusseau@zetam.org>
9413
9414 * configure.ac: Define some useful variables.
9415
e55e8495
VS
94162010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9419 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9420 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9421 Use terminfo and don't use cursor-on/cursor-off unless it's known
9422 to work.
9423 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9424 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9425
6fa6d675
CW
94262010-09-08 Colin Watson <cjwatson@ubuntu.com>
9427
9428 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9429 starts with "(,", fill the drive containing the loaded image in
9430 between those two characters, but expect that a full partition
9431 specification including partition map names will follow.
9432
92f2aef0
RM
94332010-09-08 Robert Millan <rmh@gnu.org>
9434
9435 * configure.ac: Remove `--enable-grub-fstest' option.
9436 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9437
9438 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9439 `grub-fstest' instead of `grub-probe' for readability verification.
9440 * util/grub-probe.c (probe): Remove readability verification kludge.
9441
99fd620d
RM
94422010-09-08 Robert Millan <rmh@gnu.org>
9443
9444 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9445 initializing `GRUB_FS'.
9446
058e30ac 94472010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9448
9449 Not command (!) support to GRUB script.
9450
9451 * tests/grub_script_not.in: New test.
9452 * Makefile.util.def: Rules for new test.
9453
9454 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9455 ! command as a special case.
9456 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9457
b61d05ed 94582010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9459
058e30ac 9460 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9461 grub_free.
b61d05ed 9462
4d69c786 94632010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9464
9465 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9466
aa3119c4 94672010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9468
9469 * docs/grub.texi (Shell-like scripting): Documentation for break,
9470 continue, shift and return commands.
9471
db0f7e3d
VS
94722010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 Rename CD-ROM to cd on BIOS.
9475
9476 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9477 "cd".
9478 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9479
88b87c93
VS
94802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9483 * util/grub-probe.c (main): Likewise.
9484 * util/i386/pc/grub-setup.c (main): Likewise.
9485 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9486 Reported and debugged by: alexxy
9487
294f324d
VS
94882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9491 diagnostic info.
9492
d7ee3441
JS
94932010-09-05 Jo Shields <directhex@apebox.org>
9494
9495 * util/grub.d/30_os-prober.in: Add missing classes.
9496
d7e06c1f
VS
94972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * docs/grub.texi (Theme file format): Document new position format.
9500
fc157e53
VS
95012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9504 a table. Use @code instead of @verbatim.
9505
506e9a1c
CB
95062010-09-05 Colin D Bennett <colin@gibibit.com>
9507
9508 Gfxmenu documentation.
9509
9510 * docs/grub.texi (Theme file format): New chapter.
9511
f0aff67c
SJ
95122010-09-05 Szymon Janc <szymon@janc.net.pl>
9513
9514 * grub-core/Makefile.core.def (xzio): New module.
9515 * grub-core/io/xzio.c: New file.
9516 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9517 * grub-core/lib/xzembed/xz_config.h: Likewise.
9518 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9519 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9520 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9521 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9522 * grub-core/lib/xzembed/xz_private.h: Likewise.
9523 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9524 * include/grub/file.h (grub_file_filter_id): New compression filter
9525 GRUB_FILE_FILTER_XZIO.
9526
82a85062
VS
95272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9530 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9531 size.
9532
3579415d
VS
95332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9536 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9537
5124ae6d
VS
95382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 Uncompressed checksum support.
9541
9542 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9543 (check_list): New parameter uncompress.
9544 (grub_cmd_hashsum): Handle --uncompress.
9545
9aadb3d1
VS
95462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 Reintroduce testload.
9549
9550 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9551 from here ...
9552 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9553 (GRUB_MOD_INIT): New function.
9554 (GRUB_MOD_FINI): Likewise.
9555 * grub-core/Makefile.core.def (testload): New module.
9556
a17792c3
SJ
95572010-09-05 Szymon Janc <szymon@janc.net.pl>
9558
9559 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9560 (uint8_t): New type.
9561 (uint16_t): Likewise.
9562 (uint32_t): Likewise.
9563 (uint64_t): Likewise.
9564
b81e40a3
SJ
95652010-09-05 Szymon Janc <szymon@janc.net.pl>
9566
9567 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9568
fc2ef117
VS
95692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9572 Made static.
9573 (grub_gzfile_open): Removed. All users updated.
9574 (GRUB_MOD_INIT): New function.
9575 (GRUB_MOD_FINI): Likewise.
9576 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9577 (grub_file_filters_enabled): Likewise.
9578 (grub_file_open): Handle filters.
9579 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9580 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9581 * include/grub/file.h (grub_file_filter_id_t): New type.
9582 (grub_file_filter_t): Likewise.
9583 (grub_file_filters_all): New extern variable.
9584 (grub_file_filters_enabled): Likewise.
9585 (grub_file_filter_register): New inline function.
9586 (grub_file_filter_unregister): Likewise.
9587 (grub_file_filter_disable): Likewise.
9588 (grub_file_filter_disable_compression): Likewise.
9589 * include/grub/gzio.h: Removed.
9590
35ee15e0
BC
95912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9592
9593 Filename expansion support for wildcards in GRUB script.
9594
9595 * tests/grub_script_expansion.in: New test.
9596 * Makefile.util.def: Rule for new test.
9597
9598 * grub-core/commands/wildcard.c: New file, implements filename
9599 expansion support for GRUB script.
9600 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9601 * grub-core/script/argv.c: Cosmetic changes.
9602 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9603 Refactored to perform wildcard expansion on arguments.
9604 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9605 struct.
9606
9607 * tests/util/grub-shell.in: Fix quoting for read input.
9608
5f0c4aca
BC
96092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9610
9611 Support for updating environment variables with matched substrings
9612 of regexp.
9613
9614 * tests/grub_cmd_regexp.in: New test.
9615 * Makefile.util.def: Rule for new test.
9616
9617 * grub-core/commands/regexp.c: New option -s to update environment
9618 variables with regexp matches.
9619
3759a35f
SJ
96202010-09-04 Szymon Janc <szymon@janc.net.pl>
9621
9622 * include/grub/file.h (grub_file): New member not_easly_seekable.
9623 (grub_file_seekable): New inline function.
9624 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9625 easily seekable.
9626 (grub_gzio_open): Set not_easly_seekable.
9627 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9628 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9629
ed8c6dec
BC
96302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9631
9632 Support for options to appear multiple times on cmdline.
9633
9634 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9635 * grub-core/commands/extcmd.c: Support for repeatable option.
9636 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9637 repeatable option support.
9638
9639 Refactor menuentry into a regular command.
9640
9641 * grub-core/commands/menuentry.c: New file, menuentry command
9642 implementation.
9643 * grub-core/Makefile.core.def: Rule update for normal.mod.
9644 * grub-core/normal/main.c: Moved menuentry creation to
9645 grub-core/commands/menuentry.c.
9646 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9647 (grub_menu_execute_entry_real): Removed.
9648 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9649 function.
9650 (grub_script_execute_menuentry): Removed.
9651 * grub-core/script/parser.y (menuentry): Removed.
9652 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9653 * grub-core/script/yylex.l (menuentry): Removed.
9654 * include/grub/menu.h (grub_menu_init): New prototype.
9655 (grub_menu_fini): New prototype.
9656 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9657 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9658 (grub_script_execute_sourcecode): New prototype.
9659
dacd0cf0
BC
96602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9661
9662 "return" command for GRUB script functions.
9663
9664 * tests/grub_script_return.in: New test.
9665 * Makefile.util.def: Rules for new test.
9666
9667 * grub-core/script/execute.c (grub_script_return): New function.
9668 * grub-core/script/main.c: Register/unregister return commaond.
9669 * include/grub/script_sh.h (grub_script_return): New prototype.
9670
52e72f9d
BC
96712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9672
9673 "setparams" command to update positional parameters.
9674
9675 * tests/grub_script_setparams.in: New test.
9676 * Makefile.util.def: Rules for new test.
9677
9678 * grub-core/script/argv.c (grub_script_argv_make): New function.
9679 * grub-core/script/execute.c (replace_scope): New function.
9680 (grub_script_setparams): New function.
9681 * grub-core/script/lexer.c: Remove unused variables.
9682 * grub-core/script/main.c: Register/unregister setparams command.
9683 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9684 (grub_script_setparams): New prototype.
9685
25b60c91
BC
96862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9687
9688 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9689 grub_free order.
9690
37e7bf68
BC
96912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9692
9693 Support for passing block of commands as an argument to extcmds.
9694
9695 * Makefile.util.def: Rules for new test.
9696 * tests/grub_script_blockarg.in: New test.
9697 * grub-core/tests/test_blockarg.c: New file, block argument
9698 command used in the test.
9699
9700 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9701 (grub_register_extcmd_prio): New function prototype.
9702 (grub_extcmd_dispatcher): New function prototype.
9703 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9704 type.
9705 * include/grub/script_sh.h (struct grub_script): New members
9706 `children', `next_siblings' and `refcnt' for block arguments and
9707 reference counting.
9708 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9709 (grub_script_arg): New member `script' for block argument.
9710 (grub_script_argv): New member `script' for block argument.
9711 (grub_parser_param): New member `scripts' for block argument.
9712 (grub_script_mem_free): New extern function prototype.
9713 (grub_script_ref): New function prototype.
9714 (grub_script_unref): New function prototype.
9715
9716 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9717 extcmd form to support block arguments.
9718 * grub-core/script/argv.c: Block arguments support.
9719 * grub-core/script/execute.c: Likewise.
9720 * grub-core/script/lexer.c: Likewise.
9721 * grub-core/script/main.c: Likewise.
9722 * grub-core/script/script.c: Likewise.
9723 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9724 non-terminals.
9725
9726 * grub-core/commands/acpi.c: Update extcmd implementations with
9727 grub_extcmd_context_t.
9728 * grub-core/commands/cat.c: Likewise.
9729 * grub-core/commands/echo.c: Likewise.
9730 * grub-core/commands/extcmd.c: Likewise.
9731 * grub-core/commands/hashsum.c: Likewise.
9732 * grub-core/commands/hdparm.c: Likewise.
9733 * grub-core/commands/help.c: Likewise.
9734 * grub-core/commands/hexdump.c: Likewise.
9735 * grub-core/commands/i386/cpuid.c: Likewise.
9736 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9737 * grub-core/commands/i386/pc/halt.c: Likewise.
9738 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9739 * grub-core/commands/iorw.c: Likewise.
9740 * grub-core/commands/keystatus.c: Likewise.
9741 * grub-core/commands/loadenv.c: Likewise.
9742 * grub-core/commands/ls.c: Likewise.
9743 * grub-core/commands/lspci.c: Likewise.
9744 * grub-core/commands/memrw.c: Likewise.
9745 * grub-core/commands/probe.c: Likewise.
9746 * grub-core/commands/search_wrap.c: Likewise.
9747 * grub-core/commands/setpci.c: Likewise.
9748 * grub-core/commands/sleep.c: Likewise.
9749 * grub-core/disk/loopback.c: Likewise.
9750 * grub-core/hello/hello.c: Likewise.
9751 * grub-core/loader/i386/bsd.c: Likewise.
9752 * grub-core/loader/xnu.c: Likewise.
9753 * grub-core/term/gfxterm.c: Likewise.
9754 * grub-core/term/serial.c: Likewise.
9755 * grub-core/tests/lib/functional_test.c: Likewise.
9756
888d1500
BC
97572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9758
9759 Multi-line quoted strings support.
9760
9761 * grub-core/script/lexer.c (append_newline): Removed.
9762 (grub_script_lexer_yywrap): Refactored.
9763 (grub_script_lexer_init): Refactored.
9764 * grub-core/script/yylex.l (yywrap): New function.
9765 (grub_lexer_resplit): New function.
9766 (grub_lexer_unput): New function.
9767 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9768 and resplit.
9769 * tests/grub_script_echo1.in: Added few more testcases.
9770
dda060dd
VS
97712010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 * grub-core/kern/misc.c: Don't add abort alias in utils.
9774 Reported by: echoline.
9775
6556eba9
BC
97762010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9777
9778 Add missing files into "make dist" tarball for other platforms.
9779
9780 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9781 * conf/Makefile.common (dist_noinst_DATA): New variable.
9782 * conf/Makefile.extra-dist: Added missing make dist files.
9783 * grub-core/Makefile.core.def: Likewise.
9784
c8e7bf5f
VS
97852010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 Compress grub_prefix.
9788
9789 * grub-core/boot/i386/pc/lnxboot.S: Use
9790 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9791 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9792 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9793 GRUB_MACHINE_PREFIX_END. All users updated.
9794 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9795 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9796 + 0x40.
9797 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9798 * util/grub-mkimage.c (image_target_desc): Change data_end to
9799 prefix_end. All users updated.
9800
a7c00cdb
VS
98012010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9804 value.
9805 (grub_openbsd_boot): Likewise.
9806 (grub_netbsd_boot): Likewise.
9807 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9808 (grub_xnu_boot): Likewise.
9809
9f915872
VS
98102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * configure.ac: Clean LIBS variable after tests.
9813
efa1bee7
CW
98142010-09-02 Colin Watson <cjwatson@ubuntu.com>
9815
9816 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9817
61d720e5
VS
98182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9821 echo if libdevmapper will be used.
9822
ef8e0ec8
IT
98232010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9824
9825 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9826 constant for the same file.
9827
03e261d8
VS
98282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9831
c2a4eba6
CW
98322010-09-02 Colin Watson <cjwatson@ubuntu.com>
9833
9834 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9835 grub-core/*.pp.
9836
9056cbf3
CW
98372010-09-02 Colin Watson <cjwatson@ubuntu.com>
9838
9839 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9840 required by the boot protocol.
9841
9842 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9843 ebp and edi members.
9844 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9845 state.ebp and state.edi.
9846 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9847 %ebp and %edi according to grub_relocator32_ebp and
9848 grub_relocator32_edi respectively.
9849 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9850 and state.edi.
9851
529cc99a
VS
98522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 Add i386-pc-pxe image target.
9855
9856 * util/grub-mkimage.c (image_target_desc): New enum value
9857 IMAGE_I386_PC_PXE.
9858 (image_targets): New target i386-pc-pxe.
9859 (generate_image): Handle i386-pc-pxe image.
9860
9a093920
VS
98612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 Fix grub_pxe_scan.
9864
9865 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9866 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9867 All users updated.
9868 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9869 (grub_pxe_pxenv): Correct type.
9870
f9cefc4e
CW
98712010-09-01 Colin Watson <cjwatson@ubuntu.com>
9872
9873 * NEWS: Document most of the important changes since 1.98.
9874
4066f57f
CW
98752010-09-01 Colin Watson <cjwatson@ubuntu.com>
9876
9877 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9878 generated manual page) a little.
9879
da2891f9
CW
98802010-09-01 Colin Watson <cjwatson@ubuntu.com>
9881
9882 * docs/grub.texi: Add myself as an author.
9883
ad717fae
VS
98842010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * Makefile.util.def (libgrub.a): Add missing sunpc.
9887 Reported by: Seth Goldberg.
9888
eefe8abd
VS
98892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 Interrupt wrapping and code simplifications.
9892
9494ef9a
VS
9893 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
9894 x86_noieee1275 which are functionaly equivalent in this case.
9895 (grub-install): Make source on each platform explicit. Enable on
9896 all noemu.
9897 * gentpl.py (x86_efi_pc): Removed group.
9898 (x86_noefi): Likewise.
9899 (i386_noefi): Likewise.
9900 (x86_noieee1275): Likewise.
9901 (i386_noieee1275): Likewise.
9902 (i386_noefi_noieee1275): Likewise.
9903 (i386_pc_qemu_coreboot): Likewise.
9904 (i386_coreboot_multiboot): Likewise.
9905 (i386_pc_coreboot_multiboot_qemu): Likewise.
9906 (x86_noefi_mips): Likewise.
9907 (noieee1275): Likewise.
9908 (ieee1275_mips): Likewise.
9909 (noemu_noieee1275): Likewise.
9910 (cmos): New group.
9911 (usb): Likewise.
9912 (videoinkernel): Likewise.
9913 (videomodules): Likewise.
eefe8abd 9914 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
9915 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
9916 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
9917 include/grub/loader.h, include/grub/msdos_partition.h,
9918 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
9919 include/grub/machine/console.h, include/grub/machine/vga.h,
9920 include/grub/machine/vbe.h, include/grub/machine/init.h,
9921 include/grub/machine/kernel.h, include/grub/cpu/time.h,
9922 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 9923 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
9924 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
9925 * grub-core/Makefile.core.def (kernel): Explicit the source for
9926 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
9927 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
9928 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
9929 Use videoinkernel tag.
9930 (usb): Enable on all usb.
9931 (usbserial_common): Likewise.
9932 (usbserial_pl2303): Likewise.
9933 (usbserial_ftdi): Likewise.
9934 (uhci): Enable on all x86.
9935 (ohci): Enable on all pci.
9936 (cmostest): Enable on all CMOS.
9937 (acpi): Include commands/acpi.c on all platforms.
9938 (halt): Add relevant lib/*/halt.c.
9939 (hdparm): Enable on all pci.
9940 (lspci): Likewise.
9941 (usbtest): Enable on all usb.
9942 (ata): Enable on all pci.
9943 (ata_pthru): Likewise.
9944 (usbms): Enable on all usb.
9945 (usb_keyboard): Likewise.
9946 (font): Use tag videomodules.
9947 (bufio): Likewise.
9948 (datetime): Use tag cmos. Enable on all noemu.
9949 (mmap): Use tags common and x86.
9950 (gfxterm): Use tag videomodules.
9951 (bitmap): Likewise.
9952 (bitmap_scale): Likewise.
9953 (video_fb): Likewise.
9954 (video): Likewise.
9955 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
9956 adjust padding accordingly. All users updated.
9957 (grub_ohci_transaction): Fix bad format specification.
9958 (GRUB_MOD_INIT): Add asserts for struct size.
9959 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
9960 (grub_alloc_td): Likewise.
9961 (grub_free_queue): Likewise.
9962 (grub_uhci_transfer): Likewise.
9963 (grub_uhci_transaction): Fix bad format specification.
9964 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9965 (grub_usb_bulk_readwrite): Likewise.
9966 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
9967 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
9968 Made static.
9969 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
9970 Made static.
9971 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
9972 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
9973 Transformed into C.
9974 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
9975 Moved from here ...
9976 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
9977 ... here. Transformed into C. Made static.
9978 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
9979 Moved from here ...
9980 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
9981 ... here. Transformed into C. Made static.
9982 * grub-core/kern/i386/pc/startup.S
9983 (grub_biosdisk_check_int13_extensions): Moved from here ...
9984 * grub-core/disk/i386/pc/biosdisk.c
9985 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
9986 Made static.
9987 * grub-core/kern/i386/pc/startup.S
9988 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
9989 * grub-core/disk/i386/pc/biosdisk.c
9990 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
9991 Transformed into C. Made static.
9992 * grub-core/kern/i386/pc/startup.S
9993 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
9994 * grub-core/disk/i386/pc/biosdisk.c
9995 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
9996 Transformed into C. Made static.
9997 * grub-core/kern/i386/pc/startup.S
9998 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
9999 * grub-core/disk/i386/pc/biosdisk.c
10000 (grub_biosdisk_get_diskinfo_standard): ... here.
10001 Transformed into C. Made static.
10002 * grub-core/kern/i386/pc/startup.S
10003 (grub_biosdisk_get_num_floppies): Moved from here ...
10004 * grub-core/disk/i386/pc/biosdisk.c
10005 (grub_biosdisk_get_num_floppies): ... here.
10006 Transformed into C. Made static.
10007 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10008 New function.
10009 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10010 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10011 Transformed into C. Made static.
10012 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10013 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10014 Transformed into C. Made static.
10015 * grub-core/kern/i386/ieee1275/init.c: Removed.
10016 * grub-core/kern/i386/misc.S: Likewise.
10017 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10018 Splitted from here ...
10019 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10020 Transformed into C. Made static. All users updated.
10021 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10022 Transformed into C. Made static. All users updated.
10023 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10024 Moved from here...
10025 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10026 Transformed into C. Made static. All users updated.
10027 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10028 Moved from here...
10029 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10030 Transformed into C. Made static. All users updated.
10031 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10032 Removed (replaced by C version).
10033 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10034 Moved from here...
10035 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10036 Transformed into C. Made static.
10037 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10038 Moved from here...
10039 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10040 ... here. Transformed into C.
10041 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10042 Moved from here...
10043 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10044 ... here. Transformed into C.
10045 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10046 Moved from here...
10047 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10048 ... here. Transformed into C. Made static.
10049 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10050 Moved from here...
10051 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10052 ... here. Transformed into C.
21ed554b
VS
10053 * grub-core/kern/i386/pc/startup.S
10054 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10055 * grub-core/video/i386/pc/vbe.c
10056 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
10057 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10058 Moved from here...
10059 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10060 ... here. Transformed into C.
10061 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10062 Moved from here...
10063 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10064 ... here. Transformed into C.
10065 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10066 Moved from here...
10067 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10068 ... here. Transformed into C.
10069 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10070 Moved from here...
10071 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10072 ... here. Transformed into C.
10073 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10074 Moved from here...
10075 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10076 ... here. Transformed into C. Made static.
10077 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10078 Moved from here...
10079 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10080 ... here. Transformed into C. Made static.
10081 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10082 Moved from here...
10083 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10084 ... here. Transformed into C. Made static.
10085 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10086 pxe_rm_entry as third argument.
10087 (grub_bios_interrupt): New function.
10088 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10089 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10090 of calling grub_stop.
10091 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10092 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10093 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10094 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10095 * grub-core/lib/i386/halt.c: Moved from here ...
10096 * grub-core/lib/i386/halt.c: ... here.
10097 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10098 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10099 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10100 grub_stop_floppy.
10101 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10102 * include/grub/i386/coreboot/init.h: Removed.
10103 * include/grub/i386/multiboot/init.h: Likewise.
10104 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10105 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10106 * include/grub/i386/pc/int.h: New file.
10107 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10108 (grub_pxe_scan): Removed.
10109 (grub_pxe_call): Update prototype.
10110 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10111 prototypes.
10112 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10113 * include/grub/i386/qemu/init.h: Removed.
10114 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10115 noreturn.
10116 (grub_halt): Likewise.
10117 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10118 (grub_reboot): Likewise.
10119 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10120 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
10121 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10122
215dd471
RM
101232010-08-30 Robert Millan <rmh@gnu.org>
10124
10125 * NEWS: Document addition of ZFS support in `grub-install' and
10126 `grub-mkconfig'.
10127
ebd65b82
BC
101282010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10129
10130 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10131 dprintf output.
10132
11721d19
VS
101332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 Remove leftover embedding of font objects.
10136
10137 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10138 * util/grub-install.in (font): Removed.
10139 * util/grub-mkimage.c (generate_image): Remove font support. All users
10140 updated.
10141
37837d4e
VS
101422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 Remove leftover embedding of font objects.
10145
10146 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10147 * util/grub-install.in (font): Removed.
10148 * util/grub-mkimage.c (generate_image): Remove font support. All users
10149 updated.
10150
b4c1aae0
VS
101512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 10154 Reported by: Ian Turner
b4c1aae0 10155
8920a08d
VS
101562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10159 timeout to avoid indefinite boot stalling.
10160
f21db033
VS
101612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10164 (grub_env_write_color_highlight): Likewise.
10165
9a9de209
VS
101662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * grub-core/normal/term.c (print_more): Return to normal and not
10169 to standard state after printing "---MORE---".
10170
3dca01d7
VS
101712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10174 Mask out the bit 0x80 since it has other meaning that specifiing color.
10175
0b986c40
VS
101762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 New relocator. Allows for more kernel support and more straightforward
10179 loader writing.
10180
10181 * Makefile.am (BOOTTARGET): New variable.
10182 (QEMU32): Likewise.
10183 (linux.init.x86_64): New target.
10184 (linux.init.i386): Likewise.
10185 (multiboot.elf): Likewise.
10186 (kfreebsd.elf): Likewise.
10187 (kfreebsd.aout): Likewise.
10188 (pc-chainloader.elf): Likewise.
10189 (pc-chainloader.bin): Likewise.
10190 (ntldr.elf): Likewise.
10191 (ntldr.bin): Likewise.
10192 (multiboot2.elf): Likewise.
10193 (kfreebsd.init.x86_64): Likewise.
10194 (kfreebsd.init.i386): Likewise.
10195 (knetbsd.init.i386): Likewise.
10196 (kopenbsd.init.i386): Likewise.
10197 (knetbsd.init.x86_64): Likewise.
10198 (kopenbsd.init.x86_64): Likewise.
10199 (linux-initramfs.i386): Likewise.
10200 (linux-initramfs.x86_64): Likewise.
10201 (kfreebsd-mfsroot.i386.img): Likewise.
10202 (knetbsd.image.i386): Likewise.
10203 (kopenbsd.image.i386): Likewise.
10204 (kopenbsd.image.x86_64): Likewise.
10205 (knetbsd.miniroot-image.i386.img): Likewise.
10206 (kfreebsd-mfsroot.x86_64.img): Likewise.
10207 (knetbsd.image.x86_64): Likewise.
10208 (knetbsd.miniroot-image.x86_64.img): Likewise.
10209 (kfreebsd-mfsroot.i386.gz): Likewise.
10210 (bootcheck-kfreebsd-i386): Likewise.
10211 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10212 (bootcheck-kfreebsd-x86_64): Likewise.
10213 (knetbsd.miniroot-image.i386.gz): Likewise.
10214 (bootcheck-knetbsd-i386): Likewise.
10215 (bootcheck-kopenbsd-i386): Likewise.
10216 (bootcheck-kopenbsd-x86_64): Likewise.
10217 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10218 (bootcheck-knetbsd-x86_64): Likewise.
10219 (bootcheck-linux-i386): Likewise.
10220 (bootcheck-linux-x86_64): Likewise.
10221 (bootcheck-linux16-i386): Likewise.
10222 (bootcheck-linux16-x86_64): Likewise.
10223 (bootcheck-multiboot): Likewise.
10224 (bootcheck-multiboot2): Likewise.
10225 (bootcheck-kfreebsd-aout): Likewise.
10226 (bootcheck-pc-chainloader): Likewise.
10227 (bootcheck-ntldr): Likewise.
10228 (CLEANFILES): Add new targets.
10229 (BOOTCHECKS): New variable.
10230 (.PHONY): Add bootchecks.
10231 (SUCCESSFUL_BOOT_STRING): New variable.
10232 (BOOTCHECK_TIMEOUT): Likewise.
10233 (bootcheck): New target
10234 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10235 * configure.ac: Correct efiemu excuse.
10236 * docs/grub.texi (Supported kernels): New chapter.
10237 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10238 include/grub/mm_private.h. Simplify inclusion of
10239 include/grub/boot.h, include/grub/loader.h
10240 and include/grub/msdos_partition.h
10241 (KERNEL_HEADER_FILES) [i386_coreboot]:
10242 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10243 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10244 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10245 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10246 include/grub/machine/loader.h.
10247 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10248 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10249 extra_dist.
10250 (pci.mod): Enable on i386-multiboot.
10251 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10252 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10253 i386-qemu.
10254 (relocator.mod): Rewritten.
10255 (aout.mod): Enable on all x86.
10256 (bsd.mod): Likewise.
10257 (ntldr.mod): New module.
10258 (linux.mod): Use loader/i386/linux.c on all x86.
10259 (xnu.mod): Enable on all x86.
10260 (vga_text.mod): disable on EFI and QEMU.
10261 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10262 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10263 * grub-core/efiemu/loadcore.c: Likewise.
10264 * grub-core/efiemu/main.c: Likewise.
10265 (grub_efiemu_exit_boot_services): Removed.
10266 (grub_efiemu_finish_boot_services): Likewise.
10267 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10268 function.
10269 * grub-core/efiemu/i386/nocfgtables.c: New file.
10270 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10271 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10272 (grub_efi_finish_boot_services): Moved from here ...
10273 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10274 Fille finish memory map and related data.
10275 (finish_mmap_buf): New variable.
10276 (grub_efi_uintn_t finish_mmap_size): Likewise.
10277 (grub_efi_uintn_t finish_key): Likewise.
10278 (grub_efi_uintn_t finish_desc_size): Likewise.
10279 (grub_efi_uint32_t finish_desc_version): Likewise.
10280 (grub_efi_is_finished): Likewise.
10281 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10282 finished.
10283 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10284 (grub_elf64_phdr_iterate): Likewise.
10285 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10286 (grub_os_area_size): Likewise.
10287 (grub_machine_init): Don't reserve os area.
10288 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10289 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10290 * grub-core/kern/i386/loader.S: Removed.
10291 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10292 (grub_os_area_size): Likewise.
10293 (grub_machine_init): Don't reserve os area.
10294 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10295 Don't call grub_dl_unload_all.
10296 Don't include loader.S.
10297 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10298 Declare the memory after _end as available.
10299 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 10300 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 10301 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
10302 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10303 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10304 * include/grub/mm_private.h (grub_mm_header): ... here.
10305 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10306 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
10307 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10308 (grub_mm_region): ..here. Removed addr. Added pre_size.
10309 All users updated.
10310 * grub-core/kern/mm.c (base): Renamed to ...
10311 (grub_mm_base): ... this. Made global.
10312 (grub_real_malloc): Alloc from end of region.
10313 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10314 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10315 * grub-core/kern/powerpc/cache_flush.S: ... here.
10316 * grub-core/lib/efi/relocator.c: New file.
10317 * grub-core/lib/i386/relocator.c: Rewritten.
10318 * grub-core/lib/i386/relocator16.S: New file.
10319 * grub-core/lib/i386/relocator32.S: Likewise.
10320 * grub-core/lib/i386/relocator64.S: Likewise.
10321 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10322 * grub-core/lib/i386/relocator_common.S: New file.
10323 * grub-core/lib/ieee1275/relocator.c: Likewise.
10324 * grub-core/lib/mips/relocator.c: Rewritten.
10325 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10326 stylistic adjustments.
10327 * grub-core/lib/powerpc/relocator.c: New file.
10328 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10329 * grub-core/lib/relocator.c: Rewritten.
10330 * grub-core/lib/x86_64/relocator_asm.S: New file.
10331 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10332 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10333 (bsd_tag): New struct.
10334 (tags): New variable.
10335 (tags_last): Likewise.
10336 (netbsd_module): New struct.
10337 (netbsd_mods): New variable.
10338 (netbsd_mods_last): Likewise.
10339 (openbsd_opts): New parameter "serial".
10340 (OPENBSD_SERIAL_ARG): New definition.
10341 (netbsd_opts): New parameter "serial".
10342 (NETBSD_SERIAL_ARG): New definition.
10343 (grub_freebsd_add_meta): Reorganised into ...
10344 (grub_bsd_add_meta): ...this. All users updated.
10345 (grub_freebsd_add_mmap): Reorganised into ...
10346 (generate_e820_mmap): ...this...
10347 (grub_bsd_add_mmap): ...and this. All users updated.
10348 (grub_freebsd_list_modules): Use tags.
10349 (grub_netbsd_add_meta_module): New function.
10350 (grub_netbsd_list_modules): Likewise.
10351 (grub_freebsd_boot): Use relocator and finish EFI.
10352 (grub_openbsd_boot): Likewise.
10353 (grub_netbsd_setup_video): New function.
10354 (grub_netbsd_add_modules): Likewise.
10355 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10356 and finish EFI.
10357 (grub_bsd_unload): Unload tags.
10358 (grub_bsd_load_aout): Use relocator.
10359 (grub_bsd_elf32_size_hook): New function.
10360 (grub_bsd_elf32_hook): Use relocator.
10361 (grub_bsd_elf64_size_hook): New function.
10362 (grub_bsd_elf64_hook): Use relocator.
10363 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10364 (grub_bsd_load): Zero-out openbsd_ramdisk.
10365 (grub_bsd_load): Use relocator.
10366 (grub_cmd_openbsd): Support serial.
10367 (grub_cmd_netbsd): Support modules.
10368 (grub_cmd_freebsd_module): Use relocator.
10369 (grub_netbsd_module_load): New function.
10370 (grub_cmd_netbsd_module): Likewise.
10371 (grub_cmd_openbsd_ramdisk): Likewise.
10372 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10373 kopenbsd_ramdisk.
10374 (GRUB_MOD_FINI): Unregister new commands.
10375 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10376 (grub_freebsd_load_elfmodule_obj): Use relocator.
10377 (grub_freebsd_load_elfmodule): Likewise.
10378 (grub_freebsd_load_elf_meta): Likewise.
10379 (grub_netbsd_load_elf_meta): New function.
10380 (grub_openbsd_find_ramdisk): Likewise.
10381 * grub-core/loader/i386/bsd_helper.S: Removed.
10382 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10383 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10384 * grub-core/loader/i386/efi/linux.c: Likewise.
10385 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10386 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10387 (DEFAULT_VIDEO_MODE): Likewise.
10388 (real_mode_target): New variable.
10389 (prot_mode_target): Likewise.
10390 (initrd_mem_target): Likewise.
10391 (relocator): Likewise.
10392 (efi_mmap_buf): Likewise.
10393 (efi_mmap_size): Likewise.
10394 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10395 (free_pages): Use relocator.
10396 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10397 (grub_linux_setup_video): Return error.
10398 (grub_linux_trampoline_start): Removed.
10399 (grub_linux_trampoline_end): Likewise.
10400 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10401 andd video parameters depending on firmware.
10402 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10403 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10404 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10405 (grub_cmd_initrd): Use relocator.
10406 * grub-core/loader/i386/linux_trampoline.S: Removed.
10407 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10408 (elf_sec_entsize): Likewise.
10409 (elf_sec_shstrndx): Likewise.
10410 (elf_sections): Likewise.
10411 (grub_multiboot_load): Use relocator.
10412 (grub_multiboot_get_mbi_size): Account for sections.
10413 (grub_multiboot_make_mbi): Use relocator and support sections.
10414 (grub_multiboot_add_elfsyms): New function.
10415 (grub_multiboot_free_mbi): Free sections.
10416 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10417 (grub_linux_real_target): Likewise.
10418 (grub_linux_real_chunk): Likewise.
10419 (grub_linux16_prot_size): Likewise.
10420 (grub_linux16_boot): Use relocator.
10421 (grub_linux_unload): Unload relocator.
10422 (grub_cmd_linux): Use relocator.
10423 (grub_cmd_initrd): Likewise.
10424 * grub-core/loader/i386/pc/ntldr.c: New file.
10425 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10426 Don't try to guess CPU frequency.
10427 (grub_xnu_set_video): Stretch bitmap.
10428 (grub_xnu_boot): Use relocator.
10429 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10430 (grub_linux_unload): Free relocator.
10431 (grub_linux_load32): Use relocator.
10432 (grub_linux_load64): Likewise.
10433 (grub_cmd_initrd): Likewise.
10434 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10435 (grub_multiboot_unload): Unload relocator.
10436 (grub_cmd_multiboot): Use relocator.
10437 (grub_cmd_module): Likewise.
10438 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10439 Use relocator and support sections.
10440 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10441 (elf_sec_entsize): Likewise.
10442 (elf_sec_shstrndx): Likewise.
10443 (elf_sections): Likewise.
10444 (grub_multiboot_load): Use relocator.
10445 (grub_multiboot_get_mbi_size): Account for sections.
10446 (grub_multiboot_make_mbi): Use relocator and support sections.
10447 (grub_multiboot_add_elfsyms): New function.
10448 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10449 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10450 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10451 Prototype changed. All users updated.
10452 (grub_xnu_align_heap): Simplified.
10453 (grub_xnu_writetree_toheap): Likewise.
10454 (grub_xnu_unload): Unload relocator.
10455 (grub_cmd_xnu_kernel): Use relocator.
10456 (grub_cmd_xnu_kernel64): Likewise.
10457 (grub_xnu_register_memory): Simplified.
10458 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
10459 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10460 EFI is finished.
10461 (grub_console_checkkey): Likewise.
10462 (grub_console_getkey): Likewise.
10463 (grub_console_getwh): Likewise.
10464 (grub_console_getxy): Likewise.
10465 (grub_console_gotoxy): Likewise.
10466 (grub_console_cls): Likewise.
10467 (grub_console_setcolorstate): Likewise.
10468 (grub_console_setcursor): Likewise.
10469 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10470 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10471 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10472 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10473 * grub-core/tests/boot/kernel-8086.S: Likewise.
10474 * grub-core/tests/boot/kernel-i386.S: Likewise.
10475 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10476 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10477 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10478 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10479 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10480 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10481 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10482 * grub-core/tests/boot/linux.cfg: Likewise.
10483 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10484 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10485 * grub-core/tests/boot/linux16.cfg: Likewise.
10486 * grub-core/tests/boot/multiboot.cfg: Likewise.
10487 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10488 * grub-core/tests/boot/ntldr.cfg: Likewise.
10489 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10490 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10491 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10492 New definition.
10493 * include/grub/dl.h (grub_dl_unload_all): Removed.
10494 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10495 (grub_efi_finish_boot_services): Change prototype.
10496 (grub_efi_is_finished): New variable.
10497 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10498 Changed prototype.
10499 (grub_efiemu_finish_boot_services): Removed.
10500 (grub_machine_efiemu_init_tables): New prototype.
10501 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10502 (grub_elf64_phdr_iterate): Likewise.
10503 * include/grub/i386/bsd.h: Include relocator.h.
10504 (freebsd_tag_header): New struct.
10505 (grub_openbsd_bios_mmap): Removed.
10506 (grub_unix_real_boot): Removed.
10507 (grub_freebsd_load_elfmodule32): Changed prototype.
10508 (grub_freebsd_load_elfmodule_obj64): Likewise.
10509 (grub_freebsd_load_elf_meta32): Likewise.
10510 (grub_freebsd_load_elf_meta64): Likewise.
10511 (grub_freebsd_add_meta): Removed.
10512 (grub_netbsd_load_elf_meta32): New prototype.
10513 (grub_netbsd_load_elf_meta64): Likewise.
10514 (grub_bsd_add_meta): Likewise.
10515 (grub_openbsd_ramdisk_descriptor): New struct.
10516 (grub_openbsd_find_ramdisk32): New prototype.
10517 (grub_openbsd_find_ramdisk64): Likewise.
10518 * include/grub/i386/coreboot/loader.h: Removed.
10519 * include/grub/i386/efi/loader.h: Likewise.
10520 * include/grub/i386/ieee1275/loader.h: Likewise.
10521 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10522 to grub_uint32_t.
10523 * include/grub/i386/loader.h: Removed.
10524 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10525 value.
10526 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10527 (grub_phys_addr_t): New type.
10528 (grub_vtop): New inline function.
10529 (grub_map_memory): Likewise.
10530 (grub_unmap_memory): Likewise.
10531 * include/grub/i386/multiboot/loader.h: Removed.
10532 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10533 (NETBSD_BTINFO_CONSOLE): New definition.
10534 (NETBSD_BTINFO_SYMTAB): Likewise.
10535 (NETBSD_BTINFO_MODULES): Likewise.
10536 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10537 (grub_netbsd_bootinfo): New struct.
10538 (grub_netbsd_btinfo_common): Use explicit bitsize.
10539 (grub_netbsd_btinfo_mmap_entry): Removed.
10540 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10541 (grub_netbsd_btinfo_bootdisk): New struct.
10542 (grub_netbsd_btinfo_symtab): Likewise.
10543 (grub_netbsd_btinfo_serial): Likewise.
10544 (grub_netbsd_btinfo_modules): Likewise.
10545 (grub_netbsd_btinfo_framebuf): Likewise.
10546 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10547 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10548 Likewise.
10549 (grub_openbsd_bootargs): Use explicit bitsize.
10550 (grub_openbsd_bootarg_console): New struct.
10551 (GRUB_OPENBSD_COM_MAJOR): New definition.
10552 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10553 * include/grub/i386/pc/efiemu.h: Removed.
10554 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10555 * include/grub/i386/qemu/loader.h: Removed.
10556 * include/grub/i386/relocator.h: Rewritten.
10557 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10558 * include/grub/mips/memory.h: New file.
10559 * include/grub/mips/multiboot.h: Rewritten.
10560 * include/grub/mips/relocator.h: Rewritten.
10561 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10562 (grub_vtop): New function.
10563 (grub_map_memory): Likewise.
10564 (grub_unmap_memory): Likewise.
10565 * include/grub/misc.h (ALIGN_DOWN): New definition.
10566 * include/grub/mm.h (grub_mm_check_real): New proto.
10567 (GRUB_MM_CHECK): New definition.
10568 * include/grub/mm_private.h: New file.
10569 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10570 (grub_multiboot_get_mbi_size): Removed.
10571 (grub_multiboot_make_mbi): Change prottype.
10572 (grub_multiboot_set_accepts_video): New proto.
10573 (grub_multiboot_add_elfsyms): Likewise.
10574 (grub_multiboot_payload_eip): New variable.
10575 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10576 New prototype.
10577 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10578 New definition.
10579 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10580 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10581 * include/grub/powerpc/ieee1275/loader.h: Removed.
10582 * include/grub/powerpc/memory.h: New file.
10583 * include/grub/powerpc/relocator.h: Likewise.
10584 * include/grub/relocator.h: Likewise.
10585 * include/grub/relocator_private.h: Likewise.
10586 * include/grub/sparc64/ieee1275/loader.h: Removed.
10587 * include/grub/x86_64/memory.h: New file.
10588 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10589 (grub_xnu_heap_malloc): Likewise.
10590 (grub_xnu_heap_real_start): Removed.
10591 (grub_xnu_heap_start): Likewise.
10592 (grub_xnu_relocator): New variable.
10593 (grub_xnu_heap_target_start): Likewise.
10594 * tests/util/grub-shell.in: Support non-pc.
10595 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 10596
5303b85d
VS
105972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10600 on malloc error.
10601 (grub_bidi_logical_to_visual): Check that malloc succeded.
10602 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10603 puts.
10604 (grub_xputs_normal): Likewise.
10605
d768d159
VS
106062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10609 extra_dist.
10610
106112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10614
5bf84df4
VS
106152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10618
3626810e
VS
106192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10622 dprintf.
10623
a7363f53
BC
106242010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10625
10626 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10627
902f75f6
VS
106282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/normal/term.c (print_more): Fix a memory leak.
10631 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10632 (grub_xputs_normal): Likewise.
10633
3c707967
VS
106342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10637 the begining of the string
10638
2053cc07
VS
106392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/script/script.c (grub_script_parse): Free parsed on
10642 failure.
10643
46422ebf
VS
106442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10647 on failure.
10648
9e0fa3f6
VS
106492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10652 return.
10653
3393cf16
VS
106542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10657 (scroll_up): Fix a memory leak.
10658
b17540cb
VS
106592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10662 errors.
10663
67140446
VS
106642010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 Handle USB pendrives exposed as floppies.
10667
10668 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10669 floppy.
10670 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10671 Check for partitions on all devices.
10672
e35e46fc
VS
106732010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10676 (readkey): Likewise.
10677
d24c6190
BC
106782010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10679
10680 Multiple variable names support to "export" command.
10681
10682 * normal/context.c (grub_cmd_export): "export" command supports
10683 multiple variable names.
10684
04ddcc6a
ST
106852010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10686
10687 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10688 --target=drive output to Mach device name.
10689
0c8b61d8
BC
106902010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10691
10692 New Automake based build system for GRUB.
10693
10694 * ABOUT-NLS: New file.
10695 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10696 in Makefile.util.def file.
10697 * Makefile.util.def: New file. Autogen build definitions file for
10698 GRUB host utils.
10699 * conf/Makefile.common: New file. Common variables for GRUB host
10700 utils and target modules.
10701 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10702 * docs/Makefile.am: New file. Automake file for docs.
10703 * gentpl.py: New file. Python script to generate Autogen
10704 template.
10705 * grub-core/Makefile.am: New file. GRUB target modules' rules
10706 that doesn't fit in Makefile.core.def file.
10707 * grub-core/Makefile.core.def: New file. Autogen build
10708 definitions file for GRUB target modules.
10709 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10710 specific setjmp.S file.
10711 * po/Makefile.am: New file.
10712
10713 * .bzrignore: New ignores.
10714 * INSTALL: New requirements, without Ruby.
10715 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10716 * autogen.sh: Updated to invoke autogen as necessary.
10717 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10718 and defines for Automake conditionals.
10719 * geninit.sh: Refactoring.
10720
10721 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10722 necessary.
10723 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10724 New prototype.
10725
10726 * include/grub/test.h: Fix functional test modules' naming.
10727 * grub-core/tests/example_functional_test.c: Fix test module name.
10728
10729 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10730 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10731 * util/grub-editenv.c: Likewise.
10732 * util/grub-fstest.c: Likewise.
10733 * util/grub-mkdevicemap.c: Likewise.
10734 * util/grub-mkfont.c: Likewise.
10735 * util/grub-mkimage.c: Likewise.
10736 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10737 * util/grub-probe.c: Likewise.
10738 * util/grub-script-check.c: Likewise.
10739 * util/i386/pc/grub-setup.c: Likewise.
10740 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10741
10742 * tests/util/grub-shell.in: Fix override directory path.
10743 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10744 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10745
10746 * util/lvm.c: Update #includes.
10747 * util/raid.c: Likewise.
10748 * util/resolve.c: Likewise.
10749 * grub-core/bus/emu/pci.c: Likewise.
10750 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10751 * grub-core/lib/posix_wrap/string.h: Likewise.
10752 * grub-core/kern/emu/main.c: Likewise.
10753
10754 * grub-core/gensymlist.sh: New file. Script for generating kernel
10755 symbols file.
10756 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10757
10758 * grub-core/gentrigtables.c: Fix unused variable warnings.
10759
10760 * Makefile.in: Removed.
10761 * conf/any-emu.rmk: Removed.
10762 * conf/common.rmk: Removed.
10763 * conf/i386-coreboot.rmk: Removed.
10764 * conf/i386-efi.rmk: Removed.
10765 * conf/i386-ieee1275.rmk: Removed.
10766 * conf/i386-multiboot.rmk: Removed.
10767 * conf/i386-pc.rmk: Removed.
10768 * conf/i386-qemu.rmk: Removed.
10769 * conf/i386.rmk: Removed.
10770 * conf/mips-yeeloong.rmk: Removed.
10771 * conf/mips.rmk: Removed.
10772 * conf/powerpc-ieee1275.rmk: Removed.
10773 * conf/sparc64-ieee1275.rmk: Removed.
10774 * conf/tests.rmk: Removed.
10775 * conf/x86-efi.rmk: Removed.
10776 * conf/x86_64-efi.rmk: Removed.
10777 * gendistlist.sh: Removed.
10778 * geninitheader.sh: Removed.
10779 * genkernsyms.sh.in: Removed.
10780 * genmk.rb: Removed.
10781 * gensymlist.sh.in: Removed.
10782 * mkinstalldirs: Removed.
10783 * boot: Moved ...
10784 * grub-core/boot: ... to here.
10785 * bus: Moved ...
10786 * grub-core/bus: ... to here.
10787 * commands: Moved ...
10788 * grub-core/commands: ... to here.
10789 * disk: Moved ...
10790 * grub-core/disk: ... to here.
10791 * efiemu: Moved ...
10792 * grub-core/efiemu: ... to here.
10793 * font: Moved ...
10794 * grub-core/font: ... to here.
10795 * fs: Moved ...
10796 * grub-core/fs: ... to here.
10797 * gencmdlist.sh: Moved ...
10798 * grub-core/gencmdlist.sh: ... to here.
10799 * genemuinit.sh: Moved ...
10800 * grub-core/genemuinit.sh: ... to here.
10801 * genemuinitheader.sh: Moved ...
10802 * grub-core/genemuinitheader.sh: ... to here.
10803 * genfslist.sh: Moved ...
10804 * grub-core/genfslist.sh: ... to here.
10805 * genhandlerlist.sh: Moved ...
10806 * grub-core/genhandlerlist.sh: ... to here.
10807 * genmoddep.awk: Moved ...
10808 * grub-core/genmoddep.awk: ... to here.
10809 * genmodsrc.sh: Moved ...
10810 * grub-core/genmodsrc.sh: ... to here.
10811 * genpartmaplist.sh: Moved ...
10812 * grub-core/genpartmaplist.sh: ... to here.
10813 * genparttoollist.sh: Moved ...
10814 * grub-core/genparttoollist.sh: ... to here.
10815 * genterminallist.sh: Moved ...
10816 * grub-core/genterminallist.sh: ... to here.
10817 * gentrigtables.c: Moved ...
10818 * grub-core/gentrigtables.c: ... to here.
10819 * genvideolist.sh: Moved ...
10820 * grub-core/genvideolist.sh: ... to here.
10821 * gettext: Moved ...
10822 * grub-core/gettext: ... to here.
10823 * gfxmenu: Moved ...
10824 * grub-core/gfxmenu: ... to here.
10825 * gnulib: Moved ...
10826 * grub-core/gnulib: ... to here.
10827 * hello: Moved ...
10828 * grub-core/hello: ... to here.
10829 * hook: Moved ...
10830 * grub-core/hook: ... to here.
10831 * io: Moved ...
10832 * grub-core/io: ... to here.
10833 * kern: Moved ...
10834 * grub-core/kern: ... to here.
10835 * lib: Moved ...
10836 * grub-core/lib: ... to here.
10837 * loader: Moved ...
10838 * grub-core/loader: ... to here.
10839 * mmap: Moved ...
10840 * grub-core/mmap: ... to here.
10841 * normal: Moved ...
10842 * grub-core/normal: ... to here.
10843 * partmap: Moved ...
10844 * grub-core/partmap: ... to here.
10845 * parttool: Moved ...
10846 * grub-core/parttool: ... to here.
10847 * script: Moved ...
10848 * grub-core/script: ... to here.
10849 * term: Moved ...
10850 * grub-core/term: ... to here
10851 * tests/example_functional_test.c: Moved ...
10852 * grub-core/tests/example_functional_test.c: ... to here.
10853 * tests/lib/functional_test.c: Moved ...
10854 * grub-core/tests/lib/functional_test.c: ... to here.
10855 * tests/lib/test.c: Moved ...
10856 * grub-core/tests/lib/test.c: ... to here.
10857 * video: Moved ...
10858 * grub-core/video: ... to here.
10859
645586e6
BC
108602010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10861
10862 Replace --enable-grub-emu-modules with grub-emu-lite.
10863
10864 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10865 cache.S.
10866
10867 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10868 * kern/emu/full.c: New file. For grub-emu specific initialization.
10869 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10870 * kern/emu/main.c: Call initialization function grub_emu_init.
10871
10872 * Makefile.in: Include grub-emu-lite in install.
10873 * commands/parttool.c: Use grub_no_autoload to differentiate
10874 between grub-emu and grub-emu-lite.
10875 * include/grub/misc.h: New variable grub_no_autoload.
10876
10877 * conf/any-emu.rmk: New rules for grub-emu-lite.
10878 * configure.ac: Remove --enable-grub-emu-modules.
10879 * genmk.rb: Cleanup unnecessary rules.
10880 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10881
10882 * normal/main.c: Don't load list files on grub-emu-lite.
10883 * util/misc.c (grub_arch_sync_caches): Removed.
10884
f86a4030
CW
108852010-08-23 Colin Watson <cjwatson@ubuntu.com>
10886
10887 * kern/mips/startup.S (grub_prefix): Update comment to refer to
10888 grub-mkimage rather than grub-mkelfimage.
10889 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10890
06776944
VS
108912010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
10894 a key after CapsLock or NumLock. It's just a qemu bug.
10895
df262419
VS
108962010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
10899 needed by libusb wrapper.
10900
b40ea81b
ST
109012010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10902
10903 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
10904
dee50575
VS
109052010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
10908 --nounzip is passed.
10909
fb1d7b79
VS
109102010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 USB hotunplugging and USB serial support.
10913
10914 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
10915 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
10916 (grub_uhci_transfer): Respect timeout and set *actual.
10917 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
10918 non-standard length.
10919 (grub_usb_device_attach): Autoload modules.
10920 (GRUB_MOD_INIT): Set grub_term_poll_usb.
10921 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
10922 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
10923 users updated.
10924 (grub_usb_add_hub): Fill nports and children.
10925 (attach_root_port): Receive hub instead of controller.
10926 All users updated. Fill hub->devices.
10927 (grub_usb_root_hub): Allocate hub->devices.
10928 (detach_device): New function.
10929 (poll_nonroot_hub): Fill children and detach devices.
10930 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
10931 actual arguments. All users updated.
10932 (grub_usb_bulk_read_extended): New function.
10933 * bus/usb/serial/common.c: New file.
10934 * bus/usb/serial/ftdi.c: Likewise.
10935 * bus/usb/serial/pl2303.c: Likewise.
10936 * commands/terminal.c (handle_command): Support wildcard.
10937 * commands/usbtest.c: Output "Unknown" instead of empty string.
10938 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
10939 (usbserial_common_mod_SOURCES): New variable.
10940 (usbserial_common_mod_CFLAGS): Likewise.
10941 (usbserial_common_mod_LDFLAGS): Likewise.
10942 (pkglib_MODULES): Add usbserial_pl2303.mod.
10943 (usbserial_pl2303_mod_SOURCES): New variable.
10944 (usbserial_pl2303_mod_CFLAGS): Likewise.
10945 (usbserial_pl2303_mod_LDFLAGS): Likewise.
10946 (pkglib_MODULES): Add usbserial_ftdi.mod.
10947 (usbserial_ftdi_mod_SOURCES): New variable.
10948 (usbserial_ftdi_mod_CFLAGS): Likewise.
10949 (usbserial_ftdi_mod_LDFLAGS): Likewise.
10950 (pkglib_MODULES): Add serial.mod.
10951 (serial_mod_SOURCES): New variable.
10952 (serial_mod_CFLAGS): Likewise.
10953 (serial_mod_LDFLAGS): Likewise.
10954 * conf/i386-pc.rmk: Likewise.
10955 * conf/mips-yeeloong.rmk: Likewise.
10956 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
10957 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10958 * disk/usbms.c (first_available_slot): New variable.
10959 (grub_usbms_attach): Don't reuse free slots due to potential cache
10960 problems.
10961 * include/grub/serial.h: Moved to ..
10962 * include/grub/ns8250.h: ...this.
10963 * include/grub/serial.h: New file.
10964 * include/grub/term.h (grub_term_poll_usb): New variable.
10965 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
10966 readkey. All users updated.
10967 (grub_terminfo_output_state): Pass term to put.
10968 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
10969 (grub_usb_controller_dev): Add timeout and actual arguments to
10970 transfer. All users updated.
10971 (grub_usb_interface): New field detach_data.
10972 (grub_usb_device): New fields children and nports.
10973 (grub_usb_ep_type_t): New type.
10974 (grub_usb_get_ep_type): New function.
10975 (grub_usb_bulk_read_extended): Likewise.
10976 * include/grub/usbdesc.h (grub_usb_desc): New type.
10977 * include/grub/usbserial.h: New file.
10978 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
10979 * kern/term.c (grub_term_poll_usb): New variable.
10980 (grub_getkey): Call grub_term_poll_usb if set.
10981 (grub_checkkey): Likewise.
10982 (grub_getkeystatus): Likewise.
10983 * term/serial.c: Moved controller-specific parts to ...
10984 * term/ns8250.c: ... here.
10985 * term/serial.c: Mostly rewritten.
10986 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
10987 according to spec.
10988
21a313de
RM
109892010-08-20 Robert Millan <rmh@gnu.org>
10990
10991 Make kFreeBSD code more generic to support ext2fs as root, ufs as
10992 a separate module and maybe other interesting combinations.
10993
10994 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
10995 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
10996 (kfreebsd_entry): Add generic filesystem module load routine.
10997 Map GRUB `ext2' to kFreeBSD `ext2fs'.
10998
63c734a6
CW
109992010-08-20 Colin Watson <cjwatson@ubuntu.com>
11000
11001 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11002 "numcenter" (I misunderstood the purpose of this entry).
11003 * docs/grub.texi (sendkey): Likewise.
11004
c4d16542
CW
110052010-08-20 Colin Watson <cjwatson@ubuntu.com>
11006
11007 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11008 status flag options; simply omitting the option is equivalent and
11009 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11010 (keysym_table): Rename "num5numlock" to "numlock".
11011 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11012 can uniformly say that only the last of multiple `sendkey'
11013 invocations has any effect.
11014 * docs/grub.texi (sendkey): New section.
11015
93541d66
CW
110162010-08-19 Colin Watson <cjwatson@ubuntu.com>
11017
11018 * commands/i386/pc/sendkey.c (options): Fix three typos.
11019
b4ece5e1
VS
110202010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 Implement sendkey support.
11023
11024 * commands/i386/pc/sendkey.c: New file.
11025 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11026 (sendkey_mod_SOURCES): New variable.
11027 (sendkey_mod_CFLAGS): Likewise.
11028 (sendkey_mod_LDFLAGS): Likewise.
11029
51f1f5af
CW
110302010-08-18 Colin Watson <cjwatson@ubuntu.com>
11031
11032 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11033 fix warnings from Autoconf.
11034
9da94e05
CW
110352010-08-18 Colin Watson <cjwatson@ubuntu.com>
11036
11037 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11038 to avoid false positives with some assemblers that output things
11039 like "someprefix_func" as part of their output.
11040
729a0f2e
RM
110412010-08-15 Robert Millan <rmh@gnu.org>
11042
11043 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11044 errors.
11045 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11046 grub_get_libzfs_handle() errors.
11047
f3710e08
RM
110482010-08-14 Robert Millan <rmh@gnu.org>
11049
11050 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11051 filesystem is not ZFS.
11052
7a3c13de
BC
110532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11054
11055 Fix for misspelled color names defaulting to black/black (bug
11056 reported by Doug Nazar)
11057
11058 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11059 status to prototype.
11060 * normal/color.c (grub_parse_color_name_pair): Return failure
11061 status.
11062 (grub_env_write_color_normal): Ignore bad color names.
11063 (grub_env_write_color_highlight): Likewise.
11064 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11065
ab8ba50d
BC
110662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11067
11068 "shift" command support to GRUB script.
11069
11070 * include/grub/script_sh.h (grub_script_shift): New prototype.
11071 * script/execute.c (grub_script_shift): New function.
11072 * script/main.c (grub_script_init): Register shift command.
11073 (grub_script_fini): Unregister shift command.
11074 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11075
11076 * tests/grub_script_shift.in: New testcase.
11077 * conf/tests.rmk: Rules for new testcase.
11078
4d61999e
BC
110792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11080
11081 "continue" command support to GRUB script.
11082
11083 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11084 (grub_script_break): Continue support.
11085 * script/main.c (grub_script_init): Register continue command.
11086 (grub_script_fini): Unregister continue command.
11087
11088 * tests/grub_script_continue.in: New testcase.
11089 * conf/tests.rmk: Rules for new testcase.
11090
4df51e00
BC
110912010-08-12 BVK Chaitanya <bvk@dbook>
11092
11093 "break" command support to GRUB script.
11094
11095 * conf/common.rmk: Rule updates to grub-script-check.
11096 * include/grub/misc.h (grub_min): New function.
11097 * include/grub/script_sh.h (grub_script_init): New prototype.
11098 (grub_script_fini): New prototype.
11099 (grub_script_break): New prototype.
11100 * script/main.c (grub_script_init): New function.
11101 (grub_script_fini): New function.
11102 * script/execute.c (grub_script_break): New function.
11103 * normal/main.c: Calls to grub_script_{init,fini}.
11104 * util/grub-script-check.c (grub_script_break): New function.
11105
11106 * tests/grub_script_break.in: New testcase.
11107 * conf/tests.rmk: Rules for new test case.
11108
f12c8420
BC
111092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11110
11111 Function parameters support to GRUB script.
11112
11113 * script/yylex.l (VARIABLE): Regular expression update.
11114 * script/function.c (grub_script_function_call): Moved ...
11115 * script/execute.c (grub_script_function_call): ... to here.
11116 (grub_script_execute_arglist_to_argv): Removed.
11117 (grub_script_arglist_to_argv): New function.
11118 * script/argv.c: New file.
11119 (grub_script_argv_free): New function.
11120 (grub_script_argv_next): Likewise.
11121 (grub_script_argv_append): Likewise.
11122 (grub_script_argv_split_append): Likewise.
11123 * include/grub/script_sh.h (grub_script_argv): New struct.
11124 (grub_script_argv_free): New function.
11125 (grub_script_argv_next): Likewise.
11126 (grub_script_argv_append): Likewise.
11127 (grub_script_argv_split_append): Likewise.
11128
11129 * conf/common.rmk (normal.mod): New source script/argv.c.
11130
11131 * tests/grub_script_echo1.in: More tests.
11132 * tests/grub_script_vars1.in: Likewise.
11133 * tests/grub_script_functions.in: New test case.
11134 * conf/tests.rmk: Rules for new testcase.
11135
8022b748
BC
111362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11137
11138 Remove grub_script_cmdblock struct.
11139
11140 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11141 * script/parser.y: Likewise.
11142 * script/execute.c: Rename cmdblock suffix to cmdlist.
11143 * script/script.c: Likewise.
11144 * util/grub-script-check.c: Likewise.
11145
79a6ba61
YB
111462010-08-11 Yves Blusseau <blusseau@zetam.org>
11147
11148 * .bzrignore: add grub-macho2img
11149
d04b9414
VS
111502010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11153
f947ab49
VS
111542010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 Remove the dump of sm712 initialisation sequence.
11157
11158 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11159 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11160 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11161 (GRUB_VGA_CR_*): Added many registers.
11162 (GRUB_VGA_SR_*): Likewise.
11163 (GRUB_VGA_GR_*): Likewise.
11164 (grub_vga_write_arx): New function.
11165 (grub_video_hw_config): New struct.
11166 (grub_vga_set_geometry): New function.
11167 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11168 GRUB_PCI_CLASS_SUBCLASS_VGA.
11169 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11170 * video/sm712.c (grub_sm712_write_reg): New function
11171 (grub_sm712_read_reg): Likewise.
11172 (grub_sm712_sr_write): Likewise.
11173 (grub_sm712_gr_write): Likewise.
11174 (grub_sm712_cr_write): Likewise.
11175 (grub_sm712_write_arx): Likewise.
11176 (grub_sm712_cr_shadow_write): Likewise.
11177 (grub_sm712_write_dda_lookup): Likewise.
11178 (grub_video_sm712_setup): Initialise the video rather then
11179 blindly replay the dump.
11180 (main) [TEST]: Add a routine to be able to compile as standalone for
11181 tests.
11182 * video/sm712_init.c (sm712_init): Removed.
11183 (sm712_sr_seq1): New array.
11184 (sm712_sr_seq2): Likewise.
11185
f0206638
VS
111862010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 * include/grub/vga.h: Add missing grub/pci.h include.
11189
2764da3b
YB
111902010-08-10 Yves Blusseau <blusseau@zetam.org>
11191
11192 * util/grub-macho2img.c (main): fix typo
11193
cf0c775e
VS
111942010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11197 (grub_vga_gr_read): Likewise.
11198 (grub_vga_cr_write): Likewise.
11199 (grub_vga_cr_read): Likewise.
11200 (grub_vga_sr_write): Likewise.
11201 (grub_vga_sr_read): Likewise.
11202 (grub_vga_palette_read): Likewise.
11203 (grub_vga_palette_write): Likewise.
11204 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11205 (grub_sm712_sr_read): New function.
11206 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11207 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11208
07f360e9
RM
112092010-08-09 Robert Millan <rmh@gnu.org>
11210
11211 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11212 out unused variables on non-ZFS build.
11213
346c2072
RM
112142010-08-08 Robert Millan <rmh@gnu.org>
11215
11216 Fix path generation for sub-filesystems in ZFS.
11217
11218 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11219 missing slash.
11220
71175420
RM
112212010-08-08 Robert Millan <rmh@gnu.org>
11222
11223 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11224
0d8286f3
RM
112252010-08-08 Robert Millan <rmh@gnu.org>
11226
11227 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11228 exist, issue a proper error message (rely on `ls' for translated
11229 strings).
11230
55dd2924
RM
112312010-08-08 Robert Millan <rmh@gnu.org>
11232
11233 Fix grub-probe invocation.
11234
11235 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11236
d3dd9e80
RM
112372010-08-04 Robert Millan <rmh@gnu.org>
11238
11239 * configure.ac: Remove checks for getfsstat() and getmntany().
11240 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11241 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11242 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11243 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11244 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11245 function.
11246 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11247 via find_mount_point_from_dir() and getfsstat() / getmntany().
11248
0de22aa9
RM
112492010-08-04 Robert Millan <rmh@gnu.org>
11250
11251 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11252 (grub_find_zpool_from_mount_point): Merge into ...
11253 (grub_find_zpool_from_dir): ... this.
11254 * kern/emu/misc.c: Likewise.
11255
11256 * kern/emu/misc.c
11257 (grub_make_system_path_relative_to_its_root): Replace
11258 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11259 with grub_find_zpool_from_dir().
11260 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11261
62858144
RM
112622010-08-04 Robert Millan <rmh@gnu.org>
11263
11264 Support OpenSolaris in ZFS device resolution.
11265
11266 * configure.ac: Check for getmntany().
11267 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11268 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11269 support.
11270
9dd6fd50
RM
112712010-08-03 Robert Millan <rmh@gnu.org>
11272
11273 Fix grub-emu build.
11274
11275 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11276 * include/grub/emu/misc.h: ... here.
11277
11278 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11279 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11280
11281 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11282 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11283 (grub_get_libzfs_handle): Move to ...
11284 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11285 (grub_get_libzfs_handle): ... here.
11286
c9f7ff97
BC
112872010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11288
11289 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11290 as command name case.
11291
a870a783
CW
112922010-08-02 Colin Watson <cjwatson@ubuntu.com>
11293
11294 * disk/raid.c (insert_array): Select unique numbers for named arrays
11295 as well, for use as keys in the disk cache.
11296
c7db243b
RM
112972010-08-01 Robert Millan <rmh@gnu.org>
11298
11299 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11300 kFreeBSD device name, except on ZFS where the filesystem label is
11301 used.
11302 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11303 `/boot/zfs/zpool.cache'.
11304 Set mountfrom kernel variable using ${kfreebsd_device}.
11305
f7abdefb
RM
113062010-08-01 Robert Millan <rmh@gnu.org>
11307
11308 Make it even harder to use uninitialized `libzfs_handle' (and
11309 make the interface a bit simpler).
11310
11311 * include/grub/util/misc.h (grub_util_init_libzfs)
11312 (libzfs_handle): Remove.
11313 (grub_get_libzfs_handle): New prototype.
11314
11315 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11316 attribute.
11317 (grub_util_init_libzfs): Remove.
11318 (grub_get_libzfs_handle): New function.
11319
11320 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11321 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11322 accessing `libzfs_handle' directly.
11323
c882acc0
RM
113242010-08-01 Robert Millan <rmh@gnu.org>
11325
11326 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11327 (grub_find_zpool_from_mount_point): New function prototypes.
11328
11329 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11330 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11331
11332 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11333 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11334 `static' attribute.
11335
11336 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11337 finding zpool from mount point into ...
11338 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11339
11340 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11341 requested path is part of a ZFS pool, use
11342 grub_find_zpool_from_mount_point() to detect its filesystem name,
11343 and generate a path with `/fsname@path' syntax.
11344
8bfe31d8
CW
113452010-08-01 Colin Watson <cjwatson@ubuntu.com>
11346
11347 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11348 (void) rather than () so that this is a proper prototype.
11349
553df63d
VS
113502010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11353
8687cf07
VS
113542010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11357 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11358
ea9be8ea
CW
113592010-08-01 Colin Watson <cjwatson@ubuntu.com>
11360
11361 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11362
6eea041a
CW
113632010-08-01 Colin Watson <cjwatson@ubuntu.com>
11364
11365 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11366
2cfb45df
CW
113672010-08-01 Colin Watson <cjwatson@ubuntu.com>
11368
11369 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11370 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11371 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11372 disable gfxpayload.
11373 (Shell-like scripting): Add real content.
11374 (Serial terminal): Suggest `terminal_input serial; terminal_output
11375 serial' rather than putting the two commands on separate lines,
11376 since console input will be inoperative after the first command.
11377 (menuentry): Document --class, --users, and --hotkey options.
11378 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11379 Vladimir Serbinenko).
11380
7decd202
VS
113812010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
113822010-08-01 Colin Watson <cjwatson@ubuntu.com>
11383
11384 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11385
c882acc0
RM
113862010-08-01 Robert Millan <rmh@gnu.org>
11387
11388 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11389 (grub_find_zpool_from_mount_point): New function prototypes.
11390
11391 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11392 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11393
11394 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11395 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11396 `static' attribute.
11397
11398 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11399 finding zpool from mount point into ...
11400 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11401
11402 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11403 requested path is part of a ZFS pool, use
11404 grub_find_zpool_from_mount_point() to detect its filesystem name,
11405 and generate a path with `/fsname@path' syntax.
11406
deb0caa3
RM
114072010-08-01 Robert Millan <rmh@gnu.org>
11408
11409 Prevent accidental use of uninitialized libzfs_handle.
11410
11411 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11412 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11413 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11414
ce04ef47
CW
114152010-08-01 Colin Watson <cjwatson@ubuntu.com>
11416
11417 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11418 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11419
ebf53056
RM
114202010-08-01 Robert Millan <rmh@gnu.org>
11421
11422 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 11423
3710bb6b
RM
114242010-07-31 Robert Millan <rmh@gnu.org>
11425
11426 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11427
8072efeb
RM
114282010-07-31 Robert Millan <rmh@gnu.org>
11429
11430 * kern/emu/misc.c: Add missing license header.
11431
3169f4c7
RM
114322010-07-31 Robert Millan <rmh@gnu.org>
11433
11434 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11435
11436 * include/grub/util/libnvpair.h: Include `<config.h>'.
11437 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11438 declaring libnvpair prototypes ourselves.
11439 * include/grub/util/libzfs.h: Include `<config.h>'.
11440 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11441 declaring libzfs prototypes ourselves.
11442
11443 (libzfs_handle): Moved to ...
11444 * include/grub/util/misc.h (libzfs_handle): ... here.
11445 Include `<grub/util/libzfs.h>'.
11446
c9a00aee
RM
114472010-07-30 Robert Millan <rmh@gnu.org>
11448
11449 * include/grub/emu/misc.h: Add missing license header.
11450
a184f9c8
RM
114512010-07-30 Robert Millan <rmh@gnu.org>
11452
11453 Enable `grub-probe -t device' resolution on ZFS.
11454
11455 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11456 * include/grub/util/libnvpair.h: New file.
11457 * include/grub/util/libzfs.h: New file.
11458
11459 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11460 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11461 `<grub/util/libnvpair.h>'.
11462 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11463
11464 (find_mount_point_from_dir): New static function.
11465 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11466 function.
11467 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11468 find_root_device_from_libzfs() before ressorting to find_root_device().
11469
11470 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11471 prototype.
11472 * util/misc.c: Include `<grub/util/libzfs.h>'.
11473 (grub_util_init_libzfs): New function.
11474 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11475 [HAVE_LIBZFS] (fini_libzfs): New static function.
11476 (grub_util_init_libzfs): New function.
11477 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11478
f7790cdd
RM
114792010-07-30 Robert Millan <rmh@gnu.org>
11480
11481 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11482 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11483 `warn_unused_result' attribute.
11484 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11485 (grub_xasprintf, grub_xvasprintf): Likewise.
11486 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11487
0806b63c
RM
114882010-07-29 Robert Millan <rmh@gnu.org>
11489
11490 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11491 (probe): Handle `PRINT_FS_LABEL'.
11492 (main): Handle `-t fs_label'.
11493
9f841f5c
RM
114942010-07-29 Robert Millan <rmh@gnu.org>
11495
11496 * configure.ac: Remove grub-mkisofs checks.
11497
46371121
VS
114982010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11501 Reported by: Lennart Sorensen.
11502
115032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11506 prior to terminal_input/terminal_output separation. It's been over 1.5
11507 years and those versions weren't widely deployed.
11508
a9600892
CW
115092010-07-22 Colin Watson <cjwatson@ubuntu.com>
11510
11511 * disk/raid.c (insert_array): Don't count named arrays when looking
11512 for unused array numbers.
697e053c 11513 Reported and tested by: Michael Guntsche.
a9600892 11514
c03507df
CW
115152010-07-20 Colin Watson <cjwatson@ubuntu.com>
11516
11517 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11518 implementation of this so that grub-emu links again, with a note
11519 that this should support hotplugging in the future.
11520
b26f1c11
CW
115212010-07-20 Colin Watson <cjwatson@ubuntu.com>
11522
11523 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11524
efc9d7f1
CW
115252010-07-20 Colin Watson <cjwatson@ubuntu.com>
11526
11527 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11528 handle on failure.
11529 (grub_loopback_close): Remove empty function.
11530 (grub_loopback_dev): Remove close method.
11531
dd8ff5c9
CW
115322010-07-20 Colin Watson <cjwatson@ubuntu.com>
11533
11534 Disable EFI cursor when the EFI console becomes inactive.
11535
11536 * term/efi/console.c (grub_efi_console_init): New function.
11537 (grub_efi_console_fini): New function.
11538 (grub_console_term_output): Register init and fini methods.
11539
5e3bec67
VS
115402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11543 sh script.
11544
afaec079
VS
115452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * disk/loopback.c (grub_loopback): Replace filename with file.
11548 (delete_loopback): Handle new semantics.
11549 (grub_cmd_loopback): Likewise.
11550 (grub_loopback_iterate): Likewise.
11551 (grub_loopback_close): Likewise.
11552
a6a11f3c
VS
115532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11556 with -p "".
11557 Reported by: Tito Keitel.
11558
64a638b0
VS
115592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 * docs/grub.texi (Naming convention): Document new naming convention.
11562
ab8ba957
VS
115632010-07-20 Vadim Solomin <vadic052@gmail.com>
115642010-07-20 Colin Watson <cjwatson@ubuntu.com>
11565
11566 Generate device.map in something closer to the old ordering.
11567
11568 * util/deviceiter.c (struct device): New declaration.
11569 (compare_file_names): Rename to ...
11570 (compare_devices): ... this. Sort by kernel name in preference to
11571 the stable by-id name, but keep the latter as a fallback comparison.
11572 Update header comment.
11573 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11574 of `struct device' rather than of plain file names.
11575
a29d6a4b
TF
115762010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11577
11578 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11579 on i386.
11580
39d824e8
VS
115812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11582
11583 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11584 hardcoding size.
11585 (setv1table): Likewise.
11586
f058276b
FZ
115872010-07-20 Colin Watson <cjwatson@ubuntu.com>
11588
11589 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11590 removing the homehost if present.
11591 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11592 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11593 removing the homehost if present.
11594 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11595 if possible.
11596 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11597
11598 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11599 parameter. Set its pointer target to 0.
11600 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11601 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11602 `data_offset' value from the superblock for 1.x metadata.
11603 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11604 data on the device.
11605 (insert_array): Record the start sector of data on the device.
11606 (grub_raid_register): Pass start_sector parameters to
11607 grub_raid_list->detect and insert_array.
11608 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11609 member.
11610 (struct grub_raid): Add start_sector parameter to `detect'.
11611
11612 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11613 __attribute__ ((packed)), leaving a comment.
11614 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11615 (grub_mdraid_detect_09): ... here and ...
11616 (grub_mdraid_detect_1x): ... here.
11617
116182010-07-20 Peter Henn <peter.henn@web.de>
11619
11620 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11621 chunk size and disk size, which are already given as sector counts
11622 as distinct from the 0.90 units. Fetch the correct device number
11623 from the role table instead of using the table index.
11624
116252010-07-20 Felix Zielcke <fzielcke@z-51.de>
11626
11627 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11628 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11629 (WriteMostly1): New macro.
11630 Set array->name to NULL for metadata format 0.90. Add support for
11631 metadata 1.x. Fix some comments.
11632 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11633 few comments.
11634 * util/getroot.c (grub_util_get_grub_dev): Add support for
11635 /dev/md/name style devices.
11636
4b761da9
CW
116372010-07-20 Colin Watson <cjwatson@ubuntu.com>
11638
11639 * .bzrignore: Ignore 20_linux_xen.
11640
5771289a
CW
116412010-07-17 Colin Watson <cjwatson@ubuntu.com>
11642
11643 * util/import_unicode.py: Remove unnecessary imports.
11644
5dab68df
AN
116452010-07-17 Aleš Nesrsta <starous@volny.cz>
11646
11647 Hotplugging and USB hub support.
11648
11649 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11650 (grub_ohci): Likewise.
11651 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11652 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11653 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11654 (GRUB_OHCI_CTRL_EDS): Likewise.
11655 (GRUB_OHCI_BULK_EDS): Likewise.
11656 (GRUB_OHCI_TDS): Likewise.
11657 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11658 (grub_ohci_ed_phys2virt): New function.
11659 (grub_ohci_virt_to_phys): Likewise.
11660 (grub_ohci_td_phys2virt): Likewise.
11661 (grub_ohci_td_virt2phys): Likewise.
11662 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11663 attachment.
11664 (grub_ohci_find_ed): New function.
11665 (grub_ohci_alloc_td): Likewise.
11666 (grub_ohci_free_td): Likewise.
11667 (grub_ohci_free_tds): Likewise.
11668 (grub_ohci_transfer): Use previously allocated memory.
11669 (grub_ohci_portstatus): Reset status changed bit.
11670 (grub_ohci_detect_dev): Supply status changed.
11671 (grub_ohci_fini_hw): Free memory.
11672 (grub_ohci_restore_hw): Reallocate memory.
11673 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11674 Reset status change.
11675 (grub_uhci_detect_dev): Supply status_change.
11676 * bus/usb/usb.c (attach_hooks): New var.
11677 (grub_usb_device_attach): New function.
11678 (grub_usb_register_attach_hook_class): Likewise.
11679 (grub_usb_unregister_attach_hook_class): Likewise.
11680 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11681 (grub_usb_add_hub): Reset connection changed bit.
11682 (attach_root_port): New function.
11683 (grub_usb_root_hub): Likewise.
11684 (poll_nonroot_hub): Likewise.
11685 (grub_usb_poll_devices): Likewise.
11686 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11687 * disk/usbms.c (grub_usbms_open): Use device hooks.
11688 (grub_usbms_iterate) :Poll devices.
11689 (grub_usbms_finddevs): Split into ...
11690 (grub_usbms_attach): ... this ...
11691 (grub_usbms_attach): ... and this.
11692 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11693 in detect_dev.
11694 (grub_usb_interface): New fields attached and detach_hook.
11695 (grub_usb_attach_hook_class): New type.
11696 (grub_usb_attach_desc): New struct.
11697 (grub_usb_register_attach_hook_class): New function.
11698 (grub_usb_unregister_attach_hook_class): Likewise.
11699 (grub_usb_poll_devices): Likewise.
11700 (grub_usb_device_attach): Likewise.
11701 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11702 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11703
3222efaf
VS
117042010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11707 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11708 delta determination style. Works with most NetBSD partitions too.
11709
139b714a
VS
117102010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11713 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11714
986aad56
VS
117152010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11718
99be513c
AB
117192010-07-14 Anton Blanchard <anton@samba.org>
11720
11721 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11722 ET_DYN files.
11723
18075f62
GS
117242010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11725
11726 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11727
8d9a5b15
GS
117282010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11729
11730 * kern/partition.c (grub_partition_check_containment): New function to
11731 check that a partition is physically contained in a parent. Since
11732 offsets are relative (and non-negative), this reduces to checking that
11733 the partition ends before its parent.
11734 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11735 (grub_partition_iterate): Likewise.
11736 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11737 comments.
11738 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11739 partitions that start before their parent, and add debug printfs.
11740
19563c25
CW
117412010-07-13 Colin Watson <cjwatson@ubuntu.com>
11742
11743 * Makefile.in (.SUFFIX): Spell correctly, as ...
11744 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11745 bare module name without `.mod', e.g. `test') tried to invoke a
11746 Modula-2 compiler.
11747
1a1f1e67
CW
117482010-07-13 Colin Watson <cjwatson@ubuntu.com>
11749
11750 * README: Point to the Info manual.
11751
811b0dca
JS
117522010-07-13 Jiro SEKIBA <jir@unicus.jp>
11753
11754 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11755 2nd superblock position from partition size.
11756
e4f4eafc
CW
117572010-07-10 Colin Watson <cjwatson@ubuntu.com>
11758
11759 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11760 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11761 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11762 outputs.
11763
4274c30f
VS
117642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 Restructure SCSI .id handling.
11767 Reported and tested by: Aleš Nesrsta.
11768
11769 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11770 (grub_atapi_dev): Changed .name to "ata". New field .id.
11771 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11772 (grub_usbms_dev): New field .id.
11773 * disk/scsi.c (grub_scsi_iterate): Generate name.
11774 (grub_scsi_open): Parse name.
11775 * include/grub/scsi.h (grub_make_scsi_id): New function.
11776 (grub_scsi_dev): Change iterate and open to number instead of naming
11777 busses. All users updated.
11778 (grub_scsi): Remove name. Add .bus.
11779
5bc24388
VS
117802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * commands/help.c (grub_cmd_help): Fix a typo.
11783
249975ba
VS
117842010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11787 Reported and tested by: Colin Watson.
11788
3eaac1a1
VS
117892010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11792 in this context.
11793
becce1b1
VS
117942010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11797
f7bf0918
CW
117982010-07-07 Colin Watson <cjwatson@ubuntu.com>
11799
11800 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11801 indentation.
11802
0b0f9620
CW
118032010-07-06 Colin Watson <cjwatson@ubuntu.com>
11804
11805 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11806 and disk/raid6_recover.c.
11807 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11808 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11809
1e545469
CW
118102010-07-06 Colin Watson <cjwatson@ubuntu.com>
11811
11812 * term/gfxterm.c (repaint_schedulded): Rename to ...
11813 (repaint_scheduled): ... this. Update all callers.
11814 (repaint_was_schedulded): Rename to ...
11815 (repaint_was_scheduled): ... this. Update all callers.
11816
5357687a
CW
118172010-07-06 Colin Watson <cjwatson@ubuntu.com>
11818
11819 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11820 which we expect to be handled by upper layers.
11821
29d7e783
BC
118222010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11823
11824 * bus/usb/usbhub.c: #include time.h header.
11825
37582066
CW
118262010-07-06 Colin Watson <cjwatson@ubuntu.com>
11827
11828 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11829 entry_name also for entries without stat blocks (e.g. ".."); fixes
11830 corruption of the first entry in a directory.
11831
c8c06953
CW
118322010-07-06 Colin Watson <cjwatson@ubuntu.com>
11833
11834 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11835 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11836 doesn't work otherwise.
11837
e75056f1
CW
118382010-07-05 Colin Watson <cjwatson@ubuntu.com>
11839
11840 * docs/grub.texi (Features): Update list of supported file systems.
11841 (GNU/Linux): Update for GRUB 2.
11842 (Serial terminal): Remove mention of --disable-serial, which was a
11843 GRUB Legacy configure option. Update instructions to use
11844 `terminal_input' and `terminal_output' rather than `terminal'.
11845 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11846 configuration' and `Installing GRUB using grub-install'.
11847 (Menu entry editor): Update for GRUB 2.
11848 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11849 Document new -a, -u, and -v options.
11850 (initrd): New section.
11851 (initrd16): New section.
11852 (linux): New section.
11853 (linux16): New section.
11854 (search): The `var' argument to `--set' is optional.
11855 (GRUB only offers a rescue shell): Go into a little more detail on
11856 drive ordering.
11857
5cf69151
CW
118582010-07-05 Colin Watson <cjwatson@ubuntu.com>
11859
11860 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11861
e3f90044
CW
118622010-07-05 Colin Watson <cjwatson@ubuntu.com>
11863
11864 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11865 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11866
38d8f4f3
CW
118672010-07-05 Colin Watson <cjwatson@ubuntu.com>
11868
11869 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11870 install_prefix, in line with install_dos_part and install_bsd_part.
11871 Add new prefix variable, which is copied to install_prefix after
11872 comparing core.img in memory with the one read from disk in the
11873 no-embedding case, and use that rather than overwriting
11874 install_prefix immediately when installing to a partition.
11875 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11876 Bicakci.
11877
57ebd41e
GS
118782010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11879
11880 * configure.ac: Avoid == in test command, it's not portable.
11881 * util/grub.d/30_os-prober.in: Likewise.
11882
cb7f64b2
CW
118832010-07-04 Colin Watson <cjwatson@ubuntu.com>
11884
11885 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
11886
6b654bb0
GS
118872010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11888
11889 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
11890 multiple (top-level) partmaps.
11891
72a2026d
VS
118922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 11895 Reported by: Tino Keitel.
72a2026d 11896
df3eb88f
VS
118972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 Bidi and diacritics support.
11900
11901 * Makefile.in (widthspec.bin): New target.
11902 (widthspec.h): Likewise.
11903 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
11904 * autogen.sh: Generate unidata.c.
11905 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
11906 * commands/ls.c (grub_ls_list_devices): Likewise.
11907 (grub_ls_list_files): Likewise.
11908 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
11909 (grub_mini_cmd_lsmod): Likewise.
11910 * commands/read.c: Likewise.
11911 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
11912 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
11913 * lib/arg.c (grub_arg_show_help): Likewise.
11914 * lib/crypto.c (grub_password_get): Likewise.
11915 * normal/auth.c (grub_username_get): Likewise.
11916 * normal/misc.c (grub_normal_print_device_info): Likewise.
11917 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
11918 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
11919 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
11920 (normal/charset.c_DEPENDENCIES): New variable.
11921 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
11922 (pkglib_MODULES): Remove charset.mod.
11923 (charset_mod_SOURCES): Removed.
11924 (charset_mod_CFLAGS): Likewise.
11925 (charset_mod_LDFLAGS): Likewise.
11926 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
11927 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
11928 and term/tparm.c.
11929 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11930 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11931 (kernel_img_HEADERS): Add terminfo.h.
11932 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
11933 Fill ->font. Reverse ascii bitmaps.
11934 (grub_font_get_xheight): New function.
11935 * font/font.c (grub_font_get_string_width): Moved from here ...
11936 * gfxmenu/font.c (grub_font_get_string_width): ... here.
11937 * font/font.c (grub_font_draw_string): Moved from here ...
11938 * gfxmenu/font.c (grub_font_draw_string): ... here.
11939 * font/font.c (grub_font_dup_glyph): New function.
11940 (grub_font_blit_glyph): Likewise.
11941 (grub_font_blit_glyph_mirror): Likewise.
11942 (blit_comb): Likewise.
11943 (grub_font_construct_dry_run): Likewise.
11944 (grub_font_get_constructed_device_width): Likewise.
11945 (grub_font_construct_glyph): Likewise.
11946 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
11947 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
11948 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
11949 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
11950 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
11951 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
11952 (grub_font_get_xheight): New proto.
11953 (grub_font_get_constructed_device_width): Likewise.
11954 (grub_font_construct_glyph): Likewise.
11955 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
11956 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
11957 * include/grub/font.h (grub_font_draw_string): Moved from here ...
11958 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
11959 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
11960 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
11961 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
11962 (grub_console_getcharwidth): Likewise.
11963 * include/grub/misc.h (grub_xputs): New proto.
11964 (grub_puts): Inlined.
11965 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
11966 (grub_normal_get_line_counter): Removed.
11967 (grub_install_newline_hook): Likewise.
11968 (grub_normal_get_char_counter): New proto.
11969 (grub_normal_reset_more): Likewise.
11970 (grub_xputs_normal): Likewise.
11971 * include/grub/powerpc/ieee1275/console.h: Removed.
11972 * include/grub/sparc64/ieee1275/console.h: Likewise.
11973 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
11974 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
11975 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
11976 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
11977 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
11978 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
11979 (grub_term_input): Pass reference to self. All users updated.
11980 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
11981 Pass reference to self. New fields normal_color, highlight_color and
11982 data. All users updated.
11983 (grub_putchar): Removed.
11984 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
11985 (grub_unicode_estimate_width): New function.
11986 (grub_term_getcharwidth): Add defaults.
11987 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
11988 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
11989 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
11990 (grub_cls): Remove EXPORT_FUNC.
11991 (grub_setcolorstate): Inline.
11992 (grub_newline_hook): Removed.
11993 * include/grub/terminfo.h: Rewritten. All users updated.
11994 * include/grub/unicode.h: New file.
11995 * include/grub/video.h (grub_video_signed_rect): New type.
11996 * kern/emu/console.c (grub_console_highlight_color): Removed.
11997 (grub_console_normal_color): Likewise.
11998 (grub_console_standard_color): Made static.
11999 (grub_ncurses_putchar): Remove mapping.
12000 (grub_ncurses_getcharwidth): Removed.
12001 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12002 (grub_ncurses_setcolor): Removed.
12003 (grub_ncurses_getcolor): Likewise.
12004 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12005 (grub_console_putchar): ... this.
12006 (grub_console_putchar): Handle argument difference.
12007 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12008 console_init_early and console_init_lately.
12009 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12010 * kern/misc.c (grub_puts): Removed.
12011 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12012 (grub_vsnprintf_real): Remove str = NULL support.
12013 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12014 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12015 * kern/term.c (grub_putcode): Renamed to ...
12016 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12017 (grub_putchar): Removed.
12018 (grub_xputs_dumb): New function.
12019 (grub_xputs): New variable.
12020 * lib/charset.c: Move from here ...
12021 * normal/charset.c: ... to here.
12022 (grub_ucs4_to_utf8): New function.
12023 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12024 (join_types): New variable.
12025 (unpack_join): New function.
12026 (bidi_types): New variable.
12027 (unpack_bidi): New function.
12028 (get_bidi_type): Likewise.
12029 (get_join_type): Likewise.
12030 (is_mirrored): Likewise.
12031 (grub_unicode_get_comb_type): Likewise.
12032 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12033 (is_type_after): Likewise.
12034 (grub_unicode_aglomerate_comb): Likewise.
12035 (bidi_line_wrap): Likewise.
12036 (grub_bidi_line_logical_to_visual): Likewise.
12037 (grub_bidi_logical_to_visual): Likewise.
12038 (grub_unicode_mirror_code): Likewise.
12039 (grub_unicode_shape_code): Likewise.
12040 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12041 Don't use grub_putchar.
12042 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12043 (grub_normal_reader_init): Likewise.
12044 (grub_xputs_saved): New variable.
12045 (GRUB_MOD_INIT): Set grub_xputs.
12046 (GRUB_MOD_FINI): Restore grub_xputs.
12047 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12048 (menu_init): Avoid printing gfxmenu error.
12049 (show_menu): Use grub_normal_get_char_counter.
12050 * normal/menu_entry.c (update_screen): Fix out-of-array.
12051 (complete): Avoid NULL dereferencing.
12052 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12053 * normal/menu_text.c (print_spaces): Removed.
12054 (grub_print_ucs4): Likewise.
12055 (grub_print_message_indented): Use grub_print_ucs4.
12056 (print_message): Use grub_putcode.
12057 (print_entry): Hanlde diacritics.
12058 * normal/term.c (term_state): New type.
12059 (grub_more_lines): Removed.
12060 (term_states): New variable.
12061 (grub_normal_line_counter): Renamed to ..
12062 (grub_normal_char_counter): ...this. All users updated.
12063 (grub_normal_get_line_counter): Renamed to ...
12064 (grub_normal_get_char_counter): ... this.
12065 (grub_normal_reset_more): New function.
12066 (process_newline): Removed.
12067 (print_more): New function.
12068 (grub_install_newline_hook): Removed.
12069 (map_code): New function.
12070 (grub_puts_terminal): Use grub_print_ucs4.
12071 (putglyph): New function.
12072 (putcode_real): Likewise.
12073 (grub_putcode): Use putcode_real.
12074 (get_maxwidth): New function.
12075 (get_startwidth): Likewise.
12076 (print_ucs4_terminal): Likewise.
12077 (find_term_state): Likewise.
12078 (put_glyphs_terminal): Likewise.
12079 (print_backlog): Likewise.
12080 (print_ucs4_real): Likewise.
12081 (grub_print_ucs4): Likewise.
12082 (grub_xputs_normal): Likewise.
12083 * term/efi/console.c (grub_console_putchar): Output diacritics.
12084 (grub_console_getcharwidth): Removed.
12085 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12086 * term/gfxterm.c (clear_char): Free chars.
12087 (scroll_up): Avoid leaking memory.
12088 (grub_gfxterm_putchar): Support diacritics.
12089 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12090 * term/i386/pc/console.c (grub_console_term_output): Declare as
12091 GRUB_TERM_CODE_TYPE_VGA.
12092 * term/i386/pc/vga.c (grub_vga_term): Declare as
12093 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12094 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12095 GRUB_TERM_CODE_TYPE_VGA.
12096 * term/i386/vga_common.c (map_char): Removed.
12097 (grub_console_putchar): Likewise.
12098 (grub_console_getcharwidth): Likewise.
12099 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12100 (colors): Reordered to match terminfo.
12101 (grub_ofconsole_normal_color): Removed.
12102 (grub_ofconsole_writeesc): Likewise.
12103 (grub_ofconsole_highlight_color): Likewise.
12104 (grub_ofconsole_getcharwidth): Likewise.
12105 (grub_ofconsole_setcolorstate): Likewise.
12106 (grub_ofconsole_setcolor): Likewise.
12107 (grub_ofconsole_getcolor): Likewise.
12108 (grub_ofconsole_readkey): Renamed to ...
12109 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12110 key.
12111 (grub_ofconsole_checkkey): Removed.
12112 (grub_ofconsole_getkey): Likewise.
12113 (grub_ofconsole_getxy): Likewise.
12114 (grub_ofconsole_gotoxy): Likewise.
12115 (grub_ofconsole_cls): Likewise.
12116 (grub_ofconsole_refresh): Likewise.
12117 (grub_ofconsole_terminfo_input): New struct.
12118 (grub_ofconsole_terminfo_output): Likewise.
12119 (grub_ofconsole_term_input): Use terminfo.
12120 (grub_ofconsole_term_output): Likewise.
12121 (grub_console_init): Split into ...
12122 (grub_console_init_early): ...this and ...
12123 (grub_console_init_lately): ...this. Use terminfo.
12124 (grub_ofconsole_putchar): Renamed to ...
12125 (put): ... this. Remove mapping.
12126 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12127 * term/serial.c: Simplify using terminfo.
12128 (xpos): Removed.
12129 (ypos): Likewise.
12130 (keep_track): Likewise.
12131 (registered): Likewise.
12132 (input_buf): Likewise.
12133 (npending): Likewise.
12134 (serial_translate_key_sequence): Likewise.
12135 (fill_input_buf): Likewise.
12136 (grub_serial_checkkey): Likewise.
12137 (grub_serial_getkey): Likewise.
12138 (grub_serial_getxy): Likewise.
12139 (grub_serial_gotoxy): Likewise.
12140 (grub_serial_putchar): Likewise.
12141 (grub_serial_cls): Likewise.
12142 (grub_serial_setcolorstate): Likewise.
12143 (grub_serial_setcursor): Likewise.
12144 (serial_hw_init): Use serial_hw_fetch.
12145 (grub_serial_terminfo_input): New variable.
12146 (grub_serial_terminfo_output): Likewise.
12147 (grub_serial_term_input): Use terminfo.
12148 (grub_serial_term_output): Likewise.
12149 * term/terminfo.c (putstr): Use put.
12150 (grub_terminfo_all_free): New function
12151 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12152 (grub_terminfo_output_register): New function.
12153 (grub_terminfo_output_unregister): Likewise.
12154 (grub_terminfo_getxy): Likewise.
12155 (grub_terminfo_readkey): Likewise.
12156 (grub_terminfo_checkkey): Likewise.
12157 (grub_terminfo_getkey): Likewise.
12158 (grub_terminfo_input_init): Likewise.
12159 (print_terminfo): Likewise.
12160 (grub_cmd_terminfo): Handle encoding.
12161 (grub_terminfo_gotoxy): Track position.
12162 (grub_terminfo_cls): Likewise.
12163 (grub_terminfo_putchar): Likewise.
12164 (grub_terminfo_setcolorstate): Handle colors
12165 (grub_terminfo_cursor_on): This ...
12166 (grub_terminfo_cursor_off): ... and this merged into ...
12167 (grub_terminfo_setcursor): ... this.
12168 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12169 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12170 * unicode/BidiMirroring.txt: Likewise.
12171 * unicode/UnicodeData.txt: Likewise.
12172 * unicode/COPYING: Likewise.
12173 * util/grub-editenv.c (grub_putchar): Removed.
12174 (grub_xputs_real): New function.
12175 (grub_xputs): New variable.
12176 * util/grub-fstest.c (grub_putchar): Removed.
12177 (grub_xputs_real): New function.
12178 (grub_xputs): New variable.
12179 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12180 (grub_xputs_real): New function.
12181 (grub_xputs): New variable.
12182 * util/grub-probe.c (grub_putchar): Removed.
12183 (grub_xputs_real): New function.
12184 (grub_xputs): New variable.
12185 * util/grub-script-check.c (grub_putchar): Removed.
12186 (grub_xputs_real): New function.
12187 (grub_xputs): New variable.
12188 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12189 (grub_xputs_real): New function.
12190 (grub_xputs): New variable.
12191 * util/import_unicode.py: New file.
12192 * util/grub-mkfont.c (ft_errmsgs): New array.
12193 (grub_glyph_info): Make bitmap a pointer.
12194 (file_formats): New type WIDTH_SPEC.
12195 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12196 (options): Add width-spec.
12197 (help): Likewise.
12198 (add_char): Renamed to ...
12199 (add_glyph): ... this.
12200 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12201 (glyph_replace): New type.
12202 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12203 (add_char): New function.
12204 (add_subst): Likewise.
12205 (process_cursive): Likewise.
12206 (add_font): Handle GSUB.
12207 (write_font_width_spec): New function.
12208 (main): Sort glyphs.
12209 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12210 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12211 * kern/term.c (grub_cls): Moved from here...
12212 * normal/term.c (grub_cls): ... here.
12213
50f0bcda
CW
122142010-07-02 Colin Watson <cjwatson@ubuntu.com>
12215
12216 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12217 suitable for using within the format argument of printf when
12218 converting grub_size_t.
12219 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12220 "x" to convert grub_size_t arguments.
12221
40372103
VS
122222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12225 too long captions.
12226 (list_get_minimal_size): Take selection box into account.
12227
942a10c7
VS
122282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12231 NULL font.
12232
2bdb2892
CW
122332010-07-02 Colin Watson <cjwatson@ubuntu.com>
12234
12235 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12236 devices when iterating over /dev/disk/by-id; they will be handled
12237 later if appropriate, which they aren't always (e.g. LVM).
12238
e03ed6c1
CW
122392010-07-02 Colin Watson <cjwatson@ubuntu.com>
12240
12241 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12242 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12243 fails.
12244 (grub_halt): Likewise.
12245 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12246 reset-all fails.
12247 (grub_halt): Don't return, even if all of shut-down, power-off, and
12248 poweroff fail.
12249
47695765
CW
122502010-07-02 Colin Watson <cjwatson@ubuntu.com>
12251
12252 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12253 arguments, not three.
12254
507736c8
CW
122552010-07-02 Colin Watson <cjwatson@ubuntu.com>
12256
12257 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12258 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12259 LVM-on-RAID is handled correctly.
12260
e3c8cd37
CW
122612010-07-02 Colin Watson <cjwatson@ubuntu.com>
12262
12263 * docs/grub.texi (Changes from GRUB Legacy): New section.
12264 (Future): Fix typo.
12265
8d4a2fec
CW
122662010-07-02 Colin Watson <cjwatson@ubuntu.com>
12267
12268 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12269 grub.d/README accidentally ends up executable for one reason or
12270 another. Ignore it.
12271
1c4827be
VS
122722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12275 (gpt_partition_map_iterate): Support non-512B sectors.
12276
d9a0c941
VS
122772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12280 Tested by: Seth Goldberg.
12281
48f27e87
VS
122822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12285 Properly align mbi.
12286 Reported by: Seth Goldberg.
12287
b0c4f956
VS
122882010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * util/grub-mkrescue.in: Avoid module duplication.
12291
105a2e8c
SF
122922010-07-01 Sean Finney <seanius@seanius.net>
12293
12294 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12295
5944958c
SF
122962010-07-01 Sean Finney <seanius@seanius.net>
12297
12298 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12299
123002010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 * disk/lvm.c (grub_lvm_checkvalue): New function.
12303 (grub_lvm_check_flag): Likewise.
12304
b79889ba
RM
123052010-07-01 Robert Millan <rmh@gnu.org>
12306
12307 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12308 Support 'p' as partition separator on kernel of FreeBSD (used
12309 with GPT labels).
12310 (grub_util_biosdisk_get_grub_dev): Likewise.
12311
ec1d04f1
VS
123122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 Yeeloong firmware port.
12315
12316 * boot/mips/yeeloong/fwstart.S: New file.
12317 * bus/cs5536.c (gpiodump): New const.
12318 (set_io_space): New function.
12319 (set_iod): Likewise.
12320 (set_p2d): Likewise.
12321 (grub_cs5536_init_geode): Likewise.
12322 * commands/mips/yeeloong/lsspd.c: New file.
12323 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12324 (serial_mod_SOURCES): New variable.
12325 (serial_mod_CFLAGS): Likewise.
12326 (serial_mod_LDFLAGS): Likewise.
12327 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12328 term/terminfo.c and term/tparm.c.
12329 (pkglib_IMAGES): Add fwstart.img.
12330 (fwstart_img_SOURCES): New variable.
12331 (fwstart_img_CFLAGS): Likewise.
12332 (fwstart_img_ASFLAGS): Likewise.
12333 (fwstart_img_LDFLAGS): Likewise.
12334 (fwstart_img_FORMAT): Likewise.
12335 (pkglib_MODULES): Add lsspd.mod.
12336 (lsspd_mod_SOURCES): New variable.
12337 (lsspd_mod_CFLAGS): Likewise.
12338 (lsspd_mod_LDFLAGS): Likewise.
12339 (pkglib_MODULES): Add halt.mod.
12340 (halt_mod_SOURCES): New variable.
12341 (halt_mod_CFLAGS): Likewise.
12342 (halt_mod_LDFLAGS): Likewise.
12343 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12344 (serial_mod_SOURCES): Removed.
12345 (serial_mod_CFLAGS): Likewise.
12346 (serial_mod_LDFLAGS): Likewise.
12347 * disk/ata.c (check_device): New function.
12348 (grub_ata_device_initialize): Use check_device.
12349 (grub_ata_iterate): Recheck devices.
12350 (grub_ata_open): Likewise.
12351 (grub_atapi_iterate): Likewise.
12352 (grub_atapi_open): Likewise.
12353 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12354 (GRUB_ATA_CH1_PORT1): Likewise.
12355 (GRUB_ATA_CH0_PORT2): Likewise.
12356 (GRUB_ATA_CH1_PORT2): Likewise.
12357 * include/grub/mips/loongson.h: New file.
12358 * include/grub/mips/yeeloong/ec.h: Likewise.
12359 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12360 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12361 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12362 * include/grub/misc.h (grub_halt): Declare as noreturn.
12363 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12364 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12365 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12366 (UART_ENABLE_DTRRTS): Likewise.
12367 (UART_ENABLE_MODEM): Removed.
12368 (UART_ENABLE_OUT2): New const.
12369 * include/grub/term.h (grub_term_register_input_active): New function.
12370 (grub_term_register_output_active): Likewise.
12371 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12372 argument.
12373 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12374 (init_pci): New function.
12375 (grub_machine_init): Execute platform init when firmware. Init serial.
12376 (grub_halt): Implement.
12377 (grub_exit): Likewise.
12378 (grub_reboot): Likewise.
12379 * term/serial.c (serial_hw_init): Update macros.
12380 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12381 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12382 (image_targets): New target mipsel-yeeloong-flash.
12383 (generate_image): Support IMAGE_YEELOONG_FLASH.
12384 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12385 (grub_video_sm712_setup): Init card.
12386 (grub_video_sm712_set_palette): Removed.
12387 * video/sm712_init.c: New file.
12388
ff4a70d2
CW
123892010-06-30 Colin Watson <cjwatson@ubuntu.com>
12390
12391 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12392 PATH when running help2man and then run it on the unadorned
12393 executable names, rather than passing $(builddir)/* paths to
12394 help2man. This avoids the build directory ending up in generated
12395 manual pages.
12396
1246efeb
CW
123972010-06-29 Colin Watson <cjwatson@ubuntu.com>
12398
12399 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12400 to avoid accidents when debugging with 'sh -x'.
12401 * util/grub-mkrescue.in: Likewise.
12402 * util/grub.d/00_header.in: Likewise.
12403 * util/grub.d/10_hurd.in: Likewise.
12404 * util/grub.d/10_kfreebsd.in: Likewise.
12405 * util/grub.d/10_linux.in: Likewise.
12406 * util/grub.d/10_netbsd.in: Likewise.
12407 * util/grub.d/10_windows.in: Likewise.
12408 * util/grub.d/20_linux_xen.in: Likewise.
12409 * util/grub.d/30_os-prober.in: Likewise.
12410 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12411
1ba9b889
CW
124122010-06-29 Colin Watson <cjwatson@ubuntu.com>
12413
12414 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12415 last character in the buffer.
12416 Reported by: Vladimir Serbinenko.
12417
dccaf99d
RM
124182010-06-29 Robert Millan <rmh@gnu.org>
12419
12420 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12421 (Command-line and menu entry commands): Document `badram' command.
12422
d500ed12
RM
124232010-06-28 Robert Millan <rmh@gnu.org>
12424
12425 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12426 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12427 command using ${GRUB_BADRAM} as parameter.
12428
20bc84a6
CW
124292010-06-28 Colin Watson <cjwatson@ubuntu.com>
12430
12431 * docs/grub.texi (Device map): New section.
12432 (Themes): New section (stub).
12433 * Makefile.in (docs/grub.info): The info documentation now builds
12434 without errors. Make sure it stays that way.
12435
4045dee1
VS
124362010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 Use normal parser for menu entries.
12439 Reported by: Thomas Frauendorfer
12440
12441 * include/grub/parser.h (grub_parser_execute): Don't export.
12442 * normal/menu.c (grub_menu_execute_entry_real): New function.
12443 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12444
bca58c7b
CW
124452010-06-28 Colin Watson <cjwatson@ubuntu.com>
12446
12447 * docs/grub.texi (Embedded configuration): New section (replacing
12448 old "Preset Menu" stub).
12449 (Images): New section.
12450 (configfile): Note that any menu entries defined in `file' are shown
12451 immediately.
12452
dec53e63
JT
124532010-06-28 Josh Triplett <josh@joshtriplett.org>
12454
12455 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12456
c06e40f7
CW
124572010-06-28 Colin Watson <cjwatson@ubuntu.com>
12458
12459 * util/grub-install.in: Add --debug-image= option.
12460
cb88052b
CW
124612010-06-28 Colin Watson <cjwatson@ubuntu.com>
12462
12463 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12464 possible on Linux.
12465
12466 * util/deviceiter.c (check_device): Rename to ...
12467 (check_device_readable_unique): ... this. Update all callers.
12468 Maintain and check a list of which devices (by canonicalized name)
12469 have already been seen.
12470 (clear_seen_devices): New function.
12471 (compare_file_names) [__linux__]: New function.
12472 (grub_util_iterate_devices): Clear the list of seen devices on exit
12473 and (just in case) on entry.
12474 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12475 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12476 seen-devices list, superseded by general code in check_device.
12477
bbe34652
CW
124782010-06-28 Colin Watson <cjwatson@ubuntu.com>
12479
12480 * commands/cat.c (options): New variable.
12481 (grub_cmd_cat): Parse options. If the --dos option is given, print
12482 DOS-style "\r\n" line endings as simple newlines (Debian bug
12483 #586358).
12484 (GRUB_MOD_INIT): Use extcmd.
12485 (GRUB_MOD_FINI): Likewise.
12486 * docs/grub.texi (cat): Document --dos.
12487
412e09f3
VS
124882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 XEN with Linux grub-mkconfig support.
12491
12492 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12493 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12494 GRUB_CMDLINE_XEN_DEFAULT.
12495 * util/grub.d/20_linux_xen.in: New file.
12496
53f3ef38 124972010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
12498
12499 Initialise VGA video on qemu ourselves.
12500
12501 * boot/i386/qemu/boot.S: Don't call 0xc000.
12502 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12503 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12504 (kernel_img_HEADERS): Add pci.h.
12505 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12506 * configure.ac: Force unifont on qemu and yeeloong.
12507 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12508 (grub_vga_palette_write): Use correct register.
12509 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12510 Call grub_qemu_init_cirrus.
12511 * kern/i386/qemu/init.c: New file.
12512 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12513
12514 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12515
c75be4fb
PR
125162010-06-26 Pavel Roskin <proski@gnu.org>
12517
12518 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12519 13.
12520
d8034603
CW
125212010-06-26 Colin Watson <cjwatson@ubuntu.com>
12522
12523 * docs/grub.texi (Simple configuration): Explain that
12524 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12525 set to `true' to disable their respective recovery entries, not
12526 merely set.
12527
3fa06487
CW
125282010-06-26 Colin Watson <cjwatson@ubuntu.com>
12529
12530 Make the `source' command slightly faster.
12531
12532 * normal/main.c (grub_normal_execute): Don't re-read list files when
12533 nested.
12534
e9b29642
CW
125352010-06-23 Colin Watson <cjwatson@ubuntu.com>
12536
12537 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12538 field position and mask size to red fields from mode_info, not
12539 green.
12540 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12541 Remove redundant tag->common.framebuffer_type assignment.
12542 Reported by: Seth Goldberg.
12543
e726542f
CW
125442010-06-23 Colin Watson <cjwatson@ubuntu.com>
12545
12546 Sync up other versions of the Linux loader with Robert Millan's
12547 change of 2010-01-09, "Make loader output a bit more user-friendly".
12548
12549 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12550 grub_dprintf().
12551 (grub_cmd_linux): Likewise.
12552 (grub_cmd_initrd): Likewise.
12553 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12554 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12555
d6e98a17
CW
125562010-06-21 Colin Watson <cjwatson@ubuntu.com>
12557
12558 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12559 larger than MEMORY_MAP_SIZE.
12560
14d3f08e
BC
125612010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12562
12563 Fix parallel build.
12564
12565 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12566 dependency.
12567 * script/parser.y: #include grub_script.tab.h header.
12568
4f9613a3
VS
125692010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 Support >3GiB and <16MiB RAM in i386-qemu.
12572
12573 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12574 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12575 (grub_lower_mem): Removed.
12576 (grub_upper_mem): Likewise.
12577 (mem_size): Made static.
12578 (above_4g): New variable.
12579 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12580 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12581 support.
12582
05e51879
VS
125832010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 Cirrus 5446 and Bochs video cards support.
12586
12587 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12588 video_bochs.mod
12589 (video_cirrus_mod_SOURCES): New variable.
12590 (video_cirrus_mod_CFLAGS): Likewise.
12591 (video_cirrus_mod_LDFLAGS): Likewise.
12592 (video_bochs_mod_SOURCES): Likewise.
12593 (video_bochs_mod_CFLAGS): Likewise.
12594 (video_bochs_mod_LDFLAGS): Likewise.
12595 * include/grub/vga.h: New file.
12596 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12597 (grub_video_fb_set_page_t): New type.
12598 (grub_video_fb_setup): New prototype.
12599 (grub_video_fb_swap_buffers): Likewise.
12600 (grub_video_fb_get_info_and_fini): Likewise.
12601 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12602 (CRTC_DATA_PORT): Likewise.
12603 (CRTC_CURSOR): Likewise.
12604 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12605 (CRTC_CURSOR_ADDR_LOW): Likewise.
12606 (CRTC_CURSOR_DISABLE): Likewise.
12607 (update_cursor): Use grub_vga_cr_write.
12608 (grub_vga_text_setcursor): Likewise.
12609 * video/bochs.c: New file.
12610 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12611 (palette): Likewise.
12612 (palette_size): Likewise.
12613 (framebuffer): New variable.
12614 (grub_video_fb_init): Use 'framebuffer'.
12615 (grub_video_fb_fini): Likewise.
12616 (grub_video_fb_get_info): Likewise.
12617 (grub_video_fb_get_palette): Likewise.
12618 (grub_video_fb_set_palette): Likewise.
12619 (grub_video_fb_set_viewport): Likewise.
12620 (grub_video_fb_get_viewport): Likewise.
12621 (grub_video_fb_map_color): Likewise.
12622 (grub_video_fb_map_rgb): Likewise.
12623 (grub_video_fb_map_rgba): Likewise.
12624 (grub_video_fb_unmap_color): Likewise.
12625 (grub_video_fb_unmap_color_int): Likewise.
12626 (grub_video_fb_fill_rect): Likewise.
12627 (grub_video_fb_blit_bitmap): Likewise.
12628 (grub_video_fb_blit_render_target): Likewise.
12629 (grub_video_fb_scroll): Likewise.
12630 (grub_video_fb_create_render_target): Likewise.
12631 (grub_video_fb_doublebuf_blit_init): Likewise.
12632 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12633 (doublebuf_pageflipping_update_screen): New function.
12634 (doublebuf_pageflipping_init): Likewise.
12635 (grub_video_fb_setup): Likewise.
12636 (grub_video_fb_swap_buffers): Likewise.
12637 (grub_video_fb_get_info_and_fini): Likewise.
12638 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12639 All users updated.
12640 (doublebuf_pageflipping_commit): Restructured into ...
12641 (doublebuf_pageflipping_set_page): ... this.
12642 (doublebuf_pageflipping_update_screen): Removed.
12643 (doublebuf_pageflipping_init): Likewise.
12644 (double_buffering_init): Likewise.
12645 (grub_video_vbe_setup): Use grub_video_fb_setup.
12646 (grub_video_vbe_swap_buffers): Removed.
12647 (grub_video_vbe_set_active_render_target): Likewise.
12648 (grub_video_vbe_get_active_render_target): Likewise.
12649 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12650 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12651 grub_video_fb_set_active_render_target and
12652 grub_video_fb_get_active_render_target.
12653 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12654 (SEQUENCER_DATA_PORT): Likewise.
12655 (MAP_MASK_REGISTER): Likewise.
12656 (CRTC_ADDR_PORT): Likewise.
12657 (CRTC_DATA_PORT): Likewise.
12658 (START_ADDR_HIGH_REGISTER): Likewise.
12659 (START_ADDR_LOW_REGISTER): Likewise.
12660 (GRAPHICS_ADDR_PORT): Likewise.
12661 (GRAPHICS_DATA_PORT): Likewise.
12662 (READ_MAP_REGISTER): Likewise.
12663 (INPUT_STATUS1_REGISTER): Likewise.
12664 (INPUT_STATUS1_VERTR_BIT): Likewise.
12665 (get_map_mask): Use grub_vga_sr_read.
12666 (set_map_mask): Use grub_vga_sr_write.
12667 (set_read_map): Use grub_vga_gr_write.
12668 (set_start_address): Use grub_vga_cr_write.
12669 * video/sm712.c (framebuffer): Remove leftover fields.
12670
4321c64a
CW
126712010-06-20 Colin Watson <cjwatson@ubuntu.com>
12672
12673 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12674 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12675 instead. Replace the gfxterm backend check with a check that
12676 ${GRUB_PREFIX}/video.lst is non-empty.
12677 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12678 again.
12679 (load_video): New generated function. Call it before loading
12680 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12681 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12682 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12683 * docs/grub.texi (Simple configuration): Document
12684 GRUB_VIDEO_BACKEND.
12685
126862010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 Use video functions in linux and xnu loaders.
12689
12690 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12691 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12692 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12693 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12694 loader/i386/pc/linux.c.
12695 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12696 (find_line_len): Removed.
12697 (find_framebuf): Likewise.
12698 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12699 * loader/i386/efi/xnu.c: Removed.
12700 * loader/i386/pc/xnu.c: Moved from here...
12701 * loader/i386/xnu.c: ...here.
12702
12703 Enable priorities in video drivers.
12704
12705 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12706 (grub_video_adapter): New field prio.
12707 (grub_video_register): Respect prio when inserting.
12708 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12709 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12710 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12711 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12712 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12713 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12714 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12715
12716 Fix SDL driver ID.
12717
12718 * include/grub/video.h (grub_video_driver_id_t): New value
12719 GRUB_VIDEO_DRIVER_SDL.
12720 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12721
7d24e434
CW
127222010-06-17 Colin Watson <cjwatson@ubuntu.com>
12723
12724 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12725 argument to printf.
12726 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12727
c88a83f6
CW
127282010-06-17 Colin Watson <cjwatson@ubuntu.com>
12729
12730 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12731 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12732
094dfb69
CW
127332010-06-17 Colin Watson <cjwatson@ubuntu.com>
12734
12735 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12736 directly, and recommend grub-install instead.
12737 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12738
2164da6b
CW
127392010-06-17 Colin Watson <cjwatson@ubuntu.com>
12740
12741 Fix i386-pc prefix handling with nested partitions (Debian bug
12742 #585068). Note that the case where the core image is booted using
12743 multiboot and relocated from its original location still requires
12744 more work.
12745
12746 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12747 with "(,", fill the boot drive in between those two characters, but
12748 expect that a full partition specification including partition map
12749 names will follow.
12750 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12751 specified, write a prefix without the drive name but including a
12752 full partition specification.
12753
044e2e60
CW
127542010-06-16 Colin Watson <cjwatson@ubuntu.com>
12755
12756 * util/grub-mkconfig.in: Ignore non-option arguments, for
12757 compatibility with older versions (before 2010-06-12) which did the
12758 same. In particular, this makes it easier to ship an update-grub
12759 wrapper which is compatible with that used with GRUB Legacy (Debian
12760 bug #586056).
12761
5591324f
GS
127622010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12763
12764 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12765 for manual page generation.
12766
662e24d5
GS
127672010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12768
12769 * po/POTFILES: Remove leftover commands/handler.c.
12770
8d70754e
CW
127712010-06-14 Colin Watson <cjwatson@ubuntu.com>
12772
12773 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12774 left this script non-functional.
12775
41160e2e
CW
127762010-06-14 Colin Watson <cjwatson@ubuntu.com>
12777
12778 * docs/man/grub-emu.h2m: New file.
12779
b5309cc1
CW
127802010-06-13 Colin Watson <cjwatson@ubuntu.com>
12781
12782 * docs/grub.texi (Commands): Document reduced command set in rescue
12783 mode.
12784 (cpuid): New section.
12785
fcb2d090
GS
127862010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12787
12788 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12789 new partition naming style.
12790 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12791
96e5c556
BC
127922010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12793
12794 Add "-o grub.iso" like cmdline options support.
12795
12796 * util/grub-install.in: Improve cmdline option parsing.
12797 * util/grub-mkconfig.in: Likewise.
12798 * util/grub-mkrescue.in: Likewise.
12799 * util/grub-reboot.in: Likewise.
12800 * util/grub-set-default.in: Likewise.
12801 * util/i386/efi/grub-install.in: Likewise.
12802 * util/ieee1275/grub-install.in: Likewise.
12803 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12804
c16be99b
CW
128052010-06-12 Colin Watson <cjwatson@ubuntu.com>
12806
12807 * .bzrignore: Ignore 41_custom.
12808
ce08a9fb
TS
128092010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12810
12811 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12812
7beac90c
CW
128132010-06-12 Colin Watson <cjwatson@ubuntu.com>
12814
12815 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12816 prototype declarations.
12817
12818 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12819 generating fs, partmap, and video lists.
12820 * include/grub/fs.h (grub_fs_register): Omit prototype if
12821 GRUB_LST_GENERATOR is defined.
12822 * include/grub/partition.h (grub_partition_map_register): Likewise.
12823 * include/grub/video.h (grub_video_register): Likewise.
12824
1c8f0f8d
JM
128252010-06-12 Javier Martín <lordhabbit@gmail.com>
12826
12827 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12828
a6085973
TS
128292010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12830
12831 * util/grub-mkrescue.in: Support --xorriso argument.
12832
25c56d29
VS
128332010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12836 Suggested by: Thomas Schmitt.
12837
e03e4b24
VS
128382010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12841 Suggested by: Thomas Schmitt.
12842
57711df6
VS
128432010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 custom.cfg support.
12846
12847 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12848 * util/grub.d/41_custom.in: New file.
12849
ee62c427
CW
128502010-06-12 Colin Watson <cjwatson@ubuntu.com>
12851
12852 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12853 been merged back into normal.
12854
283af07a
CW
128552010-06-11 Colin Watson <cjwatson@ubuntu.com>
12856
12857 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12858 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12859
56a0d956
CW
128602010-06-11 Colin Watson <cjwatson@ubuntu.com>
12861
12862 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12863 when generating manual pages.
12864 * docs/man/grub-bin2h.h2m: New file.
12865 * docs/man/grub-editenv.h2m: New file.
12866 * docs/man/grub-fstest.h2m: New file.
12867 * docs/man/grub-install.h2m: New file.
12868 * docs/man/grub-macho2img.h2m: New file.
12869 * docs/man/grub-mkconfig.h2m: New file.
12870 * docs/man/grub-mkdevicemap.h2m: New file.
12871 * docs/man/grub-mkfont.h2m: New file.
12872 * docs/man/grub-mkimage.h2m: New file.
12873 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12874 * docs/man/grub-mkrelpath.h2m: New file.
12875 * docs/man/grub-mkrescue.h2m: New file.
12876 * docs/man/grub-ofpathname.h2m: New file.
12877 * docs/man/grub-pe2elf.h2m: New file.
12878 * docs/man/grub-probe.h2m: New file.
12879 * docs/man/grub-reboot.h2m: New file.
12880 * docs/man/grub-script-check.h2m: New file.
12881 * docs/man/grub-set-default.h2m: New file.
12882 * docs/man/grub-setup.h2m: New file.
12883
3a37e322
VS
128842010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
12885
12886 Use FOR_* macros instead of *_iterate whenever possible.
12887
12888 * commands/handler.c: Removed.
12889 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
12890 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
12891 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12892 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
12893 (grub_probe_SOURCES): Remove kern/parser.c.
12894 (util/grub-script-check.c_DEPENDENCIES): Removed.
12895 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
12896 and grub_script_check_init.c.
12897 (grub_script_check_init.lst): Removed.
12898 (grub_script_check_init.h): Likewise.
12899 (grub_script_check_init.c): Likewise.
12900 (pkglib_MODULES): Remove handler.mod and sh.mod.
12901 (handler_mod_SOURCES): Removed.
12902 (handler_mod_CFLAGS): Likewise.
12903 (handler_mod_LDFLAGS): Likewise.
12904 (normal_mod_SOURCES): Remove normal/handler.c.
12905 Add script/main.c, script/script.c, script/execute.c,
12906 script/function.c, script/lexer.c, grub_script.tab.c
12907 and grub_script.yy.c.
12908 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12909 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12910 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
12911 (grub_setup_SOURCES): Remove kern/parser.c.
12912 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12913 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
12914 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12915 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12916 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12917 (grub_setup_SOURCES): Remove kern/parser.c.
12918 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12919 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
12920 * include/grub/command.h (grub_command_iterate): Removed.
12921 (FOR_COMMANDS): New macro.
12922 * include/grub/dl.h (grub_dl): New member next.
12923 (grub_dl_iterate): Removed.
12924 (grub_dl_head): New variable declaration.
12925 (FOR_DL_MODULES): New macro.
12926 * include/grub/fs.h: Include list.h.
12927 (grub_fs): Make next first element.
12928 (grub_fs_list): New variable declaration.
12929 (grub_fs_register): Make inline.
12930 (grub_fs_unregister): Likewise.
12931 (grub_fs_iterate): Removed.
12932 (FOR_FILESYSTEMS): New macro.
12933 * include/grub/handler.h: Removed.
12934 * include/grub/list.h (grub_list_hook_t): Removed.
12935 (grub_list_test_t): Likewise.
12936 (grub_list_pop): Likewise.
12937 (grub_list_iterate): Likewise.
12938 (grub_list_insert): Likewise.
12939 (FOR_LIST_ELEMENTS): New macro.
12940 * include/grub/parser.h (grub_parser_class): Removed.
12941 (grub_parser_register): Likewise.
12942 (grub_parser_unregister): Likewise.
12943 (grub_parser_get_current): Likewise.
12944 (grub_parser_set_current): Likewise.
12945 (grub_register_rescue_parser): Likewise.
12946 (grub_rescue_parse_line): New function.
12947 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
12948 * include/grub/script_sh.h (grub_script_function_list): New variable
12949 declaration.
12950 (FOR_SCRIPT_FUNCTIONS): New macro.
12951 (grub_script_function_iterate): Removed.
12952 (grub_normal_parse_line): New prototype.
12953 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
12954 (FOR_DISABLED_TERM_INPUTS): Likewise.
12955 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12956 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12957 * include/grub/video.h (grub_video_adapter): Move 'next' to first
12958 element.
12959 (grub_video_register): Inline.
12960 (grub_video_unregister): Likewise.
12961 (grub_video_adapter_list): New variable declaration.
12962 (grub_video_iterate): Removed.
12963 (FOR_VIDEO_ADAPTERS): New macro.
12964 * kern/dl.c (grub_dl_list): Removed. All users updated.
12965 (grub_dl_iterate): Removed.
12966 * kern/fs.c (grub_fs_list): Make global.
12967 (grub_fs_register): Removed.
12968 (grub_fs_unregister): Likewise.
12969 (grub_fs_iterate): Likewise.
12970 * kern/handler.c: Removed.
12971 * kern/list.c (grub_list_pop): Removed.
12972 (grub_list_iterate): Likewise.
12973 (grub_list_insert): Likewise.
12974 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
12975 (grub_prio_list_insert): Don't use grub_list_insert.
12976 * kern/main.c (grub_register_rescue_parser): Don't call
12977 grub_register_rescue_parser.
12978 * kern/parser.c (grub_parser_class): Removed.
12979 (grub_parser_execute): Use grub_rescue_parse_line.
12980 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
12981 (grub_rescue_parser): Removed.
12982 (grub_register_rescue_parser): Likewise.
12983 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
12984 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
12985 (grub_auth_check_authentication): Likewise.
12986 * normal/completion.c (iterate_command): Removed.
12987 (grub_normal_do_completion): Use FOR_COMMANDS.
12988 * normal/handler.c: Removed.
12989 * normal/main.c (read_config_file): Remove parser changing.
12990 (grub_normal_execute): Don't call read_handler_list.
12991 (grub_normal_read_line_real): Statically allocate prompt.
12992 (grub_cmdline_run): Use grub_normal_parse_line.
12993 (GRUB_MOD_FINI): Don't call free_handler_list.
12994 * normal/menu_entry.c (run): Likewise.
12995 * script/function.c (grub_script_function_list): Make global.
12996 (grub_script_function_iterate): Removed.
12997 * script/main.c (grub_normal_parse_line): Make global.
12998 (grub_sh_parser): Removed.
12999 (GRUB_MOD_INIT): Likewise.
13000 (GRUB_MOD_FINI): Likewise.
13001 * tests/lib/functional_test.c (grub_functional_test): Use
13002 FOR_LIST_ELEMENTS.
13003 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13004 (grub_test_run): Use FOR_LIST_ELEMENTS.
13005 * tests/lib/unit_test.c (main): Likewise.
13006 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13007 grub_list_pop.
13008 * util/grub-fstest.c (grub_term_input_class): Removed.
13009 (grub_term_output_class): Likewise.
13010 * util/grub-probe.c: Likewise.
13011 * util/i386/pc/grub-setup.c: Likewise.
13012 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13013 * util/grub-script-check.c (main): Don't call grub_init_all and
13014 grub_fini_all.
13015 * video/video.c (grub_video_adapter_list): Make global.
13016 (grub_video_register): Removed.
13017 (grub_video_unregister): Likewise.
13018 (grub_video_iterate): Likewise.
13019
6289c3a7
VS
130202010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13021
13022 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13023 reported by Henrique Ferreiro.
13024
91460247
RM
130252010-06-09 Robert Millan <rmh@gnu.org>
13026
13027 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13028 ones, when both are available.
13029
0ea7c4f9
GS
130302010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13031
13032 Make --version uniform and avoid hard-coded program name.
13033
13034 * util/grub-mkimage.c (main): Use `program_name' instead of
13035 hard-coded string.
13036 * util/i386/pc/grub-setup.c (main): Likewise.
13037 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13038 * util/grub-install.in: Save the basename of $0 in $self, and use the
13039 latter in informational messages. Use the same format for --version
13040 as the binary programs.
13041 * util/grub-mkconfig.in: Likewise.
13042 * util/grub-mkrescue.in: Likewise.
13043 * util/grub-reboot.in: Likewise.
13044 * util/grub-set-default.in: Likewise.
13045 * util/i386/efi/grub-install.in: Likewise.
13046 * util/ieee1275/grub-install.in: Likewise.
13047 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13048
e8a6f3b6
GS
130492010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13050
13051 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13052 embedding area. Use <= instead of == when checking for non-emptiness.
13053
f4d095d7
GS
130542010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13055
13056 * configure.ac: Add `.' to the directories searched for unifont.
13057
50e532ca
CW
130582010-06-08 Colin Watson <cjwatson@ubuntu.com>
13059
13060 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13061 grub_script.yy.h.
13062
d39f3dec
CW
130632010-06-08 Colin Watson <cjwatson@ubuntu.com>
13064
13065 * docs/grub.texi (History): Expand to cover GRUB 2.
13066 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13067 commands, not `terminal'.
13068 (serial): Likewise.
13069 (terminal_input): New section.
13070 (terminal_output): New section.
13071 (uppermem): New section (stub).
13072 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13073
6ef0ddb4
CW
130742010-06-08 Colin Watson <cjwatson@ubuntu.com>
13075
13076 * docs/grub.texi (Security): Menu entries are unrestricted by
13077 default, not restricted to superusers as I had previously thought.
13078 Reword to account for this.
13079
e0f4c438
CW
130802010-06-07 Colin Watson <cjwatson@ubuntu.com>
13081
13082 * kern/emu/misc.c (device_mapper_null_log): New function.
13083 (grub_device_mapper_supported): New function.
13084 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13085 prototype.
13086 * kern/emu/hostdisk.c (find_partition_start): Check whether
13087 device-mapper is supported before trying to use it.
13088 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13089
da908200
CW
130902010-06-07 Colin Watson <cjwatson@ubuntu.com>
13091
13092 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13093 (File name syntax): Likewise.
13094 (help): --all is no longer supported in GRUB 2. Be more precise
13095 about pattern matching.
13096
fb55c3ac
CW
130972010-06-07 Colin Watson <cjwatson@ubuntu.com>
13098
13099 * normal/completion.c (grub_normal_do_completion): When completing
13100 arguments to "set" and the current word contains an equals sign,
13101 skip to after the equals sign before starting completion.
13102
258c2573
CW
131032010-06-07 Colin Watson <cjwatson@ubuntu.com>
13104
13105 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13106
ee75515e
CW
131072010-06-07 Colin Watson <cjwatson@ubuntu.com>
13108
13109 * docs/grub.texi (Network): New section.
13110 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13111 `(nd)' as in GRUB Legacy.
13112 (pxe_unload): New section.
13113
a6a700aa
CW
131142010-06-07 Colin Watson <cjwatson@ubuntu.com>
13115
13116 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13117 in the rescue shell, so recommend using `set' instead. Thanks,
13118 Jordan Uggla.
13119
4003dd38
CW
131202010-06-07 Colin Watson <cjwatson@ubuntu.com>
13121
13122 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13123 (password): New section.
13124 (password_pbkdf2): New section.
13125 (search): New section.
13126 (Security): New section.
13127 (Troubleshooting): New section, currently very incomplete.
13128 (Invoking grub-mkpasswd-pbkdf2): New section.
13129 (Internals): New section, currently very incomplete.
13130
e1cbcc40
CW
131312010-06-07 Colin Watson <cjwatson@ubuntu.com>
13132
13133 * util/grub.d/00_header.in: Add some more quoting (of
13134 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13135 work again.
13136 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13137
db8fa1ad
CW
131382010-06-07 Colin Watson <cjwatson@ubuntu.com>
13139
13140 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13141 to `count', fixing variable shadowing that broke the -c option.
13142
131432010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
13144
13145 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13146 in case they contain spaces.
13147
f28a9212
CW
131482010-06-04 Colin Watson <cjwatson@ubuntu.com>
13149
13150 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13151 "part_" to partmap module names, in line with grub-install.
13152 Reported by: Jindřich Makovička (Debian bug #584426).
13153
9cdfe32f
CW
131542010-06-04 Colin Watson <cjwatson@ubuntu.com>
13155
13156 * util/grub-mkimage.c: Make target-related error messages slightly
13157 more helpful; -O talks about "format". Explicitly point to the use
13158 of -O if no target is specified.
13159 Reported by: Didier Raboud (Debian bug #584415).
13160
795b593a
CW
131612010-06-03 Colin Watson <cjwatson@ubuntu.com>
13162
13163 * INSTALL: Document several build requirements for optional features
13164 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13165
9d9b5833
GS
131662010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13167
13168 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13169 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13170 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13171
0819fec8
CW
131722010-06-02 Colin Watson <cjwatson@ubuntu.com>
13173
13174 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13175 Thanks to Jordan Uggla for spotting this.
13176
49396b4f
VS
131772010-06-02 Aleš Nesrsta <starous@volny.cz>
13178
13179 Finally make USB usable.
13180
13181 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13182 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13183 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13184 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13185 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13186 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13187 (GRUB_OHCI_FSMPS): Likewise.
13188 (GRUB_OHCI_PERIODIC_START): Likewise.
13189 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13190 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13191 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13192 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13193 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13194 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13195 (grub_ohci_transaction): Likewise.
13196 (grub_ohci_transfer): Improve condition detection algorithms.
13197 Handle toggle property. Program the transactions correctly.
13198 Improve error handling. Various important fixups.
13199 (grub_ohci_portstatus): Put register writes in right order.
13200 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13201 (grub_uhci_transfer): Don't show "failed" message on success.
13202 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13203 array.
13204 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13205 determine its size.
13206 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13207 before initialization is completed. Use IN direction for empty
13208 transfers. Use last_trans and compute toggle.
13209 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13210 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13211 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13212 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13213 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13214 (grub_usb_device): Increase toggle to 256.
13215 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13216 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13217 GRUB_USBMS_SUBCLASS_SFF8070.
13218 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13219 (grub_scsi_inquiry): New member page and alloc_length.
13220 (grub_scsi_request_sense): New structure.
13221 (grub_scsi_request_sense_data): Likewise.
13222 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13223 control.
13224 * disk/scsi.c (grub_scsi_request_sense): New function.
13225 (grub_scsi_test_unit_ready): Likewise.
13226 (grub_scsi_inquiry): Fill new fields.
13227 (grub_scsi_read_capacity): Likewise.
13228 (grub_scsi_read10): Add request sense at the end.
13229 (grub_scsi_read12): Likewise.
13230 (grub_scsi_write10): Likewise.
13231 (grub_scsi_write12): Likewise.
13232 (grub_scsi_open): Add Test Unit Ready.
13233 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13234 Support additional subclasses. Con't clear halt yet. Activate the
13235 proper config. Calculate LUNs correctly.
13236 (grub_usbms_transfer): Various important fixups.
13237
132382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13241 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13242 (grub_ohci_fini_hw): New function.
13243 (grub_ohci_restore_hw): Likewise.
13244 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13245 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13246 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13247
132482010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 Dedicated DMA allocations.
13251
13252 * bus/pci.c (grub_memalign_dma32): New function
13253 (grub_dma_free): Likewise.
13254 (grub_dma_get_virt): Likewise.
13255 (grub_dma_get_phys): Likewise.
13256 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13257 (grub_ohci_pci_iter): Use dma32_alloc.
13258 (grub_ohci_transfer): Likewise.
13259 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13260 (grub_usb_bulk_readwrite): Likewise.
13261 * include/grub/pci.h: Add declarations.
13262
132632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 CS5536 support.
13266
13267 * bus/cs5536.c: New file.
13268 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13269 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13270 (cs5536_mod_SOURCES): New variable.
13271 (cs5536_mod_CFLAGS): Likewise.
13272 (cs5536_mod_LDFLAGS): Likewise.
13273 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13274 machine/pci.h.
13275 (kernel_img_SOURCES): Add bus/cs5536.c.
13276 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13277 usb_keyboard.mod.
13278 (usb_mod_SOURCES): New variable.
13279 (usb_mod_CFLAGS): New variable.
13280 (usb_mod_LDFLAGS): New variable.
13281 (usbtest_mod_SOURCES): New variable.
13282 (usbtest_mod_CFLAGS): New variable.
13283 (usbtest_mod_LDFLAGS): New variable.
13284 (ohci_mod_SOURCES): New variable.
13285 (ohci_mod_CFLAGS): New variable.
13286 (ohci_mod_LDFLAGS): New variable.
13287 (usbms_mod_SOURCES): New variable.
13288 (usbms_mod_CFLAGS): New variable.
13289 (usbms_mod_LDFLAGS): New variable.
13290 (usb_keyboard_mod_SOURCES): New variable.
13291 (usb_keyboard_mod_CFLAGS): New variable.
13292 (usb_keyboard_mod_LDFLAGS): New variable.
13293 * include/grub/smbus.h: New file.
13294 * include/grub/cs5536.h: New file.
13295
0b35b2a9
CW
132962010-06-02 Colin Watson <cjwatson@ubuntu.com>
13297
13298 * util/grub.d/00_header.in: Add safety check to make sure that
13299 ${locale_dir} exists before trying to probe it.
13300
ca0afd5b
CW
133012010-06-02 Colin Watson <cjwatson@ubuntu.com>
13302
13303 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13304 per the GNU Coding Standards; this is now too obscure to be worth
13305 documenting.
13306 (QNX): Likewise.
13307 (chainloader): Remove cross-reference to `SCO UnixWare'.
13308
1c41aa78
CW
133092010-06-02 Colin Watson <cjwatson@ubuntu.com>
13310
13311 * docs/grub.texi (Chain-loading): New section.
13312 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13313 adjusted for GRUB 2.
13314 (SCO UnixWare): Likewise.
13315 (QNX): Likewise.
13316 (chainloader): Add reference to `Block list syntax'.
13317 (drivemap): New section.
13318 (parttool): New section.
13319
bb8ea0f5
CW
133202010-06-02 Colin Watson <cjwatson@ubuntu.com>
13321
13322 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13323 the grub shell'.
13324 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13325 (Installing GRUB using grub-install): Remove reference to the grub
13326 shell; mention `grub-mkimage' and `grub-setup' instead.
13327 (Invoking grub-install): Likewise.
13328 (Interface): Add reference to `Menu entry editor'.
13329 (serial): Remove `--device' option.
13330
288dd6ed
CW
133312010-06-02 Colin Watson <cjwatson@ubuntu.com>
13332
13333 * docs/grub.texi (Configuration): New section, documenting
13334 configuration file generation using grub-mkconfig. I've left a slot
13335 for documenting the full shell scripting format but have not yet
13336 started on writing that up.
13337 (Invoking grub-mkconfig): New section.
13338
34c9f0e9
CW
133392010-06-02 Colin Watson <cjwatson@ubuntu.com>
13340
13341 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13342 (GNU GRUB manual): Likewise.
13343 (General commands): Update description of `terminfo' for GRUB 2.
13344
9121567e
CW
133452010-06-02 Colin Watson <cjwatson@ubuntu.com>
13346
13347 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13348 (GRUB_MOD_INIT): Fix capitalisation.
13349 * docs/grub.texi (Command-line and menu entry commands): Document
13350 gettext and gptsync commands.
13351
ab631611
CW
133522010-06-02 Colin Watson <cjwatson@ubuntu.com>
13353
13354 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13355 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13356
bde4a9ac
CW
133572010-06-01 Colin Watson <cjwatson@ubuntu.com>
13358
13359 Add btrfs probing support, currently only in the single-device case.
13360
13361 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13362 function.
13363 (grub_guess_root_device): Call find_root_device_from_mountinfo
13364 before looking in /dev.
13365
b1d17e10
VS
133662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13369 GRUB_DISK_SIZE_UNKNOWN.
13370 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13371
dfbfe004
JS
133722010-05-31 Jiro SEKIBA <jir@unicus.jp>
13373
13374 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13375 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13376 corrupted or not synced properly.
13377
c2ffc8e9
VS
133782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13381 Reported by: Seth Goldberg.
13382
56293166
VS
133832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13386 addition of dest.
13387 Reported by: Seth Goldberg.
13388
7620e7de
VS
133892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13392 Reported by: Seth Goldberg.
13393
c837af3f
VS
133942010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13397 64-bit address as signed on MIPS.
13398
c7c75cf4
CW
133992010-05-28 Colin Watson <cjwatson@ubuntu.com>
13400
13401 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13402 to the empty string.
13403
fa4b8490
BC
134042010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13405
13406 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13407
13408 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13409 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13410 * kern/misc.c (__enable_execute_stack): Disable on
13411 GRUB_MACHINE_EMU.
13412
a33075b9
CW
134132010-05-28 Colin Watson <cjwatson@ubuntu.com>
13414
13415 Make grub-probe work with symbolic links under /dev/mapper as well
13416 as with real block devices. The Linux world seems to be (at best)
13417 in transition here, and GRUB shouldn't get caught in the middle.
13418
13419 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13420 /dev/mapper.
13421
d8708134
CW
134222010-05-27 Colin Watson <cjwatson@ubuntu.com>
13423
13424 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13425 input files (in which case exit zero).
13426
db2102a0
CW
134272010-05-27 Colin Watson <cjwatson@ubuntu.com>
13428
13429 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13430 return NULL for various reasons even if it has a maximum-length
13431 buffer: for example, there might be a symlink loop, or the path
13432 might exceed PATH_MAX. If this happens, return NULL.
13433
5fdba519
RM
134342010-05-27 Robert Millan <rmh@gnu.org>
13435
13436 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13437 partmap module to handle cross-partmap setups.
13438 Reported by Orestes Mas. Gràcies!
13439
d1d368e4
CW
134402010-05-27 Colin Watson <cjwatson@ubuntu.com>
13441
13442 * util/grub-mkrescue.in: Initialise override_dir rather than
13443 assuming that it's unset or empty in the environment.
13444
95ac3c73
GS
134452010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13446
13447 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13448 variable index into p_index to suppress a warning with -Wshadow.
13449
7d8c0213
BC
134502010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13451
13452 * INSTALL: Added flex >= 2.5.35 requirement.
13453
db4d5813
VS
134542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13457
f24f4300
VS
134582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 cmostest support.
13461
13462 * commands/i386/cmostest.c: New file.
13463 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13464 (cmostest_mod_SOURCES): New variable.
13465 (cmostest_mod_CFLAGS): Likewise.
13466 (cmostest_mod_LDFLAGS): Likewise.
13467 * conf/i386-pc.rmk: Likewise.
13468 * docs/grub.texi (Vendor power-on keys): New section.
13469 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13470 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13471 and GRUB_BUTTON_CMOS_ADDRESS.
13472 * util/grub.d/00_header.in: Handle powering-on by separate button.
13473
ad603f61
VS
134742010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13477 Removed drawing_scrollbar argument. All users updated
13478 Fixes #29792.
13479 Reported by Jo Shields
13480
3ecb080a
VS
134812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13484 buffer since gfxterm handles double repaint.
13485
5f2316c1
VS
134862010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13489 * term/gfxterm.c (real_scroll): Likewise.
13490
9a25f885
VS
134912010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13494 before calling BIOS.
13495
39fbb79a
VS
134962010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * include/grub/i18n.h: Always enable grub_gettext.
13499
228cfa97
VS
135002010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13503 partition naming style.
13504
21717c8f
CW
135052010-05-21 Colin Watson <cjwatson@ubuntu.com>
13506
13507 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13508 not the first option.
13509
c0f48e65
CW
135102010-05-20 Colin Watson <cjwatson@ubuntu.com>
13511
13512 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13513
96779aec
CW
135142010-05-20 Colin Watson <cjwatson@ubuntu.com>
13515
13516 * util/misc.c: Move inclusion of <limits.h> to ...
13517 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13518
fa9d256e
GS
135192010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13520
13521 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13522 Fix merge error in NetBSD code.
13523 (find_partition_start) [__NetBSD__]: Likewise.
13524
123b7a85
BC
135252010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13526
13527 Fix grub-mkrescue usage unit testing.
13528
13529 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13530
74276c0d
CF
135312010-05-18 Christian Franke <franke@computer.org>
13532
13533 * util/grub.d/10_windows.in: Use path names instead of
13534 drive letters to prevent warning from Cygwin 1.7.
13535 Add drivemap command to menuentry if needed.
13536
c4f7b523
ST
135372010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13538
13539 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13540 gnumach and gnumach.gz.
13541
95b97950
VS
135422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * include/grub/i18n.h (gettext): Inline instead of using #define.
13545 (grub_gettext): Likewise.
13546 (_): Likewise.
13547
01b8d2d7
VS
135482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13551 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13552 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13553 (main): Add a slash after pkglibdirroot.
13554
654e1d1e
VS
135552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * util/grub-install.in: Add missing "in" keyword.
13558
26966aeb
VS
135592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13562 Reported by: Seth Goldberg.
13563
75006747
VS
135642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13567
74cbf5bd
CW
135682010-05-18 Colin Watson <cjwatson@ubuntu.com>
13569
13570 * configure.ac: Check for Linux device-mapper support.
13571
13572 * util/hostdisk.c (device_is_mapped): New function.
13573 (find_partition_start): New function, partly broken out from
13574 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13575 device-mapper support added.
13576 (linux_find_partition): Use find_partition_start.
13577 (convert_system_partition_to_system_disk): Add `st' argument.
13578 Support Linux /dev/mapper/* devices if device-mapper support is
13579 available; only DM-RAID devices are understood at present.
13580 (find_system_device): Add `st' argument. Pass it to
13581 convert_system_partition_to_system_disk.
13582 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13583 find_system_device and convert_system_partition_to_system_disk. Use
13584 find_partition_start.
13585
13586 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13587 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13588 * util/deviceiter.c [__linux__]: Define MINOR.
13589 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13590 * util/mkdevicemap.c (grub_putchar): New function.
13591 (grub_getkey): New function.
13592 (grub_refresh): New function.
13593 (main): Set debug=all if -v -v is used.
13594
355b51e9
CW
135952010-05-18 Colin Watson <cjwatson@ubuntu.com>
13596
13597 Fix build with non-GNU libcs.
13598
13599 * util/misc.c (canonicalize_file_name): Move to ...
13600 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13601 grub_make_system_path_relative_to_its_root.
13602
7fb5c25f
CW
136032010-05-18 Colin Watson <cjwatson@ubuntu.com>
13604
13605 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13606 we handle finding grub-mkimage. Default to finding grub-mkimage in
13607 ${bindir} with program_transform_name applied, and provide a
13608 --grub-mkimage option to override this.
13609
1d3293d6
VS
136102010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 Remove grub-mkisofs.
13613
13614 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13615 (grub_mkisofs_SOURCES): Removed.
13616 (grub_mkisofs_CFLAGS): Removed.
13617 * util/mkisofs/defaults.h: Removed.
13618 * util/mkisofs/eltorito.c: Likewise.
13619 * util/mkisofs/exclude.h: Likewise.
13620 * util/mkisofs/hash.c: Likewise.
13621 * util/mkisofs/include/: Likewise.
13622 * util/mkisofs/include/fctldefs.h: Likewise.
13623 * util/mkisofs/include/mconfig.h: Likewise.
13624 * util/mkisofs/include/prototyp.h: Likewise.
13625 * util/mkisofs/include/statdefs.h: Likewise.
13626 * util/mkisofs/iso9660.h: Likewise.
13627 * util/mkisofs/joliet.c: Likewise.
13628 * util/mkisofs/match.c: Likewise.
13629 * util/mkisofs/match.h: Likewise.
13630 * util/mkisofs/mkisofs.c: Likewise.
13631 * util/mkisofs/mkisofs.h: Likewise.
13632 * util/mkisofs/msdos_partition.h: Likewise.
13633 * util/mkisofs/multi.c: Likewise.
13634 * util/mkisofs/name.c: Likewise.
13635 * util/mkisofs/rock.c: Likewise.
13636 * util/mkisofs/tree.c: Likewise.
13637 * util/mkisofs/write.c: Likewise.
13638
5dde9afe
VS
136392010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 Unify grub-mkimage accross platforms.
13642
13643 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13644 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13645 (grub_mkelfimage_SOURCES): Removed.
13646 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13647 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13648 (bin_UTILITIES): Add grub-mkimage.
13649 (grub_mkimage_SOURCES): New variable.
13650 (kernel_img_HEADERS): Remove machine/kernel.h.
13651 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13652 (pkglib_PROGRAMS): Add kernel.img.
13653 (kernel_img_HEADERS): Add machine/kernel.h.
13654 (kernel_img_FORMAT): Removed.
13655 (bin_UTILITIES): Remove grub-mkimage.
13656 (grub_mkimage_SOURCES): Removed.
13657 (grub_mkimage_CFLAGS): Likewise.
13658 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13659 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13660 (pkglib_PROGRAMS): Add kernel.img.
13661 (bin_UTILITIES): Remove grub-mkimage.
13662 (grub_mkimage_SOURCES): Removed.
13663 (grub_mkimage_CFLAGS): Likewise.
13664 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13665 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13666 (pkglib_PROGRAMS): Add kernel.img.
13667 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13668 (pkglib_PROGRAMS): Add kernel.img.
13669 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13670 (grub_mkimage_SOURCES): Removed.
13671 (grub_mkimage_CFLAGS): Likewise.
13672 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13673 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13674 (pkglib_PROGRAMS): Add kernel.img.
13675 (bin_UTILITIES): Remove grub-mkimage.
13676 (grub_mkimage_SOURCES): Removed.
13677 (grub_mkimage_CFLAGS): Likewise.
13678 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13679 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13680 (grub_mkimage_SOURCES): Removed.
13681 (grub_mkimage_CFLAGS): Likewise.
13682 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13683 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13684 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13685 (grub_pe32_optional_header): ... this.
13686 (grub_pe64_optional_header): ... and this. All users updated.
13687 (GRUB_PE32_PE32_MAGIC): Split into ..
13688 (GRUB_PE32_PE32_MAGIC): .. this.
13689 (GRUB_PE32_PE64_MAGIC): .. and this.
13690 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13691 * include/grub/elf.h (PT_GNU_STACK): New definition.
13692 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13693 * include/grub/i386/efi/kernel.h: Likewise.
13694 * include/grub/i386/kernel.h: Likewise.
13695 * include/grub/i386/pc/kernel.h: Likewise.
13696 * include/grub/i386/qemu/boot.h: Likewise.
13697 * include/grub/mips/kernel.h: Likewise.
13698 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13699 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13700 * include/grub/powerpc/kernel.h: Likewise.
13701 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13702 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13703 * include/grub/sparc64/kernel.h: Likewise.
13704 * include/grub/x86_64/efi/kernel.h: Likewise.
13705 * include/grub/x86_64/kernel.h: Likewise.
13706 * include/grub/offsets.h: New file.
13707 * include/grub/kernel.h (grub_module_info): Split into ...
13708 (grub_module_info32): ... this.
13709 (grub_module_info64): ... and this.
13710 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13711 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13712 (grub_boot_blocklist): Moved from here ...
13713 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13714 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13715 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13716 * include/grub/types.h (grub_target_to_host16): Removed.
13717 (grub_target_to_host32): Likewise.
13718 (grub_target_to_host64): Likewise.
13719 (grub_host_to_target16): Likewise.
13720 (grub_host_to_target32): Likewise.
13721 (grub_host_to_target64): Likewise.
13722 (grub_host_to_target_addr): Likewise.
13723
13724 Support grub-mkrescue for efi, coreboot and qemu.
13725
13726 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13727 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13728 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13729 * util/grub-mkrawimage.c: Moved from here ...
13730 * util/grub-mkimage.c: ... here. All users updated.
13731 (ALIGN_ADDR): Use image_target.
13732 (TARGET_NO_FIELD): New const.
13733 (image_target_desc): New type.
13734 (image_targets): New array.
13735 (grub_target_to_host64): Use image_target.
13736 (grub_target_to_host32): Likewise.
13737 (grub_target_to_host16): Likewise.
13738 (grub_host_to_target64): Likewise.
13739 (grub_host_to_target32): Likewise.
13740 (grub_host_to_target16): Likewise.
13741 (grub_host_to_target_addr): Likewise.
13742 (generate_image): Handle multiimage.
13743 (main): Require -O parameter. All users updated.
13744 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13745 util/efi/grub-mkimage.c
13746 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13747 New option --rom-directory.
13748 Use xorriso.
13749 * util/i386/efi/grub-mkimage.c: Removed.
13750 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13751 (grub_target_to_host32): Likewise.
13752 (grub_target_to_host64): Likewise.
13753 (grub_host_to_target16): Likewise.
13754 (grub_host_to_target32): Likewise.
13755 (grub_host_to_target64): Likewise.
13756 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13757 (grub_target_to_host32): Likewise.
13758 (grub_target_to_host64): Likewise.
13759 (grub_host_to_target16): Likewise.
13760 (grub_host_to_target32): Likewise.
13761 (grub_host_to_target64): Likewise.
13762
f4fc97d0
BC
137632010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13764
13765 Source tree is reorganized for emu build.
13766
13767 * include/grub/util/console.h: Move from here...
13768 * include/grub/emu/console.h: ...to here.
13769 * include/grub/util/getroot.h: Move from here...
13770 * include/grub/emu/getroot.h: ...to here.
13771 * include/grub/util/hostdisk.h: Move from here...
13772 * include/grub/emu/hostdisk.h: ...to here.
13773 * util/console.c: Move from here...
13774 * kern/emu/console.c: ...to here.
13775 * util/getroot.c: Move from here...
13776 * kern/emu/getroot.c: ...to here.
13777 * util/grub-emu.c: Move from here...
13778 * kern/emu/main.c: ...to here.
13779 * util/hostdisk.c: Move from here...
13780 * kern/emu/hostdisk.c: ...to here.
13781 * util/hostfs.c: Move from here...
13782 * kern/emu/hostfs.c: ...to here.
13783 * util/mm.c: Move from here...
13784 * kern/emu/mm.c: ...to here.
13785 * util/pci.c: Move from here...
13786 * bus/emu/pci.c: ...to here.
13787 * util/sdl.c: Move from here...
13788 * video/emu/sdl.c: ...to here.
13789 * util/time.c: Move from here...
13790 * kern/emu/time.c: ...to here.
13791 * util/usb.c: Move from here...
13792 * bus/usb/emu/usb.c: ...to here.
13793
13794 * include/grub/emu/misc.h: New header for grub-emu functions.
13795 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13796
13797 * conf/any-emu.rmk: Rule updates for above renames.
13798 * conf/common.rmk: Likewise.
13799 * conf/i386-pc.rmk: Likewise.
13800 * conf/i386-qemu.rmk: Likewise.
13801 * conf/mips.rmk: Likewise.
13802 * conf/sparc64-ieee1275.rmk: Likewise.
13803 * conf/x86-efi.rmk: Likewise.
13804
13805 * disk/lvm.h: #include updates for above renames.
13806 * util/grub-mkrelpath.c: Likewise.
13807 * util/grub-probe.c: Likewise.
13808 * util/i386/pc/grub-setup.c: Likewise.
13809 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13810 * kern/emu/console.c: Likewise.
13811 * kern/emu/getroot.c: Likewise.
13812 * kern/emu/hostdisk.c: Likewise.
13813 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13814
13815 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13816 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13817 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13818 * util/misc.c: Remove grub-emu functions.
13819
cced9145
VS
138202010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 Fix gfxmenu crash.
13823 Reported by: Thorsten Grützmacher.
13824
13825 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13826 timeout hook.
13827 (circprog_set_property): Register and unregister timeout hook.
13828 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13829 (label_destroy): Free template. and unregister hook.
13830 (label_set_state): New function.
13831 (label_set_property): Handle templates and hooks.
13832 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13833 timeout hook.
13834 (progress_bar_set_property): Register and unregister timeout hook.
13835 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13836 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13837 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13838 (update_timeout_visit): Removed.
13839 (update_timeouts): New function.
13840 (redraw_timeouts): Likewise.
13841 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13842 (grub_gfxmenu_clear_timeout): Likewise.
13843 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13844 (grub_gfxmenu_timeout_notify): Likewise.
13845 (grub_gfxmenu_timeout_notifications): New external variable.
13846 (grub_gfxmenu_timeout_register): New function.
13847 (grub_gfxmenu_timeout_unregister): Likewise.
13848
c6e5caab
VS
138492010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 Transform (broken) vga terminal into (working) vga video driver.
13852
13853 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13854 video/i386/pc/vga.c.
13855 * include/grub/video.h (grub_video_driver_id):
13856 Add GRUB_VIDEO_DRIVER_VGA.
13857 * term/i386/pc/vga.c: Renamed to ...
13858 * video/i386/pc/vga.c: ...this
13859 (DEBUG_VGA): Removed.
13860 (CHAR_WIDTH): Likewise.
13861 (CHAR_HEIGHT): Likewise.
13862 (TEXT_WIDTH): Likewise.
13863 (TEXT_HEIGHT): Likewise.
13864 (DEFAULT_FG_COLOR): Likewise.
13865 (DEFAULT_BG_COLOR): Likewise.
13866 (colored_char): Likewise.
13867 (xpos): Likewise.
13868 (ypos): Likewise.
13869 (cursor_state): Likewise.
13870 (fg_color): Likewise.
13871 (bg_color): Likewise.
13872 (text_buf): Likewise.
13873 (page): Likewise.
13874 (font): Likewise.
13875 (framebuffer): New variable.
13876 (set_read_map): Disabled.
13877 (setup): New variable.
13878 (is_target): Likewise.
13879 (grub_vga_mod_init): Likewise.
13880 (grub_vga_mod_fini): Likewise.
13881 (check_vga_mem): Likewise.
13882 (write_char): Likewise.
13883 (write_cursor): Likewise.
13884 (scroll_up): Likewise.
13885 (grub_vga_putchar): Likewise.
13886 (grub_vga_getcharwidth): Likewise.
13887 (grub_vga_getwh): Likewise.
13888 (grub_vga_getxy): Likewise.
13889 (grub_vga_gotoxy): Likewise.
13890 (grub_vga_cls): Likewise.
13891 (grub_vga_setcolorstate): Likewise.
13892 (grub_vga_setcursor): Likewise.
13893 (grub_video_vga_init): New function.
13894 (grub_video_vga_setup): Likewise.
13895 (grub_video_vga_fini): Likewise.
13896 (update_target): Likewise.
13897 (grub_video_vga_blit_bitmap): Likewise.
13898 (grub_video_vga_blit_render_target): Likewise.
13899 (grub_video_vga_set_active_render_target): Likewise.
13900 (grub_video_vga_get_active_render_target): Likewise.
13901 (grub_video_vga_swap_buffers): Likewise.
13902 (grub_video_vga_set_palette): Likewise.
13903 (grub_video_vga_get_info_and_fini): Likewise.
13904 (grub_vga_term): Removed.
13905 (grub_video_vga_adapter): New variable.
13906 (GRUB_MOD_INIT): Register a video driver instead of terminal.
13907 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
13908
2bf61a98
VS
139092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * video/readers/jpeg.c: Indented.
13912
09ddcd11
VS
139132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 Various jpeg cleanups.
13916
13917 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
13918 (grub_jpeg_decode_quan_table): Use sizeof.
13919 (grub_jpeg_decode_du): Use ARRAY_SIZE.
13920
e5507505
PH
139212010-05-05 Peter Hurley <No e-mail available> (tiny change)
13922
13923 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
13924 tables. Ignore non-last ac bit.
13925 (grub_jpeg_decode_quan_table): Likewise.
13926
7e720a9b
VS
139272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
13930 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
13931 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13932 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
13933 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
13934 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
13935
a7fc080b
VS
139362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
13939 error.
13940
2bf6012d
VS
139412010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
13944
265d68cd
VS
139452010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
13948 condition.
13949
139502010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
13951
13952 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
13953 part.
13954
265d68cd 139552010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
13956
13957 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
13958 pointers.
13959
265d68cd 139602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
13961
13962 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
13963
d1b61374
CF
139642010-05-01 Christian Franke <franke@computer.org>
13965
13966 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
13967 Remove broken Cygwin path conversion.
13968 * util/misc.c: [__CYGWIN__] Add include and define.
13969 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
13970 for Cygwin 1.7.
13971 (make_system_path_relative_to_its_root): Simplify loop, replace early
13972 return by break.
13973 [__CYGWIN__] Add conversion to win32 path.
13974 Include "/" case in trailing slash removal.
13975
3558c6e9
VS
139762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * kern/main.c (grub_load_config): Fix copy-pasted comment.
13979 Reported by: Seth Goldberg
13980
f5f3ff93
VS
139812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * commands/help.c (grub_cmd_help): Fix a typo.
13984 Reported by: Seth Goldberg
13985
d8b5cd40
VS
139862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
13989 name and add N_.
13990 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
13991 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
13992 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
13993 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
13994 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
13995 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
13996 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13997 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13998 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13999 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14000 * normal/context.c (GRUB_MOD_INIT): Likewise.
14001 * normal/main.c (GRUB_MOD_INIT): Likewise.
14002 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14003 * term/serial.c (GRUB_MOD_INIT): Likewise.
14004 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14005
88c14915
VS
140062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14009 extra == 0.
14010
165134bc
VS
140112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * commands/iorw.c: New file.
14014 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14015 (iorw_mod_SOURCES): New variable.
14016 (iorw_mod_CFLAGS): Likewise.
14017 (iorw_mod_LDFLAGS): Likewise.
14018
c5ac9b32
VS
140192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 Hotkey support
14022
14023 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14024 * normal/main.c (hotkey_aliases): New variable.
14025 (grub_normal_add_menu_entry): Parse "--hotkey".
14026 * normal/menu_text.c (run_menu): Handle hotkeys.
14027
ce60689c
VS
140282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14029
14030 * kern/i386/coreboot/init.c (grub_machine_init): Call
14031 grub_machine_mmap_init on qemu.
14032
0359d006
VS
140332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * boot/i386/qemu/boot.S: Add a missing .code16.
14036
7819a456
VS
140372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 Use LBIO on coreboot.
14040
14041 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14042 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14043 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14044 New declaration.
14045 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14046 grub_machine_mmap_init on coreboot.
14047 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14048 GRUB_LINUXBIOS_MEMBER_LINK.
14049 (grub_machine_mmap_iterate): Fix declaration.
14050 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14051
7210dca9
VS
140522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 Split coreboot and multiboot ports.
14055
14056 * conf/i386-multiboot.rmk: New file.
14057 * configure.ac: Add multiboot port.
14058 * include/grub/i386/multiboot/boot.h: New file.
14059 * include/grub/i386/multiboot/console.h: Likewise.
14060 * include/grub/i386/multiboot/init.h: Likewise.
14061 * include/grub/i386/multiboot/kernel.h: Likewise.
14062 * include/grub/i386/multiboot/loader.h: Likewise.
14063 * include/grub/i386/multiboot/memory.h: Likewise.
14064 * include/grub/i386/multiboot/serial.h: Likewise.
14065 * include/grub/i386/multiboot/time.h: Likewise.
14066 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14067 * loader/multiboot.c: Likewise.
14068 * loader/multiboot_mbi2.c: Likewise.
14069 * util/grub-mkrescue.in: Generate multiboot rescue.
14070
6f8aaf68
VS
140712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14072
3080f7a7
VS
14073 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14074
140752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
14078
14079 * commands/terminal.c (abstract_terminal): New struct.
14080 (handle_command): New function. Based on grub_cmd_terminal_input.
14081 (grub_cmd_terminal_input): Use handle_command.
14082 (grub_cmd_terminal_output): Use handle_command.
14083
a8ebb841
BC
140842010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14085
14086 Fix comment handling.
14087
14088 * tests/grub_script_comments.in: New testcase.
14089 * conf/tests.rmk: Rules for new testcase.
14090 * script/yylex.l: Updated flex rules.
14091
bb06ba08
ST
140922010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14093
14094 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
14095 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14096 if argc is 1.
bb06ba08 14097
cc9d2425
VS
140982010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14101 autogen issues.
14102
460d8402
CF
141032010-04-26 Christian Franke <franke@computer.org>
14104
14105 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14106 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14107 (grub_get_prefix): Remove function.
14108 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14109 make_system_path_relative_to_its_root ().
14110 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14111
553c01f9
CF
141122010-04-24 Christian Franke <franke@computer.org>
14113
14114 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14115 (kernel_img_LDFLAGS): Remove -static-libgcc.
14116
2aec1692
CF
141172010-04-24 Christian Franke <franke@computer.org>
14118
14119 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14120 and CHECK_END_SYMBOL if grub-emu is built.
14121 Unset TARGET_OBJ2ELF if grub-emu is built
14122 without module support.
14123
f67dc308
JS
141242010-04-24 Jiro SEKIBA <jir@unicus.jp>
14125
14126 Nilfs2 support.
14127
14128 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14129 (grub_fstest_SOURCES): Likewise.
14130 (pkglib_MODULES): Add nilfs2.mod.
14131 (nilfs2_mod_SOURCES): New variable.
14132 (nilfs2_mod_CFLAGS): Likewise.
14133 (nilfs2_mod_LDFLAGS): Likewise.
14134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14135 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14136 * fs/nilfs2.c: New file.
14137
4ba8d354
VS
141382010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14141 is not supported.
14142
0d2c20c6
GS
141432010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14144
14145 Add grub-mkconfig support for NetBSD.
14146
14147 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14148 * util/grub-mkconfig.in: export new NetBSD specific variables.
14149 * po/POTFILES-shell: added 10_netbsd.in.
14150 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14151
bc4a2d83
BC
141522010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14153
14154 Fix emu build with grub-emu-pci and grub-emu-modules.
14155
14156 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14157 functions.
14158 * include/grub/libpciaccess.h: New file.
14159 * conf/any-emu.rmk: Update kernel headers for emu build.
14160
f48c87aa
VS
141612010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14164
18959385
VS
141652010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14168
0037de3f
VS
141692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14172 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14173 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14174 util/ieee1275/ofpath.c.
14175 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14176 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14177 * include/grub/sparc64/ieee1275/boot.h
14178 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14179 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14180 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14181 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14182 const char *.
14183 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14184 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14185 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14186 install.
14187
38e55e90
GS
141882010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14189
14190 * util/grub-mkconfig.in: Corrected two == equality tests.
14191 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14192 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14193 expect a number appended to it.
14194 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14195 expects a number appended to it.
14196
a9e6ff28
VS
141972010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14200
0b830b8f
VS
142012010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 * util/hostdisk.c (make_device_name): Change to new partition naming.
14204
0973daeb
VS
142052010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14208
460d8402 142092010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
14210
14211 * Makefile.in: Add missing localedir setting.
14212
0b456309
CW
142132010-04-14 Colin Watson <cjwatson@ubuntu.com>
14214
14215 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14216 mistake in r2156. Noticed by Anthony Fok.
14217
14218 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14219 @localedir@.
14220 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14221
08f46d62
BC
142222010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14223
14224 Fix a spurious, uninitialized variable warning.
14225
14226 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14227 Initialize variable, shdr.
14228 (grub_freebsd_load_elfmodule): Likewise.
14229 (grub_freebsd_load_elf_meta): Likewise.
14230
8c4a72d4
BC
142312010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14232
14233 Fix for escaped dollar in double quoted strings.
14234
14235 * script/yylex.l: Updated flex rules.
14236 * conf/tests.rmk: Rule for new testcase.
14237 * tests/grub_script_dollar.in: New testcase.
14238
ce44826e
CPE
142392010-04-13 Carles Pina i Estany <carles@pina.cat>
142402010-04-13 Colin Watson <cjwatson@ubuntu.com>
14241
14242 Enclose all translated strings in grub.cfg in single quotes, and
14243 escape them appropriately (Ubuntu bug #552921).
14244
14245 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14246 * util/grub.d/10_hurd.in: Use it.
14247 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14248 * util/grub.d/10_linux.in (linux_entry): Likewise.
14249
4b0cd8f8
VS
142502010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 Fix cygwin compilation.
14253
14254 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14255 * include/grub/misc.h (__register_frame_info)
14256 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14257 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14258 * kern/misc.c (__register_frame_info)
14259 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14260 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14261
01fcf061
VS
142622010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14265
5d04b11e
VS
142662010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 Unify libgcc processing.
14269
14270 * Makefile.in (kernel_img_LDFLAGS): New variable.
14271 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14272 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14273 overwriting.
14274 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14275 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14276 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14277 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14278 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14279 overwriting. Remove -lgcc and -static-libgcc
14280 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14281 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14282 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14283 (kernel_img_LDFLAGS): Append instead of overwriting.
14284 Remove -lgcc and -static-libgcc
14285 * conf/sparc64-ieee1275.rmk: Likewise.
14286 * include/grub/powerpc/libgcc.h: Move to ...
14287 * include/grub/libgcc.h: .. this.
14288 * include/grub/libgcc.h: Don't export most of the function on x86.
14289 (__bswapsi2): New export.
14290 (__bswapdi2): Likewise.
14291 * include/grub/mips/libgcc.h: Removed.
14292 * include/grub/sparc64/libgcc.h: Likewise.
14293
b7f3ac29
VS
142942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14297 disk_info_msg (conflicts with gettexting into languages with cases).
14298
2c7031b1
GS
142992010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14300
14301 Add grub-probe support for NetBSD.
14302
14303 * util/getroot.c (find_root_device): Convert block device to
14304 character device on NetBSD.
14305 * util/probe.c (probe): Require character device on NetBSD.
14306 * util/hostdisk.c: NetBSD specific headers.
14307 (configure_device_driver): new function to tune device driver
14308 parameters (currently only for NetBSD floppy driver).
14309 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14310 via disklabel ioctl).
14311 (open_device): call configure_device_driver on NetBSD.
14312 (convert_system_partition_to_system_disk): NetBSD specific code.
14313 (device_is_wholedisk): Likewise.
14314 (grub_util_biosdisk_get_grub_dev): Likewise.
14315 (make_device_name): Fixed a typo in bsd_part_str.
14316 * configure.ac: check for opendisk() and getrawpartition() on
14317 NetBSD and set LIBUTIL.
14318 * Makefile.in: add LIBUTIL to LIBS.
14319
f516290c
BC
143202010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14321
14322 Documentation fix.
14323
14324 * util/grub-script-check.c: Better help message.
14325
d8dcc0df
BC
143262010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14327
14328 Fix FreeBSD build.
14329
14330 * configure.ac: Flex version check.
14331 * conf/common.rmk: Add -Wno-error to sh.mod.
14332 * script/yylex.l: Remove all #pragma.
14333
6734334a
VS
143342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14337 prototype.
14338 Reported by: Seth Goldberg.
14339
daea6abd
VS
143402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14343 Rename "module" to "module2".
14344 Reported by: Seth Goldberg.
14345
f2fd9d2b
VS
143462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14349 EXPORT_FUNC.
14350 Reported by: Seth Goldberg.
14351
be124579
VS
143522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 * lib/posix_wrap/locale.h: Add missing file.
14355 Reported by: Seth Goldberg.
14356
ef5da797
VS
143572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 grub-emu module load support.
14360
14361 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14362 NO_DYNAMIC_MODULES switched to this.
14363 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14364 (CFLAGS): Likewise.
14365 * conf/any-emu.rmk: Generate symlist.
14366 (kernel_img_HEADERS): Add util/datetime.h.
14367 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14368 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14369 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14370 kern/$(target_cpu)/cache.S.
14371 * configure.ac (grub-emu-modules): New option.
14372 * genmk.rb: Handle multiple source lists.
14373 * include/grub/sdl.h: New file.
14374 * include/grub/libusb.h: Likewise.
14375 * util/grub-emu.c (main): Hanle (host) root.
14376 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14377 GRUB_ERR_UNKNOWN_DEVICE.
14378 * util/misc.c: Move mm functions to ...
14379 * util/mm.c: ... here. All users updated.
14380
47822096
VS
143812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14384 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14385 missing files.
14386 (maintainer-clean): Remove libgcrypt-grub.
14387
5d7e7445
VS
143882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14391
25f4e252
EC
143922010-04-09 EFI Coder <eficoder@hotmail.com>
14393
14394 * normal/menu_text.c (print_message): Clean up the message and show
14395 the Fn information when on EFI
14396 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14397
027de555
VS
143982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14401 All users updated.
14402 * normal/crypto.c (read_crypto_list): Likewise.
14403 * normal/dyncmd.c (read_command_list): Likewise.
14404 * normal/term.c (read_terminal_list): Likewise.
14405 * normal/main.c (read_lists): Use explicit prefix.
14406 (read_lists_hook): Use read_lists.
14407 (grub_normal_execute): Likewise.
14408
47779711
VS
144092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14412 Reported by: Thomas Schmitt.
14413 Add -no-emul-boot to grub-mkisofs parameters.
14414
1118c32e
VS
144152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * font/font.c: Indented.
14418
7d652447
BC
144192010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14420
14421 Elif support to GRUB script (by Deepak Vankadaru).
14422
14423 * tests/grub_script_if.in: New testcase.
14424 * conf/tests.rmk: Rule for new testcase.
14425 * script/parser.y: Grammar rules for elif.
14426
34bb22df
BC
144272010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14428
14429 While and until loops support to GRUB script.
14430
14431 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14432 (grub_script_create_cmdwhile): New function prototype.
14433 (grub_script_execute_cmdwhile): New function prototype.
14434 * script/execute.c (grub_script_execute_cmdwhile): New function.
14435 * script/parser.y (command): New commands.
14436 (whilecmd): New grammar rule.
14437 (untilcmd): New grammar rule.
14438 * script/script.c (grub_script_create_cmdwhile): New function.
14439 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14440 function.
14441
14442 * tests/grub_script_while1.in: New testcase.
14443 * conf/tests.rmk: Rule for new testcase.
14444
e215d8e0
VS
144452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14448 as *.jpg.
14449
d7c43ba1
MV
144502010-04-09 Mario Vazquez <mariovazq@gmail.com>
14451
14452 GRUB_BACKGROUND support.
14453
14454 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14455 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14456
d64795c0
VS
144572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 14460 Idea by: Mario Vazquez
d64795c0
VS
14461
14462 * util/grub.d/00_header.in: Load pf2 and image modules.
14463
f267f83a
VS
144642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 grub-mkconfig multiple terminal support.
14467
14468 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14469 * util/grub.d/00_header.in: Likewise.
14470
b7841ceb
VS
144712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14474 we use cd $(srcdir).
14475
df60998c
CW
144762010-04-08 Colin Watson <cjwatson@ubuntu.com>
14477
14478 * util/grub.d/10_linux.in: Only use the first word of
14479 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14480 spaces in GRUB_DISTRIBUTOR.
14481 * util/grub.d/10_kfreebsd.in: Likewise.
14482 * util/grub.d/10_hurd.in: Likewise.
14483
fa09c82e
BC
144842010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14485
14e18ae3 14486 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
14487
14488 * tests/util/grub-shell.in: Remove -serial stdio option.
14489
daf892b3
BC
144902010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14491
14492 POSIX header file wrappers.
14493
14494 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14495 equivalents.
14496 * lib/posix_wrap/ctype.h: Likewise.
14497 * lib/posix_wrap/errno.h: Likewise.
14498 * lib/posix_wrap/langinfo.h: Likewise.
14499 * lib/posix_wrap/limits.h: Likewise.
14500 * lib/posix_wrap/localcharset.h: Likewise.
14501 * lib/posix_wrap/stdint.h: Likewise.
14502 * lib/posix_wrap/stdio.h: Likewise.
14503 * lib/posix_wrap/stdlib.h: Likewise.
14504 * lib/posix_wrap/string.h: Likewise.
14505 * lib/posix_wrap/sys/types.h: Likewise.
14506 * lib/posix_wrap/unistd.h: Likewise.
14507 * lib/posix_wrap/wchar.h: Likewise.
14508 * lib/posix_wrap/wctype.h: Likewise.
14509 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14510 (grub_script.yy.h): Likewise.
14511 * script/yylex.l: Remove POSIX emulation #defines.
14512 * Makefile.in (POSIX_CFLAGS): New variable.
14513 (GNULIB_UTIL_CFLAGS): Likewise.
14514
14515 Regexp support.
14516
14517 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14518 (regexp_mod_SOURCES): New variable.
14519 (regexp_mod_CFLAGS): Likewise.
14520 (regexp_mod_LDFLAGS): Likewise.
14521 * commands/regexp.c: New file.
14522 * gnulib/regcomp.c: New file. Imported from gnulib.
14523 * gnulib/regex.c: Likewise.
14524 * gnulib/regex_internal.c: Likewise.
14525 * gnulib/regex_internal.h: Likewise.
14526 * gnulib/regexec.c: Likewise.
14527 * gnulib/regex.h: Likewise.
14528
974ac4f7
VS
145292010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14532 unsupported video mode types.
14533
2622c3ff
VS
145342010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14535
14536 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14537
064cb524
VS
145382010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14541 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14542
a8c3b552
VS
145432010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 Remove unused grub_vga_get_font.
14546
14547 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14548 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14549
187bbe3d
GS
145502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14551
14552 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14553 * include/grub/misc.h: Likewise.
14554
b9396631
GS
145552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14556
14557 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14558 for which failure is fatal.
14559
50479feb
GS
145602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14561
14562 * util/grub-install.in: Use mkdir -p to create grub directory.
14563 * util/i386/efi/grub-install.in: Likewise.
14564 * util/ieee1275/grub-install.in: Likewise.
14565
b1654fdf
GS
145662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14567
14568 * Makefile.in (LEX): new variable.
14569
bd5a6415
GS
145702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14571
14572 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14573 `=' and added double quotes on operands of this equality test.
14574
3db3a82b
VS
145752010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * Makefile.in (uninstall): Remove a leftover debug echo.
14578 Reported by: Grégoire Sutre
14579
38023412
VS
145802010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 MIPS multiboot2 support.
14583
14584 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14585 (multiboot2_mod_SOURCES): New variable.
14586 (multiboot2_mod_CFLAGS): Likewise.
14587 (multiboot2_mod_LDFLAGS): Likewise.
14588 (multiboot2_mod_ASFLAGS): Likewise.
14589 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14590 definition.
14591 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14592 (MULTIBOOT_MBI_REGISTER): Likewise.
14593 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14594 (MULTIBOOT_ELF32_MACHINE): Likewise.
14595 (MULTIBOOT_ELF64_MACHINE): Likewise.
14596 * include/grub/mips/multiboot.h: New file.
14597 * include/grub/video.h (grub_video_driver_id): New type
14598 GRUB_VIDEO_DRIVER_SM712.
14599 (grub_video_get_info_and_fini): Export.
14600 (grub_video_get_palette): Likewise.
14601 (grub_video_get_driver_id): Likewise.
14602 * include/multiboot2.h: Resynced with spec.
14603 * loader/i386/multiboot.c: Moved from here ...
14604 * loader/multiboot.c: ... here. All users updated.
14605 (grub_multiboot_boot): Use platform-specific macros.
14606 * loader/i386/multiboot_elfxx.c: Moved from here ...
14607 * loader/multiboot_elfxx.c: ... here. All users updated.
14608 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14609 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14610 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14611
47674667
VS
146122010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 Import gnulib argp module.
14615
14616 * gnulib/argp-ba.c: New file.
14617 * gnulib/argp-eexst.c: Likewise.
14618 * gnulib/argp-fmtstream.c: Likewise.
14619 * gnulib/argp-fmtstream.h: Likewise.
14620 * gnulib/argp-fs-xinl.c: Likewise.
14621 * gnulib/argp-help.c: Likewise.
14622 * gnulib/argp-namefrob.h: Likewise.
14623 * gnulib/argp-parse.c: Likewise.
14624 * gnulib/argp-pin.c: Likewise.
14625 * gnulib/argp-pv.c: Likewise.
14626 * gnulib/argp-pvh.c: Likewise.
14627 * gnulib/argp-version-etc.c: Likewise.
14628 * gnulib/argp-version-etc.h: Likewise.
14629 * gnulib/argp-xinl.c: Likewise.
14630 * gnulib/argp.h: Likewise.
14631
495442ed
VS
146322010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * kern/device.c (grub_device_iterate): Clear errors after failed
14635 opening device.
14636
f9fd65df
VS
146372010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14640 returned by firmware.
14641
af09641e
VS
146422010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14645 compilation on coreboot and qemu
14646
016883a5
VS
146472010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * include/multiboot2.h: Resync with spec.
14650
f97e1f7d
VS
146512010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 Multiboot2 tag support
14654
14655 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14656 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14657 Remove loader/multiboot_loader.c.
14658 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14659 (grub_multiboot2_real_boot): Likewise.
14660 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14661 (grub_get_multiboot_mmap_count): New proto.
14662 (grub_fill_multiboot_mmap): Likewise.
14663 (grub_multiboot_set_video_mode): Likewise.
14664 (grub_multiboot_set_console): Likewise.
14665 (grub_multiboot_load): Likewise.
14666 (grub_multiboot_load_elf): Likewise.
14667 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14668 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14669 * include/multiboot.h: Resynced with specification.
14670 * include/multiboot2.h: Resynced with specification.
14671 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14672 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14673 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14674 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14675 users updated.
14676 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14677 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14678 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14679 Removed.
14680 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14681 Moved from here...
14682 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14683 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14684 Moved from here...
14685 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14686 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14687 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14688 All users updated.
14689 * loader/i386/multiboot_mbi2.c: New file.
14690
3506b90b
VS
146912010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 Resync with gnulib.
14694
14695 * Makefile.in (GNULIB_CFLAGS): New variable.
14696 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14697 (grub_script_check_CFLAGS): New variable.
14698 * gnulib/alloca.h: Resync with gnulib.
14699 * gnulib/error.c: Likewise.
14700 * gnulib/error.h: Likewise.
14701 * gnulib/fnmatch.c: Likewise.
14702 * gnulib/fnmatch_loop.c: Likewise.
14703 * gnulib/getdelim.c: Likewise.
14704 * gnulib/getline.c: Likewise.
14705 * gnulib/getopt.c: Likewise.
14706 * gnulib/getopt1.c: Likewise.
14707 * gnulib/getopt_int.h: Likewise.
14708 * gnulib/gettext.h: Likewise.
14709 * gnulib/progname.c: Likewise.
14710 * gnulib/progname.h: Likewise.
14711
394a3120
GS
147122010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14713
14714 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14715 which is the case with --disabled-nls.
14716
14717 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14718 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14719 * util/misc.c: Likewise.
14720 * util/mkisofs/mkisofs.c: Likewise.
14721 * util/mkisofs/mkisofs.h: Likewise.
14722
969d1c78
VS
147232010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 Simplify Apple CC support.
14726
14727 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14728 Add 0 byte at the end not to have a symbol with empty target.
14729 * mmap/i386/pc/mmap_helper.S: Likewise.
14730 * genmk.rb: Ignore errors 2030 and 2050.
14731 * kern/i386/pc/startup.S: Use LOCAL when possible.
14732
8d2977bb
BC
147332010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14734
14735 Testcase and the fix for final semicolon on cmdline.
14736
14737 * tests/grub_script_final_semicolon.in: New testcase.
14738 * conf/tests.rmk: Rules for the new testcase.
14739 * script/parser.y: Grammar fix.
14740
a7bd6915
BC
147412010-03-26 BVK Chaitanya <bvk@localhost>
14742
14743 Blank lines testcase for GRUB script.
14744
14745 * tests/grub_script_blanklines.in: New testcase.
14746 * conf/tests.rmk: Rules for the new testcase.
14747
e4ff6628
VS
147482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 Don't use __FILE__.
14751
14752 * genmk.rb: Add -DGRUB_FILE to all C targets.
14753 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14754 * include/grub/list.h: Likewise.
14755 * include/grub/misc.h: Likewise.
14756 * include/grub/mm.h: Likewise.
14757 * include/grub/test.h: Likewise.
14758 * kern/mm.c: Likewise.
14759 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14760
6a5cf6b6
VS
147612010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 Sunpc partitions support.
14764
14765 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14766 (grub_fstest_SOURCES): Likewise.
14767 (pkglib_MODULES): Add part_sunpc.mod.
14768 (part_sunpc_mod_SOURCES): New variable.
14769 (part_sunpc_mod_CFLAGS): Likewise.
14770 (part_sunpc_mod_LDFLAGS): Likewise.
14771 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14772 * partmap/sunpc.c: New file.
14773
746d9045
BC
147742010-03-26 BVK Chaitanya <bvk@localhost>
14775
14776 For loop support to GRUB script.
14777
14778 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14779 (grub_script_create_cmdfor): New function prototype.
14780 (grub_script_execute_cmdfor): New function prototype.
14781 * script/execute.c (grub_script_execute_cmdfor): New function.
14782 * script/parser.y (command): New for command.
14783 (forcmd): New grammar rule.
14784 * script/script.c (grub_script_create_cmdfor): New function.
14785 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14786 function.
14787 * tests/grub_script_for1.in: New testcase.
14788 * conf/tests.rmk: Rules for new testcase.
14789
18486b18
VS
147902010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14791
14792 Nested partitions
14793
14794 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14795 'partition' is NULL, grub_partition_get_start already does that.
14796 * commands/loadenv.c (check_blocklists): Likewise.
14797 (write_blocklists): Likewise.
14798 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14799 (grub_fstest_SOURCES): Likewise.
14800 (pkglib_MODULES): Add part_bsd.mod.
14801 (part_bsd_mod_SOURCES): New variable.
14802 (part_bsd_mod_CFLAGS): Likewise.
14803 (part_bsd_mod_LDFLAGS): Likewise.
14804 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14805 (grub_emu_SOURCES): Likewise.
14806 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14807 * include/grub/bsdlabel.h: New file.
14808 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14809 'get_name'.
14810 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14811 (grub_partition_map_list): New variable.
14812 (grub_partition_map_register): Inline.
14813 (grub_partition_map_unregister): Likewise.
14814 (FOR_PARTITION_MAPS): New macro.
14815 (grub_partition_map_iterate): Removed.
14816 (grub_partition_get_start): Handle nested partitions.
14817 * include/grub/msdos_partition.h: Remove bsd-related entries.
14818 (grub_pc_partition): Remove.
14819 * kern/disk.c (grub_disk_close): Free partition data.
14820 (grub_disk_adjust_range): Handle nested partitions.
14821 * kern/partition.c (grub_partition_map_probe): New function.
14822 (grub_partition_probe): Parse name to number, handle subpartitions.
14823 (get_partmap): New function.
14824 (grub_partition_iterate): Handle subpartitions.
14825 (grub_partition_get_name): Likewise.
14826 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14827 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14828 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14829 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14830 Set 'number'.
14831 (acorn_partition_map_probe): Remove.
14832 (acorn_partition_map_get_name): Likewise.
14833 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14834 Set 'number'.
14835 Set 'index' to 0 since there can be only one partition entry per sector.
14836 (amiga_partition_map_probe): Remove.
14837 (amiga_partition_map_get_name): Likewise.
14838 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14839 Set 'number'.
14840 Set 'offset' and 'index' to real positions of partitions.
14841 (apple_partition_map_probe): Remove.
14842 (apple_partition_map_get_name): Likewise.
14843 * partmap/bsdlabel.c: New file.
14844 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14845 Set 'number'.
14846 Allocate 'data' so it can be correctly freed.
14847 Set 'index' to offset inside sector.
14848 (gpt_partition_map_probe): Remove.
14849 (gpt_partition_map_get_name): Likewise.
14850 * partmap/msdos.c (grub_partition_parse): Remove.
14851 (pc_partition_map_iterate): Don't force raw access.
14852 Set 'number'.
14853 Make 'ext_offset' a local variable.
14854 (pc_partition_map_probe): Remove.
14855 (pc_partition_map_get_name): Remove.
14856 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14857 Set 'number'.
14858 (sun_partition_map_probe): Remove.
14859 (sun_partition_map_get_name): Likewise.
14860 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14861 (grub_pcpart_type): Likewise.
14862 * util/hostdisk.c (open_device): Handle new numbering scheme.
14863 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14864 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14865 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14866 * util/grub-install.in: Insert all subpartition modules.
14867 * util/ieee1275/grub-install.in: Likewise.
14868
a3940f88
AG
148692010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14870
14871 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14872 grammar.
14873
21b99926 148742010-03-24 Colin Watson <cjwatson@ubuntu.com>
14875
14876 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14877
bed1d352
CW
148782010-03-21 Colin Watson <cjwatson@ubuntu.com>
14879
14880 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14881 match where 'make install' puts them.
14882 * util/i386/efi/grub-install.in: Likewise.
14883
c9f58427
CW
148842010-03-19 Colin Watson <cjwatson@ubuntu.com>
14885
14886 * .bzrignore: Add gentrigtables, grub-script-check,
14887 grub_script_check_init.c, grub_script_check_init.h, and
14888 trigtables.c.
14889
f84afb27
VS
148902010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 * kern/parser.c: Indented.
14893
ed0e3d30
VS
148942010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
14897
0ea81d98
VS
148982010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
14901 alpha_mask_size == 0 case.
14902
0cdc2a09
BC
149032010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
14904
14905 GRUB shell lexer and parser improvements.
14906
14907 * conf/any-emu.rmk: Build rule updates.
14908 * conf/common.rmk: Likewise.
14909 * conf/i386-coreboot.rmk: Likewise.
14910 * conf/i386-efi.rmk: Likewise.
14911 * conf/i386-ieee1275.rmk: Likewise.
14912 * conf/i386-pc.rmk: Likewise.
14913 * conf/powerpc-ieee1275.rmk: Likewise.
14914 * conf/x86_64-efi.rmk: Likewise.
14915
14916 * configure.ac: Configure check for flex.
14917
14918 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
14919 types.
14920 (grub_lexer_param): Struct member updates.
14921 (grub_parser_param): Likewise.
14922 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
14923 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
14924 (grub_script_lexer_init): Prototype update.
14925 (grub_script_lexer_record_start): Likewise.
14926 (grub_script_lexer_record_stop): Likewise.
14927 (grub_script_lexer_yywrap): New function prototype.
14928 (grub_script_lexer_fini): Likewise.
14929 (grub_script_execute_argument_to_string): Removed by...
14930 (grub_script_execute_argument_to_argv): ...better version.
14931
14932 * script/execute.c (ROUND_UPTO): New macro.
14933 (grub_script_execute_cmdline): Out of memory fixes.
14934 (grub_script_execute_menuentry): Likewise.
14935 (grub_script_execute_argument_to_string): Removed. Update all
14936 users by...
14937 (grub_script_execute_argument_to_argv): ...better version.
14938 * script/function.c (grub_script_function_create): Use
14939 grub_script_execute_argument_to_argv instead of
14940 grub_script_execute_argument_to_string.
14941
14942 * script/lexer.c (check_varstate): Removed.
14943 (check_textstate): Removed.
14944 (grub_script_lexer_record_start): Likewise.
14945 (grub_script_lexer_record_stop): Likewise.
14946 (recordchar): Replaced with...
14947 (grub_script_lexer_record): ...new function.
14948 (nextchar): Removed.
14949 (grub_script_lexer_init): Rewritten.
14950 (grub_script_yylex): Rewritten.
14951 (append_newline): New function.
14952 (grub_script_lexer_yywrap): New function.
14953 (grub_script_lexer_fini): New function.
14954 (grub_script_yyerror): Sets error flag.
14955
14956 * script/yylex.l: New file.
14957 (grub_lexer_yyfree): Wrapper for flex yyffre.
14958 (grub_lexer_yyalloc): Likewise.
14959 (grub_lexer_yyrealloc): Likewise.
14960 * script/parser.y: Refactored.
14961
14962 * script/script.c (grub_script_arg_add): Out of memory fixes.
14963 (grub_script_add_arglist): Likewise.
14964 (grub_script_create_cmdline): Likewise.
14965 (grub_script_create_cmdmenu): Likewise.
14966 (grub_script_add_cmd): Likewise.
14967 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
14968 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
14969 unnecessary code.
14970
14971 * tests/grub_script_echo1.in: New testcase.
14972 * tests/grub_script_vars1.in: New testcase.
14973 * tests/grub_script_echo_keywords.in: New testcase.
14974
1d63a066
VS
149752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14976
14977 Remove some redundancy in build system.
14978
14979 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
14980 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
14981 (TARGET_LDFLAGS): Add -nostdlib.
14982 (TARGET_IMG_LDFLAGS): Likewise.
14983 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
14984 anything since mmap isn't available.
14985 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
14986 Add util/time.c.
14987 (pkglib_MODULES): Remove reboot.mod.
14988 (reboot_mod_SOURCES): Removed.
14989 (reboot_mod_CFLAGS): Likewise.
14990 (reboot_mod_LDFLAGS): Likewise.
14991 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
14992 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
14993 (DEFSYMFILES): Add kernel_syms.lst.
14994 (kernel_img_HEADERS): Add common headers.
14995 (symlist.c): New target.
14996 (kernel_syms.lst): Likewise.
14997 (pkglib_MODULES): Add memdisk.mod.
14998 (memdisk_mod_SOURCES): New variable.
14999 (memdisk_mod_CFLAGS): Likewise.
15000 (memdisk_mod_LDFLAGS): Likewise.
15001 (pkglib_MODULES): Add reboot.mod.
15002 (reboot_mod_SOURCES): New variable.
15003 (reboot_mod_CFLAGS): Likewise.
15004 (reboot_mod_LDFLAGS): Likewise.
15005 (pkglib_MODULES): Add date.mod.
15006 (date_mod_SOURCES): New variable.
15007 (date_mod_CFLAGS): Likewise.
15008 (date_mod_LDFLAGS): Likewise.
15009 (pkglib_MODULES): Add datehook.mod.
15010 (datehook_mod_SOURCES): New variable.
15011 (datehook_mod_CFLAGS): Likewise.
15012 (datehook_mod_LDFLAGS): Likewise.
15013 (pkglib_MODULES): Add lsmmap.mod.
15014 (lsmmap_mod_SOURCES): New variable.
15015 (lsmmap_mod_CFLAGS): Likewise.
15016 (lsmmap_mod_LDFLAGS): Likewise.
15017 (pkglib_MODULES): Add boot.mod.
15018 (boot_mod_SOURCES): New variable.
15019 (boot_mod_CFLAGS): Likewise.
15020 (boot_mod_LDFLAGS): Likewise.
15021 * conf/i386-coreboot.rmk: Removed redundant parts.
15022 * conf/i386-ieee1275.rmk: Likewise.
15023 * conf/i386-pc.rmk: Likewise.
15024 * conf/mips-yeeloong.rmk: Likewise.
15025 * conf/mips.rmk: Likewise.
15026 * conf/powerpc-ieee1275.rmk: Likewise.
15027 * conf/sparc64-ieee1275.rmk: Likewise.
15028 * conf/x86_64-efi.rmk: Likewise.
15029 * conf/i386-coreboot.rmk: Moved qemu parts ..
15030 * conf/i386-qemu.rmk: ... here
15031 * conf/i386-efi.rmk: Moved common parts to...
15032 * conf/x86-efi.rmk: ... here.
15033 * conf/i386.rmk: Added modules common to all x86 variants.
15034 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15035 * disk/memdisk.c: Remove grub/machine/kernel.h.
15036 * gensymlist.sh.in: Include symbol.h.
15037 * hook/datehook.c: Correct module name.
15038 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15039 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15040 * include/grub/i386/efi/serial.h: New file.
15041 * include/grub/x86_64/efi/serial.h: Likewise.
15042 * util/time.c: Likewise.
15043 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15044
463ac55f
CK
150452010-03-14 Colin King <colin.king@ubuntu.com>
150462010-03-14 Colin Watson <cjwatson@ubuntu.com>
15047
15048 Shrink the pre-partition-table part of boot.img by eight bytes.
15049
15050 * boot/i386/pc/boot.S (ERR): New macro.
15051 (chs_mode): Use ERR.
15052 (geometry_error): Likewise.
15053 (hd_probe_error): Remove. This is only used once, so we wrwite
15054 it inline instead.
15055 (read_error): Instead of printing read_error_string, just set up
15056 %si and fall through to ...
15057 (error_message): ... this new function, also used by ERR.
15058
08e46ede
CW
150592010-03-14 Colin Watson <cjwatson@ubuntu.com>
15060
15061 Speed up consecutive hostdisk operations on the same device.
15062
15063 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15064 (grub_util_biosdisk_open): Initialise disk->data.
15065 (struct linux_partition_cache): New structure.
15066 (linux_find_partition): Cache partition start positions; these are
15067 expensive to compute on every read and write.
15068 (open_device): Cache open file descriptor in disk->data, so that we
15069 don't have to reopen it and flush the buffer cache for consecutive
15070 operations on the same device.
15071 (grub_util_biosdisk_close): New function.
15072 (grub_util_biosdisk_dev): Set `close' member.
15073
15074 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15075 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15076 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15077 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15078 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15079
4a6d2d06
VS
150802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 Compile parts of grub-emu as modules.
15083
15084 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15085 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15086 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15087 (all-local): Add $(GRUB_EMU).
15088 (install-local): Install $(GRUB_EMU).
15089 (uninstall): Uninstall $(GRUB_EMU).
15090 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15091 * kern/dl.c: Likewise.
15092 * commands/sleep.c: Not include machine/time.h.
15093 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15094 (COMMON_CFLAGS): Likewise.
15095 (sbin_UTILITIES): Remove grub-emu.
15096 (grub_emu_SOURCES): Removed.
15097 (kernel_img_RELOCATABLE): New variable.
15098 (pkglib_PROGRAMS): Add kernel.img.
15099 (kernel_img_SOURCES): New variable
15100 (kernel_img_CFLAGS): Likewise.
15101 (kernel_img_LDFLAGS): Likewise.
15102 (TARGET_NO_STRIP): Likewise.
15103 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15104 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15105 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15106 (grub-emu): New target.
15107 (GRUB_EMU): New variable.
15108 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15109 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15110 * loader/xnu.c: Likewise.
15111 * include/grub/pci.h: Likewise.
15112 * genemuinit.sh: New file.
15113 * genemuinitheader.sh: Likewise.
15114 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15115 Support TARGET_NO_DYNAMIC_MODULES.
15116 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15117 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15118 * disk/loopback.c: Likewise.
15119 * font/font_cmd.c: Likewise.
15120 * partmap/acorn.c: Likewise.
15121 * partmap/amiga.c: Likewise.
15122 * partmap/apple.c: Likewise.
15123 * partmap/gpt.c: Likewise.
15124 * partmap/msdos.c: Likewise.
15125 * partmap/sun.c: Likewise.
15126 * parttool/msdospart.c: Likewise.
15127 * term/gfxterm.c: Likewise.
15128 * video/bitmap.c: Likewise.
15129 * video/readers/jpeg.c: Likewise.
15130 * video/readers/png.c: Likewise.
15131 * video/readers/tga.c: Likewise.
15132 * video/video.c: Likewise.
15133 * util/grub-emu.c (read_command_list): Removed.
15134 (main): Don't call util_init_nls.
15135 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15136 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15137
91fdd2ed
VS
151382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15141 date.mod, datehook.mod.
15142 (datetime_mod_SOURCES): New variable.
15143 (datetime_mod_CFLAGS): Likewise.
15144 (datetime_mod_LDFLAGS): Likewise.
15145 (date_mod_SOURCES): Likewise.
15146 (date_mod_CFLAGS): Likewise.
15147 (date_mod_LDFLAGS): Likewise.
15148 (datehook_mod_SOURCES): Likewise.
15149 (datehook_mod_CFLAGS): Likewise.
15150 (datehook_mod_LDFLAGS): Likewise.
15151 * conf/sparc64-ieee1275.rmk: Likewise.
15152 * lib/ieee1275/datetime.c: New file.
15153
873ccae6
VS
151542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15157 (ieee1275_fb_mod_SOURCES): New variable.
15158 (ieee1275_fb_mod_CFLAGS): Likewise.
15159 (ieee1275_fb_mod_LDFLAGS): Likewise.
15160 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15161 New proto.
15162 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15163 (HEAP_MAX_ADDR): Likewise.
15164 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15165 type.
15166 Correct stop condition.
15167 (grub_ieee1275_devices_iterate): New function.
15168 * video/ieee1275.c: New file.
15169
601c97c0
VS
151702010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15173
15174 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15175 as scratch.
15176 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15177 SCRATCH_PAD_DISKBOOT as scratch.
15178 (bootit): Pass Openfirmware pointer in %o4.
15179 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15180 of 0x200000.
15181 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15182 with util/grub-mkrawimage.c.
15183 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15184 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15185 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15186 (grub_aout_load) [GRUB_UTIL]: Likewise.
15187 * include/grub/kernel.h (grub_modules_get_end): New proto.
15188 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15189 (SCRATCH_PAD_BOOT): New definition.
15190 (SCRATCH_PAD_DISKBOOT): Likewise.
15191 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15192 * include/grub/sparc64/ieee1275/ieee1275.h
15193 (grub_ieee1275_original_stack): New variable
15194 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15195 New definition
15196 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15197 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15198 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15199 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15200 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15201 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15202 (grub_platform_image_format_t): New type.
15203 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15204 * kern/main.c (grub_modules_get_end)
15205 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15206 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15207 (codestart): Switch stacks.
15208 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15209 variable.
15210 (grub_heap_init): Use grub_modules_get_end.
15211 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15212 stack.
15213 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15214 (main): Likewise.
15215 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15216
d68b491e
TG
152172010-03-14 Thorsten Glaser <tg@mirbsd.org>
15218
15219 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15220
4e02ed50
MK
152212010-03-08 Matt Kraai <kraai@ftbfs.org>
15222
15223 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15224 bug #559005).
15225
1f15fc1e
VS
152262010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 * genmoddep.awk: Output all missing symbols and not only first.
15229
fce5d8ff
VS
152302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 * NEWS: Put the date of 1.98 release.
15233
d1e8a02f
VS
152342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15237 ft2build.h.
15238
696fd607
VS
152392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15242 completition in the middle of string.
15243
33e2e6f3
VS
152442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 * util/grub-mkrescue.in: Use mktemp with explicit template.
15247
b1f6d291
VS
152482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15251
2ac227c7
VS
152522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15255 right pointer.
15256
8f9a632b
VS
152572010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 Fix FreeBSD compilation.
15260
15261 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15262 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15263
60b03859
VS
152642010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15267
48a5a769
VS
152682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15269
15270 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15271
3ab4bd77
VS
152722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15275
d116e0d8
RM
152762010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15277
15278 Support relative image path in theme file.
15279
15280 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15281 (image_set_property): Handle theme_dir and relative path.
15282
c7ef54aa
VS
152832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * configure.ac: Alias amd64 to x86_64.
15286
fcee14ed
VS
152872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 * NEWS: mention multiboot on EFI.
15290
d0780363
VS
152912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * kern/main.c (grub_load_modules): Handle errors from init functions of
15294 embeded modules.
15295
41168ea4
VS
152962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15297
15298 * normal/autofs.c (autoload_fs_module): Handle errors.
15299
b54d93ac
VS
153002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 Disable linux.mod on qemu-mips since it's not functional and leads
15303 to compilation failure.
15304
15305 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15306 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15307 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15308 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15309 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15310 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15311 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15312 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15313 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15314 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15315 Reported by: BVK Chaitanya
15316
fc8345da
JU
153172010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15318
15319 * INSTALL: Add gettext as a dependency and add qemu to a new section
15320 "Prerequisites for make-check".
15321
4760f979
CF
153222010-03-04 Christian Franke <franke@computer.org>
15323
15324 * util/grub-pe2elf.c: Add missing include "progname.h".
15325
f209b5b2
VS
153262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 * normal/crypto.c (read_crypto_list): Fix a typo.
15329 Reported by: Seth Goldberg.
15330
b4b7be98
VS
153312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 15334 Reported by: Seth Goldberg.
b4b7be98 15335
c0ee0385
VS
153362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15339 ascii.bitmaps.
15340
a8efbf64
VS
153412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 15344 Reported by: Seth Goldberg.
a8efbf64 15345
08dcd913
VS
153462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * util/i386/efi/grub-install.in: Copy gettext files.
15349
c4d0b332
VS
153502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15351
15352 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15353
c6f2fe52
VS
153542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 Wait for user entry basing on presence of output rather than on errors.
15357
15358 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15359 (grub_install_newline_hook): Likewise.
15360 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15361 * normal/menu.c (show_menu): Check line_counter to determine presence
15362 of output.
15363 * normal/term.c (grub_normal_line_counter): New variable.
15364 (grub_normal_get_line_counter): New function.
15365 (grub_install_newline_hook): Likewise.
15366
5382b1e4
VS
153672010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15370
5519963b
VS
153712010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * configure.ac: Update version to 1.98.
15374
72b28631
VS
153752010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 * util/grub.d/10_linux.in (linux_entry): Don't default to
15378 gfxpayload=keep if Linux doesn't support video handover.
15379
c140a180
VS
153802010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 Don't compile video modules on yeeloong since video subsystem is part
15383 of kernel.
15384
15385 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15386 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15387 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15388 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15389 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15390 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15391 * include/grub/bitmap_scale.h: Likewise.
15392 * include/grub/bufio.h: Likewise.
15393 * include/grub/font.h: Likewise.
15394 * include/grub/gfxterm.h: Likewise.
15395 * include/grub/video.h: Likewise.
15396 * include/grub/vbe.h: Don't include video_fb.h.
15397 * video/i386/pc/vbe.c: Include video_fb.h.
15398 * commands/i386/pc/vbetest.c: Include video.h.
15399
a0ca21c2
CW
154002010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15401
15402 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15403 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15404 default entry if GRUB_SAVEDEFAULT=true. This allows using
15405 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15406 saving a new default on every boot.
15407
4a8a763c
VS
154082010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15409
15410 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15411 * normal/term.c (read_terminal_list): Likewise.
15412 * normal/main.c (grub_normal_init_page): Likewise.
15413 (grub_normal_read_line_real): Likewise.
15414
607ffde2
VS
154152010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15418 memory leak.
15419 Reported by: Seth Goldberg.
15420
2b8fa975
CW
154212010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15422
15423 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15424 duplicate declaration of `start'.
15425
618307dd
VS
154262010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15429 filename.
15430 Reported by: Georgy Buranov
15431
7dd05b96 154322010-02-20 Carles Pina i Estany <carles@pina.cat>
15433
15434 * util/grub-mkrawimage.c (usage): Change string formatting to
15435 improve gettext.
15436
d1484a42
MRA
154372010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15438
15439 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15440 backspace keys.
15441
42b1d186
VS
154422010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15445 Reported by: Michael Suchanek.
15446
154472010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
15448
15449 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15450 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15451
d9f31a41
VS
154522010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 Remove any reference to non-free fonts.
15455
15456 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15457 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15458 uses non-free components.
15459 * font/font.c (grub_font_get_name): Remove example name.
15460 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15461 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15462 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15463 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15464
2793c71e
GB
154652010-02-16 Georgy Buranov <gburanov@gmail.com>
15466
15467 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15468
402e3779
VS
154692010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15472 Double divisor.
15473 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15474 features.
15475 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15476
0dd1e0dd
VS
154772010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15480
6fa7cfce
ST
154812010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15482
15483 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15484 * docs/grub.texi (Command-line and menu entry commands): Document play
15485 command.
15486
37c8483b
ST
154872010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15488
15489 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15490 parse arguments as inline tempo and notes. Move code for playing notes
15491 to...
15492 (play): ... new function.
15493
14da0fb7
ST
154942010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15495
15496 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15497 grub_uint16_t instead of short.
15498 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15499 disk from little endian to cpu endianness.
15500
04459e70
ST
155012010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15502
15503 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15504 GRUB_TICKS_PER_SECOND instead of 120.
15505
a0876943
VS
155062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15507
15508 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15509 escape sequence after \e.
15510
e29f95dc
VS
155112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15514 non-ASCII characters.
15515
d27859b2
VS
155162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15519 set root in single quotes to prevent \, from being unescaped.
15520
bc028f2f
VS
155212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 Prevent unknown commands from stopping menuentry execution.
15524
15525 * script/execute.c (grub_script_execute_cmdline): Print error after
15526 unknown command.
15527
095f5f82
VS
155282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15531 Reported by: Pavel Pisa.
15532
8c717950
VS
155332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15536
904935c3
VS
155372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 Merge grub_ieee1275_map_physical into grub_map and rename to
15540 grub_ieee1275_map
15541
15542 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15543 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15544 Remove.
15545 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15546 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15547 necessary.
15548 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15549
5b59a4e3
VS
155502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15553 opening and not after.
15554
69e137e8
VS
155552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15558 constants.
15559
2c0fcc36
VS
155602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15561
15562 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15563 (alloc_phys): Use ALIGN_UP instead of align_addr.
15564
8c6052ce
VS
155652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15568
17cec782
VS
155692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15572
e0128bbd
VS
155732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15576 verbose dprintf.
15577
ca62070b
VS
155782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 Fix over-4GiB seek on sparc64.
15581
15582 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15583 Replace pos_i and pos_lo with pos. All users updated.
15584 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15585 New constant.
15586 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15587 Likewise.
15588 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15589 and pos_lo.
15590
bdca2607
VS
155912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * util/grub-mkrawimage.c (main): Call set_program_name.
15594
da278c4d
VS
155952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 Properly align 64-bit targets.
15598
15599 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15600 (generate_image): Use ALIGN_ADDR.
15601
b274d734
VS
156022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 Properly create cross-endian images.
15605
15606 * include/grub/types.h (grub_host_to_target_addr): New macro
15607 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15608
82da2062
VS
156092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15612
7cae4377
VS
156132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15616
15617 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15618 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15619 (grub_linux_boot): Divide by 64K when on VESA.
15620
65a533e7
VS
156212010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 Support GRUB_GFXPAYLOAD_LINUX.
15624
15625 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15626 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15627
dd01d397
VS
156282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15631 to show messages instead of discarding them.
15632 Process errors after executing command and not before. Keep old method
15633 too as precaution.
15634
660960d6
VS
156352010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 * configure.ac: Check for ft2build.h.
15638
62509f04
VS
156392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15642
473df63d
VS
156432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * genkernsyms.sh.in: Use TARGET_CC.
15646
c98d2a13
CW
156472010-02-07 Colin Watson <cjwatson@ubuntu.com>
15648
15649 * NEWS: Update.
15650
6e14234c
VS
156512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
15654 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15655 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 15656
b255e9cf
YB
156572010-02-07 Yves Blusseau <blusseau@zetam.org>
15658
6e14234c 15659 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 15660
98e6959d
VS
156612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 Fix warnings in grub-emu when compiling with maximum warning options.
15664
15665 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15666 (grub_arch_modules_addr): Return 0 and not NULL.
15667 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 15668 (xstrdup): Use newstr instead of dup.
f88d801b
VS
15669 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15670 of disk to dsk to avoid shadowing.
74e4934e
VS
15671 (find_free_slot): Fix prototype.
15672 * util/getroot.c (grub_util_is_dmraid): Make static.
15673 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15674 Add missing prototype.
15675 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 15676
74e31b5c
VS
156772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15680 appropriately.
15681
6b2ad14b
VS
156822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15683
15684 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15685 code out.
15686
8f891adc
VS
156872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15690 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15691 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15692 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15693 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15694 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15695
74b45184
VS
156962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 * include/grub/err.h (grub_err_printf): Don't export.
15699
a4bced77
VS
157002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15701
15702 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15703
007d0695
VS
157042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15707 * kern/misc.c (grub_gettext_dummy): Make static.
15708
b6c0d9c2
VS
157092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15712 by non-valid ones.
15713 * kern/term.c (grub_putchar): Likewise.
15714
f51a90d0
VS
157152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15718 buggy hook call and memory leak.
15719
6846cec5
VS
157202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15723
468d69fe
VS
157242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15725
15726 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15727
51906b8c
VS
157282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15731 modevar.
15732 Return grub_errno on allocation error.
15733
09706ce5
VS
157342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15737
911df80c
YB
157382010-02-06 Yves Blusseau <blusseau@zetam.org>
15739
15740 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15741 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15742
3746a6bc
VS
157432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15746 non-pxe disk.
15747 (grub_pxefs_open): Likewise.
15748
09706ce5
VS
157492010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15750
15751 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15752 * util/grub.d/10_kfreebsd.in: Likewise.
15753 * util/grub.d/10_linux.in: Likewise.
15754
7cc192d9
VS
157552010-02-06 Colin D Bennett <colin@gibibit.com>
15756
15757 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15758 (gfxmenu_mod_SOURCES): New variable.
15759 (gfxmenu_mod_CFLAGS): Likewise.
15760 (gfxmenu_mod_LDFLAGS): Likewise.
15761 * include/grub/term.h (grub_term_set_current_output): Declare
15762 argument as const.
15763 * docs/gfxmenu-theme-example.txt: New file.
15764 * gfxmenu/gfxmenu.c: Likewise.
15765 * gfxmenu/gui_box.c: Likewise.
15766 * gfxmenu/gui_canvas.c: Likewise.
15767 * gfxmenu/gui_circular_progress.c: Likewise.
15768 * gfxmenu/gui_image.c: Likewise.
15769 * gfxmenu/gui_label.c: Likewise.
15770 * gfxmenu/gui_list.c: Likewise.
15771 * gfxmenu/gui_progress_bar.c: Likewise.
15772 * gfxmenu/gui_string_util.c: Likewise.
15773 * gfxmenu/gui_util.c: Likewise.
15774 * gfxmenu/icon_manager.c: Likewise.
15775 * gfxmenu/model.c: Likewise.
15776 * gfxmenu/named_colors.c: Likewise.
15777 * gfxmenu/theme_loader.c: Likewise.
15778 * gfxmenu/view.c: Likewise.
15779 * gfxmenu/widget-box.c: Likewise.
15780 * include/grub/gfxmenu_model.h: Likewise.
15781 * include/grub/gfxmenu_view.h: Likewise.
15782 * include/grub/gfxwidgets.h: Likewise.
15783 * include/grub/gui.h: Likewise.
15784 * include/grub/gui_string_util.h: Likewise.
15785 * include/grub/icon_manager.h: Likewise.
15786
157872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 Agglomerate scrolling in gfxterm.
15790
15791 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15792 (grub_virtual_screen_setup): Initialise 'total_screen'.
15793 (write_char): Split to ...
15794 (paint_char): ... this ...
15795 (write_char): ... and this.
15796 (paint_char): Handle delayed scrolling.
15797 (draw_cursor): Likewise.
15798 (scroll_up): Split to ...
15799 (real_scroll): ... this ...
15800 (scroll_up): ... and this.
15801 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15802 characters.
15803 (grub_gfxterm_refresh): Call real_scroll.
15804
158052010-02-06 Colin D Bennett <colin@gibibit.com>
15806
15807 * include/grub/misc.h (grub_iscntrl): New inline function.
15808 (grub_isalnum): Likewise.
15809 (grub_strtol): Likewise.
15810
158112010-02-06 Colin D Bennett <colin@gibibit.com>
15812
15813 * normal/menu_text.c (get_entry_number): Move from here ...
15814 * normal/menu.c (get_entry_number): ... moved here.
15815 * include/grub/menu.h (grub_menu_get_default_entry_index):
15816 New prototype.
15817 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15818 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15819 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15820 (grub_menu_viewer_should_return): Likewise.
15821 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15822 * normal/menu_text.c (run_menu): Enable menu switching.
15823 * normal/menu_viewer.c (should_return): New variable.
15824 (menu_viewer_changed): Likewise.
15825 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15826 (grub_menu_viewer_should_return): New function.
15827 (menuviewer_write_hook): Likewise.
15828 (grub_menu_viewer_init): Likewise.
15829
158302010-02-06 Colin D Bennet <colin@gibibit.com>
158312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 Support for gfxterm in a window.
15834
15835 * include/grub/gfxterm.h: New file.
15836 * include/grub/video.h (struct grub_video_rect): New declaration.
15837 (grub_video_rect_t): Likewise.
15838 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15839 (refcount): New variable.
15840 (render_target): Likewise.
15841 (window): Likewise.
15842 (repaint_callback): Likewise.
15843 (grub_virtual_screen_setup): Use 'render_target'.
15844 (init_window): New function.
15845 (grub_gfxterm_init_window): Likewise.
15846 (grub_gfxterm_init): Check reference counter.
15847 Use init_window.
15848 (destroy_window): New function.
15849 (grub_gfxterm_destroy_window): Likewise.
15850 (grub_gfxterm_fini): Check reference counter.
15851 Use destroy_window.
15852 (redraw_screen_rect): Restore viewport.
15853 Use 'render_target' and 'window'.
15854 Call 'repaint_callback'.
15855 (write_char): Use 'render_target'.
15856 (draw_cursor): Likewise.
15857 (scroll_up): Restore viewport.
15858 Use 'render_target' and 'window'.
15859 Call 'repaint_callback'.
15860 (grub_gfxterm_cls): Likewise.
15861 (grub_gfxterm_refresh): Use 'window'.
15862 (grub_gfxterm_set_repaint_callback): New function.
15863 (grub_gfxterm_background_image_cmd): Use 'window'.
15864 (grub_gfxterm_get_term): New function.
15865 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15866
158672010-02-06 Colin D Bennett <colin@gibibit.com>
15868
15869 Bitmap scaling support.
15870
15871 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15872 (bitmap_scale_mod_SOURCES): New variable.
15873 (bitmap_scale_mod_CFLAGS): Likewise.
15874 (bitmap_scale_mod_LDFLAGS): Likewise.
15875 * include/grub/bitmap_scale.h: New file.
15876 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15877 (background_image_cmd_options): New variable.
15878 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15879 (cmd): Rename and change type to ...
15880 (background_image_cmd_handle): ... this. All users updated.
15881 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
15882 * video/bitmap_scale.c: New file.
15883
158842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 SDL support.
15887
15888 * Makefile.in (LIBSDL): New variable.
15889 (enable_grub_emu_sdl): Likewise.
15890 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
15891 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
15892 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
15893 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
15894 * util/sdl.c: New file.
15895
158962010-02-06 Colin D Bennett <colin@gibibit.com>
158972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 Double buffering support.
15900
15901 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
15902 * include/grub/video.h: Update comment.
15903 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
15904 New type.
15905 (grub_video_fb_doublebuf_blit_init): New prototype.
15906 * term/gfxterm.c (scroll_up): Support double buffering.
15907 (grub_gfxterm_refresh): Likewise.
15908 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
15909 (grub_video_fb_doublebuf_blit_init): Likewise.
15910 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
15911 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
15912 'displayed_page', 'render_page' and 'update_screen'.
15913 (grub_video_vbe_fini): Free offscreen buffer.
15914 (doublebuf_pageflipping_commit): New function.
15915 (doublebuf_pageflipping_update_screen): Likewise.
15916 (doublebuf_pageflipping_init): Likewise.
15917 (double_buffering_init): Likewise.
15918 (grub_video_vbe_setup): Enable doublebuffering.
15919 (grub_video_vbe_swap_buffers): Implement.
15920 (grub_video_vbe_set_active_render_target): Handle double buffering.
15921 (grub_video_vbe_get_active_render_target): Likewise.
15922 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
15923 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
15924 (grub_video_vbe_enable_double_buffering): Likewise.
15925 (grub_video_vbe_swap_buffers): Use update_screen.
15926 (grub_video_set_mode): Use double buffering.
15927
159282010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15929
15930 * maintainance/gentrigtables.py: Remove.
15931 * lib/trig.c: Likewise.
15932
15933 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
15934
15935 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
15936 `trigtables.c'.
15937 (trigtables.c): New rule.
15938 (gentrigtables): Likewise.
15939 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
15940
159412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15942
15943 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
15944 integer constants.
15945
159462010-02-06 Colin D Bennet <colin@gibibit.com>
15947
15948 Trigonometry support.
15949
15950 * include/grub/trig.h: New file.
15951 * lib/trig.c: Likewise.
15952 * maintainance/gentrigtables.py: Likewise.
15953 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
15954 (trig_mod_SOURCES): New variable.
15955 (trig_mod_CFLAGS): Likewise.
15956 (trig_mod_LDFLAGS): Likewise.
15957
5562834e
VS
159582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
15961 disk devices.
15962
4f8528fc
VS
159632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
15966 error.
15967
2b4068e9
VS
159682010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 * util/hostdisk.c (open_device): Don't use partition device when reading
15971 before the partition.
15972 (grub_util_biosdisk_read): Don't read from partition and before the
15973 partition in single operation.
15974 (grub_util_biosdisk_write): Don't write to partition and before the
15975 partition in single operation.
15976
399f6e4d
TL
159772010-02-03 Torsten Landschoff <torsten@debian.org>
15978
15979 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15980 last sectors.
15981
996649b0
VS
159822010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
15985 CDROM reads.
15986 (grub_biosdisk_write): Refuse to write to CDROM.
15987
3b205d4d
VS
159882010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
15991
61e89d9d
VS
159922010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 * font/font.c (find_glyph): Check that bmp_idx is available before
15995 using it.
15996 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
15997 with (font == NULL).
15998
bf7fcba2
CS
159992010-01-28 Christian Schmitt <chris@ilovelinux.de>
16000
16001 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16002
f45d2663
BC
160032010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16004
16005 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16006 * util/grub-script-check.c (getline): Fix empty lines case.
16007
ec1444e6
RM
160082010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16009
16010 * Makefile.in (check): Exit with fail status when one of the tests
16011 fails.
16012 * tests/example_functional_test.c (example_test): Fix reversed assert.
16013 * tests/example_unit_test.c (example_test): Likewise.
16014
2e1cb9bb
CW
160152010-01-28 Colin Watson <cjwatson@ubuntu.com>
16016
16017 * util/grub.d/10_linux.in: This script does not use any of the
16018 contents of gettext.sh, only the external command `gettext', so stop
16019 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16020 the same prefix as GRUB.)
16021 * util/grub.d/10_kfreebsd.in: Likewise.
16022
63533ab0
VS
160232010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16024
16025 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16026 of the line.
16027
989e1f93
VS
160282010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16031 last sectors.
16032
e709ebe2
VS
160332010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16036 having a 4KiB and not 32KiB buffer size.
16037
27dea7ed
RM
160382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16039
16040 * util/hostfs.c: Include `<errno.h>'.
16041 (grub_hostfs_read): Handle errors from fseeko() and fread().
16042
67667b9c
RM
160432010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16044
16045 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16046 loop when using read hooks on files whose size isn't sector-aligned.
16047
c294d9d8
RM
160482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16049
16050 Remove unused parameter.
16051
16052 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16053 (grub_iso9660_open): Remove initialization of `data->length'.
16054
af75a9f1
RM
160552010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16056
16057 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16058 memleak conditions.
16059
254e2ce5 160602010-01-27 Carles Pina i Estany <carles@pina.cat>
16061
16062 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16063 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16064
b510928c 160652010-01-26 Carles Pina i Estany <carles@pina.cat>
16066
16067 * util/bin2h.c (usage): Fix warning (space after backslash).
16068
aa2f9dd2 160692010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 16070
16071 * font/font.c: Include `grub/fontformat.h.
16072 Remove font file format constants.
16073 (grub_font_load): Use the new macros.
16074 * include/grub/fontformat.h: New file.
16075 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16076 (write_font_pf2): Use the new macros.
16077
94e7e712
RM
160782010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16079
16080 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16081 does.
16082
3973a59a
RM
160832010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16084
16085 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16086
16087 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16088 (_start): Macroify `0x7F'.
16089
16090 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16091 (make_install_device): Use "(pxe)" as fallback prefix when booting
16092 via PXE.
16093
42e0cba3
GS
160942010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 * configure.ac: Reset LIBS after check for libgcc symbols.
16097
847effd8
CW
160982010-01-25 Colin Watson <cjwatson@ubuntu.com>
16099
16100 * util/hostdisk.c (open_device): Add trailing newline to debug
16101 message.
16102
ea4a7e35
GS
161032010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16104
16105 * configure.ac: Check for `limits.h'.
16106 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16107
67951a53
RM
161082010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16109
16110 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16111 capitalize error strings.
16112
c273d4ce
ST
161132010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16114
16115 * util/grub.d/10_hurd.in: Add a recovery mode.
16116
69be5b74
VS
161172010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 * configure.ac: Check for libgcc symbols with -nostdlib.
16120
fc9e5810
BC
161212010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16122
16123 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16124
4b358c0a
VS
161252010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16128 stack since heap may be unavailable at that point.
16129 (grub_ofconsole_gotoxy): Likewise.
16130
454fcd1c
VS
161312010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 * configure.ac: Check for _restgpr_14_x.
16134 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16135 and _savegpr_* prototypes.
16136
566863ca
RM
161372010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16138
16139 Use generic grub_reboot() for i386-efi.
16140
16141 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16142 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16143 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16144
bf86e59a
VS
161452010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16148 presence of "prefix" variable as it breaks when normal.mod is
16149 embedded.
16150
d645e0f8
VS
161512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16154 stack since heap is unavailable at that point.
16155
f9ab2e25
VS
161562010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16159 (grub_freebsd_bootinfo): Rewritten.
16160 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16161
01fc7054
VS
161622010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16165
caab4fd6
RM
161662010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16167
16168 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16169 domain now.
16170
67eb1427
FZ
161712010-01-20 Felix Zielcke <fzielcke@z-51.de>
16172
16173 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16174 around for handling "/" to the correct fix. Fix a memory leak. Use
16175 xstrdup instead of strdup.
16176
a9ed4ff3
VS
161772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16180
161812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
16182
16183 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16184
16185 * font/font.c (struct grub_font): New member 'bmp_idx'.
16186 (font_init): Initialise 'bmp_idx'.
16187 (load_font_index): Fill 'bmp_idx'.
16188 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16189
48209f4f
VS
161902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16191
16192 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16193 unnecessary calls.
16194
9f0a4bb7
VS
161952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16196
16197 Move context handling out of the kernel.
16198
16199 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16200 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16201 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16202 * conf/i386-efi.rmk: Likewise.
16203 * conf/i386-ieee1275.rmk: Likewise.
16204 * conf/i386-pc.rmk: Likewise.
16205 * conf/powerpc-ieee1275.rmk: Likewise.
16206 * conf/sparc64-ieee1275.rmk: Likewise.
16207 * conf/x86_64-efi.rmk: Likewise.
16208 * include/grub/env.h: Include grub/menu.h.
16209 (grub_env_var_type): Removed.
16210 (grub_env_var): Replaced field 'type' with 'global'.
16211 (grub_env_find): New prototype.
16212 (grub_env_context_open): Remove EXPORT_FUNC.
16213 (grub_env_context_close): Likewise.
16214 (grub_env_export): Likewise.
16215 (grub_env_set_data_slot): Removed.
16216 (grub_env_get_data_slot): Likewise.
16217 (grub_env_unset_data_slot): Likewise.
16218 (grub_env_unset_menu): New prototype.
16219 (grub_env_set_menu): Likewise.
16220 (grub_env_get_menu): Likewise.
16221 * include/grub/env_private.h: New file.
16222 * include/grub/normal.h (grub_context_init): New prototype.
16223 (grub_context_fini): Likewise.
16224 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16225 * normal/context.c (grub_cmd_export): ... to here.
16226 * kern/env.c: Include env_private.h.
16227 (HASHSZ): Moved to include/grub/env_private.h.
16228 (grub_env_context): Likewise.
16229 (grub_env_sorted_var): Likewise.
16230 (current_context): Renamed from this ...
16231 (grub_current_context): ...to this. 'static' removed. All users updated.
16232 (grub_env_find): Removed 'static'.
16233 (grub_env_context_open): Moved to normal/context.c.
16234 (grub_env_context_close): Likewise.
16235 (grub_env_export): Likewise.
16236 (mangle_data_slot_name): Removed.
16237 (grub_env_set_data_slot): Likewise.
16238 (grub_env_get_data_slot): Likewise.
16239 (grub_env_unset_data_slot): Likewise.
16240 * kern/main.c (grub_set_root_dev): Don't export root.
16241 It will be done later.
16242 (grub_main): Don't export prefix.
16243 It will be done later.
16244 * normal/context.c: New file.
16245 * normal/main.c (free_menu): Use grub_env_unset_menu.
16246 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16247 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16248 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16249 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16250
8dd35b8c
VS
162512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 setpci support.
16254
16255 * commands/setpci.c: New file.
16256 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16257 (setpci_mod_SOURCES): New variable.
16258 (setpci_mod_CFLAGS): Likewise.
16259 (setpci_mod_LDFLAGS): Likewise.
16260
449193d5
VS
162612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 Byte-addressable PCI configuration space.
16264
16265 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16266 dword address.
16267 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16268 GRUB_PCI_REG_CACHELINE.
16269 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16270 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16271 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16272 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16273 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16274 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16275 grub_pci_make_address.
16276 (lock_rom_area): Likewise.
16277 * commands/lspci.c (grub_lspci_iter): Use macroses
16278 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16279 of grub_pci_make_address.
16280 * disk/ata.c (grub_ata_pciinit): Likewise.
16281 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16282 (GRUB_PCI_REG_VENDOR): Likewise.
16283 (GRUB_PCI_REG_DEVICE): Likewise.
16284 (GRUB_PCI_REG_COMMAND): Likewise.
16285 (GRUB_PCI_REG_STATUS): Likewise.
16286 (GRUB_PCI_REG_REVISION): Likewise.
16287 (GRUB_PCI_REG_CLASS): Likewise.
16288 (GRUB_PCI_REG_CACHELINE): Likewise.
16289 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16290 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16291 (GRUB_PCI_REG_BIST): Likewise.
16292 (GRUB_PCI_REG_ADDRESSES): Likewise.
16293 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16294 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16295 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16296 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16297 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16298 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16299 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16300 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16301 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16302 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16303 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16304 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16305 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16306 (GRUB_PCI_REG_MIN_GNT): Likewise.
16307 (GRUB_PCI_REG_MAX_LAT): Likewise.
16308 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16309 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16310 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 16311 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
16312 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16313 space.
16314
96d73208
RM
163152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16316
16317 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16318 can be reliably determined to be supported.
16319
d4484482
RM
163202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16321
16322 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16323 that VESA is supported.
16324 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16325 supported.
16326
00308ecf
VS
163272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16330
f66924a4
RM
163312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16332
16333 * util/misc.c (make_system_path_relative_to_its_root): Work around
16334 special-casing of "/", as previous incarnation of this routine did.
16335
cbca0ada
VS
163362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 Fix any-emu compilation.
16339
16340 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16341 * grub_bin2h_SOURCES: New variable.
16342
34a66d99
RM
163432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16344
16345 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16346
94fabf58
RM
163472010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16348
16349 * util/grub.d/00_header.in: Fix handling of locale_dir.
16350
02cf98ca
VS
163512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16354 as possible unifont location (Gentoo).
16355 Reported by: Alexander Brüning
16356
327dbcd7
VS
163572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16358
16359 Don't try to generate lists for kernel.img.
16360
16361 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16362 (pkglib_MODULES): Remove kernel.img.
16363 (kernel_img_EXPORTS): Removed.
16364 (kernel_img_RELOCATABLE): New variable.
16365 * conf/x86_64-efi.rmk: Likewise.
16366 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16367
ca467290
VS
163682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16369
16370 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16371 grub_xasprintf or grub_snprintf.
16372 (grub_vsprintf): Likewise.
16373 (grub_snprintf): New proto.
16374 (grub_vsnprintf): Likewise.
16375 (grub_xasprintf): Likewise.
16376 (grub_xvasprintf): Likewise.
16377 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16378 (grub_sprintf): Removed.
16379 (grub_vsnprintf): New function.
16380 (grub_snprintf): Likewise.
16381 (grub_xvasprintf): Likewise.
16382 (grub_xasprintf): Likewise.
16383 (grub_vsprintf): Renamed to ...
16384 (grub_vsnprintf_real): ...this. New argument max_len.
16385
aca655fd
BC
163862010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16387
16388 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16389 fix grub-script-check warning.
16390
7ee92c32
VS
163912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * include/grub/font.h (grub_font_load): Fix prototype.
16394
f80927ca
VS
163952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16398
119c50ea
VS
163992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16400
16401 * include/grub/x86_64/at_keyboard.h: New file.
16402
47d5f3c1
VS
164032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 * loader/mips/linux.c: Include missing grub/i18n.h.
16406
55ff5266
RM
164072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16408
16409 * normal/menu.c (notify_execution_failure): Clarify error message.
16410
c893cc87
RM
164112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16412
16413 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16414 return value (and revert all return statements). Update users.
16415
917dd370
CW
164162010-01-20 Dan Merillat <debian@dan.merillat.org>
16417
16418 * kern/device.c (grub_device_iterate): Allocate new part_ent
16419 structure based on sizeof (*p) rather than sizeof (p->next), to
16420 account for structure padding.
16421
16422 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16423 disk is NULL, which might happen for LVM physical volumes with no
16424 LVM signature.
16425
d4a4ee57
RM
164262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16427
16428 * loader/mips/linux.c (grub_cmd_initrd)
16429 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16430
164312009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16432
16433 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16434 (grub_video_video_init, grub_video_bitmap_init)
16435 (grub_font_manager_init, grub_term_gfxterm_init)
16436 (grub_at_keyboard_init): New extern declarations.
16437 (grub_machine_init): Initialize gfxterm and at_keyboard.
16438
16439 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16440
16441 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16442 `gfxterm.mod' into core image.
16443
16444 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16445 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16446 (kernel_img_FORMAT): Copy to ...
16447
16448 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16449 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16450 (kernel_img_FORMAT): ... here, and ...
16451
16452 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16453 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16454 (kernel_img_FORMAT): ... here.
16455
16456 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16457 and input (at_keyboard) terminals in kernel.
16458 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16459
16460 (pkglib_MODULES): Remove `pci.mod'.
16461 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16462 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16463 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16464 (at_keyboard_mod_LDFLAGS): Remove variables.
16465
164662010-01-11 Felix Zielcke <fzielcke@z-51.de>
16467
16468 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16469
164702009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16471
16472 * include/grub/mips/libgcc.h: Only export symbols for functions
16473 that libgcc provides.
16474
164752009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 MIPS support.
16478
16479 * bus/bonito.c: New file.
16480 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16481 GRUB_PCI_NUM_DEVICES.
16482 * term/i386/pc/serial.c: Move to ...
16483 * term/serial.c: ... here. All users updated.
16484 * util/i386/pc/grub-mkimage.c: Move to ...
16485 * util/grub-mkrawimage.c: ... here. All users updated.
16486 * term/i386/pc/at_keyboard.c: Move to ...
16487 * term/at_keyboard.c: ... here. All users updated.
16488 * conf/mips-qemu-mips.rmk: New file.
16489 * conf/mips-yeeloong.rmk: Likewise.
16490 * conf/mips.rmk: Likewise.
16491 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16492 mipsel-qemu-mips.
16493 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16494 to port addresses.
16495 (grub_ata_pciinit): Support CS5536.
16496 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16497 * font/font_cmd.c (loadfont_command): Open file before passing it to
16498 grub_font_load.
16499 (pseudo_file_read): New function.
16500 (pseudo_file_close): Likewise.
16501 (pseudo_fs): New structure.
16502 (load_font_module): New function.
16503 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16504 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16505 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16506 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16507 * include/grub/i386/at_keyboard.h: Split into ...
16508 * include/grub/at_keyboard.h: ... this ...
16509 * include/grub/i386/at_keyboard.h: ... and this.
16510 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16511 New prototype.
16512 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16513 updated.
16514 (grub_elf64_size): Likewise.
16515 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16516 filename.
16517 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16518 * include/grub/i386/coreboot/serial.h: Rewritten.
16519 * include/grub/i386/ieee1275/serial.h: Include
16520 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16521 * include/grub/i386/pc/serial.h: Moved from here ...
16522 * include/grub/serial.h: ... to here. All users updated.
16523 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16524 (GRUB_PCI_NUM_BUS): Likewise.
16525 (GRUB_PCI_NUM_DEVICES): Likewise.
16526 (grub_pci_device_map_range): Add missing volatile keyword.
16527 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16528 * include/grub/mips/at_keyboard.h: New file.
16529 * include/grub/mips/cache.h: Likewise.
16530 * include/grub/mips/io.h: Likewise.
16531 * include/grub/mips/kernel.h: Likewise.
16532 * include/grub/mips/libgcc.h: Likewise.
16533 * include/grub/mips/pci.h: Likewise.
16534 * include/grub/mips/qemu-mips/boot.h: Likewise.
16535 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16536 * include/grub/mips/qemu-mips/loader.h: Likewise.
16537 * include/grub/mips/qemu-mips/memory.h: Likewise.
16538 * include/grub/mips/qemu-mips/serial.h: Likewise.
16539 * include/grub/mips/qemu-mips/time.h: Likewise.
16540 * include/grub/mips/relocator.h: Likewise.
16541 * include/grub/mips/time.h: Likewise.
16542 * include/grub/mips/types.h: Likewise.
16543 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16544 * include/grub/mips/yeeloong/boot.h: Likewise.
16545 * include/grub/mips/yeeloong/kernel.h: Likewise.
16546 * include/grub/mips/yeeloong/loader.h: Likewise.
16547 * include/grub/mips/yeeloong/memory.h: Likewise.
16548 * include/grub/mips/yeeloong/pci.h: Likewise.
16549 * include/grub/mips/yeeloong/serial.h: Likewise.
16550 * include/grub/mips/yeeloong/time.h: Likewise.
16551 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16552 * kern/elf.c (grub_elf32_size): New parameter. All users
16553 updated.
16554 (grub_elf64_size): Likewise.
16555 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16556 Load modules before saying "Welcome to GRUB!".
16557 Call grub_refresh after saying "Welcome to GRUB!".
16558 * kern/mips/cache.S: New file.
16559 * kern/mips/cache_flush.S: Likewise.
16560 * kern/mips/dl.c: Likewise.
16561 * kern/mips/init.c: Likewise.
16562 * kern/mips/qemu-mips/init.c: Likewise.
16563 * kern/mips/startup.S: Likewise.
16564 * kern/mips/yeeloong/init.c: Likewise.
16565 * kern/term.c (grub_putcode): Handle NULL terminal.
16566 (grub_getcharwidth): Likewise.
16567 (grub_getkey): Likewise.
16568 (grub_checkkey): Likewise.
16569 (grub_getkeystatus): Likewise.
16570 (grub_getxy): Likewise.
16571 (grub_getwh): Likewise.
16572 (grub_gotoxy): Likewise.
16573 (grub_cls): Likewise.
16574 (grub_setcolorstate): Likewise.
16575 (grub_setcolor): Likewise.
16576 (grub_getcolor): Likewise.
16577 (grub_refresh): Likewise.
16578 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16579 (write_jump): Add hatch nop.
16580 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16581 * lib/mips/setjmp.S: New file.
16582 * loader/mips/linux.c: Likewise.
16583 * term/i386/pc/at_keyboard.c: Move from here ...
16584 * term/at_keyboard.c: ... to here.
16585 * term/i386/pc/serial.c: Moved from here ...
16586 * term/serial.c: ... to here. All users updated.
16587 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16588 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16589 (serial_translate_key_sequence): Avoid deadlock.
16590 (grub_serial_getkey): Handle backspace.
16591 (grub_serial_putchar): Fix newline handling.
16592 * util/i386/pc/grub-mkimage.c: Move from here ...
16593 * util/grub-mkrawimage.c: ... to here. All users updated.
16594 (generate_image): New parameters 'font_path' and 'format'.
16595 Support embedding font.
16596 Use grub_host_to_target* instead of grub_cpu_to_le*.
16597 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16598 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16599 (options): New option "--font".
16600 (usage): Likewise.
16601 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16602 (main): Handle "--font".
16603 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16604 (grub_virtual_screen_setup): Set bg_color_display.
16605 (redraw_screen_rect): Use bg_color_display instead of incorrect
16606 bg_color.
16607 (grub_gfxterm_cls): Likewise.
16608 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16609 Support embedding config file.
16610 (add_segments): Likewise.
16611 (options): New option "--config".
16612 (main): Handle "--config".
16613 * video/sm712.c: New file.
16614
25c2b5b3
RM
166152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16616
16617 Fix parallel builds.
16618
16619 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16620 font.c depend on ascii.h).
16621
166222010-01-12 Carles Pina i Estany <carles@pina.cat>
16623
16624 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16625
166262010-01-11 Carles Pina i Estany <carles@pina.cat>
16627
16628 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16629 By default: disabled.
16630 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16631 parameter.
16632
166332010-01-10 Carles Pina i Estany <carles@pina.cat>
16634
16635 * font/font.c: Update copyright years.
16636 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16637
166382010-01-10 Carles Pina i Estany <carles@pina.cat>
16639
16640 * font/font.c: Include `ascii.h'.
16641 (ASCII_BITMAP_SIZE): New macro.
16642 (ascii_font_glyph): Define.
16643 (ascii_glyph_lookup): New function.
16644 (grub_font_get_string_width): Change comment. If glyph not found, use
16645 ascii_glyph_lookup.
16646 (grub_font_get_glyph_with_fallback): If glyph not available returns
16647 ascii_glyph_lookup.
16648 * util/grub-mkfont.c (file_formats): New enum.
16649 (options): Add `ascii-bitmaps' new option.
16650 (usage): Add `asii-bitmaps' new option.
16651 (write_font_ascii_bitmap): New function.
16652 (write_font): Rename to ...
16653 (write_font_p2): ... this. Remove print_glyphs call.
16654 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16655 used. Call print_glyphs.
16656 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16657
166582010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16659
16660 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16661 (grub_bin2h_SOURCES): New variable.
16662 * util/bin2h.c: New file.
16663
915fc1b8
VS
166642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 * include/multiboot.h: Resynced with spec.
16667 * include/multiboot2.h: Likewise.
16668 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16669 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16670
9444b678
RM
166712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16672
16673 * include/grub/term.h (grub_term_register_input,
16674 grub_term_register_output): Check return of terminal init()
16675 routines, and abort if errors are raised.
16676
16677 * commands/terminal.c: Update copyright year.
16678
cba98e8d
RM
166792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16680
16681 * commands/terminal.c (grub_cmd_terminal_input)
16682 (grub_cmd_terminal_output): Check return of terminal init()
16683 routines, and abort if errors are raised.
16684
6f7db5d6
VS
166852010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 * include/grub/i386/bsd.h: Fix include pathes.
16688
262bff8d
VS
166892010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 Add missing *BSD copyright headers.
16692
16693 * include/grub/aout.h: Add BSD licence.
16694 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16695 * include/grub/i386/freebsd_linker.h: ... here,
16696 * include/grub/i386/freebsd_reboot.h: ... here,
16697 * include/grub/i386/netbsd_bootinfo.h: ... here,
16698 * include/grub/i386/netbsd_reboot.h: ... here,
16699 * include/grub/i386/openbsd_bootarg.h: ... here,
16700 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16701 licence to each file.
16702
b2cab848
RM
167032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16704
16705 * acinclude.m4: Remove `nop' assembly instruction; it's not
16706 implemented by all architectures.
16707
2cb6be4b
RM
167082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16709
16710 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16711 ELILO. This is no longer necessary.
16712
a2eaee15
BC
167132010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16714
16715 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16716
16717 * util/grub-script-check.c: grub-script-check tool.
16718 * conf/common.rmk: Make rules for grub-script-check.
16719
88d17012
RM
167202010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16721
16722 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16723 spotting it back in 2008. Shame on me for forgetting he did.
16724
16725 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16726
8040619d
RM
167272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16728
16729 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16730 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16731 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16732 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16733 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16734 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16735
a0c2a0f6
RM
167362010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16737
16738 * include/grub/test.h: Add license header.
16739 * tests/example_functional_test.c: Likewise.
16740 * tests/example_unit_test.c: Likewise.
16741 * tests/lib/functional_test.c: Likewise.
16742 * tests/lib/test.c: Likewise.
16743 * tests/lib/unit_test.c: Likewise.
16744
b0b13907
VS
167452010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 Use flag-based instead of hook-based video mode selection and "auto"
16748 keyword.
16749
16750 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16751 (grub_video_set_mode): Changed prototype. All users updated.
16752 (grub_video_check_mode_flag): New inline function.
16753 * video/video.c (parse_modespec): New function.
16754 (grub_video_set_mode): Parse flags and keywords.
16755
ea379330 167562010-01-17 Carles Pina i Estany <carles@pina.cat>
16757
16758 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16759 fprintf call.
16760
e15c215e
FZ
167612010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16762
16763 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16764
409ae1c9 167652010-01-16 Carles Pina i Estany <carles@pina.cat>
16766
16767 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16768 string.
16769 * util/grub-emu.c (usage): Likewise.
16770 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16771 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16772 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16773 * util/i386/pc/grub-setup.c (usage): Likewise.
16774
70a14d3d 167752010-01-16 Carles Pina i Estany <carles@pina.cat>
16776
16777 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16778 the message.
16779 (grub_util_info): Likewise.
16780 (grub_util_error): Likewise.
16781 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16782 and/or new lines in `grub_util_warna', `grub_util_info',
16783 `grub_util_error' calls.
16784 * util/getroot.c: Likewise.
16785 * util/grub-editenv.c: Likewise.
16786 * util/grub-emu.c: Likewise.
16787 * util/grub-fstest.c: Likewise.
16788 * util/grub-mkdevicemap.c: Likewise.
16789 * util/grub-mkfont.c: Likewise.
16790 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16791 * util/grub-mkrelpath.c: Likewise.
16792 * util/grub-pe2elf.c: Likewise.
16793 * util/grub-probe.c: Likewise.
16794 * util/hostdisk.c: Likewise.
16795 * util/i386/efi/grub-mkimage.c: Likewise.
16796 * util/i386/pc/grub-mkimage.c: Likewise.
16797 * util/i386/pc/grub-setup.c: Likewise.
16798 * util/ieee1275/ofpath.c: Likewise.
16799 * util/mkisofs/eltorito.c: Likewise.
16800 * util/mkisofs/rock.c: Likewise.
16801 * util/mkisofs/write.c: Likewise.
16802 * util/raid.c: Likewise.
16803 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16804 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16805
a0b766fc
VS
168062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 Enable multiboot on non-pc.
16809
16810 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16811 multiboot.mod and multiboot2.mod to ...
16812 * conf/i386.rmk (pkglib_MODULES): ... here.
16813 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16814 Moved to ...
16815 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16816 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16817 Moved to ...
16818 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16819 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16820 Moved to ...
16821 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16822 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16823 Moved to ...
16824 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16825 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16826 relocator.mod.
16827 (ata_mod_SOURCES): Removed.
16828 (ata_mod_CFLAGS): Likewise.
16829 (ata_mod_LDFLAGS): Likewise.
16830 (relocator_mod_SOURCES): Removed.
16831 (relocator_mod_CFLAGS): Likewise.
16832 (relocator_mod_ASFLAGS): Likewise.
16833 (relocator_mod_LDFLAGS): Likewise.
16834 Include i386.mk.
16835 * include/grub/x86_64/multiboot.h: New file.
16836 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16837 Terminate EFI.
16838
884ade56
VS
168392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 Video multiboot support.
16842
16843 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16844 New prototype.
16845 * include/multiboot.h: Resynced with multiboot specification.
16846 * include/multiboot2.h: Likewise.
16847 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16848 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16849 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16850 (HAS_VGA_TEXT): Likewise.
16851 (accepts_video): New variable.
16852 (grub_multiboot_set_accepts_video): New function.
16853 (grub_multiboot_get_mbi_size): Account for video structures.
16854 (set_video_mode): New function.
16855 (retrieve_video_parameters): Likewise.
16856 (grub_multiboot_make_mbi): Fill video fields.
16857
0d90e8a6
VS
168582010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16859
16860 Video driver ids.
16861
16862 * include/grub/video.h (grub_video_driver_id): New type.
16863 (grub_video_adapter): New member 'id'. All users updated.
16864 (grub_video_get_driver_id): New proto.
16865 * video/video.c (grub_video_get_driver_id): New function.
16866
5c71db1b 168672010-01-14 Carles Pina i Estany <carles@pina.cat>
16868
16869 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16870 `var=val'.
16871
cca15b52 168722010-01-14 Carles Pina i Estany <carles@pina.cat>
16873
16874 * normal/cmdline.c (print_completion): Gettextizze.
16875
c586fbb2 168762001-01-14 Carles Pina i Estany <carles@pina.cat>
16877
16878 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16879
ba2f6848 168802010-01-14 Carles Pina i Estany <carles@pina.cat>
16881
16882 * gettext/gettext.c (grub_gettext_translate): Push and pop
16883 grub_errno.
16884 (grub_gettext_delete_list): Change comment style.
16885 * kern/err.c (grub_error): Gettextizze.
16886 (grub_fatal): Gettextizze.
16887
0a46429a
RM
168882010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16889
16890 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
16891 (grub_linux16_real_boot): ... this.
16892 * kern/i386/loader.S: Likewise.
16893 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
16894 (grub_linux16_boot): New function. Switches to text mode and calls
16895 grub_linux16_real_boot().
16896
16897 * loader/i386/bsd.c: Include `<grub/video.h>'.
16898 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
16899 text mode before calling grub_unix_real_boot().
16900
16901 * loader/i386/multiboot.c: Include `<grub/video.h>'.
16902 (grub_multiboot_boot): Switch to text mode before calling
16903 grub_relocator32_boot().
16904
16905 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
16906 (grub_chainloader_boot): Switch to text mode before calling
16907 grub_chainloader_real_boot().
16908
d6f93a66
RM
169092010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
169102010-01-05 Colin Watson <cjwatson@ubuntu.com>
16911
16912 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
16913 non-empty value.
16914
169152010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
169162010-01-05 Colin Watson <cjwatson@ubuntu.com>
16917
16918 * util/grub.d/00_header.in: Define a "savedefault" function for use
16919 in menu entries.
16920 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
16921
169222010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
169232010-01-05 Colin Watson <cjwatson@ubuntu.com>
16924
16925 * util/grub-mkconfig_lib.in (save_default_entry): Only set
16926 saved_entry if boot_once is unset.
16927 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
16928 previous saved entry (i.e. grub-reboot).
16929
169302009-12-08 Colin Watson <cjwatson@ubuntu.com>
16931
16932 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
16933
169342009-12-08 Colin Watson <cjwatson@ubuntu.com>
16935
16936 * util/grub.d/00_header.in: Use `set var=val' rather than plain
16937 `var=val'.
16938 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
16939
169402009-12-08 Colin Watson <cjwatson@ubuntu.com>
16941
16942 * util/grub-reboot.in: Fix --version output.
16943 * util/grub-set-default.in: Likewise.
16944
169452009-12-08 Colin Watson <cjwatson@ubuntu.com>
16946
16947 * util/grub.d/00_header.in: Silently ignore zero-sized environment
16948 blocks.
16949
169502009-12-08 Colin Watson <cjwatson@ubuntu.com>
16951
16952 * util/grub.d/00_header.in: Quote the value assigned to `default',
16953 in case it contains spaces.
16954
169552009-12-08 Colin Watson <cjwatson@ubuntu.com>
16956
16957 * util/grub.d/30_os-prober.in: Fix merge error that moved a
16958 `save_default_entry' call from the macosx case to the linux case.
16959
169602009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
169612009-10-25 Colin Watson <cjwatson@ubuntu.com>
16962
16963 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
16964 in `chosen' environment variable.
16965 * normal/menu_text.c (get_entry_number): Check if the variable
16966 matches the title of a menu entry.
16967 (run_menu): Pass menu to get_entry_number.
16968
16969 * util/grub-reboot.in: New file.
16970 * util/grub-set-default.in: New file.
16971 * conf/common.rmk (grub-reboot): New utility.
16972 (grub-set-default): New utility.
16973
16974 * util/grub-mkconfig_lib.in (save_default_entry): New function.
16975 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
16976 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
16977 move it to `saved_entry' for the next boot. Load environment on
16978 initialisation.
16979 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
16980 * util/grub.d/10_hurd.in: Likewise.
16981 * util/grub.d/10_linux.in (linux_entry): Likewise.
16982 * util/grub.d/10_windows.in: Likewise.
16983 * util/grub.d/30_os-prober.in: Likewise.
16984
16985 * util/grub-install.in: Create environment block.
16986 * util/i386/efi/grub-install.in: Likewise.
16987 * util/ieee1275/grub-install.in: Likewise.
16988 * util/sparc64/ieee1275/grub-install.in: Likewise.
16989
0934d184
BC
169902010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
16991
16992 Unit testing framework for GRUB.
16993
16994 * Makefile.in: Test framework build rules for 'make check'.
16995 * conf/tests.rmk: Build rules for individual tests and framework.
16996
16997 * include/grub/test.h: Header file for whitebox tests.
16998 * tests/lib/functional_test.c: Framework support for whitebox
16999 functional tests.
17000 * tests/lib/test.c: Common whitebox testing code for unit and
17001 functional tests.
17002 * tests/lib/unit_test.c: Framework support for whitebox unit
17003 tests.
17004
17005 * tests/util/grub-shell-tester.in: Support utility for grub-script
17006 tests.
17007 * tests/util/grub-shell.in: Utility to execute grub-script
17008 commands in a Qemu instance.
17009
17010 * tests/example_functional_test.c: Example whitebox functional
17011 test.
17012 * tests/example_grub_script_test.in: Example grub-script test.
17013 * tests/example_scripted_test.in: Example scripted test.
17014 * tests/example_unit_test.c: Example whitebox unit test.
17015
9c4ffeeb
VS
170162010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17017
17018 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17019 Add loader/i386/multiboot_mbi.c.
17020 (multiboot2_mod_SOURCES): Likewise.
17021 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17022 (multiboot2_mod_SOURCES): Likewise.
17023 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17024 (grub_multiboot_make_mbi): Likewise.
17025 (grub_multiboot_free_mbi): Likewise.
17026 (grub_multiboot_init_mbi): Likewise.
17027 (grub_multiboot_add_module): Likewise.
17028 (grub_multiboot_set_bootdev): Likewise.
17029 * loader/i386/multiboot.c (mbi): Removed.
17030 (mbi_dest): Likewise.
17031 (alloc_mbi): New variable.
17032 (grub_multiboot_payload_size): Removed. All users updated.
17033 (grub_multiboot_pure_size): New variable.
17034 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17035 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17036 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17037 (grub_fill_multiboot_mmap): Likewise.
17038 (grub_multiboot_get_bootdev): Likewise.
17039 (grub_multiboot): Use multiboot_mbi functions.
17040 * loader/i386/multiboot_mbi.c: New file.
17041
17383dfe
VS
170422010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17043
17044 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17045 it would result in module crash.
17046
c1f28820
VS
170472010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17050 (grub_ofconsole_getwh): Split to ...
17051 (grub_ofconsole_getwh): ... this.
17052 (grub_ofconsole_dimensions): ...and this.
17053 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17054
58655a16
RM
170552010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17056
17057 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17058
10891398
VS
170592010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17060
17061 * loader/i386/pc/multiboot2.c: Removed stalled file.
17062
0b8a223c
VS
170632010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17066 Reported by: Grégoire Sutre
17067
92ab12b0
RM
170682010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17069
17070 * util/misc.c (canonicalize_file_name): New function.
17071 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17072 instead of realpath().
17073
a788afb6
CW
170742010-01-11 Colin Watson <cjwatson@ubuntu.com>
17075
17076 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17077 and make it clearer that it's optional. Based on confusion
17078 witnessed on IRC.
17079
ffa8e3d2
VS
170802010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17083 in premature implicit newline.
17084
e9060a9d
VS
170852010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17088 which resulted in garbled command line at the end of screen.
17089
f0d0c0b7
RM
170902010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17091
17092 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17093 initialization with similar approach as with other Linux loaders.
17094
0e60bae7
RM
170952010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17096
17097 Fix i386-ieee1275 build.
17098
17099 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17100 and grub_term_height() for video_{width,height} initialization.
17101
171022010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
17103
17104 Fix grub-emu build.
17105
17106 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17107
cdb3f378
RM
171082010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
171092010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17110
17111 Support for multiple terminals.
17112
17113 * Makefile.in (pkglib_DATA): terminal.lst.
17114 (terminal.lst): New target.
17115 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17116 (GRUB_MOD_INIT(handler)): Likewise.
17117 (GRUB_MOD_FINI(handler)): Likewise.
17118 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17119 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17120 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17121 (grub_cmd_sleep): Use grub_term_save_pos.
17122 * commands/terminal.c: New file.
17123 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17124 commands/terminal.c and lib/charset.c.
17125 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17126 (pkglib_MODULES): Add terminal.mod.
17127 (terminal_mod_SOURCES): New variable.
17128 (terminal_mod_CFLAGS): Likewise.
17129 (terminal_mod_LDFLAGS): Likewise.
17130 * genhandlerlist.sh: Don't handle terminals.
17131 * genmk.rb: Generate terminal-*.lst.
17132 * genterminallist.sh: New file.
17133 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17134 (grub_is_valid_utf8): Likewise.
17135 (grub_utf8_to_ucs4_alloc): Likewise.
17136 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17137 (grub_menu_register_viewer): Changed argument.
17138 (grub_menu_try_text): New proto.
17139 (grub_gfxmenu_try_hook): New declaration.
17140 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17141 (grub_menu_init_page): Additional argument term.
17142 (grub_normal_init_page): Likewise.
17143 (grub_cmdline_get): Arguments simplified.
17144 (grub_utf8_to_ucs4_alloc): Removed.
17145 (grub_print_ucs4): Additional argument term.
17146 (grub_getstringwidth): Likewise.
17147 (grub_print_message_indented): Likewise.
17148 (grub_menu_text_register_instances): New proto.
17149 (grub_show_menu): Likewise.
17150 (read_terminal_list): Likewise.
17151 (grub_set_more): Likewise.
17152 * include/grub/parser.h: Include handler.h.
17153 * include/grub/reader.h: Rewritten.
17154 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17155 (GRUB_TERM_WIDTH): Changed to function.
17156 (GRUB_TERM_HEIGHT): Likewise.
17157 (GRUB_TERM_BORDER_WIDTH): Likewise.
17158 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17159 (GRUB_TERM_NUM_ENTRIES): Likewise.
17160 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17161 (GRUB_TERM_CURSOR_X): Likewise.
17162 (grub_term_input_class): Likewise.
17163 (grub_term_output_class): Likewise.
17164 (grub_term_outputs_disabled): New declaration.
17165 (grub_term_inputs_disabled): Likewise.
17166 (grub_term_outputs): Likewise.
17167 (grub_term_inputs): Likewise.
17168 (grub_term_register_input): Rewritten.
17169 (grub_term_register_output): Likewise.
17170 (grub_term_unregister_input): Likewise.
17171 (grub_term_unregister_output): Likewise.
17172 (FOR_ACTIVE_TERM_INPUTS): New macro.
17173 (FOR_DISABLED_TERM_INPUTS): Likewise.
17174 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17175 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17176 * include/grub/terminfo.h: Add oterm argument to all protypes.
17177 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17178 Use grub_rescue_run.
17179 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17180 All users updated.
17181 * kern/reader.c: Removed. All users updated.
17182 * kern/rescue_reader.c (grub_rescue_init): Removed.
17183 (grub_rescue_reader): Likewise.
17184 (grub_register_rescue_reader): Likewise.
17185 (grub_rescue_run): New function based on kern/reader.c.
17186 * kern/term.c: Adapted for multiterm.
17187 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17188 (grub_is_valid_utf8): Likewise.
17189 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17190 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17191 right terminal.
17192 * loader/i386/linux.c (grub_linux_boot): Likewise.
17193 * normal/auth.c (grub_username_get): New function.
17194 (grub_auth_check_authentication): Use grub_username_get.
17195 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17196 * normal/color.c: Adapt for multiterm.
17197 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17198 (grub_normal_init_page): Additional argument term.
17199 (read_lists): Call read_terminal_lists.
17200 (grub_enter_normal_mode): Call grub_cmdline_run.
17201 Handle grub_normal_exit_level.
17202 (grub_cmd_normal): Make reentrant.
17203 (grub_cmd_normal_exit): New function.
17204 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17205 * normal/menu.c: Adapt for multiterm.
17206 * normal/menu_entry.c: Likewise.
17207 * normal/menu_text.c: Likewise.
17208 * normal/menu_viewer.c: Removed. All users updated.
17209 * normal/term.c: New file.
17210 * util/console.c: Change order of includes to workaround a bug in
17211 ncurses headers.
17212 * term/terminfo.c: New argument oterm on all exported functions.
17213 All users updated.
17214 * util/grub-editenv.c (grub_term_input_class): Removed.
17215 (grub_term_output_class): Likewise.
17216
1a064917
RM
172172010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17218
17219 Make loader output a bit more user-friendly.
17220
17221 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17222 is being loaded. Likewise for the Hurd.
17223
17224 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17225 that kernel of FreeBSD ${version} is being loaded.
17226
17227 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17228 grub_dprintf().
17229 (grub_cmd_initrd): Likewise.
17230 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17231 that Linux ${version} is being loaded. Likewise for initrd.
17232
5ce0a83a 172332010-01-09 Carles Pina i Estany <carles@pina.cat>
17234
17235 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17236
809bbfeb 172372010-01-08 Carles Pina i Estany <carles@pina.cat>
17238
17239 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17240 (GRUB_MOD_INIT): Gettextizze.
17241 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17242 (GRUB_MOD_INIT): Gettextizze.
17243 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17244 (grub_cmd_linux): Capitalise Linux.
17245 (GRUB_MOD_INIT): Gettextizze.
17246 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17247 (grub_cmd_linux): Capitalise Linux.
17248 (GRUB_MOD_INIT): Gettextizze.
17249 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17250 (grub_cmd_linux): Capitalise Linux.
17251 (GRUB_MOD_INIT): Gettextizze.
17252 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17253 (GRUB_MOD_INIT): Gettextizze.
17254 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17255 (grub_cmd_linux): Capitalise Linux.
17256 (GRUB_MOD_INIT): Gettextizze.
17257 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17258 (grub_cpu_xnu_init): Gettextizze.
17259 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17260 (GRUB_MOD_INIT): Gettextizze.
17261 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17262 (GRUB_MOD_INIT): Gettextizze.
17263 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17264 (grub_linux_load64): Capitalise Linux.
17265 (GRUB_MOD_INIT): Gettextizze.
17266 * loader/xnu.c: Include `<grub/i18n.h>'.
17267 (GRUB_MOD_INIT): Gettextizze.
17268 * po/POTFILES: Add `loader/efi/appleloader.c',
17269 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17270 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17271 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17272 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17273 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17274 and `loader/xnu.c'.
17275
b394b2ca
RM
172762010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17277
17278 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17279
172802010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
17281
17282 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17283 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17284 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17285
bc8b32b3
RM
172862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17287
17288 Reset Multiboot 2 support. New loader implements the draft in
17289 /branches/multiboot2 and shares as much code as possible with the
17290 production Multiboot 1 implementation.
17291
17292 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17293 * loader/multiboot2.c: Likewise.
17294 * loader/i386/multiboot_helper.S: Likewise.
17295 * include/multiboot2.h: Replace with latest version from the draft
17296 in /branches/multiboot2.
17297
17298 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17299 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17300 and `loader/multiboot2.c'.
17301 (pkglib_MODULES): Add `multiboot2.mod'.
17302 (multiboot2_mod_SOURCES): New variable.
17303 (multiboot2_mod_LDFLAGS): Likewise.
17304 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17305
17306 * conf/i386-pc.rmk: Likewise.
17307
17308 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17309 (multiboot_mod_SOURCES): Remove variable.
17310 (multiboot_mod_LDFLAGS): Likewise.
17311 (multiboot_mod_CFLAGS): Likewise.
17312
17313 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17314 `<multiboot2.h>' instead of `<multiboot.h>'.
17315 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17316 (MULTIBOOT_HEADER_MAGIC): New macros.
17317
17318 * loader/multiboot_loader.c (module_version_status): Remove variable.
17319 (find_multi_boot2_header): Remove function.
17320 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17321 logic. Always check for the Multiboot version we're compiling for.
17322 (grub_cmd_module_loader): Likewise.
17323 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17324 command instead of `multiboot'.
17325
5d2c52b8
RM
173262010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17327
17328 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17329 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17330 all users.
17331
53108d92
RM
173322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
173332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17334
17335 Fix breakage introduced with previous commit.
17336
17337 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17338 commands.
17339 * normal/handler.c (read_handler_list): Revert part of previous commit
17340 affecting this file.
17341 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17342 (grub_normal_execute): ... here.
17343
e2e936b2
RM
173442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17345
17346 Merge prefix-redefinition-fix branch.
17347
17348 * normal/autofs.c (read_fs_list): Make function capable of being
17349 run multiple times, gracefuly replacing the previous data
17350 structures.
17351 * normal/dyncmd.c (read_command_list): Likewise.
17352 * normal/handler.c (read_handler_list): Likewise.
17353 * normal/main.c (read_lists): New function. Calls all the
17354 list reading functions.
17355 (grub_normal_execute): Use read_lists() instead of calling all
17356 list reading functions explicitly. Register read_lists() as a
17357 variable hook attached to ${prefix}.
17358
607a3701
VS
173592010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 Merge crypto branch.
17362
17363 * Makefile.in (pkglib_DATA): Add crypto.lst.
17364 (crypto.lst): New target.
17365 * commands/hashsum.c: New file.
17366 * commands/password.c (check_password): Use grub_crypto_memcmp.
17367 * commands/password_pbkdf2.c: New file.
17368 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17369 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17370 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17371 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17372 -I$(srcdir)/lib/libgcrypt_wrap.
17373 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17374 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17375 password_pbkdf2.mod.
17376 (crypto_mod_SOURCES): New variable.
17377 (crypto_mod_CFLAGS): Likewise.
17378 (crypto_mod_LDFLAGS): Likewise.
17379 (hashsum_mod_SOURCES): New variable.
17380 (hashsum_mod_CFLAGS): Likewise.
17381 (hashsum_mod_LDFLAGS): Likewise.
17382 (pbkdf2_mod_SOURCES): New variable.
17383 (pbkdf2_mod_CFLAGS): Likewise.
17384 (pbkdf2_mod_LDFLAGS): Likewise.
17385 (password_pbkdf2_mod_SOURCES): New variable.
17386 (password_pbkdf2_mod_CFLAGS): Likewise.
17387 (password_pbkdf2_mod_LDFLAGS): Likewise.
17388 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17389 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17390 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17391 Include conf/gcry.rmk.
17392 * include/grub/auth.h: Rewritten.
17393 * include/grub/crypto.h: New file.
17394 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17395 * include/grub/normal.h (read_crypto_list): New prototype.
17396 * lib/crypto.c: New file.
17397 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17398 * lib/pbkdf2.c: Likewise.
17399 * normal/auth.c (grub_auth_strcmp): Removed.
17400 (grub_iswordseparator): Likewise.
17401 (grub_auth_strword): Likewise.
17402 (is_authenticated): Use grub_strword.
17403 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17404 and grub_strword. Pass entered password to authentication callback.
17405 * normal/crypto.c: New file.
17406 * normal/main.c: Call read_crypto_list.
17407 * util/grub-mkpasswd-pbkdf2.c: New file.
17408 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17409
42841caa
VS
174102010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 Fix descent and ascent calculation.
17413
17414 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17415 (options): New option "asce".
17416 (usage): Likewise.
17417 (add_char): Ignore invalid glyphs for descent calculation.
17418 Calculate ascent from actual content.
17419 (print_glyphs): Use 'asce'.
17420 (write_font): Likewise. Allow ascent override.
17421 (main): Handle "asce" option.
17422
e7730de7 174232010-01-06 Carles Pina i Estany <carles@pina.cat>
17424
17425 * kern/err.c: Include `<grub/i18n.h>'.
17426 (grub_print_error): Add full stop. Gettextizze.
17427 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17428 (grub_bsd_load_elf): Capitalise ELF.
17429 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17430 (grub_cmd_freebsd_module): Likewise.
17431 (grub_cmd_freebsd_module_elf): Likewise.
17432 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17433
40e3a41f 174342010-01-06 Carles Pina i Estany <carles@pina.cat>
17435
17436 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17437 * commands/search_file.c (HELP_MESSAGE): New macro.
17438 * commands/search_label.c (HELP_MESSAGE): Likewise.
17439 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17440 * po/POTFILES: Add `commands/search_file.c',
17441 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17442 `commands/search.c'.
17443
83507e68
RM
174442010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17445
17446 * config.rpath: Update from Gnulib.
17447
465c787b
YB
174482010-01-05 Yves Blusseau <blusseau@zetam.org>
17449
17450 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17451
6581dd3a
YB
174522010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17453
17454 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17455
3bff18c5
CW
174562010-01-05 Colin Watson <cjwatson@ubuntu.com>
17457
17458 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17459 arguments to fread so that we get a return value in bytes, rather
17460 than something that will normally be rounded down to 0.
17461 Adjust error handling to avoid producing garbage when size_t is not
17462 the same size as long long.
17463
a1368118
CW
174642010-01-05 Colin Watson <cjwatson@ubuntu.com>
17465
17466 * util/mkisofs/write.c (padblock_write): Check return value of
17467 fread.
17468
7c302978
RM
174692010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17470
17471 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17472 floppy images now.
17473
17474 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17475
e33ace06
RM
174762010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17477
17478 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17479 instead of manual alignment.
17480 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17481 verbose). Avoid attempts to read past end of the device
17482 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17483 but GRUB_DISK_CACHE_SIZE may exceed that).
17484
4b856776
RM
174852010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17486
17487 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17488 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17489 it to upper layer.
17490
52c2d97f
VS
174912010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17494 New constant.
17495 (grub_efi_piwg_device_path): New structure
17496 (grub_efi_piwg_device_path_t): New type.
17497 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17498 (devpath_1): Transform to a structure. All users updated.
17499 (devpath_2): Likewise.
17500 (devpath_3): Likewise.
17501 (devpath_4): Likewise.
17502 (devpath_5): Likewise.
17503
98ff6a54
VS
175042010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 * loader/efi/appleloader.c: Restored. Update all users.
17507
3a73dcb6
RM
175082010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17509
17510 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17511
17512 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17513 (struct boot_blocklist): Move from here ...
17514 * include/grub/i386/pc/boot.h [ASM_FILE]
17515 (struct grub_boot_blocklist): ... to here. Update all users.
17516 (setup): Only initialize `start' member of `first_block'
17517 structure. Add assert() calls to verify the other members.
17518
17519 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17520 (generate_image): Fix broken blocklist length initialization.
17521 Add assert() call to verify blocklist `segment' field.
17522
ab0eeb0c
RM
175232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17524
17525 * loader/efi/appleloader.c: Remove. Update all users.
17526
58bc8bd5
RM
175272010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17528
17529 * boot/i386/pc/boot.S: Update copyright year.
17530 * boot/i386/pc/cdboot.S: Likewise.
17531 * boot/i386/pc/diskboot.S: Likewise.
17532 * boot/i386/pc/lnxboot.S: Likewise.
17533 * boot/i386/pc/pxeboot.S: Likewise.
17534 * bus/pci.c: Likewise.
17535 * commands/cmp.c: Likewise.
17536 * commands/help.c: Likewise.
17537 * commands/hexdump.c: Likewise.
17538 * commands/i386/pc/halt.c: Likewise.
17539 * commands/i386/pc/play.c: Likewise.
17540 * commands/i386/pc/vbeinfo.c: Likewise.
17541 * commands/ls.c: Likewise.
17542 * commands/test.c: Likewise.
17543 * disk/dmraid_nvidia.c: Likewise.
17544 * disk/i386/pc/biosdisk.c: Likewise.
17545 * disk/ieee1275/nand.c: Likewise.
17546 * disk/ieee1275/ofdisk.c: Likewise.
17547 * disk/lvm.c: Likewise.
17548 * disk/raid.c: Likewise.
17549 * disk/raid6_recover.c: Likewise.
17550 * disk/scsi.c: Likewise.
17551 * fs/affs.c: Likewise.
17552 * fs/cpio.c: Likewise.
17553 * fs/ext2.c: Likewise.
17554 * fs/hfs.c: Likewise.
17555 * fs/iso9660.c: Likewise.
17556 * fs/ntfs.c: Likewise.
17557 * fs/sfs.c: Likewise.
17558 * fs/udf.c: Likewise.
17559 * fs/ufs.c: Likewise.
17560 * fs/xfs.c: Likewise.
17561 * gencmdlist.sh: Likewise.
17562 * genmk.rb: Likewise.
17563 * include/grub/disk.h: Likewise.
17564 * include/grub/efi/api.h: Likewise.
17565 * include/grub/efi/efi.h: Likewise.
17566 * include/grub/efi/pe32.h: Likewise.
17567 * include/grub/elf.h: Likewise.
17568 * include/grub/fs.h: Likewise.
17569 * include/grub/i386/at_keyboard.h: Likewise.
17570 * include/grub/i386/pc/memory.h: Likewise.
17571 * include/grub/i386/pc/vbe.h: Likewise.
17572 * include/grub/i386/pci.h: Likewise.
17573 * include/grub/i386/tsc.h: Likewise.
17574 * include/grub/ieee1275/ieee1275.h: Likewise.
17575 * include/grub/ntfs.h: Likewise.
17576 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17577 * include/grub/sparc64/libgcc.h: Likewise.
17578 * include/grub/symbol.h: Likewise.
17579 * include/grub/types.h: Likewise.
17580 * include/multiboot2.h: Likewise.
17581 * io/gzio.c: Likewise.
17582 * kern/device.c: Likewise.
17583 * kern/disk.c: Likewise.
17584 * kern/efi/efi.c: Likewise.
17585 * kern/efi/mm.c: Likewise.
17586 * kern/elf.c: Likewise.
17587 * kern/file.c: Likewise.
17588 * kern/i386/dl.c: Likewise.
17589 * kern/i386/pc/init.c: Likewise.
17590 * kern/i386/pc/startup.S: Likewise.
17591 * kern/ieee1275/ieee1275.c: Likewise.
17592 * kern/ieee1275/init.c: Likewise.
17593 * kern/main.c: Likewise.
17594 * kern/mm.c: Likewise.
17595 * kern/powerpc/dl.c: Likewise.
17596 * kern/sparc64/dl.c: Likewise.
17597 * kern/x86_64/dl.c: Likewise.
17598 * lib/hexdump.c: Likewise.
17599 * loader/efi/appleloader.c: Likewise.
17600 * loader/i386/ieee1275/linux.c: Likewise.
17601 * loader/i386/pc/chainloader.c: Likewise.
17602 * loader/i386/pc/linux.c: Likewise.
17603 * loader/i386/pc/multiboot2.c: Likewise.
17604 * loader/ieee1275/multiboot2.c: Likewise.
17605 * loader/multiboot2.c: Likewise.
17606 * loader/multiboot_loader.c: Likewise.
17607 * loader/powerpc/ieee1275/linux.c: Likewise.
17608 * normal/completion.c: Likewise.
17609 * normal/menu_entry.c: Likewise.
17610 * partmap/apple.c: Likewise.
17611 * util/grub.d/10_hurd.in: Likewise.
17612 * util/hostfs.c: Likewise.
17613 * video/readers/png.c: Likewise.
17614
e2d70b5c
CW
176152010-01-03 Colin Watson <cjwatson@ubuntu.com>
17616
17617 * include/grub/misc.h (GNUC_PREREQ): New macro.
17618 (ATTRIBUTE_ERROR): New macro.
17619 * include/grub/list.h (grub_bad_type_cast_real): Use
17620 ATTRIBUTE_ERROR.
17621
a173283f 176222010-01-03 Carles Pina i Estany <carles@pina.cat>
17623
17624 * normal/menu_text.c (print_message): Change messages.
17625
7fa7ff74 176262010-01-03 Carles Pina i Estany <carles@pina.cat>
17627
17628 * normal/menu_entry.c (store_completion): Gettextizze.
17629
136d24f6 176302010-01-03 Carles Pina i Estany <carles@pina.cat>
17631
17632 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17633
f936862e 176342010-01-03 Carles Pina i Estany <carles@pina.cat>
17635
17636 * po/POTFILES: Sort correctly.
17637
29c44ad1 176382010-01-03 Carles Pina i Estany <carles@pina.cat>
17639
17640 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17641 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17642 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17643 full stop.
17644 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17645 summary. Gettextizze the strings.
17646 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17647 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17648 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17649 full stop.
17650 (GRUB_MOD_INIT): Remove command name from summary.
17651 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17652 summary.
17653 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17654 * term/i386/pc/serial.c (options): Add full stops.
17655 (GRUB_MOD_INIT): Remove command name from the summary.
17656
77a79592 176572010-01-03 Carles Pina i Estany <carles@pina.cat>
17658
17659 * commands/acpi.c: Gettextizze help strings and/or options. Include
17660 `grub/i18n.h' if needed.
17661 * commands/blocklist.c: Likewise.
17662 * commands/boot.c: Likewise.
17663 * commands/cat.c: Likewise.
17664 * commands/cmp.c: Likewise.
17665 * commands/configfile.c: Likewise.
17666 * commands/crc.c: Likewise.
17667 * commands/date.c: Likewise.
17668 * commands/echo.c: Likewise.
17669 * commands/efi/fixvideo.c: Likewise.
17670 * commands/efi/loadbios.c: Likewise.
17671 * commands/gptsync.c: Likewise.
17672 * commands/halt.c: Likewise.
17673 * commands/handler.c: Likewise.
17674 * commands/hdparm.c: Likewise.
17675 * commands/hexdump.c: Likewise.
17676 * commands/i386/cpuid.c: Likewise.
17677 * commands/i386/pc/drivemap.c: Likewise.
17678 * commands/i386/pc/halt.c: Likewise.
17679 * commands/i386/pc/pxecmd.c: Likewise.
17680 * commands/i386/pc/vbeinfo.c: Likewise.
17681 * commands/i386/pc/vbetest.c: Likewise.
17682 * commands/ieee1275/suspend.c: Likewise.
17683 * commands/keystatus.c: Likewise.
17684 * commands/loadenv.c: Likewise.
17685 * commands/ls.c: Likewise.
17686 * commands/lsmmap.c: Likewise.
17687 * commands/lspci.c: Likewise.
17688 * commands/memrw.c: Likewise.
17689 * commands/minicmd.c: Likewise.
17690 * commands/parttool.c: Likewise.
17691 * commands/password.c: Likewise.
17692 * commands/probe.c: Likewise.
17693 * commands/read.c: Likewise.
17694 * commands/reboot.c: Likewise.
17695 * commands/search.c: Likewise.
17696 * commands/sleep.c: Likewise.
17697 * commands/test.c: Likewise.
17698 * commands/true.c: Likewise.
17699 * commands/usbtest.c: Likewise.
17700 * commands/videotest.c: Likewise.
17701 * commands/xnu_uuid.c: Likewise.
17702 * disk/loopback.c: Likewise.
17703 * hello/hello.c: Likewise.
17704 * loader/i386/bsd.c: Likewise.
17705 * term/i386/pc/serial.c: Likewise.
17706 * po/POTFILES: Add new files.
17707
da8d5c53
CW
177082010-01-02 Colin Watson <cjwatson@ubuntu.com>
17709
17710 * term/i386/pc/at_keyboard.c
17711 (keyboard_controller_wait_untill_ready): Rename to ...
17712 (keyboard_controller_wait_until_ready): ... this. Update all users.
17713
33937904 177142010-01-01 Carles Pina i Estany <carles@pina.cat>
17715
17716 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17717 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17718 string using string width.
17719 * normal/menu_text.c (grub_print_message_indented): Use
17720 grub_print_spaces and not print_spaces.
17721 (print_timeout): Likewise.
17722 (print_spaces): Move to...
17723 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17724
3fd3b8d8
RM
177252010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17726
17727 Import from Gnulib.
17728
17729 * gnulib/getdelim.c: New file.
17730 * gnulib/getline.c: Likewise.
17731
33433555
VS
177322009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17733
17734 * include/grub/list.h (grub_assert_fail): Removed.
17735 (grub_bad_type_cast_real): New function.
17736 (grub_bad_type_cast): New macro.
17737 (GRUB_AS_LIST): Use grub_bad_type_cast.
17738 (GRUB_AS_LIST_P): Likewise.
e44721e8 17739 (GRUB_AS_NAMED_LIST): Likewise.
33433555 17740 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 17741 (GRUB_AS_PRIO_LIST): Likewise.
33433555 17742 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 17743 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 17744
f5a51306
VS
177452009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17746
17747 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17748 Fix syntax error.
17749
90d1e879
RM
177502009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17751
17752 * configure.ac: Check for TARGET_CFLAGS initialization before we
17753 initialize it ourselves (sigh).
17754 Move a few modifications to TARGET_CFLAGS to be unconditional
17755 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17756 eh_frame)
17757
17758 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17759 * term/i386/pc/at_keyboard.c
17760 (keyboard_controller_wait_untill_ready): Likewise.
17761 (keyboard_controller_led): Rename `led_status' paramter to avoid
17762 name conflict.
17763
465b5a81 177642009-12-28 Carles Pina i Estany <carles@pina.cat>
17765
17766 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17767 quotes.
17768
c181849b
VS
177692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17772
9c8739a4
VS
177732009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * normal/menu_text.c (grub_print_message_indented): Prevent
17776 past-the-end-of-array dereference.
17777
3e74249c
VS
177782009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17781 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17782
64fd18ed 177832009-12-27 Carles Pina i Estany <carles@pina.cat>
17784
17785 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17786 * normal/main.c (grub_normal_read_line): Remove a space from the
17787 default prompt.
17788
714af9b9 177892009-12-27 Carles Pina i Estany <carles@pina.cat>
17790
17791 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17792 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17793 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17794 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17795 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17796 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17797 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17798
82f3e412 177992009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 17800
17801 * video/readers/jpeg.c (cmd): Declare.
17802 (grub_cmd_jpegtest): Use `grub_command_t' type.
17803 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17804 Assign to `cmd'.
17805 (GRUB_MOD_FINI): Use `cmd' to unregister.
17806 * video/readers/png.c (cmd): Declare.
17807 (grub_cmd_pngtest): Use `grub_command_t' type.
17808 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17809 Assign to `cmd'.
17810 (GRUB_MOD_FINI): Use `cmd' to unregister.
17811 * video/readers/tga.c (cmd): Declare.
17812 (grub_cmd_tgatest): Use `grub_command_t' type.
17813 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17814 Assign to `cmd'.
17815 (GRUB_MOD_FINI): Use `cmd' to unregister.
17816
82f3e412 178172009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 17818
17819 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17820 stops.
17821 * kern/corecmd.c (grub_register_core_commands): Likewise.
17822 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17823 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17824 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17825 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17826 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17827 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17828 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17829 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17830 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17831 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17832 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17833 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17834 * normal/handler.c (insert_handler): Likewise.
17835 * normal/main.c (GRUB_MOD_INIT): Likewise.
17836 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17837
fdcdbb66 178382009-12-26 Carles Pina i Estany <carles@pina.cat>
17839
17840 * commands/help.c (grub_cmd_help): Print the command name before the
17841 summary.
17842 (GRUB_MOD_INIT): Remove command name from the summary.
17843 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 17844 string as summary.
fdcdbb66 17845 * lib/arg.c (find_long): Print the command name before the summary.
17846 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17847 summary.
17848 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17849 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17850 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17851 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17852 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17853 * commands/date.c (GRUB_MOD_INIT): Likewise.
17854 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17855 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17856 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17857 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17858 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17859 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17860 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17861 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17862 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17863 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17864 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17865 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17866 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17867 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17868 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17869 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17870 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17871 * commands/password.c (GRUB_MOD_INIT): Likewise.
17872 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17873 * commands/read.c (GRUB_MOD_INIT): Likewise.
17874 * commands/search.c (GRUB_MOD_INIT): Likewise.
17875 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17876 * commands/test.c (GRUB_MOD_INIT): Likewise.
17877 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17878 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17879 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17880 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17881 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17882 * lib/arg.c (GRUB_MOD_INIT): Likewise.
17883 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
17884 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17885 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17886 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17887 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17888 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
17889 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
17890 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
17891
9c288be2
VS
178922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 Use search command for preliminar UUID search.
17895
17896 * commands/search.c: Split into ...
17897 * commands/search_wrap.c: ...this
17898 * commands/search.c: ...and this.
17899 * commands/search_file.c: New file.
17900 * commands/search_label.c: New file.
17901 * commands/search_uuid.c: New file.
17902 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
17903 Add commands/search_wrap.c, commands/search_file.c,
17904 commands/search_label.c and commands/search_uuid.c.
17905 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
17906 (search_mod_SOURCES): Set to commands/search_wrap.c.
17907 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
17908 search_label.mod.
17909 (search_fs_file_mod_SOURCES): New variable.
17910 (search_fs_file_mod_CFLAGS): Likewise.
17911 (search_fs_file_mod_LDFLAGS): Likewise.
17912 (search_label_mod_SOURCES): Likewise.
17913 (search_label_mod_CFLAGS): Likewise.
17914 (search_label_mod_LDFLAGS): Likewise.
17915 (search_fs_uuid_mod_SOURCES): New variable.
17916 (search_fs_uuid_mod_CFLAGS): Likewise.
17917 (search_fs_uuid_mod_LDFLAGS): Likewise.
17918 (fs_file_mod_SOURCES): Removed.
17919 (fs_file_mod_CFLAGS): Likewise.
17920 (fs_file_mod_LDFLAGS): Likewise.
17921 (fs_uuid_mod_SOURCES): Removed.
17922 (fs_uuid_mod_CFLAGS): Likewise.
17923 (fs_uuid_mod_LDFLAGS): Likewise.
17924 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
17925 Set to util/grub-install.in.
17926 * disk/fs_file.c: Removed.
17927 * disk/fs_uuid.c: Likewise.
17928 * include/grub/search.h: New file.
17929 * util/grub-install.in: Handle sparc64.
17930 Create and use load.cfg.
17931 * util/sparc64/ieee1275/grub-install.in: Removed.
17932
db943399
VS
179332009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
17936 Ignore return status if CF is cleared.
17937 (grub_biosdisk_get_diskinfo_standard): Likewise.
17938
3fdae612
RM
179392009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17940
17941 * term/i386/pc/at_keyboard.c
17942 (keyboard_controller_wait_untill_ready): New function.
17943 (grub_keyboard_controller_write, grub_keyboard_controller_read)
17944 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
17945 for keyboard polling, rather than duplicate the same loop. This
17946 saves a few bytes in code size.
17947
7ebaa2b4
VS
179482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 Support for (pxe[:server[:gateway]]) syntax and
17951 use environment variable for PXE.
17952
17953 * commands/i386/pc/pxecmd.c (options): Removed.
17954 (print_ip): Removed.
17955 (grub_cmd_pxe): Removed
17956 (grub_cmd_pxe_unload): New function.
17957 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
17958 (grub_pxe_your_ip): Made static.
17959 (grub_pxe_default_server_ip): Likewise.
17960 (grub_pxe_default_gateway_ip): Likewise.
17961 (grub_pxe_blksize): Likewise.
17962 (parse_ip): New function.
17963 (grub_pxe_open): Support server and gateway specification.
17964 (grub_pxe_close): Free disk->data.
17965 (grub_pxefs_open): Use disk->data.
17966 (grub_pxefs_read): Likewise.
17967 (grub_env_write_readonly): New function.
17968 (set_mac_env): Likewise.
17969 (set_env_limn_ro): Likewise.
17970 (parse_dhcp_vendor): Likewise.
17971 (grub_pxe_detect): Set the environment variables.
17972 (set_ip_env): New function.
17973 (write_ip_env): Likewise.
17974 (grub_env_write_pxe_default_server): Likewise.
17975 (grub_env_write_pxe_default_gateway): Likewise.
17976 (grub_env_write_pxe_blocksize): Likewise.
17977 (GRUB_MOD_INIT(pxe)): Set environment variables.
17978 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
17979 (grub_pxe_mac_addr_t): ... this. All users updated.
17980 (grub_pxe_your_ip): Removed.
17981 (grub_pxe_server_ip): Likewise.
17982 (grub_pxe_gateway_ip): Likewise.
17983 (grub_pxe_blksize): Likewise.
17984
ec5f98ab 179852009-12-25 Carles Pina i Estany <carles@pina.cat>
17986
17987 * commands/help.c: Include `<grub/i18n.h>'.
17988 (grub_cmd_help): Gettextizze.
17989 (GRUB_MOD_INIT): Likewise.
17990 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
17991 (GRUB_MOD_INIT): Gettextizze.
17992 * commands/search.c: Include `<grub/i18n.h>'.
17993 (options): Gettextizze.
17994 (GRUB_MOD_INIT): Gettextizze.
17995 * lib/arg.c: Include `<grub/i18n.h>'.
17996 (help_options): Gettextizze.
17997 (find_long): Likewise.
17998 (grub_arg_show_help): Likewise.
17999 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18000 (read_command_list): Gettextizze.
18001 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 18002 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 18003
22815526
RM
180042009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18005
18006 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18007 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18008 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18009 (led_status): New variable.
18010 (keyboard_controller_led): New function.
18011 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18012 update led status for caps lock, num lock and scroll lock.
18013
0ad46fd7
FZ
180142009-12-25 Felix Zielcke <fzielcke@z-51.de>
18015
18016 * util/hostdisk.c (open_device): Fix a comment.
18017
d0e158c2
RM
180182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18019
18020 * util/grub-install.in (host_os): New variable.
18021 * util/i386/efi/grub-install.in (host_os): Likewise.
18022
401c0ad6
RM
180232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18024
18025 * util/mkisofs/write.c (padblock_write): Abort when given an
18026 excedingly large embed image, instead of silently truncating it.
18027
d14d3370
RM
180282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18029
18030 * include/multiboot.h: Indentation fixes.
18031
eeed10b4
RM
180322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18033
18034 * include/multiboot.h (struct multiboot_aout_symbol_table)
18035 (struct multiboot_elf_section_header_table): New structure
18036 declarations (stolen from GRUB Legacy).
18037 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18038 table information.
18039
18040 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18041 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18042 type aliases.
18043
681c70ab
RM
180442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18045
18046 * include/multiboot.h: Make comments src2texi-friendly.
18047
e4d47d8d
RM
180482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18049
18050 For consistency with [multiboot]/docs/boot.S.
18051
18052 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18053 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18054 (MULTIBOOT_MAGIC2): Rename from this ...
18055 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18056
a0b70bda
RM
180572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18058
18059 * include/multiboot.h: Remove `<grub/types.h>'.
18060 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18061 types. Update all users.
18062
61ba42be 180632009-12-25 Carles Pina i Estany <carles@pina.cat>
18064
18065 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18066 `couldn't' and `can not' by `cannot'.
18067 * commands/i386/pc/drivemap.c: Likewise.
18068 * disk/ata.c: Likewise.
18069 * disk/ieee1275/nand.c: Likewise.
18070 * fs/affs.c: Likewise.
18071 * fs/fat.c: Likewise.
18072 * fs/hfs.c: Likewise.
18073 * fs/hfsplus.c: Likewise.
18074 * fs/iso9660.c: Likewise.
18075 * fs/jfs.c: Likewise.
18076 * fs/minix.c: Likewise.
18077 * fs/reiserfs.c: Likewise.
18078 * fs/sfs.c: Likewise.
18079 * fs/udf.c: Likewise.
18080 * fs/ufs.c: Likewise.
18081 * fs/xfs.c: Likewise.
18082 * loader/powerpc/ieee1275/linux.c: Likewise.
18083 * loader/sparc64/ieee1275/linux.c: Likewise.
18084 * util/grub-probe.c: Likewise.
18085 * util/misc.c: Likewise.
18086
7fd0baee 180872009-12-24 Carles Pina i Estany <carles@pina.cat>
18088
18089 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18090 grub_errno calls.
18091 * commands/acpi.c: Likewise.
18092 * commands/blocklist.c: Likewise.
18093 * commands/efi/loadbios.c: Likewise.
18094 * commands/i386/pc/drivemap.c: Likewise.
18095 * commands/loadenv.c: Likewise.
18096 * commands/memrw.c: Likewise.
18097 * commands/password.c: Likewise.
18098 * commands/videotest.c: Likewise.
18099 * disk/ata.c: Likewise.
18100 * disk/ata_pthru.c: Likewise.
18101 * disk/dmraid_nvidia.c: Likewise.
18102 * disk/ieee1275/nand.c: Likewise.
18103 * disk/ieee1275/ofdisk.c: Likewise.
18104 * disk/loopback.c: Likewise.
18105 * disk/lvm.c: Likewise.
18106 * disk/mdraid_linux.c: Likewise.
18107 * disk/raid.c: Likewise.
18108 * disk/raid6_recover.c: Likewise.
18109 * disk/scsi.c: Likewise.
18110 * efiemu/main.c: Likewise.
18111 * efiemu/mm.c: Likewise.
18112 * efiemu/pnvram.c: Likewise.
18113 * efiemu/symbols.c: Likewise.
18114 * font/font.c: Likewise.
18115 * fs/cpio.c: Likewise.
18116 * fs/hfsplus.c: Likewise.
18117 * fs/iso9660.c: Likewise.
18118 * fs/jfs.c: Likewise.
18119 * fs/minix.c: Likewise.
18120 * fs/ntfs.c: Likewise.
18121 * fs/ntfscomp.c: Likewise.
18122 * fs/reiserfs.c: Likewise.
18123 * fs/ufs.c: Likewise.
18124 * fs/xfs.c: Likewise.
18125 * gettext/gettext.c: Likewise.
18126 * include/grub/auth.h: Likewise.
18127 * kern/elf.c: Likewise.
18128 * kern/file.c: Likewise.
18129 * kern/ieee1275/init.c: Likewise.
18130 * kern/ieee1275/mmap.c: Likewise.
18131 * kern/ieee1275/openfw.c: Likewise.
18132 * kern/powerpc/dl.c: Likewise.
18133 * kern/sparc64/dl.c: Likewise.
18134 * lib/arg.c: Likewise.
18135 * loader/i386/bsd.c: Likewise.
18136 * loader/i386/bsdXX.c: Likewise.
18137 * loader/i386/efi/linux.c: Likewise.
18138 * loader/i386/efi/xnu.c: Likewise.
18139 * loader/i386/ieee1275/linux.c: Likewise.
18140 * loader/i386/linux.c: Likewise.
18141 * loader/i386/multiboot.c: Likewise.
18142 * loader/i386/pc/linux.c: Likewise.
18143 * loader/i386/pc/multiboot2.c: Likewise.
18144 * loader/i386/xnu.c: Likewise.
18145 * loader/ieee1275/multiboot2.c: Likewise.
18146 * loader/macho.c: Likewise.
18147 * loader/machoXX.c: Likewise.
18148 * loader/multiboot2.c: Likewise.
18149 * loader/multiboot_loader.c: Likewise.
18150 * loader/powerpc/ieee1275/linux.c: Likewise.
18151 * loader/sparc64/ieee1275/linux.c: Likewise.
18152 * loader/xnu.c: Likewise.
18153 * loader/xnu_resume.c: Likewise.
18154 * mmap/i386/pc/mmap.c: Likewise.
18155 * normal/menu_viewer.c: Likewise.
18156 * partmap/acorn.c: Likewise.
18157 * partmap/amiga.c: Likewise.
18158 * partmap/apple.c: Likewise.
18159 * script/lexer.c: Likewise.
18160 * term/gfxterm.c: Likewise.
18161 * term/i386/pc/serial.c: Likewise.
18162 * term/i386/pc/vga.c: Likewise.
18163 * term/ieee1275/ofconsole.c: Likewise.
18164 * term/terminfo.c: Likewise.
18165 * video/bitmap.c: Likewise.
18166 * video/efi_gop.c: Likewise.
18167 * video/efi_uga.c: Likewise.
18168 * video/fb/video_fb.c: Likewise.
18169 * video/i386/pc/vbe.c: Likewise.
18170 * video/readers/tga.c: Likewise.
18171 * video/video.c: Likewise.
18172
0ad46fd7 181732009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
18174
18175 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18176 * commands/lspci.c: Likewise.
18177 * commands/probe.c: Likewise.
18178 * commands/xnu_uuid.c: Likewise.
18179 * conf/i386-coreboot.rmk: Likewise.
18180 * conf/i386-efi.rmk: Likewise.
18181 * conf/i386-ieee1275.rmk: Likewise.
18182 * conf/i386-pc.rmk: Likewise.
18183 * conf/powerpc-ieee1275.rmk: Likewise.
18184 * conf/sparc64-ieee1275.rmk: Likewise.
18185 * conf/x86_64-efi.rmk: Likewise.
18186 * fs/i386/pc/pxe.c: Likewise.
18187 * gettext/gettext.c: Likewise.
18188 * include/grub/efi/graphics_output.h: Likewise.
18189 * include/grub/i386/pc/memory.h: Likewise.
18190 * kern/env.c: Likewise.
18191 * kern/i386/qemu/startup.S: Likewise.
18192 * lib/i386/pc/biosnum.c: Likewise.
18193 * lib/i386/relocator.c: Likewise.
18194 * lib/i386/relocator_asm.S: Likewise.
18195 * lib/relocator.c: Likewise.
18196 * loader/i386/bsd.c: Likewise.
18197 * loader/i386/multiboot.c: Likewise.
18198 * loader/i386/pc/chainloader.c: Likewise.
18199 * loader/i386/xnu.c: Likewise.
18200 * loader/xnu.c: Likewise.
18201 * normal/main.c: Likewise.
18202 * normal/menu_text.c: Likewise.
18203 * util/getroot.c: Likewise.
18204 * util/grub-mkconfig_lib.in: Likewise.
18205 * util/grub.d/00_header.in: Likewise.
18206 * util/i386/pc/grub-mkimage.c: Likewise.
18207 * util/mkisofs/eltorito.c: Likewise.
18208 * util/mkisofs/exclude.h: Likewise.
18209 * util/mkisofs/hash.c: Likewise.
18210 * util/mkisofs/iso9660.h: Likewise.
18211 * util/mkisofs/joliet.c: Likewise.
18212 * util/mkisofs/mkisofs.c: Likewise.
18213 * util/mkisofs/mkisofs.h: Likewise.
18214 * util/mkisofs/multi.c: Likewise.
18215 * util/mkisofs/name.c: Likewise.
18216 * util/mkisofs/rock.c: Likewise.
18217 * util/mkisofs/tree.c: Likewise.
18218 * util/mkisofs/write.c: Likewise.
18219 * video/efi_gop.c: Likewise.
18220
009ec743
VS
182212009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18224 size counting.
18225
0ad46fd7 182262009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
18227
18228 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18229 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18230
d3d30ea0
VS
182312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18234 (GRUB_MOD_INIT(memrw)): Update help line.
18235
a34f5c70
VS
182362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18239 Use grub_extcmd_t. All users updated.
18240 (options): New variable.
18241 (grub_cmd_read): Restructure for readability. Support "-v" option.
18242 (grub_cmd_write): Restructure for readability.
18243
0ad46fd7 182442009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
18245
18246 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18247
0ad46fd7 182482009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
18249
18250 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18251 with the actual contents of the correspondending make variable.
18252 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18253 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18254 specifying `*.lst' and `efiemu??.o'
18255
0ad46fd7 182562009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
18257
18258 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18259 after function name.
18260 Noticed by Rene Engelhard <rene@debian.org>.
18261
dc77a799
VS
182622009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18265 (options): New variable.
18266 (iospace): Likewise.
18267 (grub_lspci_iter): List IO spaces if "-i" was given.
18268 (grub_cmd_lspci): Parse options.
18269 (GRUB_MOD_INIT(lspci)): Use extcmd.
18270 (GRUB_MOD_FINI(lspci)): Likewise.
18271
0ad46fd7 182722009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
18273
18274 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18275 `function' keyword.
18276 Patch by Tony Mancill <tmancill@debian.org>.
18277
b5d5993b
VS
182782009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18281 (grub_uhci_portstatus): Likewise.
18282 (grub_uhci_portstatus): Add necessary delay.
11d18281 18283 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 18284
941903f2 182852009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 18286
941903f2 18287 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18288 (GRUB_MOD_INIT): Likewise.
18289 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 18290 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18291 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 18292 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18293 (enable_rom_area): Likewise.
18294 (GRUB_MOD_INIT): Likewise.
18295 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18296 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18297 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18298 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18299 * commands/hexdump.c (options): Likewise.
18300 * commands/i386/cpuid.c (options): Likewise.
18301 (GRUB_MOD_INIT): Likewise.
18302 * commands/i386/pc/drivemap.c (options): Likewise.
18303 (GRUB_MOD_INIT): Likewise.
18304 * commands/i386/pc/halt (options): Likewise.
18305 (GRUB_MOD_INIT): Likewise.
18306 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18307 * commands/i386/pc/pxecmd.c (options): Likewise.
18308 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18309 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18310 * commands/keystatus.c (options): Likewise.
18311 (GRUB_MOD_INIT): Likewise.
18312 * commands/loadenv.c (options): Likewise.
18313 * commands/ls.c (options): Likewise.
18314 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18315 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18316 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18317 * commands/parttool.c (helpmsg): Likewise.
18318 * commands/probe.c (options): Likewise.
18319 * commands/read.c (GRUB_MOD_INIT): Likewise.
18320 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18321 * commands/search.c (options): Likewise.
18322 * commands/sleep.c (options): Likewise.
18323 * commands/test.c (GRUB_MOD_INIT): Likewise.
18324 * commands/true.c (GRUB_MOD_INIT): Likewise.
18325 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18326 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18327 * lib/arg.c (help_options): Likewise.
e9bbb4e7 18328 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18329 `$(XGETTEXT)'.
98a50553 18330 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 18331
0ad46fd7 183322009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 18333
ef3c2c3a 18334 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
18335 instead of specifying them explicit.
18336
7922f68b
RM
183372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18338
18339 * NEWS: Add grub-probe support for GNU/Hurd.
18340
537ce47f
RM
183412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18342
18343 * NEWS: gettext was added after 1.97.
18344
9b214e3a
RM
183452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18346
18347 * util/mkisofs/msdos_partition.h: New file (based on
18348 include/grub/msdos_partition.h).
18349 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18350 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18351 (ld_options, main): Recognize --protective-msdos-label.
18352 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18353 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18354 (padblock_write): If `use_protective_msdos_label' is set, patch a
18355 protective DOS-style label in the output image.
18356
18357 * util/grub-mkrescue.in: Use --protective-msdos-label.
18358
e9309813
RM
183592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18360
18361 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18362 boot.
18363
0ae56929
RM
183642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18365
18366 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18367 variables.
18368 (ld_options, main): Recognize `--embedded-boot'.
18369 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18370 declarations.
18371 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18372 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18373 (padblock_write): Likewise. Rewrite to support embedded boot image.
18374
18375 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18376 for BIOS-based disk boot instead of only ElTorito.
18377
b15937b1
RM
183782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18379
18380 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18381 build (not needed for bootstrap).
18382
52cc3ce0
RM
183832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18384
18385 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18386 from i386-pc build (not needed for bootstrap).
18387 Rewrite a pair of strings.
18388
36f5ff04
RM
183892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18390
18391 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18392
973c6c85 183932009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
18394
18395 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18396
05d21547
AB
183972009-12-21 Andreas Born <futur.andy@googlemail.com>
18398
18399 * kern/env.c (grub_env_context_open): Mark exported variable for
18400 reexport.
18401
0175d51f
AB
184022009-12-21 Andreas Born <futur.andy@googlemail.com>
18403
18404 * kern/env.c (grub_env_export): Create nonexistent variables before
18405 exporting.
18406
7f39d92f 184072009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 18408
7f39d92f 18409 * include/grub/auth.h: Include `<grub/i18n.h>'.
18410 (GRUB_GET_PASSWORD): Gettextizze string.
18411 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18412 menu_text.c.
18413 (grub_utf8_to_ucs4_alloc): Fix indentation.
18414 (grub_print_ucs4): Likewise.
18415 (grub_getstringwidth): Likewise.
18416 (print_message_indented): New declaration.
18417 * normal/auth.c: Include `<grub/i18n.h>'.
18418 (grub_auth_check_authentication): Gettexttize string.
18419 * normal/cmdline.c: Include `<grub/i18n.h>'.
18420 (grub_cmdline_get): Gettextizze.
18421 * normal/color.c: Include `<grub/i18n.h>'.
18422 (grub_parse_color_name_pair): Gettexttize strings.
18423 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18424 string (use `print_message_indented').
18425 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18426 `include/grub/normal.h'.
18427 (print_message_indented): Renamed to ...
18428 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18429 used in normal/main.c).
18430 (print_message): Use `grub_print_message_indented' instead of
18431 `print_message_indented'.
18432 (print_timeout): Likewise.
18433 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18434 (grub_normal_print_device_info): Gettexttize strings.
18435 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18436
3041d898
VS
184372009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18438
18439 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18440 of arguments. Return number of tokens and not arguments. All users
18441 updated.
18442
de15bf8e
VS
184432009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18444
18445 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18446 non-MSDOS paritions.
18447
e0a6ca52
VS
184482009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18449
18450 * include/grub/types.h (UNUSED): Removed since it conflicts with
18451 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18452 Reported by Grégoire Sutre.
18453
b99518d1 184542009-12-19 Carles Pina i Estany <carles@pina.cat>
18455
18456 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18457 (grub_print_ucs4_alloc): Likewise.
18458 (grub_getstringwidth): Likewise.
18459 * normal/main.c (grub_normal_init_page): Gettextize version string.
18460 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18461 (getstringwidth): Renamed to ...
18462 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18463 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18464 (grub_print_ucs4): Remove `static' qualifer (now used in
18465 normal/main.c).
18466 * po/POTFILES: Add normal/main.c.
18467
bfd5e52b 184682009-12-19 Carles Pina i Estany <carles@pina.cat>
18469
18470 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18471 (print_message_indented): Add `margin_left' and `margin_right'
18472 parameters.
18473 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18474 strings.
18475 (print_timeout): Use `print_message_indented' to print the message.
18476 Deletes `second_stage' parameter.
18477 (run_menu): Update `print_timeout' calls.
18478
5a1ad2b9
VS
184792009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 Fix console palette on OpenFirmware.
18482
18483 * term/ieee1275/ofconsole.c (MAX): Removed.
18484 (colors): Redone based on VGA palette.
18485 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18486 colors are supported.
18487 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18488
b045f00a
VS
184892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18490
18491 Fix potential EfiEmu double prepare.
18492
18493 * efiemu/main.c (prepared): New variable
18494 (grub_efiemu_unload): Set prepare to '0'.
18495 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18496
18497 set_virtual_address_map support.
18498
18499 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18500 prototype.
18501 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18502 prototype.
18503 (grub_efiemu_crc32): Likewise.
18504 (grub_efiemu_crc64): Likewise.
18505 (grub_efiemu_set_virtual_address_map): Likewise.
18506 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18507 New definition.
18508 (grub_autoefi_set_virtual_address_map): Likewise.
18509 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18510 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18511 Restructure flow to accomodate it.
18512 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18513 (grub_efiemu_crc): Recompute CRC32.
18514 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18515 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18516 * efiemu/symbols.c (relocated_handle): New variable.
18517 (grub_efiemu_free_syms): Free relocated_handle.
18518 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18519 (grub_efiemu_write_sym_markers): New function.
18520 (grub_efiemu_set_virtual_address_map): Likewise.
18521
18522 Newer XNU parameters.
18523
18524 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18525 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18526 (grub_xnu_fill_devicetree): New prototype.
18527 (grub_xnu_heap_real_start): New variable.
18528 * loader/xnu.c (get_name_ptr): New function.
18529 (grub_xnu_load_driver): Fill namelen and name.
18530
18531 64-bit xnu support.
18532
18533 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18534 and 'loader/macho64.c'.
18535 * conf/i386-pc.rmk: Likewise.
18536 * conf/x86_64-efi.rmk: Likewise.
18537 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18538 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18539 * include/grub/macho.h (grub_macho_segment64): New structure.
18540 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18541 (grub_macho_size32): ... to this.
18542 (grub_macho32_get_entry_point): Renamed from ...
18543 (grub_macho_get_entry_point32): ... to this.
18544 (grub_macho_contains_macho64): New prototype.
18545 (grub_macho_size64): Likewise.
18546 (grub_macho_get_entry_point64): Likewise.
18547 (grub_macho32_load): Renamed from ...
18548 (grub_macho_load32): ... to this.
18549 (grub_macho32_filesize): Renamed from ...
18550 (grub_macho_filesize32): ... to this.
18551 (grub_macho32_readfile): Renamed from ...
18552 (grub_macho_readfile32): ... to this.
18553 (grub_macho_filesize64): New prototype.
18554 (grub_macho_readfile64): Likewise.
18555 (grub_macho_parse32): Likewise.
18556 (grub_macho_parse64): Likewise.
18557 * loader/macho.c: Split into ...
18558 * loader/machoXX.c: ... and this. Replace 32 with XX.
18559 * loader/macho32.c: New file.
18560 * loader/macho64.c: Likewise.
18561 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18562 (grub_cmd_xnu_kernel): Make 32-bit only.
18563 (grub_cmd_xnu_kernel64): New function.
18564 (grub_xnu_load_driver): Support Mach-O 64.
18565 (grub_cmd_xnu_mkext): Likewise.
18566 * util/grub.d/30_os-prober.in (osx_entry): New function.
18567 Generate entries for 64-bit boot too.
18568
18569 Eliminate ad-hoc tree format in XNU and EfiEmu.
18570
18571 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18572 * efiemu/pnvram.c: Rewritten to use environment variables.
18573 All users updated.
18574
18575 Inline utf16_to_utf8.
18576
18577 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18578 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18579 All users updated.
18580 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18581
18582 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18583 * commands/usbtest.c (grub_usb_get_string): ... move here.
18584 (usb_print_str): Fix error handling.
18585 * include/grub/usb.h (grub_usb_get_string): Remove.
18586
18587 UTF-8 to UTF-16 transformation.
18588
18589 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18590 (charset_mod_SOURCES): New variable.
18591 (charset_mod_CFLAGS): Likewise.
18592 (charset_mod_LDFLAGS): Likewise.
18593 * include/grub/utf.h: New file.
18594 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18595
18596 Support for device properties.
18597
18598 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18599 (grub_xnu_devprop_device_header): Likewise.
18600 (grub_xnu_devprop_device_descriptor): Likewise.
18601 (grub_xnu_devprop_add_device): New prototype.
18602 (grub_xnu_devprop_remove_device): Likewise.
18603 (grub_xnu_devprop_remove_property): Likewise.
18604 (grub_xnu_devprop_add_property_utf8): Likewise.
18605 (grub_xnu_devprop_add_property_utf16): Likewise.
18606 (grub_cpu_xnu_init): Likewise.
18607 (grub_cpu_xnu_fini): Likewise.
18608 (grub_cpu_xnu_unload): Likewise.
18609 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18610 (property_descriptor): Likewise.
18611 (devices): New variable.
18612 (grub_xnu_devprop_remove_property): New function.
18613 (grub_xnu_devprop_add_device): Likewise.
18614 (grub_xnu_devprop_remove_device): Likewise.
18615 (grub_xnu_devprop_add_property): Likewise.
18616 (grub_xnu_devprop_add_property_utf8): Likewise.
18617 (grub_xnu_devprop_add_property_utf16): Likewise.
18618 (hextoval): Likewise.
18619 (grub_cpu_xnu_fill_devprop): Likewise.
18620 (grub_cmd_devprop_load): Likewise.
18621 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18622 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18623 (cmd_devprop_load): New variable.
18624 (grub_cpu_xnu_init): New function.
18625 (grub_cpu_xnu_fini): Likewise.
18626 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18627 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18628 (grub_cmd_xnu_devtree): Likewise.
18629 (hextoval): New function.
18630 (unescape): Likewise.
18631 (grub_xnu_fill_devicetree): Likewise.
18632
18633 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18634 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18635
0945f181
VS
186362009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 Workaround for broken ATI VBE.
18639
18640 * video/i386/pc/vbe.c (last_set_mode): New variable.
18641 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18642 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18643 (grub_video_vbe_setup): Don't check for reserved flag.
18644
0ad46fd7 186452009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
18646
18647 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18648 the `find' command.
18649
c179ebe4
VS
186502009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18651
18652 UUID support for HFS.
18653
18654 * fs/hfs.c (grub_hfs_uuid): New function.
18655 (grub_hfs_fs): New value .uuid.
18656 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18657
0ad46fd7 186582009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
18659
18660 Fix a segfault with parsing unknown long options.
18661
18662 * util/grub-mkrelpath.c (options): Zero terminate it.
18663
c4a3e41a
CPE
186642009-12-13 Carles Pina i Estany <carles@pina.cat>
18665
18666 * include/grub/misc.h (grub_puts): New declaration.
18667 (grub_puts_): Likewise.
a22008a6 18668 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
18669 (grub_puts_): Likewise.
18670
2e8a7602
RM
186712009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18672
18673 * util/grub-probe.c (probe): Improve error message.
18674
b50b77b9
RM
186752009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18676
18677 * loader/i386/multiboot_elfxx.c
18678 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18679 initialization.
18680
186812009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 Relocator framework
18684
18685 * loader/i386/xnu_helper.S: Removed. All users updated.
18686 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18687 (relocator_mod_SOURCES): New variable.
18688 (relocator_mod_CFLAGS): Likewise.
18689 (relocator_mod_LDFLAGS): Likewise.
18690 (relocator_mod_ASFLAGS): Likewise.
18691 * conf/x86_64.rmk: Likewise.
18692 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18693 (grub_multiboot_payload_entry_offset): Likewise.
18694 (grub_multiboot_forward_relocator): Likewise.
18695 (grub_multiboot_forward_relocator_end): Likewise.
18696 (grub_multiboot_backward_relocator): Likewise.
18697 (grub_multiboot_backward_relocator_end): Likewise.
18698 (grub_multiboot_payload_eip): New variable.
18699 (grub_multiboot_payload_orig): Likewise.
18700 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18701 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18702 * include/grub/i386/memory.h
18703 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18704 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18705 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18706 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18707 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18708 * include/grub/i386/relocator.h: New file.
18709 * include/grub/x86_64/relocator.h: Likewise.
18710 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18711 (XNU_RELOCATOR): New macro.
18712 (grub_xnu_launcher_start): Remove.
18713 (grub_xnu_launcher_end): Likewise.
18714 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18715 (grub_xnu_heap_real_start): Remove.
18716 (grub_xnu_heap_start): Change to void *. All users updated.
18717 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18718 * lib/i386/relocator.c: New file.
18719 * lib/i386/relocator_asm.S: Likewise.
18720 * lib/i386/relocator_backward.S: Likewise.
18721 * lib/mips/relocator.c: Likewise.
18722 * lib/mips/relocator_asm.S: Likewise.
18723 * lib/relocator.c: Likewise.
18724 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18725 (entry): Removed.
18726 (playground): Likewise.
18727 (grub_multiboot_payload_orig): New variable.
18728 (grub_multiboot_payload_dest): Likewise.
18729 (grub_multiboot_payload_size): Likewise.
18730 (grub_multiboot_payload_eip): Likewise.
18731 (grub_multiboot_payload_esp): Likewise.
18732 (grub_multiboot_boot): Use grub_relocator32_boot.
18733 (grub_multiboot_unload): Free relocators.
18734 (grub_multiboot): Setup stack. Use relocators.
18735 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18736 (grub_multiboot_load_elfXX): Use relocators.
18737 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18738 (grub_multiboot_payload_size): Likewise.
18739 (grub_multiboot_payload_dest): Likewise.
18740 (grub_multiboot_payload_entry_offset): Likewise.
18741 (grub_multiboot_forward_relocator): Likewise.
18742 (grub_multiboot_backward_relocator): Likewise.
18743 (grub_multiboot_real_boot): Likewise.
18744 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18745 (grub_xnu_entry_point): Likewise.
18746 (grub_xnu_arg1): Likewise.
18747 (grub_xnu_stack): Likewise.
18748 (grub_xnu_launch): Removed.
18749 (grub_xnu_boot_resume): New function.
18750 (grub_xnu_boot): Use relocators.
18751 * loader/i386/xnu_helper.S: Removed.
18752 * loader/xnu.c (grub_xnu_heap_start): New variable.
18753 (grub_xnu_heap_size): Likewise.
18754 (grub_xnu_heap_malloc): Use relocators.
18755 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18756
29eb90c6
VS
187572009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18760 anything.
18761
31027430
CPE
187622009-12-13 Carles Pina i Estany <carles@pina.cat>
18763
18764 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18765 GRUB_ERR_NONE before calling grub_env_set.
18766
dc0c71d9
RM
187672009-12-12 Robert Millan <rmh@aybabtu.com>
18768
18769 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18770 * genmk.rb (video): New variable.
18771 (CLEANFILES, VIDEOFILES): Add #{video}.
18772 (#{video}): New target rule.
18773 * genvideolist.sh: New file.
18774 * Makefile.in (pkglib_DATA): Add video.lst.
18775 (video.lst): New target rule.
18776 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18777 `video.lst'.
18778 * util/grub.d/30_os-prober.in: Replace `vbe' with
18779 ${GRUB_VIDEO_BACKEND}.
18780
2a4bfcf0
RM
187812009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18782
18783 * THANKS: Add David Miller.
18784
2a3aa4d5
RM
187852009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 libpciaccess support.
18788
18789 * Makefile.in (LIBPCIACCESS): New variable.
18790 (enable_grub_emu_pci): Likewise.
18791 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18792 util/pci.c and commands/lspci.c.
18793 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18794 * configure.ac (grub-emu-pci): New option.
18795 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18796 (grub_pci_device_unmap_range): Likewise.
18797 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18798 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18799 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18800 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18801 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18802 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18803 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18804 * include/grub/pciutils.h: New file.
18805 * util/pci.c: Likewise.
18806
0ad46fd7 188072009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
18808
18809 * util/misc.c: Don't include <errno.h> twice.
18810
0ad46fd7 188112009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
18812
18813 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18814 name in an error message.
18815 (grub_biosdisk_rw): Likewise.
18816
2e59983c
VS
188172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18818
18819 Eliminate NTFS 4Gib barrier.
18820
18821 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18822 (read_run_data): Likewise.
18823 (grub_ntfs_read_run_list): Likewise.
18824 (grub_ntfs_read_block): Likewise.
18825 (grub_ntfs_iterate_dir): Likewise.
18826 (read_mft): Likewise.
18827 (read_data): Likewise.
18828 Use COM_LOG_LEN.
18829 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18830 to avoid 64-bit division
18831 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18832 (grub_ntfs_rlst): Use grub_disk_addr_t.
18833
71ee178a
VS
188342009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 Eliminate grub-fstest 4Gib barrier.
18837
18838 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18839 (read_file): Fix error reporting.
18840
2520d4b8
VS
188412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18842
18843 Eliminate hexdump 4Gib barrier.
18844
18845 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18846 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18847
e1f27065
VS
188482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18851 Fixes amarsh bug.
18852
1a0f7f45
RM
188532009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18854
18855 Remove miscellaneous files in distclean target.
18856
18857 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18858
c631d9fb
CW
188592009-12-09 Colin Watson <cjwatson@ubuntu.com>
18860
18861 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18862 if they're already set. This resolves the conflict between my
18863 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18864 fixing the --grub-probe option again.
18865 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18866 change on 2009-10-06, so that we now once again source
18867 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18868
7c7b6106
RM
188692009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18870
18871 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18872 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18873 `util/devicemap.c'.
18874
e3069ec1
CPE
188752009-12-08 Carles Pina i Estany <carles@pina.cat>
18876
18877 * include/grub/misc.h (grub_printf_): New declaration.
18878 * kern/misc.c (grub_printf_): New definition.
18879 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18880 instead of `grub_printf' and `_'.
18881 * normal/menu_entry.c (store_completion): Likewise.
18882 (run): Likewise.
18883 (grub_menu_entry_run): Likewise.
18884 * normal/menu_text.c (grub_wait_after_message): Likewise.
18885 (notify_booting): Likewise.
18886 (notify_fallback): Likewise.
18887 (notify_execution_failure): Likewise.
18888
d6ceebf1
CW
188892009-12-07 Colin Watson <cjwatson@ubuntu.com>
18890
18891 * configure.ac: Check for vasprintf.
18892 * util/misc.c (asprintf): Move allocation from here ...
18893 (vasprintf): ... to here. New function.
18894 (xasprintf): New function.
18895 * include/grub/util/misc.h (vasprintf, xasprintf): Add
18896 prototypes.
18897 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18898 * util/grub-mkfont.c (write_font): Likewise.
18899 * util/grub-probe.c (probe): Likewise.
18900 * util/hostdisk.c (make_device_name): Likewise.
18901
de6daa8b
DM
189022009-12-06 David S. Miller <davem@sunset.davemloft.net>
18903
18904 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
18905 anything even prefixed with 'cdrom' as a cdrom.
18906
0ad46fd7 189072009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
18908
18909 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
18910 mount points.
18911
98d3dc02
CPE
189122009-12-05 Carles Pina i Estany <carles@pina.cat>
18913
18914 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
18915 grub_gettext_msg_list.
18916 (grub_gettext_gettranslation_from_position): Return const char *
18917 and not char *.
a2c1332b 18918 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
18919 returns from the list if existing there.
18920 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
18921 (grub_gettext_delete_list): Delete the list.
18922 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
18923 lang environment variable is changed.
18924 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
18925
b283f108
VS
189262009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 Rename kernel.mod to kernel.img.
18929
18930 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
18931 (kernel_mod_EXPORTS): Rename to ...
18932 (kernel_img_EXPORTS): ... this.
18933 (kernel_mod_SOURCES): Rename to ...
18934 (kernel_img_SOURCES): ... this.
18935 (kernel_mod_HEADERS): Rename to ...
18936 (kernel_img_HEADERS): ... this. All users updated.
18937 (kernel_mod_CFLAGS): Rename to ...
18938 (kernel_img_CFLAGS): ... this.
18939 (kernel_mod_ASFLAGS): Rename to ...
18940 (kernel_img_ASFLAGS): ... this.
18941 (kernel_mod_LDFLAGS): Rename to ...
18942 (kernel_img_LDFLAGS): ... this.
18943 * conf/x86_64-efi.rmk: Likewise.
18944 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
18945 (read_kernel_image): ... this. All users updated.
18946 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
18947
69055f8a
CPE
189482009-12-05 Carles Pina i Estany <carles@pina.cat>
18949
18950 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
18951 (print_spaces): New function.
18952 (grub_print_ucs4): New function.
18953 (getstringwidth): New function.
18954 (print_message_indented): New function.
18955 (print_message): Gettexttize strings using print_message_indented.
18956 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
18957 width.
18958 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 18959 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
18960 Gettextize.
18961 * normal/menu_entry.c (store_completion): Cleanup the gettextized
18962 string.
18963 (run): Likewise.
18964 (grub_menu_entry_run): Likewise.
18965 * PO/POTFILES: Add normal/menu_entry.c.
18966
f616f51c
VS
189672009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18968
18969 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
18970
57bbe3be
CPE
189712009-12-05 Carles Pina i Estany <carles@pina.cat>
18972
18973 * util/grub-install.in: Install gettext .mo files.
18974 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
18975
013d67a1
CPE
189762009-12-05 Carles Pina i Estany <carles@pina.cat>
18977
18978 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
18979 grub_dprintf.
18980
fb954db0
RM
189812009-12-05 Robert Millan <rmh.grub@aybabtu.com>
18982
18983 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
18984 non-firmware-dependant one in realmode.S takes precedence.
18985
6b8474f8
RM
189862009-12-04 Robert Millan <rmh.grub@aybabtu.com>
18987
18988 * commands/halt.c: Replace misc arch-specific headers with
18989 `<grub/misc.h>'.
18990 * commands/reboot.c: Likewise.
18991 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
18992 `<grub/misc.h>'.
18993 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
18994 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
18995 (kernel_img_SOURCES): ... to here.
18996
18997 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
18998 * include/grub/i386/pc/init.h: Likewise.
18999 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19000 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19001
19002 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19003
19004 * include/grub/i386/halt.h: Remove.
19005 * include/grub/i386/reboot.h: Likewise.
19006
19007 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19008
4b2e6ca2
DM
190092009-12-03 David S. Miller <davem@sunset.davemloft.net>
19010
19011 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19012 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19013 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19014 "progname.h"
19015 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19016 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19017 (usage): Add missing comma in printf.
19018
5239348f
RM
190192009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19020
19021 Use the same reboot approach on i386 coreboot and qemu as we do on
19022 BIOS.
19023
19024 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19025 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19026 * kern/i386/reboot.c: Remove.
19027 * include/grub/i386/reboot.h (grub_reboot): Export function.
19028 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19029 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19030 0xf000:0xfff0 instead of 0xffff:0x0000.
19031 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19032 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19033
ef34cbd4
RM
190342009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19035
19036 Fix $srcdir != $objdir build.
19037
19038 * Makefile.in (po/%.po): Rewrite as ...
19039 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19040
dc9837ea
ST
190412009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19042
19043 Fix GNU/Hurd grub-install crash.
19044 * util/grub-probe.c (probe): Try to access `path' only when it is not
19045 NULL.
19046
2f857f98
VS
190472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 Correct module naming.
19050
19051 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19052 (GRUB_MOD_INIT(efi_uga)): ... to this
19053 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19054 (GRUB_MOD_FINI(efi_uga)): ... to this
19055 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19056 (GRUB_MOD_INIT(efi_gop)): ... to this
19057 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19058 (GRUB_MOD_FINI(efi_gop)): ... to this
19059
c5448046
RM
190602009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19061
19062 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19063 translatable.
19064 (usage): Translate `arg' strings using gettext().
19065 Thanks to Jordi Mallach for the suggestion.
19066
c85184ad
VS
190672009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 GOP support. Based on patch from Bean
19070 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19071
19072 * video/efi_gop.c: New file.
19073 * include/grub/efi/graphics_output.h: Likewise.
19074 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19075 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19076 variables.
19077 * conf/x86_64-efi.rmk: Likewise.
19078
8a4c48d8
VS
190792009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 Rename efi_fb to efi_uga.
19082
19083 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19084 'efi_uga.mod'.
19085 (efi_fb_mod_SOURCES): Rename this ...
19086 (efi_uga_mod_SOURCES): ... to this.
19087 (efi_fb_mod_CFLAGS): Rename this ...
19088 (efi_uga_mod_CFLAGS): ... to this.
19089 (efi_fb_mod_LDFLAGS): Rename this ...
19090 (efi_uga_mod_LDFLAGS): ... to this.
19091 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19092 'efi_uga.mod'.
19093 (efi_fb_mod_SOURCES): Rename this ...
19094 (efi_uga_mod_SOURCES): ... to this.
19095 (efi_fb_mod_CFLAGS): Rename this ...
19096 (efi_uga_mod_CFLAGS): ... to this.
19097 (efi_fb_mod_LDFLAGS): Rename this ...
19098 (efi_uga_mod_LDFLAGS): ... to this.
19099 * video/efi_fb.c: Move this ...
19100 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19101
fb6c1a7b
RM
191022009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19103
19104 * po/README: New file. Explain our PO file workflow.
19105
3bc7896c
RM
191062009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19107
19108 * po/ChangeLog: Remove. Move relevant entries back to ...
19109 * ChangeLog: ... here.
19110 * po/ca.po: Remove (now handled by TLP).
19111 * po/id.po: Likewise.
19112 * po/zh_CN.po: Likewise.
19113 * Makefile.in (LINGUAS): Initialize in a way that supports
19114 empty set.
19115
9ed4841d
RM
191162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19117
19118 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19119 reliing on po/LINGUAS.
19120 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19121 (po/%.po): ... this.
19122
0ad46fd7 191232009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
19124
19125 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19126 (main): Use `program_name' instead of nonexistent `progname'.
19127
e30dd392
FZ
191282009-11-26 Felix Zielcke <fzielcke@z-51.de>
19129
19130 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19131 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19132
7656de4f
RM
191332009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19134
19135 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19136 commit.
19137 * conf/i386-efi.rmk: Likewise.
19138 * conf/i386-ieee1275.rmk: Likewise.
19139 * conf/powerpc-ieee1275.rmk: Likewise.
19140 * conf/sparc64-ieee1275.rmk: Likewise.
19141 * conf/x86_64-efi.rmk: Likewise.
19142
db77c4d4
FZ
191432009-11-26 Felix Zielcke <fzielcke@z-51.de>
19144
19145 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19146
a755bb04
FZ
191472009-11-26 Felix Zielcke <fzielcke@z-51.de>
19148
19149 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19150
8a4c07fd
RM
191512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19152
19153 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19154 (grub_mkdevicemap_SOURCES): New variable.
19155 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19156 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19157 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19158 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19159 (grub_mkdevicemap_SOURCES): Remove.
19160 * conf/i386-efi.rmk: Likewise.
19161 * conf/i386-ieee1275.rmk: Likewise.
19162 * conf/i386-pc.rmk: Likewise.
19163 * conf/powerpc-ieee1275.rmk: Likewise.
19164 * conf/sparc64-ieee1275.rmk: Likewise.
19165 * conf/x86_64-efi.rmk: Likewise.
19166 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19167 (usage): Fix strings to use `program_name'.
19168 (main): Initialize gettext.
19169 * util/grub-editenv.c: Likewise.
19170 * util/grub-emu.c: Likewise.
19171 * util/grub-fstest.c: Likewise.
19172 * util/grub-mkdevicemap.c: Likewise.
19173 * util/grub-mkfont.c: Likewise.
19174 * util/grub-mkrelpath.c: Likewise.
19175 * util/grub-pe2elf.c: Likewise.
19176 * util/grub-probe.c: Likewise.
19177 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19178 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19179 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19180
19181 * util/misc.c: Include `"progname.h"'.
19182 (progname): Remove variable.
19183 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19184
6f61ed55
FZ
191852009-11-25 Felix Zielcke <fzielcke@z-51.de>
19186
19187 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19188 printf and print a newline after the menuentry header line.
19189 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19190
f022876b
FZ
191912009-11-25 Felix Zielcke <fzielcke@z-51.de>
19192
19193 autoconf >= 2.60 support $(localedir).
19194
19195 * INSTALL: Note that autoconf 2.60 is required.
19196 * configure.ac (AC_PREREQ): Bump to 2.60.
19197 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19198 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19199
6717926e
YB
192002009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19201
19202 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19203 aclocal is run.
19204
08806a54
RM
192052009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19206
19207 * normal/main.c (grub_normal_read_line): Fix off-by-one
19208 buffer overflow.
19209
13b33fba
RM
192102009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19211
19212 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19213 "parser.grub" in grub_command_execute() call.
19214
4a8572e9
CPE
192152009-11-24 Carles Pina i Estany <carles@pina.cat>
19216
19217 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19218 * conf/i386-efi.rmk: Likewise.
19219 * conf/i386-ieee1275.rmk: Likewise.
19220 * conf/i386-pc.rmk: Likewise.
19221 * conf/powerpc-ieee1275.rmk: Likewise.
19222 * conf/sparc64-ieee1275.rmk: Likewise.
19223 * conf/x86_64-efi.rmk: Likewise.
19224 * gettext/gettex.c: Include <grub/i18n.h>.
19225 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19226 here ...
19227 * include/grub/i18n.h: ... to here
19228 * include/grub/i18n.h: ... to here.
19229 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 19230 (grub_gettext_dummy): Move above user.
4a8572e9 19231
bee48093
FZ
192322009-11-24 Felix Zielcke <fzielcke@z-51.de>
19233
19234 * util/Makefile.in (install-local): Convert a `for' into a normal
19235 shell expansion.
19236
a031e91c
RM
192372009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19238
19239 * autogen.sh: Add automake call.
19240 * config.guess: Remove.
19241 * config.sub: Likewise.
19242 * install-sh: Likewise.
19243
26bec39d
FZ
192442009-11-24 Felix Zielcke <fzielcke@z-51.de>
19245
19246 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19247
8e2532fd
FZ
192482009-11-24 Felix Zielcke <fzielcke@z-51.de>
19249
19250 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19251 function to a normal shell `for'.
19252
fefa1b7d
FZ
192532009-11-24 Felix Zielcke <fzielcke@z-51.de>
19254
19255 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19256
4501250b
FZ
192572009-11-24 Felix Zielcke <fzielcke@z-51.de>
19258
19259 * util/grub-mkrelpath.c: New file.
19260 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19261 (grub_mkrelpath_SOURCES): New variable.
19262 * include/grub/util/misc.h: New function prototype.
19263 * util/misc.c (make_system_path_relative_to_its_root): New function.
19264
19265 * util/grub-mkconfig_lib.in (bindir): New variable.
19266 (grub_mkrelpath): Likewise.
19267 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19268
19269 * util/probe.c (probe): Make the file path relative to its root.
19270 Change a info message to use the GRUB path. Enable again the
19271 check if we can read the file with GRUB facilities.
19272
19273 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19274 to its root.
19275
11d9778b
FZ
192762009-11-24 Felix Zielcke <fzielcke@z-51.de>
19277
19278 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19279 platform.
19280
4465287d
FZ
192812009-11-24 Felix Zielcke <fzielcke@z-51.de>
19282
19283 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19284 strncmp().
19285
62b47f22
FZ
192862009-11-24 Felix Zielcke <fzielcke@z-51.de>
19287
19288 * util/getroot.c (grub_util_is_dmraid): New function.
19289 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19290 devices as normal ones, not as LVM.
19291
1eafb9b9 192922009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
19293
19294 * conf/common.rmk: Add grub-gettext_lib target and updates
19295 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19296 LDFLAGS.
19297 * gettext/gettext.c: New file. (Reads mo files).
19298 * include/grub/file.h (grub_file_pread): New prototype.
19299 * include/grub/i18n.h (_): New prototype.
19300 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19301 prototypes.
19302 * kern/misc.c (grub_gettext_dummy): New function.
19303 * normal/menu_text.c: Include <grub/i18n.h>.
19304 * normal/menu_text.c (print_timeout): Gettexttize string.
19305 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
19306 * po/POTFILES: Add `normal/menu_text.c'.
19307 * po/ca.po: Add new translations.
c3ea6bd4
CPE
19308 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19309 gettext module and defines locale_dir and lang in grub.cfg.
19310 * NEWS: Add gettext support.
19311
0fdb2568
RM
193122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19313
19314 * util/hostdisk.c: Include `<grub/i18n.h>'.
19315 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19316 (make_device_name): Rewrite using asprintf.
19317 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19318 (find_system_device): If a device is not found, generate one just
19319 by reusing the OS path name.
19320 (read_device_map): Make it permissible for device.map not to exist.
19321
f515aa62
RM
193222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19323
19324 * script/sh/execute.c: Move from here ...
19325 * script/execute.c: ... to here. Update all users.
19326 * script/sh/function.c: Move from here ...
19327 * script/function.c: ... to here. Update all users.
19328 * script/sh/lexer.c: Move from here ...
19329 * script/lexer.c: ... to here. Update all users.
19330 * script/sh/main.c: Move from here ...
19331 * script/main.c: ... to here. Update all users.
19332 * script/sh/parser.y: Move from here ...
19333 * script/parser.y: ... to here. Update all users.
19334 * script/sh/script.c: Move from here ...
19335 * script/script.c: ... to here. Update all users.
19336
f84b481b
RM
193372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19338
19339 * configure.ac: Detect all `emu' platforms. Define
19340 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19341 --enable-grub-emu logic. Disable include/grub/machine
19342 symlink on `emu' platforms.
19343
19344 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19345 * gensymlist.sh.in: Likewise.
19346
19347 * include/grub/i386/coreboot/machine.h: Remove file.
19348 * include/grub/i386/efi/machine.h: Likewise.
19349 * include/grub/i386/ieee1275/machine.h: Likewise.
19350 * include/grub/i386/pc/machine.h: Likewise.
19351 * include/grub/i386/qemu/machine.h: Likewise.
19352 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19353 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19354 * include/grub/x86_64/efi/machine.h: Likewise.
19355
19356 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19357 * commands/halt.c: Likewise.
19358 * commands/reboot.c: Likewise.
19359 * include/grub/autoefi.h: Likewise.
19360 * include/grub/i386/at_keyboard.h: Likewise.
19361 * include/grub/i386/kernel.h: Likewise.
19362 * include/grub/i386/loader.h: Likewise.
19363 * include/grub/i386/pc/memory.h: Likewise.
19364 * kern/dl.c: Likewise.
19365 * kern/i386/coreboot/init.c: Likewise.
19366 * loader/i386/bsd.c: Likewise.
19367 * loader/i386/linux.c: Likewise.
19368 * loader/multiboot_loader.c: Likewise.
19369 * term/i386/pc/serial.c: Likewise.
19370 * term/usb_keyboard.c: Likewise.
19371
19372 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19373 `<grub/machine/machine.h>'
19374 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19375 * util/misc.c: Remove `<grub/machine/machine.h>' and
19376 `<grub/machine/time.h>'.
19377
19378 * Makefile.in (enable_grub_emu): Remove variable.
19379 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19380
19381 * conf/any-emu.rmk: New file.
19382 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19383 (grub_emu_init.c): Move from here ...
19384 * conf/any-emu.rmk: ... to here.
19385
19386 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19387 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19388 * conf/any-emu.rmk: ... to here.
19389
4efeab03
RM
193902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19391
19392 * include/grub/parser.h (grub_parser_register): Document need
19393 of `name' parameter.
19394 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19395 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19396 "sh" to "grub".
19397
ea1dd8bf
RM
193982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19399
19400 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19401 `$(XGETTEXT)'.
19402 * include/grub/i18n.h (N_): New macro.
19403 * util/mkisofs/mkisofs.h: Likewise.
19404 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19405 around N_().
19406 (usage): Use gettext() to translate help strings when printing them.
19407
0c140626
RM
194082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19409
19410 Based on patch from Bean
19411 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19412
19413 * video/efi_fb.c: New file.
19414 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19415 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19416 variables.
19417 * conf/x86_64-efi.rmk: Likewise.
19418
87d58298
RM
194192009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19420
19421 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19422 * util/i386/pc/grub-setup.c: Likewise.
19423
994cc3a3
ST
194242009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19425
19426 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19427 <hurd/fs.h>
19428 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19429 file_get_storage_info to implement grub_guess_root_device.
19430
26a61d6a
FZ
194312009-11-21 Felix Zielcke <fzielcke@z-51.de>
19432
19433 * Makefile.in (target): Use make's builtin $(shell) function
19434 instead of calling directly $(SHELL) to create the locale directories,
19435 inside the $(foreach) function.
19436
74ff1dd5
FZ
194372009-11-21 Felix Zielcke <fzielcke@z-51.de>
19438
19439 * util/grub-mkrescue.in: Print an error and usage if output option
19440 has not been given.
19441
0b787d0e
FZ
194422009-11-21 Felix Zielcke <fzielcke@z-51.de>
19443
19444 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19445 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19446 root and /boot are on different devices.
19447
1164b270
RM
194482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19449
19450 Fix build for srcdir != objdir.
19451
19452 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19453 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19454 $(srcdir).
19455 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19456 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19457 reference for input.
19458
13774a2f
RM
194592009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19460
19461 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19462 or hardlinking it). Remove -J option, Joliet is not compatible with
19463 multiple source directories.
19464
efda854e
RM
194652009-11-21 Carles Pina i Estany <carles@pina.cat>
194662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19467
19468 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19469 (process_input_dir): New function. Process an arbitrary input
19470 directory.
19471 Misc adjustments to support both "override mode" and system-wide mode.
19472
6c09890c
FZ
194732009-11-20 Felix Zielcke <fzielcke@z-51.de>
19474
19475 * configure.ac (UNIFONT_BDF): Rename to ...
19476 (FONT_SOURCE): ... this. Update all users.
19477
a797824f
FZ
194782009-11-20 Felix Zielcke <fzielcke@z-51.de>
19479
19480 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19481 to the list of unifont files to look for.
19482
cd4f42b0
RM
194832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19484
19485 Patch from Joe Auricchio <jauricchio@gmail.com>
19486 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19487 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19488 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19489
393c783d
FZ
194902009-11-19 Felix Zielcke <fzielcke@z-51.de>
19491
19492 * Makefile.in (install-local): Add a missing backslash.
19493
b2f1e327
FZ
194942009-11-19 Felix Zielcke <fzielcke@z-51.de>
19495
19496 * include/grub/x86_64/io.h: New file.
19497
f577f7a0
RM
194982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19499
19500 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19501 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19502 Include `"progname.h"'.
19503 (main): Initialize gettext.
19504 * util/i386/pc/grub-setup.c: Gettexttize.
19505 * util/i386/pc/grub-mkimage.c: Likewise.
19506
19507 * Makefile.in (po/*.po): Redefine as ...
19508 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19509
3bc7896c
RM
19510 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19511
c37943b6
RM
195122009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19513
19514 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19515 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19516 (program_name): Remove.
19517 (main): Initialize gettext support.
6323f705
RM
19518 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19519 Include `<libintl.h>'.
19520 (_): New macro.
c37943b6
RM
19521
19522 * util/mkisofs/eltorito.c: Gettexttize.
19523 * util/mkisofs/joliet.c: Likewise.
19524 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
19525 * util/mkisofs/multi.c: Likewise.
19526 * util/mkisofs/rock.c: Likewise.
19527 * util/mkisofs/tree.c: Likewise.
19528 * util/mkisofs/write.c: Likewise.
19529
3bc7896c
RM
19530 * po/POTFILES: Update with new files.
19531
5ce77c6e
RM
195322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19533
19534 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19535 * util/mkisofs/iso9660.h: Likewise.
19536 * util/mkisofs/joliet.c: Likewise.
19537 * util/mkisofs/mkisofs.c: Likewise.
19538 * util/mkisofs/mkisofs.h: Likewise.
19539 * util/mkisofs/rock.c: Likewise.
19540 * util/mkisofs/tree.c: Likewise.
19541 * util/mkisofs/write.c: Likewise.
19542
19543 * util/mkisofs/eltorito.c (rcsid): Remove.
19544 * util/mkisofs/hash.c: Likewise.
19545 * util/mkisofs/joliet.c: Likewise.
19546 * util/mkisofs/name.c: Likewise.
19547 * util/mkisofs/rock.c: Likewise.
19548 * util/mkisofs/tree.c: Likewise.
19549 * util/mkisofs/write.c: Likewise.
19550
1dabbc77
RM
195512009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19552
19553 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19554 instead of static allocation.
19555 * util/mkisofs/match.h: Likewise.
19556
633877cb
RM
195572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19558
3bc7896c
RM
19559 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19560 and `util/grub.d/10_linux.in'.
633877cb
RM
19561 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19562 translatable Shell files.
19563
af1c0c85
RM
195642009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19565
19566 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19567
769ae37b
RM
195682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19569
19570 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 19571 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
19572 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19573 Add gettext initialization.
19574 (kfreebsd_entry): Make menuentry output translatable.
19575
195762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19577
19578 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19579 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19580 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19581 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19582 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 19583 * po/LINGUAS: New file.
769ae37b
RM
19584
195852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19586
19587 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19588 other things).
19589 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19590 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19591 bindtextdomain() calls for gettext initialization.
19592
195932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19594
19595 * gnulib/progname.c: New file (imported from Gnulib).
19596 * gnulib/progname.h: Likewise.
19597 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19598 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19599 (usage): Replace `progname' with `program_name'.
19600 (main): Use set_program_name() for program name initialization.
19601
196022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19603
19604 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19605 from here ...
19606 * Makefile.in (CPPFLAGS): ... to here.
19607
196082009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19609
19610 * aclocal.m4: Move from here ...
19611 * acinclude.m4: ... to here.
19612 * autogen.sh: Add call to `aclocal'.
19613 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19614
196152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19616
19617 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19618 (LINGUAS): New variable.
19619 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19620 (install-local): Install MO files.
19621 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19622 * include/grub/i18n.h: New file.
3bc7896c
RM
19623 * po/POTFILES: New file.
19624 * po/ca.po: New file.
769ae37b
RM
19625 * util/grub.d/10_linux.in (bindir): New variable.
19626 Add gettext initialization.
19627 (linux_entry): Make menuentry output translatable.
19628 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19629 (usage): Make --help output translatable.
19630 (main): Initialize gettext.
19631
02c0a6ad
RM
196322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19633
19634 * import_gcry.py: New file (written by Vladimir with minor
19635 adjustments).
19636 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19637 ciphers.
19638 * INSTALL: Document that Python is required for bootstrap.
19639
196402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19641
19642 Import ciphers from libgcrypt 1.4.4.
19643
19644 * lib/libgcrypt/cipher/ChangeLog
19645 * lib/libgcrypt/cipher/ac.c
19646 * lib/libgcrypt/cipher/arcfour.c
19647 * lib/libgcrypt/cipher/bithelp.h
19648 * lib/libgcrypt/cipher/blowfish.c
19649 * lib/libgcrypt/cipher/camellia-glue.c
19650 * lib/libgcrypt/cipher/camellia.c
19651 * lib/libgcrypt/cipher/camellia.h
19652 * lib/libgcrypt/cipher/cast5.c
19653 * lib/libgcrypt/cipher/cipher.c
19654 * lib/libgcrypt/cipher/crc.c
19655 * lib/libgcrypt/cipher/des.c
19656 * lib/libgcrypt/cipher/dsa.c
19657 * lib/libgcrypt/cipher/ecc.c
19658 * lib/libgcrypt/cipher/elgamal.c
19659 * lib/libgcrypt/cipher/hash-common.c
19660 * lib/libgcrypt/cipher/hash-common.h
19661 * lib/libgcrypt/cipher/hmac-tests.c
19662 * lib/libgcrypt/cipher/md.c
19663 * lib/libgcrypt/cipher/md4.c
19664 * lib/libgcrypt/cipher/md5.c
19665 * lib/libgcrypt/cipher/primegen.c
19666 * lib/libgcrypt/cipher/pubkey.c
19667 * lib/libgcrypt/cipher/rfc2268.c
19668 * lib/libgcrypt/cipher/rijndael-tables.h
19669 * lib/libgcrypt/cipher/rijndael.c
19670 * lib/libgcrypt/cipher/rmd.h
19671 * lib/libgcrypt/cipher/rmd160.c
19672 * lib/libgcrypt/cipher/rsa.c
19673 * lib/libgcrypt/cipher/seed.c
19674 * lib/libgcrypt/cipher/serpent.c
19675 * lib/libgcrypt/cipher/sha1.c
19676 * lib/libgcrypt/cipher/sha256.c
19677 * lib/libgcrypt/cipher/sha512.c
19678 * lib/libgcrypt/cipher/tiger.c
19679 * lib/libgcrypt/cipher/twofish.c
19680 * lib/libgcrypt/cipher/whirlpool.c
19681
af2f93ac
RM
196822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19683
19684 Fix build for systems without error().
19685
19686 * gnulib/error.c: New file (imported from Gnulib).
19687 * gnulib/error.h: Likewise.
19688 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19689 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19690 (this variable is now used by error()).
19691
73fb3dd5
FZ
196922009-11-16 Felix Zielcke <fzielcke@z-51.de>
19693
814f5e96
FZ
19694 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19695 instead of relying that char is signed.
73fb3dd5 19696
a691ca33
VS
196972009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19700 blocksize different from specified.
19701 (grub_pxefs_read): Likewise.
19702
2af8f0f4
FZ
197032009-11-16 Felix Zielcke <fzielcke@z-51.de>
19704
19705 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19706
19707 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19708 (grub_ata_readwrite): Likewise. Update 2 format strings.
19709 (grub_atapi_read): Likewise.
19710
19711 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19712 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19713 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19714 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19715 (ata_mod_LDFLAGS): Move from here ...
19716 * conf/i386.rmk: ... to here ...
19717 * conf/x86_64-efi.rmk: ... and here.
19718 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19719 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19720
83bdecaf
RM
197212009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19722
19723 Relicense multiboot.h, with RMS' blessing.
19724
19725 * include/multiboot.h: Change to X11 license.
19726
fd6fd3d7
RM
197272009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19728
19729 Support --version in grub-mkisofs.
19730
19731 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19732 (OPTION_VERSION): New macro.
19733 (ld_options): Recognize --version.
19734 (usage): Move `program_name' from here ...
19735 (program_name): ... to here. Add `static' qualifier.
19736 (main): Recognize `OPTION_VERSION'.
19737
16a88c49
FZ
197382009-11-15 Felix Zielcke <fzielcke@z-51.de>
19739
19740 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19741 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19742
a4158476
RM
197432009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19744
19745 Fix help2man generation for mkisofs.
19746
19747 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19748 (usage): Send output to stdout (rather than stderr).
19749
fc2208b0
RM
197502009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19751
19752 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19753 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19754 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19755 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19756 (bin_SCRIPTS): Add `grub-mkfloppy'.
19757 (grub_mkfloppy_SOURCES): New variable.
19758
19759 * util/grub-mkrescue.in: New file.
19760 * util/i386/pc/grub-mkfloppy.in: New file.
19761
19762 * util/i386/coreboot/grub-mkrescue.in: Remove.
19763 * util/i386/pc/grub-mkrescue.in: Remove.
19764
8d0edf4a
RM
197652009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19766
19767 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19768 from here ...
19769 * include/multiboot.h (struct multiboot_header): ... to here. Update
19770 all users.
19771 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19772 from here ...
19773 * include/multiboot.h (struct multiboot_info): ... to here. Update
19774 all users.
19775 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19776 from here ...
19777 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19778 Update all users.
19779 * include/grub/multiboot.h (struct grub_mod_list): Move
19780 from here ...
19781 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19782 Update all users.
19783
a73f5969
RM
197842009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19785
19786 * include/multiboot2.h (multiboot_word): Rename from this ...
19787 (multiboot2_word): ... to this. Update all users.
19788 (multiboot_header): Rename from this ...
19789 (multiboot2_header): ... to this. Update all users.
19790 (multiboot_tag_header): Rename from this ...
19791 (multiboot2_tag_header): ... to this. Update all users.
19792 (multiboot_tag_start): Rename from this ...
19793 (multiboot2_tag_start): ... to this. Update all users.
19794 (multiboot_tag_name): Rename from this ...
19795 (multiboot2_tag_name): ... to this. Update all users.
19796 (multiboot_tag_module): Rename from this ...
19797 (multiboot2_tag_module): ... to this. Update all users.
19798 (multiboot_tag_memory): Rename from this ...
19799 (multiboot2_tag_memory): ... to this. Update all users.
19800 (multiboot_tag_unused): Rename from this ...
19801 (multiboot2_tag_unused): ... to this. Update all users.
19802 (multiboot_tag_end): Rename from this ...
19803 (multiboot2_tag_end): ... to this. Update all users.
19804
1c8927f0
RM
198052009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19806
19807 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19808 this platform we should support Multiboot1 first.
19809
19810 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19811 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19812 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19813
6e1e0d89
RM
198142009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19815
19816 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19817 of write calls (converting them to fwrite() if they aren't already).
19818 (get_torito_desc): Likewise.
19819 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19820
7f2b34d8
RM
198212009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19822
19823 * util/i386/pc/grub-install.in: Move from here ...
19824 * util/grub-install.in: ... to here. Update all users.
19825
c0ef3311
CW
198262009-11-11 Colin Watson <cjwatson@ubuntu.com>
19827
19828 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19829
e1f240ff
RM
198302009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19831
19832 Support for El Torito without floppy emulation.
19833
19834 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19835 (init_boot_catalog): Improve error handling.
19836 (get_torito_desc): Don't use floppy emulation unless requested by
19837 user. Patch boot information table when requested via
19838 `-boot-info-table'.
19839 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19840 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19841 (use_boot_info_table): New variables.
19842 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19843 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19844 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19845 `--eltorito-emul-floppy'.
19846 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19847 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19848 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19849 (use_boot_info_table, get_731): New prototypes.
19850 * util/mkisofs/write.c (get_731): New function.
19851
af7d4de5
FZ
198522009-11-11 Felix Zielcke <fzielcke@z-51.de>
19853
19854 Fix the generation of the man page.
19855
19856 * util/pc/i386/grub-install.in: Source
19857 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19858
2c55dbc0
RM
198592009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19860
19861 Large file support for grub-mkisofs.
19862
19863 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19864 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19865 (session_start): Upgrade type to `uint64_t'. Update all users.
19866 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19867 (struct directory_entry): Upgrade type of `starting_block' and
19868 `size' to `uint64_t'. Update all users.
19869 (struct deferred): Remove unused structure.
19870 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19871 Update all users.
19872 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19873 file is larger than `UINT32_MAX'.
19874 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19875 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19876 return value.
19877 (struct deferred_write): Upgrade type of `extent' and `size' to
19878 `uint64_t'. Update all users.
19879 (last_extent_written): Upgrade type to `uint64_t'. Update all
19880 users.
19881 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
19882 Update all users. Upgrade type of `remain' to `int64_t' and
19883 `use' to `size_t'. Use error() to handle fread() errors.
19884 (write_files): Rely on write_one_file() rather than calling
19885 xfwrite() directly.
19886
6a9cead5
FZ
198872009-11-09 Felix Zielcke <fzielcke@z-51.de>
19888
19889 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
19890
4825d790
RM
198912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19892
19893 * util/mkisofs/fnmatch.c: Remove.
19894 * util/mkisofs/getopt1.c: Likewise.
19895 * util/mkisofs/getopt.c: Likewise.
19896 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
19897 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
19898 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
19899 `gnulib/getopt1.c' and `gnulib/getopt.c'.
19900 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
19901
19902 * configure.ac: Detect `mingw32msvc' host_os.
19903 Check for lstat(), getuid() and getgid().
19904
19905 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
19906 instances of `u_char' with `uint8_t'.
19907
19908 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
19909 [!HAVE_GETUID] (getuid): New function (stub).
19910 [!HAVE_GETGID] (getgid): Likewise.
19911 [!HAVE_LSTAT] (lstat): Likewise.
19912 [!S_IROTH] (S_IROTH): New macro (dummy).
19913 [!S_IRGRP] (S_IRGRP): Likewise.
19914
84b860d8
RM
199152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19916
19917 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
19918 conditional expression).
19919
66e9b712
RM
199202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19921
19922 Import from Gnulib.
19923
19924 * gnulib/fnmatch.c: New file.
19925 * gnulib/fnmatch.h: Likewise.
19926 * gnulib/fnmatch_loop.c: Likewise.
19927 * gnulib/getopt.c: Likewise.
19928 * gnulib/getopt.h: Likewise.
19929 * gnulib/getopt1.c: Likewise.
19930 * gnulib/getopt_int.h: Likewise.
19931 * gnulib/gettext.h: Likewise.
19932
34f4a5b0
RM
199332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19934
19935 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
19936 * normal/handler.c (read_handler_list): Likewise.
19937
ac451143
RM
199382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19939
19940 Misc cleanup.
19941
19942 * kern/command.c (grub_register_command_prio): Use
19943 grub_zalloc() instead of explicitly zeroing data.
19944 * kern/list.c: Include `<grub/mm.h>'.
19945 (grub_named_list_find): Replace `0' with `NULL'.
19946 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
19947 (fs_module_list): Change type to `grub_named_list_t'. Update all
19948 users.
19949 * normal/dyncmd.c (read_command_list): Add space between function
19950 call and parenthesis.
19951 * normal/handler.c (read_handler_list): Likewise.
19952
4089b167
RM
199532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19954
19955 * normal/auth.c (punishment_delay): Moved from here ...
19956 (grub_auth_strcmp): ... to here (inside function).
19957
325f5037
RM
199582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19959
19960 * include/grub/list.h (struct grub_named_list): Remove `const'
19961 qualifier from `name'.
19962 (struct grub_prio_list): Likewise.
19963
7aea29a3
RM
199642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19965
19966 * normal/auth.c: Include `<grub/time.h>'.
19967 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
19968
3fd6f044
RM
199692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19970
19971 * normal/auth.c (punishment_delay): New variable.
19972 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
19973 (grub_auth_check_authentication): Punish failed login attempts with
19974 an incremental (2^N) delay.
19975
a4cd68e4
RM
199762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19977
19978 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
19979 path with $(srcdir).
19980
7ad12f43
VS
199812009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19982
19983 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
19984
c1129f03
RM
199852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19986
19987 * util/i386/coreboot/grub-mkrescue.in: New file.
19988 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
19989 variables.
19990
19991 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
19992 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
19993 * configure.ac: Add header and function checks to satisfy grub-mkisofs
19994 requirements.
19995 * util/mkisofs/defaults.h: New file.
19996 * util/mkisofs/eltorito.c: Likewise.
19997 * util/mkisofs/exclude.h: Likewise.
19998 * util/mkisofs/fnmatch.c: Likewise.
19999 * util/mkisofs/getopt.c: Likewise.
20000 * util/mkisofs/getopt1.c: Likewise.
20001 * util/mkisofs/hash.c: Likewise.
20002 * util/mkisofs/include/fctldefs.h: Likewise.
20003 * util/mkisofs/include/mconfig.h: Likewise.
20004 * util/mkisofs/include/prototyp.h: Likewise.
20005 * util/mkisofs/include/statdefs.h: Likewise.
20006 * util/mkisofs/iso9660.h: Likewise.
20007 * util/mkisofs/joliet.c: Likewise.
20008 * util/mkisofs/match.c: Likewise.
20009 * util/mkisofs/match.h: Likewise.
20010 * util/mkisofs/mkisofs.c: Likewise.
20011 * util/mkisofs/mkisofs.h: Likewise.
20012 * util/mkisofs/multi.c: Likewise.
20013 * util/mkisofs/name.c: Likewise.
20014 * util/mkisofs/rock.c: Likewise.
20015 * util/mkisofs/tree.c: Likewise.
20016 * util/mkisofs/write.c: Likewise.
20017
ec8bb77d
VS
200182009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20019
20020 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20021 being insecure.
20022
3716b12c
RM
200232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20024
20025 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20026 `grub-mkimage' (and use $0 when possible).
20027
b97b7b91
RM
200282009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20029
20030 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20031 error message for excessively large memory map.
20032
04114812
RM
200332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20034
20035 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20036 executable bit.
20037
e4eb2373
RM
200382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20039
20040 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20041 message for coreboot users.
20042
c926e1d5 200432009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20044
20045 Fix build with GNU gold.
20046
20047 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20048 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20049 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20050 link addresses.
20051 * aclocal.m4: Likewise.
20052
86e5b1db 200532009-11-04 Felix Zielcke <fzielcke@z-51.de>
20054
20055 * configure.ac (AC_PREREQ): Bump to 2.59d.
20056 * INSTALL: Make it more clear when Autoconf and Ruby are
20057 needed and when to run `./autogen.sh'.
20058
246cd78f 200592009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20060
20061 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20062 OSes.
20063
4f9dfb37 200642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20065
20066 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20067
b82bd5e1 200682009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20069
20070 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20071 giving it to GNU Mach.
20072
ff1a9bca 200732009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20074
20075 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20076 GNU partition number to get internal GRUB partition number.
20077
61697d9c 200782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20079
20080 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20081 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20082
a50569e1 200832009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20084
20085 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20086 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20087 case.
20088
5b153867 200892009-11-01 Felix Zielcke <fzielcke@z-51.de>
20090
20091 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20092
d9e2cd70 200932009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20094
20095 Fix build problem.
20096
20097 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20098 `-isystem=$(srcdir)/include'.
20099
805111a4 201002009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20101
20102 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20103 checked (grub-install doesn't currently rely on it).
20104
fa6e945f 201052009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20106
20107 Revert SVN r2660.
20108
20109 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20110 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20111 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20112 * conf/i386-ieee1275.rmk: Likewise.
20113 * conf/i386-pc.rmk: Likewise.
20114 * conf/powerpc-ieee1275.rmk: Likewise.
20115 * conf/sparc64-ieee1275.rmk: Likewise.
20116 * conf/x86_64-efi.rmk: Likewise.
20117
cee15086 201182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20119
20120 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20121
95b9239e 201222009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20123
20124 * include/grub/misc.h: Stop checking for APPLE_CC.
20125
2ed19dfd 201262009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20127
20128 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20129 doesn't cause an infinite call loop.
20130
fdcdde19 201312009-10-28 Felix Zielcke <fzielcke@z-51.de>
20132
20133 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20134 strings.
20135
cefabfe1 201362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20137
20138 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20139 variable.
20140 * Makefile.in: Likewise.
20141
ed96ab6d 201422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20143
20144 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20145
0579b753 201462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20147
20148 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20149
478df409 201502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20151
20152 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20153
083d1679 201542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20155
20156 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20157 from here ...
20158 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20159
5947ae32 201602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20161
20162 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20163 in $(MAKEINFO) invocation. This makes it clear in output that
20164 errors are being ignored.
20165
94180ff6 201662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20167
20168 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20169 from here ...
20170 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20171 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20172 * conf/i386-ieee1275.rmk: Likewise.
20173 * conf/i386-pc.rmk: Likewise.
20174 * conf/powerpc-ieee1275.rmk: Likewise.
20175 * conf/sparc64-ieee1275.rmk: Likewise.
20176 * conf/x86_64-efi.rmk: Likewise.
20177
9031b03a 201782009-10-26 Colin Watson <cjwatson@ubuntu.com>
20179
20180 * util/grub-editenv.c (main): If only a command is given, use
20181 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20182 (usage): FILENAME is now optional and has a default.
20183
e4f6809b 201842009-10-26 Colin Watson <cjwatson@ubuntu.com>
20185
20186 Improve grub-mkconfig performance when there are several menu
20187 entries on a single filesystem.
20188
20189 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20190 prepare_grub_to_access_device.
20191 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20192 * util/grub.d/30_os-prober.in: Likewise.
20193
67937d4d 201942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20195
20196 * util/grub.d/10_freebsd.in: Remove.
20197 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20198 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20199
ee3756cc 202002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20201
5c35048e 20202 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 20203
4dea1c6f 202042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20205
20206 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20207 grub_util_error() call.
20208
042484d7 202092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20210
20211 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20212 `reserved_first_sector' member.
20213 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20214 `reserved_first_sector' to 1.
20215 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20216 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20217 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20218 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20219 filesystems which begin at first sector.
20220 (options): New option --skip-fs-probe.
20221 (main): Handle --skip-fs-probe and pass it to setup().
20222
d64448a7 202232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20224
20225 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20226 (memset): Fix function prototype.
20227
508d42ec 202282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
202292009-10-25 Vasily Averin <vvs@parallels.com>
20230
20231 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20232 `dirent.direntlen == 0'.
20233
b240e30c 202342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20235
20236 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20237 `cpio'.
20238 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20239
346e7fbe 202402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20241
20242 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20243 `__trampoline_setup' and `__ucmpdi2'.
20244 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20245 that libgcc provides.
20246
cdb308b0 202472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20248
20249 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20250 * include/grub/sparc64/libgcc.h (memset): Likewise.
20251 * include/grub/misc.h (memset, memcmp): New function prototypes.
20252
fb26abc2 202532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20254
20255 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20256 `cpio'.
20257 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20258
f6693890 202592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20260
20261 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20262 * docs/grub.cfg: Compensate for recent change in multiboot
20263 loader (since 2009-08-14 it won't pass filename to payload).
20264 * util/grub.d/10_hurd.in: Likewise.
20265
0933cdc0 202662009-10-21 Felix Zielcke <fzielcke@z-51.de>
20267
20268 * config.guess: Update to latest version from config git
20269 repository.
20270 * config.sub: Likewise.
20271
3b2fe8c2 202722009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20273
20274 Fix build on sparc64.
20275
20276 * configure.ac: Perform checks for libgcc symbols before
20277 adding `-nostdlib' to LDFLAGS.
20278
46695a62 202792009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20280
20281 Let user specify OpenBSD root device.
20282
20283 * loader/i386/bsd.c (openbsd_root): New variable.
20284 (openbsd_opts): New option 'root'.
20285 (OPENBSD_ROOT_ARG): New macro.
20286 (grub_openbsd_boot): Use 'openbsd_root'.
20287 (grub_cmd_openbsd): Fill 'openbsd_root'.
20288
d2b6b7fc 202892009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20290
20291 * NEWS: Misc adjustments.
20292
421bd7ac 202932009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20294
20295 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20296
f1d29d87 202972009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20298
20299 * configure.ac: Bump version to 1.97.
20300
6f3cd880 203012009-10-16 Colin Watson <cjwatson@ubuntu.com>
20302
20303 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20304 -mno-3dnow on x86 architectures. Some toolchains enable these
20305 features by default, but they rely on registers that aren't enabled
20306 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20307
035f7122 203082009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20309
20310 Make entry text a bit more readable.
20311
20312 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20313
44998e58 203142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20317
cd2851b3 203182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20321 operations.
20322
c6f3b249 203232009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 * configure.ac: Add missing dollar.
20326
6b5886ba 203272009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20328
20329 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20330
20331 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20332 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20333 exports.
20334 * include/grub/sparc64/libgcc.h: Likewise. Use
20335 preprocessor conditionals.
20336
e9d66f6d 203372009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20338
20339 * conf/common.rmk (grub-dumpbios): Remove rule.
20340 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20341 * util/grub-dumpbios.in: Remove file.
20342
9155bc17 203432009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20344
20345 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20346 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20347
20348 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20349 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20350 users.
20351
20352 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20353 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20354 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20355 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20356 users.
20357
bf7f7a18 203582009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20359
20360 * term/tparm.c: Switch to GPLv3.
20361
86564c26 203622009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20363
20364 * include/grub/i386/cpuid.h: Add header protection.
20365
5c936493 203662009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20367
20368 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20369
20370 * include/grub/i386/cpuid.h: New file.
20371 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20372 (has_longmode): Rename to ...
20373 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20374 `static' attribute.
20375 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20376 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20377 on a CPU that doesn't implement AMD64 instruction set.
20378
186e7cf2 203792009-10-06 Colin Watson <cjwatson@ubuntu.com>
20380
20381 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20382 that version.texi is rebuilt on version number changes.
20383
83b65c4a 203842009-10-06 Colin Watson <cjwatson@ubuntu.com>
20385
20386 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20387 Fixes bug #27602.
20388
d244281c 203892009-10-06 Colin Watson <cjwatson@ubuntu.com>
20390
20391 * util/i386/pc/grub-install.in: Source
20392 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20393 that the --grub-probe option will work.
20394 * util/sparc64/ieee1275/grub-install.in: Likewise.
20395
da25306d 203962009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20397
20398 * configure.ac: Bump version to 1.97~beta4.
20399
e8ee83c0 204002009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20401
20402 Resync grub-mkdevicemap in x86_64-efi.
20403
20404 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20405 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20406 `util/devicemap.c'.
20407
50dcabcf 204082009-10-01 Colin Watson <cjwatson@ubuntu.com>
20409
20410 * util/grub-editenv.c (create_envblk_file): Write new block with a
20411 .new suffix and then rename it into place, to ensure atomic
20412 creation.
20413
0e51c3a7 204142009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20415
20416 Do not automatically install headers.
20417
20418 * Makefile.in (include_DATA): Remove. Update all users.
20419
31299a95 204202009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20421
20422 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20423 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20424
20425 * util/osdetect.lua: Remove.
20426 * script/lua/lauxlib.c: Likewise.
20427 * script/lua/ldebug.c: Likewise.
20428 * script/lua/grub_main.c: Likewise.
20429 * script/lua/lauxlib.h: Likewise.
20430 * script/lua/ldebug.h: Likewise.
20431 * script/lua/ltablib.c: Likewise.
20432 * script/lua/liolib.c: Likewise.
20433 * script/lua/lstrlib.c: Likewise.
20434 * script/lua/lualib.h: Likewise.
20435 * script/lua/ldo.c: Likewise.
20436 * script/lua/ldump.c: Likewise.
20437 * script/lua/ldo.h: Likewise.
20438 * script/lua/loslib.c: Likewise.
20439 * script/lua/lundump.c: Likewise.
20440 * script/lua/grub_lib.c: Likewise.
20441 * script/lua/ldblib.c: Likewise.
20442 * script/lua/lundump.h: Likewise.
20443 * script/lua/lmem.c: Likewise.
20444 * script/lua/grub_lib.h: Likewise.
20445 * script/lua/lmathlib.c: Likewise.
20446 * script/lua/lstate.c: Likewise.
20447 * script/lua/ltm.c: Likewise.
20448 * script/lua/lvm.c: Likewise.
20449 * script/lua/lmem.h: Likewise.
20450 * script/lua/lstate.h: Likewise.
20451 * script/lua/ltm.h: Likewise.
20452 * script/lua/ltable.c: Likewise.
20453 * script/lua/lvm.h: Likewise.
20454 * script/lua/llex.c: Likewise.
20455 * script/lua/lgc.c: Likewise.
20456 * script/lua/grub_lua.h: Likewise.
20457 * script/lua/loadlib.c: Likewise.
20458 * script/lua/lfunc.c: Likewise.
20459 * script/lua/lopcodes.c: Likewise.
20460 * script/lua/lparser.c: Likewise.
20461 * script/lua/ltable.h: Likewise.
20462 * script/lua/llex.h: Likewise.
20463 * script/lua/lgc.h: Likewise.
20464 * script/lua/lfunc.h: Likewise.
20465 * script/lua/lbaselib.c: Likewise.
20466 * script/lua/lopcodes.h: Likewise.
20467 * script/lua/lparser.h: Likewise.
20468 * script/lua/lzio.c: Likewise.
20469 * script/lua/linit.c: Likewise.
20470 * script/lua/lobject.c: Likewise.
20471 * script/lua/llimits.h: Likewise.
20472 * script/lua/lstring.c: Likewise.
20473 * script/lua/lzio.h: Likewise.
20474 * script/lua/lapi.c: Likewise.
20475 * script/lua/lcode.c: Likewise.
20476 * script/lua/lua.h: Likewise.
20477 * script/lua/lobject.h: Likewise.
20478 * script/lua/lstring.h: Likewise.
20479 * script/lua/lapi.h: Likewise.
20480 * script/lua/lcode.h: Likewise.
20481 * script/lua/luaconf.h: Likewise.
20482
cb8a2c38 204832009-09-26 Colin Watson <cjwatson@ubuntu.com>
20484
20485 * docs/grub.texi (Command-line and menu entry commands): Document
20486 date and echo commands.
20487
6b9b6276 204882009-09-24 Pavel Roskin <proski@gnu.org>
20489
20490 * include/grub/kernel.h (struct grub_module_header): Remove
20491 `grub_module_header_types'. Make `type' unsigned. Make `size'
20492 32-bit on all platforms.
20493 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20494 8-bit field. Use grub_host_to_target32() for `size'.
20495 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20496 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20497 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20498
4e5a02a7 204992009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20500
20501 Fix "lost keypress" bug in at_keyboard.
20502
20503 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20504 Checks for readyness of input buffer (without flushing it).
20505 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20506 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20507
c6dcedf6 205082009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20509
20510 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20511 size check within GRUB_MACHINE_PCBIOS section.
20512
74c958b1 205132009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20514
20515 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20516 return value.
20517 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20518 KEYBOARD_ISREADY check.
20519 (grub_at_keyboard_checkkey): Rename to ...
20520 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20521 Remove gratuitous cast.
20522
ff420223 205232009-09-23 Colin Watson <cjwatson@ubuntu.com>
20524
20525 * configure.ac: Call AC_PROG_MKDIR_P.
20526 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20527 version.texi in $(builddir) rather than $(srcdir).
20528 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20529 to makeinfo's @include search path.
20530
d96875df 205312009-09-23 Felix Zielcke <fzielcke@z-51.de>
20532
20533 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20534
9b3f8365 205352009-09-23 Felix Zielcke <fzielcke@z-51.de>
20536
20537 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20538 for `*.dpkg-new'.
20539
c44c90db 205402009-09-21 Colin Watson <cjwatson@ubuntu.com>
20541
20542 Build info documentation. Some code borrowed from Automake.
20543
20544 * configure.ac: Check for makeinfo.
20545 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20546 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20547 docs/version.texi.
20548 (MOSTLYCLEANFILES): Add vti.tmp.
20549 (docs/version.texi, docs/stamp-vti): Update automatically.
20550 (docs/grub.info): Build info documentation. Use --force and ignore
20551 errors for now.
20552 (all-local): Add $(INFOS).
20553 (install-local): Install info files.
20554 (uninstall): Uninstall info files.
20555 * docs/version.texi: Remove from revision control. This file is
20556 automatically generated on build now.
20557 * gendistlist.sh: Add `*.info'.
20558
e0b37bb5 205592009-09-21 Felix Zielcke <fzielcke@z-51.de>
20560
20561 * kern/term.c: Fix indentation.
20562
5a78865b 205632009-09-21 Felix Zielcke <fzielcke@z-51.de>
20564
20565 * util/hostdisk.c: Fix a comment.
20566
dace7e8a 205672009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20568
20569 Fix regression introduced in r2539.
20570
20571 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20572 to 0xA1.
20573
a83d079b 205742009-09-19 Colin Watson <cjwatson@ubuntu.com>
20575
20576 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 20577 os-prober. Under normal operation, it does not print anything to
20578 stderr; if it does, we need to debug it, and throwing away stderr
20579 makes that excessively difficult.
a83d079b 20580
be94a509 205812009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20584
63f745e8 205852009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20586
20587 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20588 AC_LANG_PROGRAM from autoconf.
20589 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20590 prototypes (fixes warning).
20591
20592 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20593 `--disable-werror' was used.
20594
bbb2a70f 205952009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20596
20597 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20598 uninitialized `lastaddr'.
20599
77c24f1d 206002009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20601
0f0b8c87 20602 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 20603
07197f23 206042009-09-14 Colin Watson <cjwatson@ubuntu.com>
20605
20606 * commands/test.c (get_fileinfo): Return immediately if
20607 grub_fs_probe fails.
20608
dabf1798 206092009-09-14 José Martínez <xosemp@gmail.com>
20610
20611 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20612
d52109a7 206132009-09-14 Colin Watson <cjwatson@ubuntu.com>
20614
20615 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20616 output.
20617
56532179 206182009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20619
20620 * configure.ac: Remove --enable-grub-pe2elf. Only build
20621 grub-pe2elf when needed by the build system itself.
20622 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20623
8ef070f5 206242009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20625
20626 * configure.ac: Bump version to 1.97~beta3.
20627 * docs/version.texi: Likewise.
20628
61229557 206292009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20630
20631 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20632 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20633 from here ...
20634 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20635 (grub_linux_setup_video): ... to here (with some adjustments).
20636
5c9f8d84 206372009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20638
20639 Fix memory corruption issue (spotted by Colin Watson).
20640
20641 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20642 causing returned size to be stored in an incorrect memory location.
20643 Fix use of uninitialized value when storing the returned size.
20644
e8f5d6e9 206452009-09-12 Yves Blusseau <blusseau@zetam.org>
20646
20647 Change clean rules to properly remove files
20648
20649 * genmk.rb: add new clean rules
20650 * Makefile.in (clean): add the new targets
20651 (mostlyclean): likewise
20652
cda2a409 206532009-09-11 Colin Watson <cjwatson@ubuntu.com>
20654
20655 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20656 to grub_uint64_t.
20657 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20658 non-resident files.
20659
86695375 206602009-09-11 Colin Watson <cjwatson@ubuntu.com>
20661
20662 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20663 part of bug #27349.
20664
8aa1541a 206652009-09-10 Felix Zielcke <fzielcke@z-51.de>
20666
20667 * util/grub-mkconfig.in: Make the created config mode 400 and
20668 print a warning if it fails.
20669
48d9bb0a 206702009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20671
20672 * util/grub.d/40_custom.in: Ask user to type custom entries below
20673 comment, rather than below 'exec tail' line.
20674
3b0521be 206752009-09-10 Colin Watson <cjwatson@ubuntu.com>
20676
20677 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20678 visible in grub.cfg.
20679
50051d55 206802009-09-10 Colin Watson <cjwatson@ubuntu.com>
20681
20682 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20683 file.
20684
c0d34387 206852009-09-10 Felix Zielcke <fzielcke@z-51.de>
20686
20687 * docs/grub.cfg: Add an example menu entry for memtest86+.
20688
80a608f3 206892009-09-09 Felix Zielcke <fzielcke@z-51.de>
20690
a2094832 20691 * config.guess: Update to latest version from config git.
80a608f3 20692 * config.sub: Likewise.
20693
99423078 206942009-09-08 Colin Watson <cjwatson@ubuntu.com>
20695
20696 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20697 unknown-command case. Fixes bug #27320.
20698
44454e4c 206992009-09-08 Felix Zielcke <fzielcke@z-51.de>
20700
20701 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20702 `help' if the command exists.
20703
e30d87ad 207042009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20705
20706 * INSTALL: Require GCC 4.1.3 or later.
20707
9a86f1ec 207082009-09-06 Yves Blusseau <blusseau@zetam.org>
20709
20710 * Makefile.in (RMKFILES): add i386-qemu.rmk
20711 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20712 $(srcdir)/stamp-h.in
20713
7f26d466 207142009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20715
20716 * util/grub-probe.c (probe): Comment out buggy codepath, which
20717 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20718 should be re-enabled after 1.97.
20719
3a613259 207202009-09-05 Felix Zielcke <fzielcke@z-51.de>
20721
20722 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20723 find searches for.
20724
197f76c7 207252009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20726
20727 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20728 unnecessary calls to grub_error.
20729
70ba68ce 207302009-09-04 Colin Watson <cjwatson@ubuntu.com>
20731
20732 * NEWS: Mention `keystatus' and Unicode fonts.
20733
4ff0d7a4 207342009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20735
20736 * configure.ac: Bump version to 1.97~beta2.
20737 * docs/version.texi: Likewise.
20738
77c55a87 207392009-09-03 Colin Watson <cjwatson@ubuntu.com>
20740
20741 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20742 containing unwind information in some cases where it previously did
20743 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20744 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20745 discussion.
20746
f79572cd 207472009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20748
20749 Embedding loadenv module into grub-emu
20750
20751 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20752 commands/loadenv.c
20753 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20754 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20755 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20757 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20758 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20759
93a81088 207602009-09-03 Magnus Granberg <zorry@ume.nu>
20761
20762 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20763 include -fPIE in the default specs.
20764 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20765 to TARGET_CFLAGS.
20766
160034b2 207672009-09-03 Felix Zielcke <fzielcke@z-51.de>
20768
20769 * INSTALL: Note that GNU Bison 2.3 or later is required.
20770
087c07c4 207712009-09-03 Colin Watson <cjwatson@ubuntu.com>
20772
20773 * kern/i386/pc/startup.S: Fix typo.
20774
cbf978c0 207752009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20776
20777 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20778 according to GCS.
20779
207802009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 20781
20782 * docs/grub.texi (Naming convention): Describe one-based partition
20783 numbering.
20784 (Device syntax): Likewise.
20785 (File name syntax): Likewise.
20786 (Block list syntax): Likewise.
20787 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20788 menu.lst.
20789 (File name syntax): Likewise.
20790 (Command-line and menu entry commands): Document acpi, blocklist,
20791 crc, export, insmod, keystatus, ls, set, and unset commands.
20792
f3e8cdfd 207932009-09-02 Colin Watson <cjwatson@ubuntu.com>
20794
20795 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20796 to avoid implying that only one of --shift, --ctrl, or --alt may be
20797 used.
20798
c0bc232b 207992009-09-02 Colin Watson <cjwatson@ubuntu.com>
20800
20801 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20802 rather than comparing against S_IFREG, which will almost never work.
20803
aa0f752d 208042009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20807 (write_blocklists): Likewise.
20808
ecb3166a 208092009-09-01 Colin Watson <cjwatson@ubuntu.com>
20810
20811 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20812 argument to grub_printf.
20813
c403a125 208142009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 20815
20816 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 20817 non GNU test.
31aba781 20818
b5e7312c 208192009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20820
20821 * kern/file.c (grub_file_read): Spelling fix
20822
fe00f472 208232009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20826 loading of headers in some cases.
20827
cc55302e 208282009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20829
20830 * configure.ac: Bump version to 1.97~beta1.
20831 * docs/version.texi: Likewise.
20832
5c90cdd2 208332009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 20834
20835 * include/grub/i386/xnu.h: Add license header.
20836 include grub/err.h explicitly.
20837
c90edae4 208382009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20839
20840 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20841 to `ufs' in the vfs.root.mountfrom kernel parameter.
20842
d8888b5c 208432009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20844
20845 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20846
20847 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20848 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20849
20850 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20851 `ARRAY_SIZE' macro.
20852
6f07b921 208532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20854
20855 * kern/file.c (grub_file_read): Check offset.
20856 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20857 * fs/jfs.c (grub_jfs_read_file): Likewise.
20858 * fs/ntfs.c (grub_ntfs_read): Likewise.
20859 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20860 * fs/minix.c (grub_minix_read_file): Correct offset check.
20861 * fs/ufs.c (grub_ufs_read_file): Likewise.
20862
b4f34077 208632009-08-28 Colin Watson <cjwatson@ubuntu.com>
20864
20865 * term/i386/pc/console.c (bios_data_area): Cast
20866 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20867
e7c69859 208682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20869
20870 1-bit optimised blitters.
20871
20872 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20873 prototype.
20874 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20875 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20876 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20877 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20878 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20879 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20880 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20881 function.
20882 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20883 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20884 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20885 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20886 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20887 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20888 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
20889 when possible.
20890 * video/video.c (grub_video_get_blit_format): Return
20891 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
20892
a57da43f 208932009-08-28 Colin Watson <cjwatson@ubuntu.com>
20894
20895 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
20896 the first argument to grub_printf.
20897
4cbe67e5 208982009-08-28 Colin Watson <cjwatson@ubuntu.com>
208992009-08-28 Robert Millan <rmh.grub@aybabtu.com>
20900
20901 Add `getkeystatus' terminal method. Add a new `keystatus' command
20902 to query it.
20903
20904 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
20905 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
20906 modifier key bitmasks.
20907 (struct grub_term_input): Add `getkeystatus' member.
20908 (grub_getkeystatus): Add prototype.
20909 * kern/term.c (grub_getkeystatus): New function.
20910
20911 * include/grub/i386/pc/memory.h
20912 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
20913 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
20914 Data Area layout.
20915 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
20916 (grub_console_term_input): Set `getkeystatus' member.
20917 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
20918 constants.
20919 (grub_usb_keyboard_getreport): Likewise.
20920 (grub_usb_keyboard_checkkey): Likewise.
20921 (grub_usb_keyboard_getkeystatus): New function.
20922 (grub_usb_keyboard_term): Set `getkeystatus' member.
20923
20924 * commands/keystatus.c: New file.
20925 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
20926 (keystatus_mod_SOURCES): New variable.
20927 (keystatus_mod_CFLAGS): Likewise.
20928 (keystatus_mod_LDFLAGS): Likewise.
20929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
20930 commands/keystatus.c.
20931 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20933 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20936 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 20937
6e2a9085 209382009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20939
20940 Split befs.mod and afs.mod into *_be.mod and *.mod
20941
20942 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
20943 (grub_fstest_SOURCES): Likewise.
20944 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
20945 (afs_be_mod_SOURCES): New variable.
20946 (afs_be_mod_CFLAGS): Likewise.
20947 (afs_be_mod_LDFLAGS): Likewise.
20948 (befs_be_mod_SOURCES): Likewise.
20949 (befs_be_mod_CFLAGS): Likewise.
20950 (befs_be_mod_LDFLAGS): Likewise.
20951 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
20952 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20953 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20954 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20955 (grub_emu_SOURCES): Likewise.
20956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20957 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20958 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20959 * fs/afs_be.c: New file.
20960 * fs/befs_be.c: New file.
20961 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
20962 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
20963 (U16): Replaced with ...
20964 (grub_afs_to_cpu16): ...this. All users updated.
20965 (U32): Replaced with ...
20966 (grub_afs_to_cpu32): ...this. All users updated.
20967 (U64): Replaced with ...
20968 (grub_afs_to_cpu64): ...this. All users updated.
20969 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
20970 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 20971 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 20972 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20973 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20974 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20975 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20976 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20977 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20978 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20979 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20980
32a71655 209812009-08-26 Bean <bean123ch@gmail.com>
20982
20983 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
20984 64-bit number.
20985 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
20986 (grub_xfs_inode_block): Change return type to grub_uint64_t.
20987 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
20988
552bf6c5 209892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20990
20991 NetBSD memory map support.
20992
20993 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
20994 (grub_netbsd_btinfo_mmap_header): New structure.
20995 (grub_netbsd_btinfo_mmap_entry): Likewise.
20996 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
20997
1ae2078c 209982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 Enable bsd.mod on coreboot.
21001
21002 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21003 (bsd_mod_SOURCES): New variable.
21004 (bsd_mod_CFLAGS): Likewise.
21005 (bsd_mod_LDFLAGS): Likewise.
21006 (bsd_mod_ASFLAGS): Likewise.
21007 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21008 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21009
beefc598 210102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 Cleanup NetBSD root support.
21013
21014 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21015 grub_bsd_get_device.
21016 Fix typo.
21017
3b76e68b 210182009-08-25 Felix Zielcke <fzielcke@z-51.de>
21019
21020 * util/grub.d/00_header.in: Move check for the video backend of
21021 gfxterm from here ...
21022 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21023 a suitable video backend.
21024
aea664ea 210252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 Fix breakage in grub-setup.
21028
21029 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21030 "msdos_partition_map".
21031
ff747d50 210322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21033
21034 Fix breakage in normal/auth.c.
21035
21036 * normal/auth.c (grub_iswordseparator): New function.
21037
e7e1f93f 210382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21039
21040 Authentication support.
21041
21042 * commands/password.c: New file.
21043 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21044 (password_mod_SOURCES): New variable.
21045 (password_mod_CFLAGS): Likewise.
21046 (password_mod_LDFLAGS): Likewise.
21047 (normal_mod_SOURCES): Add normal/auth.c.
21048 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21049 normal/auth.c.
21050 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21051 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21052 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21054 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21055 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21056 * include/grub/auth.h: New file.
21057 * include/grub/err.h (grub_err_t): New enum value
21058 GRUB_ERR_ACCESS_DENIED.
21059 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21060 'users'.
21061 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21062 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21063 users updated.
21064 * normal/auth.c: New file.
21065 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21066 (grub_cmdline_run): Don't allow to go to command line without
21067 authentication.
21068 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21069 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21070 menuentry without superuser rights.
21071 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21072 user isn't a superuser.
21073
70f1161d 210742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21075
21076 Save space by inlining misc.c functions.
21077
21078 * kern/misc.c (grub_iswordseparator): Made static.
21079 * kern/misc.c (grub_strcat): Moved from here ...
21080 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21081 * kern/misc.c (grub_strncat): Moved from here ...
21082 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21083 * kern/misc.c (grub_strcasecmp): Moved from here ...
21084 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21085 * kern/misc.c (grub_strncasecmp): Moved from here ...
21086 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21087 * kern/misc.c (grub_isalpha): Moved from here ...
21088 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21089 * kern/misc.c (grub_isdigit): Moved from here ...
21090 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21091 * kern/misc.c (grub_isgraph): Moved from here ...
21092 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21093 * kern/misc.c (grub_tolower): Moved from here ...
21094 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21095
48e40bff 210962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21097
21098 * script/sh/function.c (grub_script_function_find): Cut error message
21099 not to flood terminal.
21100 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21101 limit.
21102 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21103
c385bfc3 211042009-08-24 Colin Watson <cjwatson@ubuntu.com>
21105
21106 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21107 `report' grub_uint8_t *.
21108 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21109 Use a 50-millisecond timeout rather than just repeating
21110 grub_usb_keyboard_getreport 50 times.
21111 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21112
2d21e3e8 211132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 Rename *_partition_map to part_*
21116
21117 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21118 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21119 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21120 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21121 All users updated.
21122 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21123 All users updated.
21124 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21125 * util/grub-probe.c (probe_partmap): Don't transform partition name
21126 to get module name.
21127
dd103c4e 211282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21129
21130 Fix OpenBSD and NetBSD support.
21131
21132 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21133 memory address conflict.
21134 (OPENBSD_MMAP_ACPI): New definition.
21135 (OPENBSD_MMAP_NVS): Likewise.
21136 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21137 and OPENBSD_MMAP_NVS.
21138 Add memory map terminator
21139 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 21140 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 21141
16c84d74 211422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 Let user specify NetBSD root device.
21145
21146 * loader/i386/bsd.c (netbsd_root): New variable.
21147 (netbsd_opts): New option 'root'.
21148 (NETBSD_ROOT_ARG): New macro.
21149 (grub_netbsd_boot): Use 'netbsd_root'.
21150 (grub_bsd_unload): Free 'netbsd_root'.
21151 (grub_cmd_netbsd): Fill 'netbsd_root'.
21152
adb29902 211532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21154
21155 Support for 64-bit NetBSD.
21156
21157 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21158 point when booting non-FreeBSD.
21159
f5ae9f74 211602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 Support --no-smp and --no-acpi for NetBSD.
21163
21164 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21165 (NETBSD_AB_NOACPI): Likewise.
21166 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21167 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21168
de74f136 211692009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21170
21171 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21172 errors.
21173 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21174 errors. Call grub_error when needed.
21175
e9a925da 211762009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21177
21178 * commands/search.c (search_fs): Try searching without autoload first.
21179 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21180 filesystem module explicitly for faster booting.
21181
5174302b 211822009-08-23 Colin Watson <cjwatson@ubuntu.com>
21183
21184 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21185
c8c80635 211862009-08-23 Colin Watson <cjwatson@ubuntu.com>
21187
21188 * util/grub.d/30_os-prober.in: Disable os-prober if
21189 `GRUB_DISABLE_OS_PROBER' was set to true.
21190
71acf5e5 211912009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21192
21193 * partmap/pc.c: Rename to ...
21194 * partmap/msdos.c: ... this. Update all users.
21195 (grub_pc_partition_map): Rename to ...
21196 (grub_msdos_partition_map): ... this. Update all users.
21197
21198 * parttool/pcpart.c: Rename to ...
21199 * parttool/msdospart.c: ... this. Update all users.
21200
21201 * include/grub/pc_partition.h: Rename to ...
21202 * include/grub/msdos_partition.h: ... this. Update all users.
21203 (grub_pc_partition_bsd_entry): Rename to ...
21204 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21205 (grub_pc_partition_disk_label): Rename to ...
21206 (grub_msdos_partition_disk_label): ... this. Update all users.
21207 (grub_pc_partition_entry): Rename to ...
21208 (grub_msdos_partition_entry): ... this. Update all users.
21209 (grub_pc_partition_mbr): Rename to ...
21210 (grub_msdos_partition_mbr): ... this. Update all users.
21211 (grub_pc_partition): Rename to ...
21212 (grub_msdos_partition): ... this. Update all users.
21213 (grub_pc_partition_is_empty): Rename to ...
21214 (grub_msdos_partition_is_empty): ... this. Update all users.
21215 (grub_pc_partition_is_extended): Rename to ...
21216 (grub_msdos_partition_is_extended): ... this. Update all users.
21217 (grub_pc_partition_is_bsd): Rename to ...
21218 (grub_msdos_partition_is_bsd): ... this. Update all users.
21219
21220 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21221 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21222 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21223 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21224 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21225 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21226 (gpt_mod_LDFLAGS): Rename to ...
21227 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21228 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21229 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21230 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21231 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21232 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21233 (part_gpt_mod_LDFLAGS): ... this.
21234 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21235 `pcpart.mod' to `msdospart.mod'.
21236 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21237 to ...
21238 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21239 (msdospart_mod_LDFLAGS): ... this.
21240
c11fded5 212412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21244 (openbsd_opts): Likewise.
21245 (netbsd_opts): Likewise.
21246 (freebsd_flags): Added 0 terminator.
21247 (openbsd_flags): Likewise.
21248 (netbsd_flags): Likewise.
21249 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21250 (grub_cmd_freebsd): Transformed into extended command.
21251 (grub_cmd_openbsd): Likewise.
21252 (grub_cmd_netbsd): Likewise.
21253 (cmd_freebsd): Changed type to grub_extcmd_t.
21254 (cmd_openbsd): Likewise.
21255 (cmd_netbsd): Likewise.
21256 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21257 grub_cmd_openbsd as extended commands.
21258 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21259 cmd_netbsd and cmd_openbsd
21260
11d1c769 212612009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21262
21263 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21264
7a9094e5 212652009-08-21 Pavel Roskin <proski@gnu.org>
21266
5496c37e 21267 * Makefile.in (install-local): When checking if a file is in the
21268 build directory, use "test -e" to detect symlinks.
21269
7a9094e5 21270 * Makefile.in (install-local): Remove all files in
21271 $(DESTDIR)$(pkglibdir) before installing new files there.
21272
e53cea11 212732009-08-18 Felix Zielcke <fzielcke@z-51.de>
21274
21275 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21276 grub-mkelfimage.
21277
9aced544 212782009-08-18 Felix Zielcke <fzielcke@z-51.de>
21279
21280 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21281 explicitly specified by the user.
21282
b7da6bab 212832009-08-18 Pavel Roskin <proski@gnu.org>
21284
21285 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21286 grub_uint8_t pointer for data.
21287 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21288 Likewise.
21289 * video/fb/fbutil.c: Remove unnecessary casts.
21290
19f1b335 212912009-08-17 Michal Suchanek <hramrach@centrum.cz>
21292
21293 VBE cleanup.
21294
21295 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21296 (grub_vbe_set_video_mode): Save active mode info
21297 only after setting the mode.
21298 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21299 second argument.
21300
2f467aa9 213012009-08-17 Michal Suchanek <hramrach@centrum.cz>
21302
21303 Rename variables for clarity.
21304
21305 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21306 (active_vbe_mode_info): ... this. All users updated.
21307 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21308 All users updated.
21309 (initial_mode): Rename to ...
21310 (initial_vbe_mode): ... this. All users updated.
21311 (mode_in_use): Rename to ..
21312 (vbe_mode_in_use): ... this. All users updated.
21313 (mode_list): Rename to ..
21314 (vbe_mode_list): ... this. All users updated.
21315 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21316 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21317 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21318 'mode_list_size' to 'vbe_mode_list_size'.
21319 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21320 'best_mode_info' to 'best_vbe_mode_info' and
21321 'best_mode' to 'best_vbe_mode'
21322
6025fcd7 213232009-08-17 Michal Suchanek <hramrach@centrum.cz>
21324
21325 Remove duplicate grub_video_fb_get_video_ptr.
21326
21327 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21328 (grub_video_fb_get_video_ptr): ... this.
21329 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21330 * video/fb/fbutil.c: Add comment about addressing.
21331 (get_data_ptr): Rename to ...
21332 (grub_video_fb_get_video_ptr): ... this. All users updated.
21333 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21334
cc8c6faf 213352009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21336
21337 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21338 grub_dprintf() that was just added.
21339
08aa61f0 213402009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21341
21342 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21343 (DEFAULT_VIDEO_MODE): Remove macros.
21344 (grub_linux_boot): Remove assumption that Linux has FB support,
21345 and use "text" as default video mode.
21346
7cef4f75 213472009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21348
21349 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21350 grub_dprintf.
21351 * fs/fat.c (grub_fat_read_data): Likewise.
21352
e1f39873 213532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21356 payload.
21357 (grub_module): Likewise.
21358
c166d79e 213592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21362 mbi->cmdline but free playground.
21363
c60cee8e 213642009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 Handle group offset on UFS1.
21367
21368 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21369 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21370
c0d8b5d4 213712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 Split ufs.mod into ufs1.mod and ufs2.mod.
21374
21375 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21376 (grub_fstest_SOURCES): Likewise.
21377 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21378 (ufs_mod_SOURCES): Remove.
21379 (ufs_mod_CFLAGS): Likewise.
21380 (ufs_mod_LDFLAGS): Likewise.
21381 (ufs1_mod_SOURCES): New variable.
21382 (ufs1_mod_CFLAGS): Likewise.
21383 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 21384 (ufs2_mod_SOURCES): New variable.
21385 (ufs2_mod_CFLAGS): Likewise.
21386 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 21387 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21388 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21389 Likewise.
21390 (grub_emu_SOURCES): Likewise.
21391 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21392 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21393 (grub_setup_SOURCES): Likewise.
21394 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21395 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21396 (grub_setup_SOURCES): Likewise.
21397 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21398 Likewise.
21399 * fs/ufs2.c: New file.
21400 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21401
d3539132 214022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21403
21404 Framebuffer split.
21405
21406 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21407 subsystem at the end.
21408 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21409 (video_fb_mod_SOURCES): New variable.
21410 (video_fb_mod_CFLAGS): Likewise.
21411 (video_fb_mod_LDFLAGS): Likewise.
21412 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21413 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21414 * video/i386/pc/vbeblit.c: Moved from here ...
21415 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21416 * video/i386/pc/vbefill.c: Moved from here ...
21417 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21418 * video/i386/pc/vbeutil.c: Moved from here ...
21419 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21420 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21421 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21422 * include/grub/i386/pc/vbefill.h: Moved from here ...
21423 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21424 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21425 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21426 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21427 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21428 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21429 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21430 (grub_video_adapter): Added 'get_info_and_fini'.
21431 (grub_video_get_info_and_fini): New prototype.
21432 (grub_video_set_mode): make modestring const char *.
21433 * loader/i386/linux.c (grub_linux_setup_video): Use
21434 grub_video_get_info_and_fini.
21435 (grub_linux_boot): Move modesetting just before booting.
21436 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21437 grub_video_get_info_and_fini.
21438 * video/i386/pc/vbe.c: Moved framebuffer part ...
21439 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21440 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21441 grub_video_fbstd_colors and grub_video_fb_set_palette.
21442 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21443 grub_video_fb_init.
21444 (grub_video_vbe_fini): Use grub_video_fb_fini.
21445 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21446 render_target and use grub_video_fb_set_active_render_target and
21447 grub_video_fb_set_palette.
21448 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21449 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21450 (grub_video_vbe_adapter): Use framebuffer.
21451 * video/video.c (grub_video_get_info_and_fini): New function.
21452 (grub_video_set_mode): Make modestring const char *.
21453 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21454 values are already initialised.
21455
d404ee56 214562009-08-14 Pavel Roskin <proski@gnu.org>
21457
21458 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21459 ABS and APPLE_CC.
21460 * boot/i386/pc/diskboot.S: Likewise.
21461 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21462 sectors allow compilation on MacOSX.
21463 * conf/i386-pc.rmk: Enable unconditional compilation of
21464 lnxboot.img.
21465
9a10df16 214662009-08-13 Colin Watson <cjwatson@ubuntu.com>
21467
21468 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21469 * util/grub.d/00_header.in: Enter interruptible sleep if
21470 GRUB_HIDDEN_TIMEOUT is set.
21471
be3c9ca7 214722009-08-13 Yves Blusseau <blusseau@zetam.org>
21473
21474 * include/grub/symbol.h: Add the LOCAL macro.
21475 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21476 starting with "L_".
21477
1f9e557e 214782009-08-13 Pavel Roskin <proski@gnu.org>
21479
9ca62843 21480 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21481 any modern compilers we support.
21482
1f9e557e 21483 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21484 Use local labels starting with "L_" so that Apple assembler
21485 knows they are local.
21486
81623db6 214872009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21488
21489 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21490 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21491 (bsd_kernel_types): ... this enum.
21492
21493 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21494 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21495 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21496
21497 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21498 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21499 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21500 messages.
21501
f5d35e7a 215022009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21503
21504 * util/grub-dumpdevtree: Moved from here ...
21505 * util/i386/efi/grub-dumpdevtree: ... to here.
21506 (hexify): New function. Converts a string to its hex version.
21507 Generate hex versions of "efi" and "device-properties" by calling
21508 hexify() on the ASCII strings rather than by hardcoding numbers.
21509
d1e1d527 215102009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21511
21512 * fs/jfs.c: Update copyright year.
21513
1ebbe064 215142009-08-08 Felix Zielcke <fzielcke@z-51.de>
21515
21516 * util/grub.d/00_header.in: Fix a comment.
21517 * util/grub.d/10_linux.in: Likewise.
21518 * util/grub.d/10_windows.in: Likewise.
21519 * util/grub.d/10_hurd.in: Likewise.
21520
a78c8d24 215212009-08-08 Felix Zielcke <fzielcke@z-51.de>
21522
21523 * util/grub-mkconfig.in: Allow the user to specify the used font
21524 with GRUB_FONT.
21525
29a6b9e8 215262009-08-08 Pavel Roskin <proski@gnu.org>
21527
b5f16cc4 21528 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21529 available, xfs.mod needs it now.
21530
2f5cb827 21531 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21532 the "g" modifier in sed when the intention is to strip something
21533 once. This fixes comparison of kernels with multiple dashes.
21534
29a6b9e8 21535 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21536 on it. Add missing space before closing bracket. Fix
21537 misleading formatting.
21538
892a3d98 215392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21540
21541 * docs/grub.texi: Major overhaul. Remove all sections that are
21542 specific to GRUB Legacy, or mostly composed of Legacy-specific
21543 information.
21544
ed94253f 215452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21546
21547 * docs/version.texi: New file. Provides version information for
21548 grub.texi.
21549
126d6628 215502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21551
21552 * docs/grub.texi: Update CVS information to SVN.
21553 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21554
998b5aa9 215552009-08-07 Felix Zielcke <fzielcke@z-51.de>
21556
21557 * util/grub-mkconfig.in: Remove a wrong `fi'.
21558
818e094a 215592009-08-07 Felix Zielcke <fzielcke@z-51.de>
21560
21561 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21562 (grub_jfs_uuid): New function.
21563 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21564
b969c52f 215652009-08-07 Felix Zielcke <fzielcke@z-51.de>
21566
21567 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21568 of it to ...
21569 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21570 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21571
7a4894cc 215722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21573
21574 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21575 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21576 Update all users.
21577
21578 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21579 not just "vmlinu[zx]".
21580 Moved from here ...
21581 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21582 all users.
21583
21584 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21585 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21586 all users.
21587
4e2171f8 215882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21589
21590 * util/grub.d/10_freebsd.in: Use an absolute device path for
21591 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21592
6dcfcb32 215932009-08-06 Felix Zielcke <fzielcke@z-51.de>
21594
21595 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21596 handling of multiple abstraction modules.
21597
f56a8756 215982009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21599
21600 Fix a bug resulting in black screen when loading Linux using a
21601 packed video mode.
21602
21603 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21604 function.
21605
21606 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21607 (grub_vbe_bios_getset_dac_palette_width): New function.
21608 (grub_vbe_bios_get_dac_palette_width)
21609 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21610 grub_vbe_bios_getset_dac_palette_width()).
21611
21612 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21613 check for return status.
21614 (grub_vbe_get_video_mode_info): When getting information for a packed
21615 mode (<= 8 bpp), obtain DAC palette width using
21616 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21617 {red,green,blue}_mark_size.
21618
222671b2 216192009-08-04 Felix Zielcke <fzielcke@z-51.de>
21620
ecb1a6d9 21621 * commands/search.c (options): Fix help output to match actual code.
222671b2 21622
f84114f5 216232009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21624
21625 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21626 of homegrown code.
21627
bd288a20 216282009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 21629
21630 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21631 on XFS or ReiserFS.
21632
8aab5e25 216332009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21634
21635 Support Apple partition map with sector size different from 512 bytes.
21636
21637 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21638 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21639 and 'apart.partmap_size'.
21640
6ad6258a 216412009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
216422009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21643
21644 Fix cpuid command.
21645
21646 * commands/i386/cpuid.c (options): New variable.
21647 (grub_cmd_cpuid): Return real error.
21648 (GRUB_MOD_INIT(cpuid)): Declare options.
21649
67459bc6 216502009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21653 valid.
21654
fbc6ab54 216552009-07-31 Bean <bean123ch@gmail.com>
21656
21657 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21658 log2_inode.
21659 (grub_fshelp_node): Move inode field to the end.
21660 (grub_xfs_data): Remove inode field.
21661 (grub_xfs_inode_block): Calculate inode size using sblock.
21662 (grub_xfs_inode_offset): Likewise.
21663 (grub_xfs_read_inode): Calculate inode size using sblock.
21664 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21665 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21666 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21667 to match inode size.
21668 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21669 not accessible when data is null.
21670 (grub_xfs_open): Likewise.
21671
f45d6cfc 216722009-07-31 Bean <bean123ch@gmail.com>
21673
21674 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21675 Don't change pv->disk if it's already set.
21676
21677 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21678 (grub_raid_register): ... here.
21679 (grub_raid_rescan): Removed.
21680
21681 * include/grub/raid.h (grub_raid_rescan): Removed.
21682
21683 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21684 (fstest): Replace grub_raid_rescan with module fini function followed
21685 by init function.
21686
21687 * util/grub-probe.c: Add include file <grub/raid.h>.
21688 (probe_raid_level): New function.
21689 (probe): Detect abstraction by walking the disk device, support two
21690 level of abstraction (LVM on RAID) when detecting partition map.
21691
24443b5a 216922009-07-31 Pavel Roskin <proski@gnu.org>
21693
21694 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21695 to grub_zalloc(), it was erroneous.
21696 Reported by Bean <bean123ch@gmail.com>
21697
a275d9e7 216982009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21699
21700 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 21701 embedding zone, not only the first one.
a275d9e7 21702
56c5a47f 217032009-07-29 Joe Auricchio <jauricchio@gmail.com>
21704
21705 * term/gfxterm.c (clear_char): New function.
21706 (grub_virtual_screen_setup): Use clear_char.
21707 (scroll_up): Likewise.
21708 (grub_virtual_screen_cls): Likewise.
21709
67bb323a 217102009-07-29 Felix Zielcke <fzielcke@z-51.de>
21711
21712 * util/deviceiter.c (get_acceleraid_disk_name): New static
21713 function.
21714 (grub_util_iterate_devices): Handle Accelraid devices.
21715 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21716
388a7c75 217172009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21718
21719 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21720 separator for the suggested gfxpayload string (';' collides with the
21721 parser and needs escaping).
21722
3bb7abcf 217232009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21724
21725 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21726 Clear direction flag before jumping to OS.
21727 (grub_multiboot2_real_boot): Likewise.
21728
2ddd36d7 217292009-07-28 Felix Zielcke <fzielcke@z-51.de>
21730
21731 * util/i386/pc/grub-install: Fix parsing of --disk-module
21732 option.
21733
c521b62b 217342009-07-28 Felix Zielcke <fzielcke@z-51.de>
21735
21736 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21737 when embedding.
21738
880e0a0c 217392009-07-26 Felix Zielcke <fzielcke@z-51.de>
21740
21741 * util/grub-mkconfig.in (package_version): New variable.
21742 Use it do display the version.
21743
2366e356 217442009-07-25 Felix Zielcke <fzielcke@z-51.de>
21745
21746 * kern/file.c (grub_file_open): Revert to previous check with
21747 grub_errno.
21748
7ad8c80e 217492009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21752 from help line. It's out of sync with code.
21753
72b9658b 217542009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21757 entries on failed boot.
21758
77435277 217592009-07-25 Felix Zielcke <fzielcke@z-51.de>
21760
21761 * kern/file.c (grub_file_open): Fix an error check.
21762
fcaa8b21 217632009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21764
35d16c74 21765 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21766 partition map couldn't be identified.
fcaa8b21 21767
48904cd1 217682009-07-23 Pavel Roskin <proski@gnu.org>
21769
ef3c317f 21770 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21771 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21772 case of little endian words becomes just an optimization.
21773 Respect const modifier.
ad8ea1f4 21774 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 21775
48904cd1 21776 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21777 to avoid loss of upper bits if align is unsigned and shorter
21778 than addr.
21779
260c9a89 217802009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21781
21782 UUID support for UFS
21783
21784 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21785 (grub_ufs_uuid): New function.
21786 (grub_ufs_fs): add .uuid
21787
f76ce889 217882009-07-21 Pavel Roskin <proski@gnu.org>
21789
21790 * kern/dl.c (grub_dl_check_header): Make static.
21791
6a6cbcaf 217922009-07-21 Felix Zielcke <fzielcke@z-51.de>
21793
21794 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21795 add drivemap for Vista. It breaks Windows 7.
21796
cffcddb2 217972009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21798
21799 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21800 128 bytes
21801
1ef44b80 218022009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 Add BFS support
21805
21806 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21807 (grub_fstest_SOURCES): Likewise.
21808 (pkglib_MODULES): Add befs.mod.
21809 (befs_mod_SOURCES): New variable.
21810 (befs_mod_CFLAGS): Likewise.
21811 (befs_mod_LDFLAGS): Likewise.
21812 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21813 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21814 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21815 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21816 (grub_setup_SOURCES): Likewise.
21817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21818 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21819 (grub_setup_SOURCES): Likewise.
21820 * fs/befs.c: New file.
21821 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21822 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21823 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21824 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21825 (B_KEY_INDEX_ALIGN): New declaration.
21826 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21827 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21828 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21829 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21830 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21831 (grub_afs_mount) [MODE_BFS]: Likewise.
21832 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21833 (grub_afs_fs): Use GRUB_AFS_FSNAME
21834 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21835 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21836 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21837 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21838
4f253044 218392009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21840
21841 * util/getroot.c (find_root_device): Add support for MacOSX.
21842 * util/hostdisk.c: Likewise.
21843
57a55913 218442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21845
21846 * font/font.c (find_glyph): Check whether a font is present to avoid
21847 segmentation fault.
75421ca9 21848
218492009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 21850
21851 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21852
e98cd0c2 218532009-07-20 Pavel Roskin <proski@gnu.org>
21854
21855 * configure.ac: Trim excessively wordy excuses.
21856
1d2d169a 218572009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 Add symlink, mtime and label support to AtheFS.
21860
21861 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21862 (grub_afs_iterate_dir): Handle symlinks.
21863 (grub_afs_open): Use grub_afs_read_symlink.
21864 (grub_afs_dir): Likewise.
21865 Pass mtime.
21866 (grub_afs_label): New function.
21867 (grub_afs_fs): Add grub_afs_label.
21868 (grub_afs_read_symlink): New function.
21869
186f3189 218702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21871
21872 Fix AtheFS support.
21873
21874 * fs/afs.c: Fix comments style.
21875 (grub_afs_blockrun): Declare as packed.
21876 (grub_afs_datastream): Likewise.
21877 (grub_afs_bnode): Likewise.
21878 (grub_afs_btree): Likewise.
21879 (grub_afs_sblock): Likewise.
21880 Declare `name' as char.
21881 (grub_afs_inode): Declare as packed.
21882 Change void *vnode to grub_uint32_t unused.
21883 (grub_afs_iterate_dir): Check that key_size is positive.
21884 (grub_afs_mount): Don't read superblock twice.
75421ca9 21885 (grub_afs_dir): Don't free node in case of error,
186f3189 21886 grub_fshelp_find_file already handles this.
21887 (grub_afs_open): Likewise.
21888
5680109e 218892009-07-19 Pavel Roskin <proski@gnu.org>
21890
21891 * Makefile.in: Remove LIBLZO and enable_lzo.
21892 * conf/i386-pc.rmk: Remove lzo support.
21893 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
21894 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
21895 support.
21896 * kern/i386/pc/lzo1x.S: Remove.
21897 * kern/i386/pc/startup.S: Remove lzo support.
21898 * util/i386/pc/grub-mkimage.c: Likewise.
21899
ac70fa32 219002009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
21901
21902 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
21903 * fs/xfs.c (grub_xfs_dir): Likewise.
21904 * fs/afs.c (grub_afs_dir): Likewise.
21905 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
21906 (grub_iso9660_open): Likewise.
21907 * fs/jfs.c (grub_jfs_open): Likewise.
21908 * fs/ext2.c (grub_ext2_dir): Likewise.
21909 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
21910 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 21911
eab58da2 219122009-07-16 Pavel Roskin <proski@gnu.org>
21913
d2838156 21914 * configure.ac: Never add "-c" to CFLAGS.
21915
55c70904 21916 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
21917
43e6200c 21918 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
21919 grub_cv_cc_efiemu should be used.
21920
ce7a733d 21921 * configure.ac: Typo fixes.
21922
eab58da2 21923 * kern/mm.c (grub_zalloc): New function.
21924 (grub_debug_zalloc): Likewise.
21925 * include/grub/mm.h: Declare grub_zalloc() and
21926 grub_debug_zalloc().
21927 * util/misc.c (grub_zalloc): New function.
21928 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
21929 instead of grub_malloc(), remove unneeded initializations.
21930 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
21931 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
21932 * commands/parttool.c (grub_cmd_parttool): Likewise.
21933 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21934 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
21935 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
21936 * disk/usbms.c (grub_usbms_finddevs): Likewise.
21937 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
21938 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
21939 (grub_cmd_efiemu_pnvram): Likewise.
21940 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
21941 * fs/iso9660.c (grub_iso9660_mount): Likewise.
21942 (grub_iso9660_iterate_dir): Likewise.
21943 * fs/jfs.c (grub_jfs_opendir): Likewise.
21944 * fs/ntfs.c (list_file): Likewise.
21945 (grub_ntfs_mount): Likewise.
21946 * kern/disk.c (grub_disk_open): Likewise.
21947 * kern/dl.c (grub_dl_load_core): Likewise.
21948 * kern/elf.c (grub_elf_file): Likewise.
21949 * kern/env.c (grub_env_context_open): Likewise.
21950 (grub_env_set): Likewise.
21951 (grub_env_set_data_slot): Likewise.
21952 * kern/file.c (grub_file_open): Likewise.
21953 * kern/fs.c (grub_fs_blocklist_open): Likewise.
21954 * loader/i386/multiboot.c (grub_module): Likewise.
21955 * loader/xnu.c (grub_xnu_create_key): Likewise.
21956 (grub_xnu_create_value): Likewise.
21957 * normal/main.c (grub_normal_add_menu_entry): Likewise.
21958 (read_config_file): Likewise.
21959 * normal/menu_entry.c (make_screen): Likewise.
21960 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21961 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
21962 * script/sh/script.c (grub_script_parse): Likewise.
21963 * video/bitmap.c (grub_video_bitmap_create): Likewise.
21964 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
21965 * video/readers/png.c (grub_png_output_byte): Likewise.
21966 (grub_video_reader_png): Likewise.
21967
830afef7 219682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 21969
21970 Enable all targets that can be built by default
21971
830afef7 21972 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 21973 grub-mkfont and grub-fstest if they can be built
21974
ee293aee 219752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21976
21977 Fix hang and segmentation fault in grub-emu-usb
21978
21979 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
21980 * util/usb.c (grub_libusb_devices): likewise
21981 (grub_libusb_init): rename to ...
21982 (GRUB_MOD_INIT (libusb)):...this
21983 (grub_libusb_fini): rename to ..
21984 (GRUB_MOD_FINI (libusb)):...this
21985 * disk/usbms.c (grub_usbms_transfer): fix retry logic
21986 * include/grub/disk.h (grub_raid_init): removed, it's useless
21987 (grub_raid_fini): likewise
21988 (grub_lvm_init): likewise
21989 (grub_lvm_fini): likewise
21990 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
21991 by grub_init_all
21992
94414221 219932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21994
21995 Fix libusb
21996
21997 * Makefile.in (LIBUSB): new macro
21998 * genmk.rb (Utility/print_tail): new method
21999 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22000 (top level): call util.print_tail at the end.
22001
59ade63d 220022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22003
22004 Make FreeBSD accept zpool.cache
22005
22006 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22007 type is /boot/zfs/zpool.cache
22008
a58da8c7 220092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 Fix 64-bit efiemu
22012
22013 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22014 correct wrong typedef
22015 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22016
20591577 220172009-07-15 Pavel Roskin <proski@gnu.org>
22018
560ca572 22019 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22020 * kern/disk.c (struct grub_disk_cache): Likewise.
22021
e8e8e4fd 22022 * commands/probe.c (options): Typo fix.
22023
fde24e10 22024 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22025 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22026 accordingly.
22027 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22028
379c54c1 22029 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22030 the end of "Error" to make the message more readable.
22031
7bd8f5bf 22032 * boot/i386/pc/boot.S (kernel_segment): Remove.
22033 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22034 for destination.
22035
40b132c5 22036 * boot/i386/pc/boot.S (boot_version): Remove.
22037 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22038 Remove.
22039
20591577 22040 * include/grub/i386/pc/boot.h: Sort all offsets.
22041 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22042 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22043 * boot/i386/pc/boot.S: Assert location of every offset listed in
22044 include/grub/i386/pc/boot.h.
22045
2df32b2c 220462009-07-13 Pavel Roskin <proski@gnu.org>
22047
44b5d879 22048 * include/grub/i386/coreboot/machine.h: Rename
22049 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22050 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22051 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22052
17dc3751 22053 * kern/dl.c: Force native word size to suppress warnings when
22054 compiling grub-emu.
22055
2df32b2c 22056 * kern/device.c (grub_device_iterate): Change struct part_ent to
22057 hold the name, not a pointer to it. Use one grub_malloc() per
22058 partition, not two. Free partition_name if grub_malloc() fails.
22059 Set ents to NULL only before grub_partition_iterate() is called.
22060
75c59f59 220612009-07-11 Bean <bean123ch@gmail.com>
22062
22063 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22064 childname.
22065
0ae1bf88 220662009-07-10 Bean <bean123ch@gmail.com>
220672009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22068
22069 * kern/ieee1275/openfw.c (grub_children_iterate)
22070 (grub_devalias_iterate): Fix size evaluation for property or path
22071 strings, which was broken since r2132.
22072
8279cade 220732009-07-07 Pavel Roskin <proski@gnu.org>
22074
7d8a52d3 22075 * commands/search.c (search_file): Merge into ...
22076 (search_fs): ... this. Accept search type as argument.
22077 (grub_cmd_search): Pass search type to search_fs().
22078
25f9a05a 22079 * include/grub/util/console.h: New file.
22080 * util/console.c: Use it instead of grub/machine/console.h.
22081 * util/grub-emu.c: Likewise.
22082
8279cade 22083 * lib/arg.c (find_long_option): Remove.
22084 (find_long): Add `len' argument, make `s' const char *.
22085 (grub_arg_parse): Parse long options in place, not in a
22086 temporary buffer.
22087
4a11b60f 220882009-07-06 Pavel Roskin <proski@gnu.org>
22089
99f68041 22090 * commands/search.c (search_fs): Fix potential NULL pointer
22091 dereference.
22092
4a11b60f 22093 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22094 function pointer.
22095
e110f4de 220962009-07-06 Daniel Mierswa <impulze@impulze.org>
22097
22098 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22099 comparison.
22100
46eeb6a2 221012009-07-05 Pavel Roskin <proski@gnu.org>
22102
bab74958 22103 * include/grub/i386/linux.h (struct linux_kernel_params):
22104 Restore padding3, it's still needed.
22105
46eeb6a2 22106 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22107 FreeBSD.
22108 * util/osdetect.lua: Likewise.
22109
b4a1dc79 221102009-07-05 Bean <bean123ch@gmail.com>
22111
22112 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22113
22114 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22115 (grub_lua_getenv): Likewise.
22116 (grub_lua_setenv): Likewise.
22117 (save_errno): New function.
22118 (push_result): Likewise.
22119 (grub_lua_enum_device): Likewise.
22120 (grub_lua_enum_file): Likewise.
22121 (grub_lua_file_open): Likewise.
22122 (grub_lua_file_close): Likewise.
22123 (grub_lua_file_seek): Likewise.
22124 (grub_lua_file_read): Likewise.
22125 (grub_lua_file_getline): Likewise.
22126 (grub_lua_file_getsize): Likewise.
22127 (grub_lua_file_getpos): Likewise.
22128 (grub_lua_file_eof): Likewise.
22129 (grub_lua_file_exist): Likewise.
22130 (grub_lua_add_menu): Likewise.
22131
22132 * script/lua/grub_lua.h (isupper): New inline function.
22133 (islower): Likewise.
22134 (ispunct): Likewise.
22135 (isxdigit): Likewise.
22136 (strcspn): Change to normal function.
22137 (strpbkr): New function declaration.
22138 (memchr): Likewise.
22139
22140 * script/lua/grub_main.c (scan_str): New function.
22141 (strcspn): Likewise.
22142 (strpbrk): Likewise.
22143 (memchr): Likewise.
22144
22145 * script/lua/linit.c (lualibs): Enable the string library.
22146
22147 * util/osdetect.lua: New file.
22148
2da92295 221492009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22150
22151 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22152 `capabilities' member.
22153
b2582ec9 221542009-07-02 Pavel Roskin <proski@gnu.org>
22155
22156 * genparttoollist.sh: Add missing newline at the end.
22157
32622956 221582009-07-01 Pavel Roskin <proski@gnu.org>
22159
87a7339e 22160 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22161
d23af54e 22162 * util/hostdisk.c (open_device): Remove `const' from
22163 `sysctl_size', as sysctlbyname() can change it (in this case it
22164 doesn't actually happen).
22165
c94b18a9 22166 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22167 using signed long int constants.
22168
c6cd3ef0 22169 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22170 constant to avoid a warning on FreeBSD.
22171
0df63420 22172 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22173 where it's needed.
22174
999577f1 22175 * Makefile.in: Install include/grub/machine symlink.
22176
6f41557f 22177 * Makefile.in: When installing symlinks, use "cp -fR", which
22178 works on FreeBSD and MacOSX.
22179 From Yves Blusseau <cl7m42e02@sneakemail.com>
22180
c8d22988 22181 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22182 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22183
1b96e952 22184 * util/misc.c: Move grub_reboot() and grub_halt() ...
22185 * util/grub-emu.c: ... here. Make main_env static.
22186 * include/grub/util/misc.h: Remove main_env.
22187
2ef0084d 22188 * kern/mm.c: Use correct format to print size_t.
22189
32622956 22190 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22191 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22192 * kern/powerpc/dl.c: Likewise.
22193 * kern/sparc64/dl.c: Likewise.
22194 * kern/x86_64/dl.c: Likewise.
22195
3f7f0cd0 221962009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22197
22198 Fix grub-emu build on sparc64-ieee1275.
22199
75421ca9 22200 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 22201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22202
211d06b5 222032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22204
22205 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22206 (grub_reboot, grub_halt): New functions.
22207
22208 * util/i386/pc/misc.c: Delete. Update all users.
22209 * util/sparc64/ieee1275/misc.c: Likewise.
22210 * util/powerpc/ieee1275/misc.c: Likewise.
22211
aaf53e3c 222122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22213
22214 * conf/i386.rmk (setjmp_mod_SOURCES)
22215 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22216 * conf/common.rmk (setjmp_mod_SOURCES)
22217 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22218 to use $(target_cpu).
22219 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22220 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22221 * conf/powerpc-ieee1275.rmk: Likewise.
22222 * conf/sparc64-ieee1275.rmk: Likewise.
22223
22224 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22225 $(target_cpu) for kern/$(target_cpu)/dl.c.
22226 * conf/i386-efi.rmk: Likewise.
22227 * conf/i386-ieee1275.rmk: Likewise.
22228 * conf/x86_64-efi.rmk: Likewise.
22229 * conf/i386-coreboot.rmk: Likewise.
22230 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22231 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22232 kern/$(target_cpu)/cache.S.
22233 * conf/sparc64-ieee1275.rmk: Likewise.
22234
a337130b 222352009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22236
22237 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22238 type to `grub_uint8_t', and adjust `padding9' accordingly.
22239
c6fe4d53 222402009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22241
b09db61d 22242 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22243
c6fe4d53 22244 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22245 assembly in final jump, using register constraints.
22246
b09db61d 22247 (grub_linux_boot): For text mode, initialize `have_vga' using
22248 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22249
22250 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22251 right before the final jump.
22252
22253 Set `video_mode' to 0x3.
22254
22255 Document initialization of `video_page', `video_mode' and
22256 `video_ega_bx'.
22257
28333ad0 222582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22259
22260 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22261 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 22262 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 22263
02164e1b 222642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22265
22266 Fix build on Debian / sparc.
22267
22268 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22269
18b6c557 222702009-06-28 Pavel Roskin <proski@gnu.org>
22271
85f2aab6 22272 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22273 fix a warning.
22274
18b6c557 22275 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22276
ad760f81 222772009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22278
22279 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22280 `err'.
22281
87a4623b 222822009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22283
22284 Revert r2338.
22285
22286 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22287 file can't be opened. grub_file_open() is already supposed to set
75421ca9 22288 grub_errno / grub_errmsg appropriately.
87a4623b 22289 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22290
8231fb77 222912009-06-27 Pavel Roskin <proski@gnu.org>
222922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22293
22294 * include/grub/dl.h: Include grub/elf.h.
22295 (struct grub_dl): Add symtab field.
22296 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22297 GRUB_MODULES_MACHINE_READONLY.
22298 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22299 of the header for read-only modules.
22300 (grub_dl_unload): Free mod->symtab for read-only modules.
22301 * kern/i386/dl.c: Use mod->symtab.
22302 * kern/powerpc/dl.c: Likewise.
22303 * kern/sparc64/dl.c: Likewise.
22304 * kern/x86_64/dl.c: Likewise.
22305
22306 * conf/i386-qemu.rmk: New file.
22307 * kern/i386/qemu/startup.S: Likewise.
22308 * kern/i386/qemu/mmap.c: Likewise.
22309 * boot/i386/qemu/boot.S: Likewise.
22310 * include/grub/i386/qemu/time.h: Likewise.
22311 * include/grub/i386/qemu/serial.h: Likewise.
22312 * include/grub/i386/qemu/kernel.h: Likewise.
22313 * include/grub/i386/qemu/console.h: Likewise.
22314 * include/grub/i386/qemu/boot.h: Likewise.
22315 * include/grub/i386/qemu/init.h: Likewise.
22316 * include/grub/i386/qemu/machine.h: Likewise.
22317 * include/grub/i386/qemu/loader.h: Likewise.
22318 * include/grub/i386/qemu/memory.h: Likewise.
22319
22320 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22321 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22322 [qemu] (pkglib_IMAGES): Add `boot.img'.
22323 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22324 [qemu] (boot_img_FORMAT): New variables.
22325 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22326 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22327 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22328 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22329 [qemu] (kernel_img_FORMAT): New variables.
22330
22331 * configure.ac: Recognise `i386-qemu'.
22332
22333 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22334 (for no compression).
22335 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22336 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22337 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22338 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22339 ifdefs).
22340
97fe384e 223412009-06-27 Pavel Roskin <proski@gnu.org>
22342
22343 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22344 read.
22345 * efiemu/prepare32.c: Likewise.
22346 * efiemu/prepare64.c: Likewise.
22347
c402ab17 223482009-06-26 Pavel Roskin <proski@gnu.org>
22349
22350 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22351 * include/grub/elf.h: Define symbols without "32" or "64" based
22352 on GRUB_TARGET_WORDSIZE.
22353 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22354 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22355 ELF definitions.
22356 * efiemu/loadcore64.c: Likewise.
22357 * loader/i386/bsd32.c: Likewise.
22358 * loader/i386/bsd64.c: Likewise.
22359 * kern/dl.c: Remove own ELF definitions.
22360 * util/i386/efi/grub-mkimage.c: Likewise.
22361
9bbdfd4d 223622009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22363
22364 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22365 segment 0x0 unconditionally, because the reference generated by
22366 GAS is an absolute address.
22367
a42ce6e9 223682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22369
22370 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22371 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22372
c952cf92 223732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22374
22375 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22376 indexes. Check for -f explicitly.
cc3752ad 22377 (search_file): Improve error message.
22378 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 22379
132a0a59 223802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22381
22382 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22383 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22384
387a140c 223852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22386
22387 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22388 * conf/i386-ieee1275.rmk: Likewise.
22389 * conf/i386-coreboot.rmk: Likewise.
22390
22391 * kern/i386/pc/startup.S (grub_stop): Remove function.
22392 * kern/i386/ieee1275/startup.S: Likewise.
22393 * kern/i386/coreboot/startup.S: Likewise.
22394 * kern/i386/misc.S (grub_stop): New function.
22395
41da9665 223962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22397
22398 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22399 * kern/i386/realmode.S (real_to_prot): ... to here.
22400
bf337234 224012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22402
22403 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22404 with `kernel.img'.
22405 (kernel_elf_SOURCES): Rename to ...
22406 (kernel_img_SOURCES): ... this.
22407 (kernel_elf_HEADERS): Rename to ...
22408 (kernel_img_HEADERS): ... this. Update all users.
22409 (kernel_elf_ASFLAGS): Rename to ...
22410 (kernel_img_ASFLAGS): ... this.
22411 (kernel_elf_CFLAGS): Rename to ...
22412 (kernel_img_CFLAGS): ... this.
22413 (kernel_elf_LDFLAGS): Rename to ...
22414 (kernel_img_LDFLAGS): ... this.
22415 * conf/i386-coreboot.rmk: Likewise.
22416 * conf/powerpc-ieee1275.rmk: Likewise.
22417
22418 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22419 with "kernel.img".
22420
f52196ff 224212009-06-21 Pavel Roskin <proski@gnu.org>
22422
c3cee413 22423 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22424 to match nested functions.
22425 * loader/sparc64/ieee1275/linux.c: Likewise.
22426
f52196ff 22427 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22428
58750afc 224292009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22430
22431 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22432 all i386 platforms.
22433
15355c7d 224342009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22435
22436 Fix asm file handling on ELF, and remove workarounds.
22437
22438 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 22439 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 22440 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22441 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22442
3f3ec72b 224432009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22444
22445 Load BSD ELF modules
22446
22447 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22448 and loader/i386/bsd64.c
22449 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22450 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22451 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22452 (grub_freebsd_load_elfmodule32): New declaration
22453 (grub_freebsd_load_elfmoduleobj64): Likewise
22454 (grub_freebsd_load_elf_meta32): Likewise
22455 (grub_freebsd_load_elf_meta64): Likewise
22456 (grub_freebsd_add_meta): Likewise
22457 (grub_freebsd_add_meta_module): Likewise
22458 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22459 (grub_freebsd_add_meta_module): Likewise and move module-specific
22460 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22461 (grub_cmd_freebsd): Add elf-kernel specific parts
22462 based on grub_freebsd_add_meta_module
22463 (grub_cmd_freebsd_module): Add type parsing moved from
22464 grub_freebsd_add_meta_module
22465 (grub_cmd_freebsd_module_elf): New function
22466 (cmd_freebsd_module_elf): New variable
22467 (GRUB_MOD_INIT): Register freebsd_module_elf
22468 * loader/i386/bsd32.c: New file
22469 * loader/i386/bsd64.c: Likewise
22470 * loader/i386/bsdXX.c: Likewise
22471 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22472 (grub_elf64_load): Likewise
22473 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22474 All users updated
22475 (grub_elf64_load_hook_t): Likewise
22476
0db15301 224772009-06-21 Colin Watson <cjwatson@ubuntu.com>
22478
22479 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22480 variable.
22481 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22482 don't write a menu entry for recovery mode.
22483
546796c1 224842009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22485
22486 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22487 after it's no longer needed.
22488
cd7310d5 224892009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22490
22491 * include/grub/i386/loader.h (grub_linux_prot_size)
22492 (grub_linux_tmp_addr, grub_linux_real_addr)
22493 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22494 GRUB_MACHINE_PCBIOS.
22495 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22496 common grub_util_info() call to ...
22497 (generate_image): ... here.
22498 Fix use of uninitialized memory, comparison of signed with
22499 unsigned integers and memory leak.
22500 Remove bogus module address message.
22501
ab32d3b5 225022009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22503
22504 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22505 grub_raid_register
22506 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22507
024ef597 225082009-06-19 Pavel Roskin <proski@gnu.org>
22509
22510 * configure.ac: Remove stray AC_MSG_CHECKING.
22511
3ac72b51 225122009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22513
22514 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 22515
e14cd814 225162009-06-18 Pavel Roskin <proski@gnu.org>
22517
22518 * conf/common.rmk: Add fs_file.mod.
22519 * disk/fs_file.c: New file.
22520 * include/grub/disk.h (enum grub_disk_dev_id): Add
22521 GRUB_DISK_DEVICE_FILE_ID.
22522
26586d98 225232009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22524
22525 Fix build with Apple's toolchain. Part 2
22526
22527 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22528 a fake start
22529
26de2bcd 225302009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 Fix build with Apple's toolchain. Part 1
22533
22534 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22535 for long calls
22536 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 22537 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 22538 Apple's toolchain
22539
09b3490b 225402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22541
22542 Fix warnings
22543
22544 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22545 (decomp_block): initialize ch
22546 use grub_memcpy instead of memcpy
22547
c22a006a 225482009-06-17 Pavel Roskin <proski@gnu.org>
22549
d3638678 22550 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22551 version, use declarations needed to use vga_text as the startup
22552 console.
22553
c22a006a 22554 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22555 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22556 the kernel.
22557 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22558 and grub_at_keyboard_fini(), it's done on module load and
22559 unload.
22560
05b129e0 225612009-06-17 Felix Zielcke <fzielcke@z-51.de>
22562
22563 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22564 file can't be found.
22565 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22566
cf24ed9e 225672009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 Fix newline handling
22570
22571 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 22572 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 22573 (grub_script_yylex): don't segfault on unterminated script
22574 newline terminates command and variable
22575
74aa8e4b 225762009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 avoid double grub_adjust_range call. Bug reported by David Simner
22579
22580 * kern/disk.c (grub_disk_write): change to raw disk access before
22581 calling disk_read
22582
1bd265f3 225832009-06-17 Colin Watson <cjwatson@ubuntu.com>
22584
22585 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22586 spaces, for the benefit of help2man.
22587 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22588
a2d08c06 225892009-06-16 Pavel Roskin <proski@gnu.org>
22590
22591 * kern/i386/halt.c: Include grub/machine/init.h.
22592 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22593
b97bcb19 225942009-06-16 Felix Zielcke <fzielcke@z-51.de>
22595
22596 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22597 drivemap menuentry.
22598
0644f96c 225992009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22600
22601 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22602 `echo' command.
22603
3ef17a2e 226042009-06-16 Pavel Roskin <proski@gnu.org>
22605
22606 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22607 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22608 save %dx, we only need %dl and we never change it.
22609 * boot/i386/pc/cdboot.S: Don't set the root drive.
22610 * boot/i386/pc/pxeboot.S: Likewise.
22611 * include/grub/i386/pc/boot.h: Remove
22612 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22613 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22614 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22615 * kern/i386/pc/init.c (make_install_device): Remove references
22616 to grub_root_drive.
22617 * kern/i386/pc/startup.S: Likewise.
22618 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22619
693fe637 226202009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22621
22622 xnu_uuid command
22623
22624 * commands/xnu_uuid.c: new file
22625 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22626 (xnu_uuid_mod_SOURCES): new variable
22627 (xnu_uuid_mod_CFLAGS): likewise
22628 (xnu_uuid_mod_LDFLAGS): likewise
22629 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22630 * conf/i386-ieee1275.rmk: likewise
22631 * conf/i386-pc.rmk: likewise
22632 * conf/powerpc-ieee1275.rmk: likewise
22633 * conf/sparc64-ieee1275.rmk: likewise
22634 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22635
c9da87d0 226362009-06-16 Pavel Roskin <proski@gnu.org>
22637
22638 * configure.ac: Avoid '==' in test command, it's not portable.
22639
9c6f4596 226402009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22641
22642 Probe command
22643
22644 * commands/probe.c: new file
22645 * conf/common.rmk (pkglib_MODULES): add probe.mod
22646 (probe_mod_SOURCES): new variable
22647 (probe_mod_CFLAGS): likewise
22648 (probe_mod_LDFLAGS): likewise
22649 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22650 * conf/i386-ieee1275.rmk: likewise
22651 * conf/i386-pc.rmk: likewise
22652 * conf/powerpc-ieee1275.rmk: likewise
22653 * conf/sparc64-ieee1275.rmk: likewise
22654
70b7f9fd 226552009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 Fix handling of string like \"hello\" and "a
22658 b"
22659
22660 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22661 (grub_script_yylex): fix parsing of quoting, escaping and newline
22662
71c79a6b 226632009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22664
dd74360c 22665 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 22666 handling
dd74360c 22667
0644f96c 226682009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 22669
22670 * util/grub-mkconfig.in: Fix parsing of --output option.
22671
e40893c3 226722009-06-12 Pavel Roskin <proski@gnu.org>
22673
22674 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22675 genmk.rb don't need to be generated or installed.
22676
3a1acfe2 226772009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22678
22679 * commands/i386/pc/drivemap_int13h.S: add more comments
22680
3a4575d4 226812009-06-11 Pavel Roskin <proski@gnu.org>
22682
0658e928 22683 * Makefile.in (uninstall): Uninstall manuals.
22684
ca0388f0 22685 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22686 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22687 and update-grub_lib in two places.
22688 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22689
e3b27c39 22690 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22691 a compiler warning.
22692
3a4575d4 22693 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22694 `entry_lo' to fix variable shadowing.
22695
af1f4f55 226962009-06-11 Christian Franke <franke@computer.org>
22697
22698 * kern/misc.c (__enable_execute_stack): Add missing return type
22699 to prevent gcc warning.
22700
5225e649 227012009-06-11 Felix Zielcke <fzielcke@z-51.de>
22702
22703 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22704
7d83bd47 227052009-06-11 Pavel Roskin <proski@gnu.org>
22706
c1cb63ba 22707 * Makefile.in: Don't rely on any scripts being executable.
22708 Always use $(SHELL) to run shell scripts.
22709
7d83bd47 22710 * configure.ac: Always define ___main if using -nostdlib. This
22711 fixes tests on Cygwin.
22712
948f48e7 227132009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22714
22715 UDF fix
22716
7d83bd47 22717 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 22718 is in bytes and not in blocks
7d83bd47 22719
8ada9bc1 227202009-06-11 Pavel Roskin <proski@gnu.org>
22721
22722 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22723 warning.
22724
25ad2323 227252009-06-11 Felix Zielcke <fzielcke@z-51.de>
22726
22727 * util/grub.d/30_os-prober.in: Fix a comment. Source
22728 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22729 to set the root device. Place drivemap command in the generated
22730 chain entry.
22731
e65acb0c 227322009-06-11 Pavel Roskin <proski@gnu.org>
22733
22734 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22735 have long been resolved.
22736
f285fe2d 227372009-06-11 Colin Watson <cjwatson@ubuntu.com>
22738
bd47b0b5 22739 * util/grub.d/10_linux.in: Capitalise "Linux".
22740
f285fe2d 22741 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22742
a0c62e4e 227432009-06-11 Pavel Roskin <proski@gnu.org>
22744
b6783cb2 22745 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22746 fix a gcc warning and ensure that the function won't ever exit.
22747
dde032e8 22748 * kern/i386/ieee1275/init.c: Add missing prototype for
22749 grub_stop_floppy().
22750
22cd079d 22751 * loader/ieee1275/multiboot2.c [__i386__]: Include
22752 grub/cpu/multiboot.h.
22753
a0c62e4e 22754 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22755 casts to short - they are not portable and cause warnings. Fix
22756 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22757
63963d17 227582009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 Drivemap fixes
22761
22762 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22763 new function
22764 (grub_get_root_biosnumber_saved): new variable
22765 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22766 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 22767 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 22768 %dx after the call if necessary
22769 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22770 (boot_mod_SOURCES): remove
22771 (boot_mod_CFLAGS): remove
22772 (boot_mod_LDFLAGS): remove
22773 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22774 (boot_mod_SOURCES): new variable
22775 (boot_mod_CFLAGS): likewise
22776 (boot_mod_LDFLAGS): likewise
22777 * conf/i386-efi.rmk: likewise
22778 * conf/i386-ieee1275.rmk: likewise
22779 * conf/i386-pc.rmk: likewise
22780 * conf/powerpc-ieee1275.rmk: likewise
22781 * conf/sparc64-ieee1275.rmk: likewise
22782 * conf/x86_64-efi.rmk: likewise
22783 * include/grub/i386/pc/biosnum.h: new file
22784 * lib/i386/pc/biosnum.c: likewise
22785 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22786 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22787 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 22788
33abf7ae 227892009-06-10 Pavel Roskin <proski@gnu.org>
22790
5ac35b35 22791 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22792 Use separate variables. Read only the file size at the end, but
22793 not the checksum that we don't use.
22794
5c5215d5 22795 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22796 Adjust all callers.
22797
27d5fef7 22798 * kern/ieee1275/openfw.c: Remove libc includes.
22799 * kern/ieee1275/cmain.c: Likewise.
22800 * include/grub/ieee1275/ieee1275.h: Likewise.
22801
33abf7ae 22802 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22803 compiler warnings.
22804
19d50c2b 228052009-06-10 Felix Zielcke <fzielcke@z-51.de>
22806
22807 * Makefile.in: Remove all trailing whitespace.
22808 * conf/i386-pc.rmk: Likewise.
22809 * conf/powerpc-ieee1275.rmk: Likewise.
22810 * conf/sparc64-ieee1275.rmk: Likewise.
22811 * docs/grub.texi: Likewise.
22812 * docs/texinfo.tex: Likewise.
22813 * disk/fs_uuid.c: Likewise.
22814 * disk/lvm.c: Likewise.
22815 * disk/scsi.c: Likewise.
22816 * disk/ata.c: Likewise.
22817 * disk/ieee1275/ofdisk.c: Likewise.
22818 * disk/i386/pc/biosdisk.c: Likewise.
22819 * disk/host.c: Likewise.
22820 * disk/raid.c: Likewise.
22821 * disk/efi/efidisk.c: Likewise.
22822 * disk/usbms.c: Likewise.
22823 * disk/memdisk.c: Likewise.
22824 * disk/loopback.c: Likewise.
22825 * kern/powerpc/dl.c: Likewise.
22826 * kern/device.c: Likewise.
22827 * kern/dl.c: Likewise.
22828 * kern/sparc64/dl.c: Likewise.
22829 * kern/ieee1275/ieee1275.c: Likewise.
22830 * kern/term.c: Likewise.
22831 * kern/fs.c: Likewise.
22832 * kern/i386/dl.c: Likewise.
22833 * kern/i386/pc/startup.S: Likewise.
22834 * kern/i386/pc/init.c: Likewise.
22835 * kern/i386/pc/mmap.c: Likewise.
22836 * kern/i386/pc/lzo1x.S: Likewise.
22837 * kern/i386/ieee1275/init.c: Likewise.
22838 * kern/i386/realmode.S: Likewise.
22839 * kern/i386/tsc.c: Likewise.
22840 * kern/partition.c: Likewise.
22841 * kern/corecmd.c: Likewise.
22842 * kern/file.c: Likewise.
22843 * kern/efi/efi.c: Likewise.
22844 * kern/efi/init.c: Likewise.
22845 * kern/efi/mm.c: Likewise.
22846 * kern/main.c: Likewise.
22847 * kern/err.c: Likewise.
22848 * kern/env.c: Likewise.
22849 * kern/disk.c: Likewise.
22850 * kern/generic/millisleep.c: Likewise.
22851 * kern/generic/rtc_get_time_ms.c: Likewise.
22852 * kern/misc.c: Likewise.
22853 * kern/parser.c: Likewise.
22854 * genmk.rb: Likewise.
22855 * configure.ac: Likewise.
22856 * boot/i386/pc/diskboot.S: Likewise.
22857 * boot/i386/pc/pxeboot.S: Likewise.
22858 * boot/i386/pc/boot.S: Likewise.
22859 * boot/i386/pc/lnxboot.S: Likewise.
22860 * boot/i386/pc/cdboot.S: Likewise.
22861 * parttool/pcpart.c: Likewise.
22862 * video/readers/tga.c: Likewise.
22863 * video/video.c: Likewise.
22864 * video/bitmap.c: Likewise.
22865 * lib/envblk.c: Likewise.
22866 * lib/i386/setjmp.S: Likewise.
22867 * fs/xfs.c: Likewise.
22868 * fs/afs.c: Likewise.
22869 * fs/fat.c: Likewise.
22870 * fs/ntfs.c: Likewise.
22871 * fs/udf.c: Likewise.
22872 * fs/affs.c: Likewise.
22873 * fs/iso9660.c: Likewise.
22874 * fs/hfs.c: Likewise.
22875 * fs/fshelp.c: Likewise.
22876 * fs/ext2.c: Likewise.
22877 * fs/jfs.c: Likewise.
22878 * fs/reiserfs.c: Likewise.
22879 * fs/hfsplus.c: Likewise.
22880 * fs/minix.c: Likewise.
22881 * fs/cpio.c: Likewise.
22882 * fs/sfs.c: Likewise.
22883 * fs/ufs.c: Likewise.
22884 * efiemu/prepare.c: Likewise.
22885 * efiemu/loadcore_common.c: Likewise.
22886 * efiemu/runtime/efiemu.sh: Likewise.
22887 * efiemu/runtime/efiemu.S: Likewise.
22888 * efiemu/runtime/efiemu.c: Likewise.
22889 * efiemu/pnvram.c: Likewise.
22890 * efiemu/main.c: Likewise.
22891 * efiemu/i386/pc/cfgtables.c: Likewise.
22892 * efiemu/i386/loadcore64.c: Likewise.
22893 * efiemu/i386/loadcore32.c: Likewise.
22894 * efiemu/loadcore.c: Likewise.
22895 * efiemu/symbols.c: Likewise.
22896 * efiemu/mm.c: Likewise.
22897 * include/grub/autoefi.h: Likewise.
22898 * include/grub/datetime.h: Likewise.
22899 * include/grub/term.h: Likewise.
22900 * include/grub/hfs.h: Likewise.
22901 * include/grub/lvm.h: Likewise.
22902 * include/grub/i386/tsc.h: Likewise.
22903 * include/grub/i386/linux.h: Likewise.
22904 * include/grub/i386/xnu.h: Likewise.
22905 * include/grub/i386/efiemu.h: Likewise.
22906 * include/grub/i386/pc/biosdisk.h: Likewise.
22907 * include/grub/i386/pc/memory.h: Likewise.
22908 * include/grub/i386/pc/vbe.h: Likewise.
22909 * include/grub/parttool.h: Likewise.
22910 * include/grub/video.h: Likewise.
22911 * include/grub/memory.h: Likewise.
22912 * include/grub/fs.h: Likewise.
22913 * include/grub/partition.h: Likewise.
22914 * include/grub/xnu.h: Likewise.
22915 * include/grub/efi/api.h: Likewise.
22916 * include/grub/efi/pe32.h: Likewise.
22917 * include/grub/efi/memory.h: Likewise.
22918 * include/grub/multiboot.h: Likewise.
22919 * include/grub/usbdesc.h: Likewise.
22920 * include/grub/multiboot2.h: Likewise.
22921 * include/grub/acpi.h: Likewise.
22922 * include/grub/efiemu/efiemu.h: Likewise.
22923 * include/grub/disk.h: Likewise.
22924 * include/grub/ieee1275/ieee1275.h: Likewise.
22925 * include/grub/net.h: Likewise.
22926 * include/grub/machoload.h: Likewise.
22927 * include/grub/macho.h: Likewise.
22928 * include/multiboot.h: Likewise.
22929 * genmoddep.awk: Likewise.
22930 * normal/main.c: Likewise.
22931 * normal/menu_entry.c: Likewise.
22932 * normal/menu_viewer.c: Likewise.
22933 * normal/completion.c: Likewise.
22934 * normal/cmdline.c: Likewise.
22935 * normal/misc.c: Likewise.
22936 * normal/datetime.c: Likewise.
22937 * bus/usb/usbtrans.c: Likewise.
22938 * bus/usb/ohci.c: Likewise.
22939 * bus/usb/uhci.c: Likewise.
22940 * bus/usb/usb.c: Likewise.
22941 * mmap/efi/mmap.c: Likewise.
22942 * mmap/i386/pc/mmap_helper.S: Likewise.
22943 * mmap/i386/pc/mmap.c: Likewise.
22944 * mmap/i386/mmap.c: Likewise.
22945 * mmap/i386/uppermem.c: Likewise.
22946 * mmap/mmap.c: Likewise.
22947 * commands/acpi.c: Likewise.
22948 * commands/echo.c: Likewise.
22949 * commands/blocklist.c: Likewise.
22950 * commands/loadenv.c: Likewise.
22951 * commands/usbtest.c: Likewise.
22952 * commands/boot.c: Likewise.
22953 * commands/parttool.c: Likewise.
22954 * commands/search.c: Likewise.
22955 * commands/cat.c: Likewise.
22956 * commands/i386/pc/play.c: Likewise.
22957 * commands/i386/pc/drivemap.c: Likewise.
22958 * commands/i386/pc/vbeinfo.c: Likewise.
22959 * commands/i386/pc/acpi.c: Likewise.
22960 * commands/i386/pc/vbetest.c: Likewise.
22961 * commands/ls.c: Likewise.
22962 * commands/cmp.c: Likewise.
22963 * commands/test.c: Likewise.
22964 * commands/efi/acpi.c: Likewise.
22965 * commands/gptsync.c: Likewise.
22966 * commands/help.c: Likewise.
22967 * partmap/amiga.c: Likewise.
22968 * partmap/apple.c: Likewise.
22969 * partmap/acorn.c: Likewise.
22970 * partmap/pc.c: Likewise.
22971 * partmap/sun.c: Likewise.
22972 * partmap/gpt.c: Likewise.
22973 * script/sh/lexer.c: Likewise.
22974 * script/sh/function.c: Likewise.
22975 * font/font.c: Likewise.
22976 * font/font_cmd.c: Likewise.
22977 * loader/powerpc/ieee1275/linux.c: Likewise.
22978 * loader/efi/chainloader.c: Likewise.
22979 * loader/multiboot_loader.c: Likewise.
22980 * loader/macho.c: Likewise.
22981 * loader/i386/multiboot.c: Likewise.
22982 * loader/i386/linux.c: Likewise.
22983 * loader/i386/pc/linux.c: Likewise.
22984 * loader/i386/pc/multiboot2.c: Likewise.
22985 * loader/i386/pc/chainloader.c: Likewise.
22986 * loader/i386/pc/xnu.c: Likewise.
22987 * loader/i386/bsd_trampoline.S: Likewise.
22988 * loader/i386/efi/linux.c: Likewise.
22989 * loader/i386/multiboot_elfxx.c: Likewise.
22990 * loader/i386/bsd_helper.S: Likewise.
22991 * loader/i386/bsd.c: Likewise.
22992 * loader/i386/linux_trampoline.S: Likewise.
22993 * loader/i386/xnu_helper.S: Likewise.
22994 * loader/i386/xnu.c: Likewise.
22995 * loader/i386/bsd_pagetable.c: Likewise.
22996 * loader/i386/multiboot_helper.S: Likewise.
22997 * loader/xnu.c: Likewise.
22998 * loader/xnu_resume.c: Likewise.
22999 * io/gzio.c: Likewise.
23000 * term/efi/console.c: Likewise.
23001 * term/terminfo.c: Likewise.
23002 * term/ieee1275/ofconsole.c: Likewise.
23003 * term/i386/pc/serial.c: Likewise.
23004 * term/i386/pc/vesafb.c: Likewise.
23005 * term/i386/pc/vga.c: Likewise.
23006 * term/usb_keyboard.c: Likewise.
23007 * term/gfxterm.c: Likewise.
23008 * aclocal.m4: Likewise.
23009 * util/lvm.c: Likewise.
23010 * util/grub.d/30_os-prober.in: Likewise.
23011 * util/grub.d/10_hurd.in: Likewise.
23012 * util/console.c: Likewise.
23013 * util/grub-macho2img.c: Likewise.
23014 * util/grub-probe.c: Likewise.
23015 * util/hostfs.c: Likewise.
23016 * util/i386/pc/grub-mkimage.c: Likewise.
23017 * util/i386/pc/grub-setup.c: Likewise.
23018 * util/i386/efi/grub-mkimage.c: Likewise.
23019 * util/grub-mkconfig.in: Likewise.
23020 * util/raid.c: Likewise.
23021 * util/resolve.c: Likewise.
23022 * util/grub-mkdevicemap.c: Likewise.
23023 * util/grub-emu.c: Likewise.
23024 * util/getroot.c: Likewise.
23025 * util/hostdisk.c: Likewise.
23026 * util/usb.c: Likewise.
23027 * util/grub-editenv.c: Likewise.
23028 * util/misc.c: Likewise.
23029
d2d49665 230302009-06-10 Felix Zielcke <fzielcke@z-51.de>
23031
23032 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23033 `genparttoollist.sh'.
23034 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23035 Add `*.sh' to the list find searches for and change `mdate.sh'
23036 to `mdate-sh'.
23037
fe052e37 230382009-06-10 Pavel Roskin <proski@gnu.org>
23039
2763ac18 23040 * include/grub/multiboot2.h: Provide compatibility defines for
23041 multiboot2.h.
23042 * include/multiboot2.h: Include stdint.h only if needed, using
23043 angle brackets.
23044 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23045 grub/multiboot2.h.
23046 * loader/ieee1275/multiboot2.c: Likewise.
23047 * loader/multiboot2.c: Likewise.
23048 * loader/multiboot_loader.c: Likewise.
23049
437e6adc 23050 * configure.ac: Use -nostdlib when probing for the target. It
23051 should not be required to have libc for the target.
23052
06a6836c 23053 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23054 they fail without libc headers for the target.
23055 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23056 exports.
23057 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23058 preprocessor conditionals.
23059
fe052e37 23060 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23061 build system doesn't need to be aware of the tar.c internals.
23062
afd22553 230632009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 23064
afd22553 23065 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 23066
6b787c4f 230672009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23068
23069 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23070 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23071
230722009-06-09 Felix Zielcke <fzielcke@z-51.de>
23073
23074 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 23075 aren't available if ata.mod gets used.
6b787c4f 23076
473d1e45 230772009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 23078
473d1e45 23079 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 23080 initialising controller.
473d1e45 23081 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 23082
255a27d4 230832009-06-08 Felix Zielcke <fzielcke@z-51.de>
23084
23085 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23086 to choose between ata and biosdisk module on i386-pc.
23087
473d1e45 230882009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 23089
d55842d8 23090 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23091 Subclass and Programming Interface fields in terms of the 3 byte
23092 Class Code register.
23093 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23094
fa5db0b1 23095 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23096 interface is OHCI. Add grub_dprintf for symmetry with
23097 bus/usb/uhci.c.
23098 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23099 interface is UHCI. Add interf variable for programming
23100 interface. Print interface with class/subclass.
23101
c0947beb 23102 * bus/usb/ohci.c: Set interf with correct field.
23103
69da8877 23104 * bus/usb/uhci.c: Remove unneeded doubled lines.
23105 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23106 Remove whitespace inside comment.
23107
9e172e30 231082009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23109
23110 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23111 as fallback an equivalent option without depth.
23112
de65ee2b 231132009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23114
23115 Not fail if unable to retrieve C/H/S on LBA disks
23116
473d1e45 23117 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 23118 if unable to retrieve C/H/S on LBA disks
23119
b57ea2c9 231202009-06-08 Pavel Roskin <proski@gnu.org>
23121
23122 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23123 about aliasing.
23124
af361263 231252009-06-08 Felix Zielcke <fzielcke@z-51.de>
23126
23127 * Makefile.in (uninstall): Remove all $lib_DATA files.
23128
4c9ec6b3 231292009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23130
23131 Bugfix: install on partitionless device
23132
23133 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23134 is a whole disk
23135
e76fc924 231362009-06-08 Felix Zielcke <fzielcke@z-51.de>
23137
23138 * Makefile.in (uninstall): Remove all $include_DATA files.
23139
ba5a0d05 231402009-06-08 Felix Zielcke <fzielcke@z-51.de>
23141
23142 * commands/true.c: New file. Implement the true and false commands.
23143 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23144 (true_mod_SOURCES): New variable.
23145 (true_mod_CFLAGS): Likewise.
23146 (true_mod_LDFLAGS): Likewise.
23147
c8048e32 231482009-06-05 Colin D Bennett <colin@gibibit.com>
23149
23150 Optimized font character lookup using binary search instead of linear
23151 search. Fonts now are required to have the character index ordered by
23152 code point.
23153
23154 * font/font.c (load_font_index): Verify that fonts have ordered
23155 character indices.
23156 (find_glyph): Use binary search instead of linear search to find a
23157 character in a font.
23158
408305be 231592009-06-05 Michael Scherer <misc@mandriva.org>
23160
23161 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23162 uses case sensitive btree.
23163 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23164 only for case insensitive filesystems.
23165
8ee1e0d9 231662009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23169 * conf/common.rmk (search_mod_CFLAGS): likewise
23170
a9966eb1 231712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23172
473d1e45 23173 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 23174 compensate a compiler bug
23175
9e7100fb 231762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23177
473d1e45 23178 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 23179 instead of '\b'
473d1e45 23180
ede21d71 231812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23182
23183 Definitions for creating asm symbols with Apple's CC
23184
23185 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23186 [APPLE_CC] (VARIABLE): likewise
23187
9dbf7653 231882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23189
23190 Disable lnxboot.img when compiled
23191 with Apple's CC
23192
23193 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23194 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23195 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23196 [! APPLE_CC] (CODE_LENG): skip
23197 [! APPLE_CC] (setup_sects): likewise
23198 [! APPLE_CC]: skip filling
473d1e45 23199
e93cdc3d 232002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23201
23202 Address in trampolines based on 32-bit registers when compiled
23203 with Apple's CC
23204
473d1e45 23205 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 23206 for addresses
23207 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23208
6c688477 232092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23210
23211 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23212
23213 * kern/misc.c [APPLE_CC] (memcpy): new function
23214 [APPLE_CC] (memmove): likewise
23215 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 23216 (memcpy): define alias conditionally on !APPLE_CC
6c688477 23217 (memset): likewise
23218 (abort): likewise
23219 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23220 APPLE_CC are defined
23221 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23222 (grub_assert_fail): make prototype conditional
23223
e37ffc5c 232242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23225
23226 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23227
473d1e45 23228 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23229 grub-macho2img
e37ffc5c 23230 (CLEANFILES): add grub-macho2img
23231 (grub_macho2img_SOURCES): new variable
23232 * kern/i386/pc/startup.S (bss_start): new variable
23233 (bss_end): likewise
23234 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23235 * util/grub-macho2img.c: new file
23236
cf00df31 232372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 Use objconv when compiling with Apple's CC
23240
23241 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23242 (efiemu64.o): likewise
23243 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23244 when compiling with Apple's CC
23245 (efiemu64_s.o): likewise
23246 * configure.ac: check for objconv when compiling with Apple's CC
23247 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 23248
d119a20c 232492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23250
23251 Define segment as well as section when compiling with
23252 Apple's CC
23253
23254 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23255 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23256 (efiemu_convert_pointer): likewise
23257 (efiemu_set_virtual_address_map): likewise
23258 (efiemu_convert_pointer): likewise
23259 (efiemu_getcrc32): likewise
23260 (init_crc32_table): likewise
23261 (reflect): likewise
23262 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23263 (GRUB_MOD_DEP): likewise
473d1e45 23264
c8600122 232652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 Allow a compilation without -mcmodel=large
23268
23269 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23270 when compiled without -mcmodel=large
473d1e45 23271 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 23272 without -mcmodel=large
473d1e45 23273 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 23274 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 23275
e8df1d4e 232762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23277
23278 Remove nested functions in efiemu core
23279
23280 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 23281
cc6c3ac1 232822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23283
23284 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23285
23286 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23287 temporary storage
473d1e45 23288 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23289 using Apple's CC
cc6c3ac1 23290 (grub_cpu_is_tsc_supported): likewise
23291 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 23292
3e325901 232932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23294
23295 Absolute addressing through constant with Apple's cc
23296
23297 * kern/i386/pc/startup.S: Define necessary constants
23298 and address through it when using ABS with Apple's CC
23299 * boot/i386/pc/diskboot.S: likewise
23300 * boot/i386/pc/boot.S: likewise
23301 * boot/i386/pc/lnxboot.S: likewise
23302 * boot/i386/pc/cdboot.S: likewise
23303 * mmap/i386/pc/mmap_helper.S: likewise
23304 * commands/i386/pc/drivemap_int13h.S: likewise
23305
2b167a72 233062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23307
23308 Check if compiler is apple cc
23309
23310 * Makefile.in (ASFLAGS): new variable
23311 (TARGET_ASFLAGS): likewise
23312 (TARGET_MODULE_FORMAT): likewise
23313 (TARGET_APPLE_CC): likewise
23314 (OBJCONV): likewise
23315 (TARGET_IMG_CFLAGS): likewise
23316 (TARGET_CPPFLAGS): add includedir
23317 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23318 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23319 Check for linker script only if compiler isn't Apple's CC
23320 (TARGET_MODULE_FORMAT): set
23321 (TARGET_APPLE_CC): likewise
23322 (TARGET_ASFLAGS): likewise
23323 (ASFLAGS): likewise
23324 Check for objcopy only if compiler isn't Apple's CC
23325 Check for BSS symbol only if compiler isn't Apple's CC
23326 * genmk.rb: adapt nm options if we use Apple's utils
23327 * aclocal.m4 (grub_apple_cc): new test
23328 (grub_apple_target_cc): likewise
473d1e45 23329
fb14123e 233302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23331
23332 Simplify sed expressions and improve awk
23333
23334 * Makefile.in (install-local): simplify sed expression
23335 * gencmdlist.sh: likewise
23336 * genmoddep.awk: avoid adding module as a dependency of itself
23337
5b889789 233382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 Add missing start symbols
23341
23342 * boot/i386/pc/boot.S: add start
fb14123e 23343 * boot/i386/pc/pxeboot.S: likewise
473d1e45 23344
fd2bf2e3 233452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23346
23347 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 23348
23349 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 23350 (relocate_addresses): consider both r_addend and value at offset
23351 (make_mods_section): zerofill modinfo and header
23352 (convert_elf): write prefix here
473d1e45 23353
5389763d 233542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23355
23356 Use .asciz instead of .string
23357
23358 * i386/pc/diskboot.S: use .asciz instead of .string
23359 * i386/pc/boot.S: likewise
23360 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23361 (GRUB_MOD_NAME): likewise
473d1e45 23362
3eb5ed4e 233632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 gfxpayload support
23366
23367 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23368 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23369 (grub_video_setup): remove
23370 (grub_video_set_mode): new prototype
23371 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23372 (vid_mode): remove
23373 (linux_vesafb_res): compile only on PCBIOS
23374 (grub_linux_boot): support gfxpayload
23375 * loader/i386/pc/xnu.c (video_hook): new function
23376 (grub_xnu_set_video): support gfxpayload
23377 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23378 (DEFAULT_VIDEO_HEIGHT): likewise
23379 (DEFAULT_VIDEO_FLAGS): likewise
23380 (DEFAULT_VIDEO_MODE): new definition
23381 (video_hook): new function
23382 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 23383 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 23384 loading xnu
23385 * video/video.c (grub_video_setup): removed
473d1e45 23386 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 23387 grub_video_setup
23388
4b0e1143 233892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23390
23391 Avoid calling biosdisk in drivemap
23392
23393 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23394 (revparse_biosdisk): likewise
23395 (list_mappings): derive name from id directly
23396 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 23397
fda6cb98 233982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23399
23400 Script fixes
23401
23402 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23403 (grub_lexer_param): add tokenonhold
23404 (grub_script_create_cmdline): remove cmdline. All callers updated
23405 (grub_script_function_create): make functionname
23406 grub_script_arg. All callers updated
23407 (grub_script_execute_argument_to_string): new prototype
23408 * kern/parser.c (state_transitions): reorder
23409 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 23410 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 23411 make global
23412 (grub_script_execute_cmdline): use new format
23413 * script/sh/function.c (grub_script_function_create): make functionname
23414 grub_script_arg. All callers updated
473d1e45 23415 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 23416 (grub_script_yylex): remove
23417 (grub_script_yylex2): renamed to ...
23418 (grub_script_yylex): ...renamed
23419 parse the expressions like a${b}c
23420 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23421 (GRUB_PARSER_TOKEN_VAR): remove
23422 (GRUB_PARSER_TOKEN_NAME): likewise
23423 ("if"): declare as typeless
23424 ("while"): likewise
23425 ("function"): likewise
23426 ("else"): likewise
23427 ("then"): likewise
23428 ("fi"): likewise
23429 (text): remove
23430 (argument): likewise
23431 (script): accept empty scripts and make exit on error
23432 (arguments): use GRUB_PARSER_TOKEN_ARG
23433 (function): likewise
23434 (command): move error handling to script
23435 (menuentry): move grub_script_lexer_ref before
473d1e45 23436 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 23437 argument. All callers updated
23438
f4448a07 234392009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23440
23441 Prevent GRUB from probing floppies during boot.
23442
23443 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23444 * commands/search.c (options): Add --no-floppy.
23445 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23447 --no-floppy when searching for UUIDs.
23448
2bf5885a 234492009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23450
23451 Simplify the code duplication in commands/search.c.
23452
23453 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23454 (search_fs): ... this. Update all users.
23455
f6fd460a 234562009-06-03 Felix Zielcke <fzielcke@z-51.de>
23457
23458 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23459
cbb3c83e 234602009-05-28 Pavel Roskin <proski@gnu.org>
23461
57788cfd 23462 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23463 Remove the original symlink explicitly.
23464
cbb3c83e 23465 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23466 just one slash. That's how grub_fshelp_find_file() does it.
23467
cd0d5e30 234682009-05-26 Pavel Roskin <proski@gnu.org>
23469
f0f8bbe2 23470 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23471 to `str'.
23472
cd0d5e30 23473 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23474 possibly unused.
23475
8c2cab51 234762009-05-25 Christian Franke <franke@computer.org>
23477
23478 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23479 register.
23480 (grub_atapi_identify): Add wait after drive select.
23481 (grub_ata_identify): Do more strict status register check before
23482 calling grub_atapi_identify (). Suppress error message if status
23483 register is 0x00 after command failure. Add status register
23484 check after PIO read to avoid bogus identify due to stuck DRQ.
23485 Thanks to Pavel Roskin for testing.
23486 (grub_device_initialize): Remove unsafe status register check.
23487 Thanks to 'phcoder' for problem report and patch.
23488 Prevent sign extension in debug message.
23489
230c0ad6 234902009-05-23 Colin D Bennett <colin@gibibit.com>
23491
23492 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23493 definition file, and functions defined in `normal/menu.c' have had
23494 their prototypes moved to `include/grub/menu.h' for consistency.
23495
23496 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23497 from normal.h.
23498 (grub_menu_get_entry): Likewise.
23499 (grub_menu_get_timeout): Likewise.
23500 (grub_menu_set_timeout): Likewise.
23501 (grub_menu_execute_entry): Likewise.
23502 (grub_menu_execute_with_fallback): Likewise.
23503 (grub_menu_entry_run): Likewise.
23504
23505 * include/grub/normal.h: Re-ordered and grouped function
23506 prototypes by file that the function is defined in.
23507 (grub_menu_execute_callback): Removed; moved to menu.h.
23508 (grub_menu_get_entry): Likewise.
23509 (grub_menu_get_timeout): Likewise.
23510 (grub_menu_set_timeout): Likewise.
23511 (grub_menu_execute_entry): Likewise.
23512 (grub_menu_execute_with_fallback): Likewise.
23513 (grub_menu_entry_run): Likewise.
23514 (grub_menu_addentry): Renamed from this ...
23515 (grub_normal_add_menu_entry): ... to this.
23516
23517 * normal/main.c (grub_menu_addentry): Renamed from this ...
23518 (grub_normal_add_menu_entry): ... to this.
23519
23520 * script/sh/execute.c (grub_script_execute_menuentry): Update
23521 reference to renamed grub_menu_addentry function.
23522
861f03a5 235232009-05-23 Felix Zielcke <fzielcke@z-51.de>
23524
23525 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23526
96b1619a 235272009-05-22 Pavel Roskin <proski@gnu.org>
23528
bf6a5fb2 23529 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23530 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23531 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23532 compiling for the i386 targets, but not for the utilities.
23533
96b1619a 23534 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23535 to grub_uint8_t.
23536 (grub_root_drive): Likewise.
23537 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23538 remove alignment.
23539 (grub_root_drive): Change size to byte.
23540 (grub_start_addr): Remove.
23541 (grub_end_addr): Likewise.
23542 (grub_apm_bios_info): Likewise.
23543
b729776b 235442009-05-21 Felix Zielcke <fzielcke@z-51.de>
23545
23546 * normal/i386: Remove.
23547 * normal/powerpc: Likewise.
23548 * normal/sparc64: Likewise.
23549 * normal/x86_64: Likewise.
23550
0a15ce80 235512009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 23554 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 23555 * loader/i386/xnu_helper.S: Likewise
d6da58e6 23556
33db9015 235572009-05-18 Colin D Bennett <colin@gibibit.com>
23558
d6da58e6 23559 Display error messages when parsing a Lua statement fails.
23560 Previously, executing a syntactically invalid statement like
23561 ")foo" or "bar;" would silently fail.
33db9015 23562
23563 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 23564 (grub_lua_parse_line): Improved reporting of Lua parser and
23565 execution errors.
33db9015 23566
46422c89 235672009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23568
23569 Remove -Werror which causes build to fail on some systems
23570
23571 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23572 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23573 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 23574
22f53a96 235752009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23576
23577 trampoline for linux on 64-bit platform
23578
18f547ad 23579 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23580 loader/i386/efi/linux_trampoline.S
23581 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 23582 declaration
d6da58e6 23583 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23584 here
22f53a96 23585 * loader/i386/linux_trampoline.S: moved here
d6da58e6 23586 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23587 trampoline
22f53a96 23588 (jumpvector): removed
23589 (grub_linux_trampoline_start): new declaration
23590 (grub_linux_trampoline_end): likewise
23591 (grub_linux_boot): use trampoline when on 64-bit platform
23592 * loader/i386/linux.c: likewise
23593
cb5a0f40 235942009-05-16 Pavel Roskin <proski@gnu.org>
23595
23596 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23597 const to avoid a warning.
23598 (grub_lua_setenv): Likewise.
23599 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23600 lmsg to fix a warning.
23601
334f2c28 236022009-05-16 Felix Zielcke <fzielcke@z-51.de>
23603
23604 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 23605 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23606 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23607 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23608 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23609 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23610 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23611 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 23612
59e5d3ec 236132009-05-16 Felix Zielcke <fzielcke@z-51.de>
23614
23615 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23616
9d87a1ba 236172009-05-16 Bean <bean123ch@gmail.com>
23618
23619 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23620 (lua_mod_SOURCES): New variable.
23621 (lua_mod_CFLAGS): Likewise.
23622 (lua_mod_LDFLAGS): Likewise.
23623
23624 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23625 (setjmp_mod_SOURCES): New variable.
23626 (setjmp_mod_CFLAGS): Likewise.
23627 (setjmp_LDFLAGS): Likewise.
23628
23629 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23630 (setjmp_mod_SOURCES): New variable.
23631 (setjmp_mod_CFLAGS): Likewise.
23632 (setjmp_LDFLAGS): Likewise.
23633
23634 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23635 (setjmp_mod_SOURCES): New variable.
23636 (setjmp_mod_CFLAGS): Likewise.
23637 (setjmp_LDFLAGS): Likewise.
23638
23639 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23640 (setjmp_mod_SOURCES): New variable.
23641 (setjmp_mod_CFLAGS): Likewise.
23642 (setjmp_LDFLAGS): Likewise.
23643
23644 * normal/i386/setjmp.S: Moved from here ...
23645 * lib/i386/setjmp.S: ... Moved here
23646 * normal/x86_64/setjmp.S: Moved from here ...
23647 * lib/x86_64/setjmp.S: ... Moved here
23648 * normal/powerpc/setjmp.S: Moved from here ...
23649 * lib/powerpc/setjmp.S: ... Moved here
23650 * normal/sparc64/setjmp.S: Moved from here ...
23651 * lib/sparc64/setjmp.S: ... Moved here
23652
23653 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23654 returns_twice in mingw.
23655
23656 * script/lua/grub_lib.c: New file.
23657 * script/lua/grub_lib.h: Likewise.
23658 * script/lua/grub_lua.h: Likewise.
23659 * script/lua/grub_main.c: Likewise.
23660 * script/lua/lapi.c: Likewise.
23661 * script/lua/lapi.h: Likewise.
23662 * script/lua/lauxlib.c: Likewise.
23663 * script/lua/lauxlib.h: Likewise.
23664 * script/lua/lbaselib.c: Likewise.
23665 * script/lua/lcode.c: Likewise.
23666 * script/lua/lcode.h: Likewise.
23667 * script/lua/ldblib.c: Likewise.
23668 * script/lua/ldebug.c: Likewise.
23669 * script/lua/ldebug.h: Likewise.
23670 * script/lua/ldo.c: Likewise.
23671 * script/lua/ldo.h: Likewise.
23672 * script/lua/ldump.c: Likewise.
23673 * script/lua/lfunc.c: Likewise.
23674 * script/lua/lfunc.h: Likewise.
23675 * script/lua/lgc.c: Likewise.
23676 * script/lua/lgc.h: Likewise.
23677 * script/lua/linit.c: Likewise.
23678 * script/lua/liolib.c: Likewise.
23679 * script/lua/llex.c: Likewise.
23680 * script/lua/llex.h: Likewise.
23681 * script/lua/llimits.h: Likewise.
23682 * script/lua/lmathlib.c: Likewise.
23683 * script/lua/lmem.c: Likewise.
23684 * script/lua/lmem.h: Likewise.
23685 * script/lua/loadlib.c: Likewise.
23686 * script/lua/lobject.c: Likewise.
23687 * script/lua/lobject.h: Likewise.
23688 * script/lua/lopcodes.c: Likewise.
23689 * script/lua/lopcodes.h: Likewise.
23690 * script/lua/loslib.c: Likewise.
23691 * script/lua/lparser.c: Likewise.
23692 * script/lua/lparser.h: Likewise.
23693 * script/lua/lstate.c: Likewise.
23694 * script/lua/lstate.h: Likewise.
23695 * script/lua/lstring.c: Likewise.
23696 * script/lua/lstring.h: Likewise.
23697 * script/lua/lstrlib.c: Likewise.
23698 * script/lua/ltable.c: Likewise.
23699 * script/lua/ltable.h: Likewise.
23700 * script/lua/ltablib.c: Likewise.
23701 * script/lua/ltm.c: Likewise.
23702 * script/lua/ltm.h: Likewise.
23703 * script/lua/lua.h: Likewise.
23704 * script/lua/luaconf.h: Likewise.
23705 * script/lua/lualib.h: Likewise.
23706 * script/lua/lundump.c: Likewise.
23707 * script/lua/lundump.h: Likewise.
23708 * script/lua/lvm.c: Likewise.
23709 * script/lua/lvm.h: Likewise.
23710 * script/lua/lzio.c: Likewise.
23711 * script/lua/lzio.h: Likewise.
23712
5e898c9d 237132009-05-16 Bean <bean123ch@gmail.com>
23714
23715 * include/grub/kernel.h (grub_module_header_types): Add type
23716 OBJ_TYPE_CONFIG.
23717
23718 * kern/main.c (grub_load_config): New function.
23719 (grub_main): Call grub_load_config to read boot config.
23720
23721 * grub-mkimage (generate_image): New parameter config_path.
23722 (options): New option --config.
23723 (main): Parse --config option, and pass it to generate_image.
23724
cf353a47 237252009-05-14 Christian Franke <franke@computer.org>
23726
23727 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23728 This fixes build on Cygwin.
23729
3834887f 237302009-05-14 Pavel Roskin <proski@gnu.org>
23731
23732 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23733 jump. This saves two bytes, so the typical case of 2 swapped
23734 drives would fit 32 bytes.
23735
8090fc01 237362009-05-13 Pavel Roskin <proski@gnu.org>
23737
ac963883 23738 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23739 grub_uint32_t to avoid a warning.
23740
8090fc01 23741 * loader/i386/linux.c (allocate_pages): When assigning
23742 real_mode_mem, cast through grub_size_t to fix a warning. The
23743 code already makes sure that the value would fit a pointer.
23744 (grub_linux_setup_video): Cast render_target->data to
23745 grub_size_t to fix a warning.
23746
18f547ad 237472009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 23748
23749 * commands/i386/pc/drivemap.c: New file - implement drivemap
23750 command.
23751 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23752 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23753
6f6a8b28 237542009-05-13 Pavel Roskin <proski@gnu.org>
23755
23756 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23757 embedding_area_exists.
23758
15fbf4c4 237592009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23760
23761 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23762 it easier to understand / work with.
59978c8a 23763 Improve warning messages for cases where there's no embedding area,
23764 or when it is too small (or core.img too large).
15fbf4c4 23765
238e871f 237662009-05-13 Pavel Roskin <proski@gnu.org>
23767
0ab3a9a4 23768 * loader/i386/pc/multiboot2.c: Add necessary includes for
23769 grub_multiboot2_real_boot().
23770
a2c8c5f8 23771 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23772 PX record is always little-endian. We only need the lower 2
23773 bytes of the mode.
23774
faec96af 23775 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23776 facilitate code reuse.
23777 (grub_cpio_mount): Use "struct head", not a char buffer. This
23778 fixes a warning reported by gcc 4.4.
23779
238e871f 23780 * kernel/disk.c (grub_disk_read): Use void pointer for the
23781 buffer.
23782 (grub_disk_write): Use const void pointer for the buffer.
23783 Adjust all callers. Remove unnecessary casts.
23784
901d2f0c 237852009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23786
23787 * util/i386/pc/grub-install.in: Update copyright year.
23788
18f547ad 237892009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 23790
23791 gptsync
23792
23793 * commands/gptsync.c: new file
23794 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23795 (gptsync_mod_SOURCES): new variable
23796 (gptsync_mod_CFLAGS): likewise
23797 (gptsync_mod_LDFLAGS): likewise
18f547ad 23798 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 23799 new definition
23800 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23801 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23802 * conf/i386-ieee1275.rmk: likewise
23803 * conf/i386-pc.rmk: likewise
23804 * conf/powerpc-ieee1275.rmk: likewise
23805
b4ba690a 238062009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23807
23808 Fixed grub-emu
23809
23810 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23811 (grub_dl_ref): likewise
23812
317e1a44 238132009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23814
23815 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23816 split in two functions (one for msdos and one for gpt).
23817
041b8094 238182009-05-08 Pavel Roskin <proski@gnu.org>
23819
752473c2 23820 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23821 not modified.
23822
041b8094 23823 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23824 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23825 Initialize them with -1. Add sanity check for bad1. Eliminate
23826 nerr variable.
23827
172800ce 238282009-05-08 David S. Miller <davem@davemloft.net>
23829
23830 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23831
29aa5e81 238322009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23833
23834 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 23835 existence.
29aa5e81 23836
96613b62 238372009-05-05 Felix Zielcke <fzielcke@z-51.de>
23838
23839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 23840 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 23841
eef73c8a 238422009-05-05 David S. Miller <davem@davemloft.net>
23843
23844 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23845
119494b5 238462009-05-05 Pavel Roskin <proski@gnu.org>
23847
23848 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23849 of grub_dl_ref() and grub_dl_unref().
23850 * commands/parttool.c: Remove preprocessor conditionals around
23851 grub_dl_ref() and grub_dl_unref().
23852 * fs/affs.c: Likewise.
23853 * fs/afs.c: Likewise.
23854 * fs/cpio.c: Likewise.
23855 * fs/ext2.c: Likewise.
23856 * fs/fat.c: Likewise.
23857 * fs/hfs.c: Likewise.
23858 * fs/hfsplus.c: Likewise.
23859 * fs/iso9660.c: Likewise.
23860 * fs/jfs.c: Likewise.
23861 * fs/minix.c: Likewise.
23862 * fs/ntfs.c: Likewise.
23863 * fs/reiserfs.c: Likewise.
23864 * fs/sfs.c: Likewise.
23865 * fs/udf.c: Likewise.
23866 * fs/ufs.c: Likewise.
23867 * fs/xfs.c: Likewise.
23868 * include/grub/dl.h: Likewise.
23869 * loader/xnu.c: Likewise.
23870
de5fd76e 238712009-05-04 Pavel Roskin <proski@gnu.org>
23872
23873 * commands/acpi.c: Remove unused variable my_mod.
23874 * partmap/amiga.c: Likewise.
23875 * partmap/apple.c: Likewise.
23876 * partmap/gpt.c: Likewise.
23877 * partmap/pc.c: Likewise.
23878 * partmap/sun.c: Likewise.
23879 * term/gfxterm.c: Likewise.
23880 * term/i386/pc/vesafb.c: Likewise.
23881 * term/i386/pc/vga.c: Likewise.
23882
983598ad 238832009-05-04 David S. Miller <davem@davemloft.net>
23884
23885 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
23886 pointer args to grub_ieee1275_get_property().
23887
8aadec43 23888 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
23889
9554b15e 23890 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
23891 devices, and do not traverse down under controller nodes.
23892
67e23c90 23893 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
23894 (grub_ofdisk_open): Use it to un-escape "," characters.
23895 * kern/disk.c (find_part_sep): New.
23896 (grub_disk_open): Use it to find the first non-escaped ','
23897 character in the disk name.
23898 * util/ieee1275/devicemap.c (escape_of_path): New.
23899 (grub_util_emit_devicemap_entry): Use it.
23900 * util/sparc64/ieee1275/grub-install.in: Update script to
23901 strip partition specifiers properly by not triggering on
23902 '\' escaped ',' characters.
23903
74bfdd2f 239042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23905
23906 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
23907 to 0x300.
23908 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
23909 resolutions.
23910 (linux_vesafb_modes): Add a lot of additional modes to the list (based
23911 on documentation from Wikipedia).
23912
4241d2b1 239132009-05-04 Pavel Roskin <proski@gnu.org>
23914
23915 * disk/ata.c: Spelling fixes.
23916 * disk/raid.c: Likewise.
23917 * disk/usbms.c: Likewise.
23918 * disk/dmraid_nvidia.c: Likewise.
23919 * kern/ieee1275/openfw.c: Likewise.
23920 * kern/ieee1275/init.c: Likewise.
23921 * kern/ieee1275/cmain.c: Likewise.
23922 * boot/i386/pc/cdboot.S: Likewise.
23923 * video/readers/png.c: Likewise.
23924 * video/i386/pc/vbe.c: Likewise.
23925 * fs/udf.c: Likewise.
23926 * fs/hfs.c: Likewise.
23927 * fs/reiserfs.c: Likewise.
23928 * efiemu/runtime/efiemu.c: Likewise.
23929 * efiemu/main.c: Likewise.
23930 * efiemu/mm.c: Likewise.
23931 * include/grub/elf.h: Likewise.
23932 * include/grub/xnu.h: Likewise.
23933 * include/grub/usbdesc.h: Likewise.
23934 * include/grub/usb.h: Likewise.
23935 * include/grub/script_sh.h: Likewise.
23936 * include/grub/lib/LzmaEnc.h: Likewise.
23937 * include/grub/efiemu/efiemu.h: Likewise.
23938 * include/grub/command.h: Likewise.
23939 * normal/menu.c: Likewise.
23940 * normal/main.c: Likewise.
23941 * normal/datetime.c: Likewise.
23942 * bus/usb/uhci.c: Likewise.
23943 * mmap/i386/uppermem.c: Likewise.
23944 * mmap/mmap.c: Likewise.
23945 * commands/acpi.c: Likewise.
23946 * commands/test.c: Likewise.
23947 * partmap/apple.c: Likewise.
23948 * font/font.c: Likewise.
23949 * loader/sparc64/ieee1275/linux.c: Likewise.
23950 * loader/macho.c: Likewise.
23951 * loader/i386/bsd_trampoline.S: Likewise.
23952 * loader/i386/bsd.c: Likewise.
23953 * loader/xnu.c: Likewise.
23954 * term/i386/pc/vesafb.c: Likewise.
23955 * term/usb_keyboard.c: Likewise.
23956 * util/resolve.c: Likewise.
23957 * util/getroot.c: Likewise.
23958
0cfc0083 239592009-05-04 Felix Zielcke <fzielcke@z-51.de>
23960
23961 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
23962
7c1d00cd 239632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23964
23965 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
23966 build error.
23967
b01f0548 239682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23969
23970 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
23971 parameter only available on BIOS.
23972
ecc3eb22 239732009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23974
23975 Removed wrong semicolon in declaration
23976
23977 * grub/misc.h (grub_dprintf): remove semicolon
23978
112972a9 239792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23980
23981 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
23982 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
23983 is done by grub_cmd_linux() now).
23984 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
23985 restore video to text mode.
23986 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
23987 indicates lack of "vga=" parameter. "vga=0" is mapped to
23988 `GRUB_LINUX_VID_MODE_NORMAL'.
23989
afd5c115 239902009-05-04 Felix Zielcke <fzielcke@z-51.de>
23991
23992 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
23993 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
23994 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 23995 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 23996 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
23997 `grub_script.tab.c'.
23998
23999 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24000 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24002 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24003 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24004
faa517ce 24005 * Makefile.in: Remove duplicated 2008 in Copyright line.
24006
ae0c0bdc 240072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24008
473d1e45 24009 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 24010 unconditionally.
24011 * include/grub/util/misc.h (grub_util_warn): New declaration.
24012
24013 * util/i386/pc/grub-install.in: Understand --force and pass it down
24014 to grub-setup.
24015
24016 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24017 down to setup().
24018 (setup): Improve error messages and add warnings when requested to
24019 install in odd layouts. Refuse to install using blocklists unless
24020 --force was set.
24021
18f547ad 240222009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 24023
24024 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24025
6d260daa 240262009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24027
24028 Updated copyright year
24029
24030 * fs/hfsplus.c: updated copyright year
18f547ad 24031
69f853f8 240322009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24033
24034 HFS+ UUID
24035
18f547ad 24036 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 24037 in the space previously used by unused3
24038 (grub_hfsplus_uuid): new function
24039 (grub_hfsplus_fs): added uuid field
24040
4c402e73 240412009-05-03 Pavel Roskin <proski@gnu.org>
24042
24043 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24044 suppress warnings. It's no longer needed.
24045 * disk/host.c: Likewise.
24046 * disk/ata_pthru.c: Likewise.
24047 * disk/loopback.c: Likewise.
24048 * hook/datehook.c: Likewise.
24049 * parttool/pcpart.c: Likewise.
24050 * fs/i386/pc/pxe.c: Likewise.
24051 * fs/ntfscomp.c: Likewise.
24052 * efiemu/main.c: Likewise.
24053 * mmap/mmap.c: Likewise.
24054 * commands/crc.c: Likewise.
24055 * commands/hexdump.c: Likewise.
24056 * commands/hdparm.c: Likewise.
24057 * commands/acpi.c: Likewise.
24058 * commands/echo.c: Likewise.
24059 * commands/minicmd.c: Likewise.
24060 * commands/blocklist.c: Likewise.
24061 * commands/memrw.c: Likewise.
24062 * commands/loadenv.c: Likewise.
24063 * commands/usbtest.c: Likewise.
24064 * commands/lsmmap.c: Likewise.
24065 * commands/boot.c: Likewise.
24066 * commands/parttool.c: Likewise.
24067 * commands/configfile.c: Likewise.
24068 * commands/search.c: Likewise.
24069 * commands/ieee1275/suspend.c: Likewise.
24070 * commands/cat.c: Likewise.
24071 * commands/i386/pc/pxecmd.c: Likewise.
24072 * commands/i386/pc/play.c: Likewise.
24073 * commands/i386/pc/halt.c: Likewise.
24074 * commands/i386/pc/vbeinfo.c: Likewise.
24075 * commands/i386/pc/vbetest.c: Likewise.
24076 * commands/lspci.c: Likewise.
24077 * commands/date.c: Likewise.
24078 * commands/handler.c: Likewise.
24079 * commands/ls.c: Likewise.
24080 * commands/test.c: Likewise.
24081 * commands/cmp.c: Likewise.
24082 * commands/efi/loadbios.c: Likewise.
24083 * commands/efi/fixvideo.c: Likewise.
24084 * commands/halt.c: Likewise.
24085 * commands/help.c: Likewise.
24086 * commands/reboot.c: Likewise.
24087 * hello/hello.c: Likewise.
24088 * script/sh/main.c: Likewise.
24089 * loader/xnu.c: Likewise.
24090 * term/terminfo.c: Likewise.
24091 * term/i386/pc/serial.c: Likewise.
24092 * term/usb_keyboard.c: Likewise.
24093
515b5079 240942009-05-03 David S. Miller <davem@davemloft.net>
24095
24096 * normal/menu.c: Include grub/parser.h
24097
dfc31a22 240982009-05-03 Pavel Roskin <proski@gnu.org>
24099
2fee74f1 24100 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24101 not char*.
24102 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24103 Suggested by Javier Martín <lordhabbit@gmail.com>
24104
dfc31a22 24105 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24106 efiemu??.o doesn't exist.
24107 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24108 copying.
24109
18f547ad 241102009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 24111
24112 FreeBSD 64-bit support
24113
18f547ad 24114 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 24115 and loader/i386/bsd_trampoline.S
24116 (bsd_mod_ASFLAGS): new variable
24117 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24118 (FREEBSD_MODTYPE_KERNEL64): likewise
24119 (grub_bsd64_trampoline_start): likewise
24120 (grub_bsd64_trampoline_end): likewise
24121 (grub_bsd64_trampoline_selfjump): likewise
24122 (grub_bsd64_trampoline_gdt): likewise
24123 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24124 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24125 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24126 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 24127 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 24128 of "attrib" member
24129 * loader/i386/bsd_pagetable.c: new file
24130 * loader/i386/bsd_trampoline.S: likewise
24131 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24132 (ALIGN_VAR): likewise
24133 (entry_hi): new variable
24134 (kern_end_mdofs): likewise
24135 (is_64bit): likewise
24136 (grub_freebsd_add_meta): use ALIGN_VAR
24137 (grub_e820_mmap): new declaration
24138 (grub_freebsd_add_mmap): new function
24139 (grub_freebsd_add_meta_module): support 64 bit kernels
24140 (grub_freebsd_list_modules): use ALIGN_VAR
24141 (gdt_descriptor): new declaration
24142 (grub_freebsd_boot): support 64 bit kernels
24143 (grub_bsd_elf64_hook): new function
24144 (grub_bsd_load_elf): support elf64
24145
038c5720 241462009-05-03 Bean <bean123ch@gmail.com>
24147
24148 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24149 after we get the result of if statement.
24150
fc45fb58 241512009-05-03 Bean <bean123ch@gmail.com>
24152
24153 * Makefile.in (enable_efiemu): New variable.
24154
24155 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24156 set.
24157 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24158 path.
24159 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24160 path, add -mno-red-zone option.
24161 (efiemu64_s.o): Likewise.
24162 (efiemu64.o): Use macro $^ for source file.
24163
24164 * configure.ac (--enable-efiemu): New option.
24165
bbee0f2b 241662009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24167
24168 xnu support
24169
24170 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24171 (pkglib_MODULES): add xnu.mod
24172 (xnu_mod_SOURCES): new variable
24173 (xnu_mod_CFLAGS): likewise
24174 (xnu_mod_LDFLAGS): likewise
24175 (xnu_mod_ASFLAGS): likewise
24176 * conf/i386-pc.rmk: likewise
24177 * conf/x86_64-efi.rmk: likewise
7dd4a573 24178 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 24179 new declaration
24180 * include/grub/i386/macho.h: new file
24181 * include/grub/i386/xnu.h: likewise
24182 * include/grub/macho.h: likewise
24183 * include/grub/machoload.h: likewise
24184 * include/grub/x86_64/macho.h: likewise
24185 * include/grub/x86_64/xnu.h: likewise
24186 * include/grub/xnu.h: likewise
24187 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24188 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24189 * loader/i386/efi/xnu.c: new file
24190 * loader/i386/pc/xnu.c: likewise
24191 * loader/i386/xnu.c: likewise
24192 * loader/i386/xnu_helper.S: likewise
24193 * loader/macho.c: likewise
24194 * loader/xnu.c: likewise
24195 * loader/xnu_resume.c: likewise
24196 * util/grub-dumpdevtree: likewise
24197 * include/grub/i386/pit.h: include grub/err.h
24198 (grub_pit_wait): export
24199 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 24200
5caf964d 242012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24202
24203 Efiemu
7dd4a573 24204
5caf964d 24205 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 24206 _linux_efi, linux_efi.
24207 new files in grub-emu
5caf964d 24208 new targets efiemu32.o and efiemu64.o
24209 * loader/linux_normal_efiemu.c: likewise
24210 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 24211 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 24212 files to copy
24213 * include/grub/autoefi.h: new file
7dd4a573 24214 * include/grub/i386/efiemu.h: likewise
5caf964d 24215 * include/grub/i386/pc/efiemu.h: likewise
24216 * include/grub/efi/api.h: add LL suffix when necessary
24217 new definitions relating to tables
24218 * include/grub/efiemu/efiemu.h: new file
24219 * include/grub/efiemu/runtime.h: likewise
24220 * efiemu/prepare.c: likewise
24221 * efiemu/loadcore_common.c: likewise
24222 * efiemu/loadcore64.c: likewise
24223 * efiemu/runtime/efiemu.sh: likewise
24224 * efiemu/runtime/efiemu.S: likewise
24225 * efiemu/runtime/efiemu.c: likewise
24226 * efiemu/runtime/config.h: likewise
24227 * efiemu/prepare32.c: likewise
24228 * efiemu/main.c: likewise
24229 * efiemu/modules/pnvram.c: likewise
24230 * efiemu/modules/i386: likewise
24231 * efiemu/modules/i386/pc: likewise
24232 * efiemu/modules/acpi.c: likewise
24233 * efiemu/i386/pc/cfgtables.c: likewise
24234 * efiemu/i386/loadcore64.c: likewise
24235 * efiemu/i386/loadcore32.c: likewise
24236 * efiemu/prepare64.c: likewise
24237 * efiemu/loadcore.c: likewise
24238 * efiemu/symbols.c: likewise
24239 * efiemu/mm.c: likewise
24240 * efiemu/loadcore32.c: likewise
7dd4a573 24241
242422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 24243
24244 ACPI spoofing
24245
24246 * commands/acpi.c: new file
24247 * commands/i386/pc/acpi.c: likewise
24248 * commands/efi/acpi.c: likewise
24249 * include/grub/acpi.h: likewise
24250 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24251 (acpi_mod_SOURCES): new variable
24252 (acpi_mod_CFLAGS): likewise
24253 (acpi_mod_LDFLAGS): likewise
24254 * conf/i386-efi.rmk: likewise
24255 * conf/x86_64-efi.rmk: likewise
24256
7dd4a573 242572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 24258
24259 Missing part from mmap patch
24260
24261 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24262 (grub_mmap_unregister)
24263 (grub_mmap_free_and_unregister): use grub_mmap_register
24264
7dd4a573 242652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 24266
24267 Mmap services
24268
24269 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24270 * loader/i386/linux.c (find_mmap_size): likewise
24271 (allocate_pages): likewise
24272 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24273 (grub_fill_multiboot_mmap): likewise
24274 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24275 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24276 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24277 (OPENBSD_MMAP_RESERVED): likewise
24278 * include/grub/i386/pc/memory.h: include grub/memory.h
24279 (grub_lower_mem): removed
24280 (grub_upper_mem): likewise
24281 (GRUB_MACHINE_MEMORY_ACPI): new definition
24282 (GRUB_MACHINE_MEMORY_NVS): likewise
24283 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24284 (GRUB_MACHINE_MEMORY_HOLE): likewise
24285 (grub_machine_mmap_register): likewise
24286 (grub_machine_mmap_unregister): likewise
24287 (grub_machine_get_upper): likewise
24288 (grub_machine_get_lower): likewise
24289 (grub_machine_get_post64): likewise
24290 * include/grub/i386/efi/memory.h: new file
24291 * include/grub/x86_64/efi/memory.h: likewise
24292 * include/grub/efi/memory.h: likewise
24293 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24294 (mmap_mod_SOURCES): new variable
24295 (mmap_mod_LDFLAGS): likewise
24296 (mmap_mod_ASFLAGS): likewise
24297 * conf/i386-coreboot.rmk: likewise
24298 * conf/i386-ieee1275.rmk: likewise
24299 * conf/i386-efi.rmk: likewise
24300 * conf/x86_64-efi.rmk: likewise
24301 * include/grub/types.h (UINT_TO_PTR): new macro
24302 (PTR_TO_UINT32): likewise
24303 (PTR_TO_UINT64): likewise
24304 * include/grub/memory.h: new file
24305 * mmap/i386/pc/mmap.c: likewise
24306 * mmap/i386/pc/mmap_helper.S: likewise
24307 * mmap/i386/uppermem.c: likewise
24308 * mmap/mmap.c: likewise
24309 * mmap/efi/mmap.c: likewise
7dd4a573 24310 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 24311 grub_upper_mem
24312 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24313 (grub_upper_mem): likewise
24314 (grub_machine_init): don't use grub_upper_mem,
24315 make grub_lower_mem local
24316 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24317 grub_mmap_iterate and grub_mmap_get_upper
24318 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24319
d558e6b5 243202009-05-02 Bean <bean123ch@gmail.com>
24321
24322 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24323 script/sh/parser.y.
24324 (pkglib_MODULES): Add normal.mod and sh.mod.
24325 (normal_SOURCES): New variable.
24326 (normal_mod_CFLAGS): Likewise.
24327 (normal_mod_LDFLAGS): Likewise.
24328 (sh_mod_SOURCES): Likewise.
24329 (sh_mod_CFLAGS): Likewise.
24330 (sh_mod_LDFLAGS): Likewise.
24331
24332 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24333 script/sh/lexer.c_DEPENDENCIES.
24334 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24335 kern/rescue_reader.c and kern/rescue_parser.c.
24336 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24337 (grub_emu_SOURCES): Change source files.
24338 (pkglib_MODULES): Remove normal.mod.
24339 (normal_SOURCES): Removed.
24340 (normal_mod_CFLAGS): Likewise.
24341 (normal_mod_LDFLAGS): Likewise.
24342 * conf/i386-coreboot.rmk: Likewise.
24343 * conf/i386-efi.rmk: Likewise.
24344 * conf/i386-ieee1276.rmk: Likewise.
24345 * conf/powerpc-ieee1275.rmk: Likewise.
24346 * conf/sparc64-ieee1275.rmk: Likewise.
24347 * conf/x86_64-efi.rmk: Likewise.
24348
24349 * include/grub/command.h (grub_command_execute): New inline function.
24350
24351 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24352
24353 * include/grub/normal.h: Remove <grub/setjmp.h>.
24354 (grub_fs_module_list): Moved to normal/autofs.c.
24355 (grub_exit_env): Removed.
24356 (grub_command_execute): Likewise.
24357 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24358 parameter script.
24359 (read_command_list): New function declaration.
24360 (read_fs_list): Likewise.
24361
24362 * include/parser.h: Include <grub/reader.h>.
24363 (grub_parser_split_cmdline): Change type of getline parameter.
24364 (grub_parser): New structure.
24365 (grub_parser_class): New variable.
24366 (grub_parser_execute): New function declaration.
24367 (grub_register_rescue_parser): Likewise.
24368 (grub_parser_register): New inline function.
24369 (grub_parser_unregister): Likewise.
24370 (grub_parser_get_current): Likewise.
24371 (grub_parser_set_current): Likewise.
24372
24373 * include/grub/reader.h: New file.
24374 * kern/reader.c: Likewise.
24375 * kern/rescue_parser.c: Likewise.
24376 * kern/rescue_reader.c: Likewise.
24377 * normal/autofs.c: Likewise.
24378 * normal/dyncmd.c: Likewise.
24379
24380 * include/grub/rescue.h: Removed.
24381 * normal/command.h: Likewise.
24382
24383 * include/grub/script.h: Moved to ...
24384 * include/grub/script_sh.h: ... Moved here.
24385 * normal/execute.c: Moved to ...
24386 * script/sh/execute.c: ... Moved here.
24387 * normal/function.c: Moved to ...
24388 * script/sh/function.c: ... Moved here.
24389 * normal/lexer.c: Moved to ...
24390 * script/sh/lexer.c: ... Moved here.
24391 * normal/parser.y: Moved to ...
24392 * script/sh/parser.y: ... Moved here.
24393 * normal/script.c: Moved to ...
24394 * script/sh/script.c: ... Moved here.
24395
24396 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24397 <grub/reader.h>.
24398 (grub_exit_env): Removed.
24399 (fs_module_list): Moved to normal/autofs.c.
24400 (grub_file_getline): Don't handle comment here.
24401 (free_menu): Skip removed field entry->commands.
24402 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24403 script parameter.
24404 (read_config_file): Removed nested parameter, change getline function.
24405 (grub_enter_normal_mode): Removed.
24406 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24407 (read_command_list): Likewise.
24408 (autoload_fs_module): Moved to normal/autofs.c.
24409 (read_fs_list): Likewise.
24410 (reader_nested): New variable.
24411 (grub_normal_execute): Run parser.sh to switch to sh parser.
24412 (grub_cmd_rescue): Removed.
24413 (cmd_normal): Removed.
24414 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24415 rescue command.
24416 (grub_cmdline_run): New function.
24417 (grub_normal_reader_init): Likewise.
24418 (grub_normal_read_line): Likewise.
24419 (grub_env_write_pager): Likewise.
24420 (cmdline): New variable.
24421 (grub_normal_reader): Likewise.
24422 (GRUB_MOD_INIT): Register normal reader and set as current, register
24423 pager hook, register normal command with grub_register_command_prio,
24424 so that it won't show up in command.lst.
24425 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24426 grub_fs_autoload_hook.
24427
24428 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24429 (grub_menu_execute_entry): Replace grub_script_execute with
24430 grub_parser_execute, change parameter to grub_command_execute.
24431
24432 * normal/menu_text.c: Remove <grub/script.h>.
24433
24434 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24435 and <grub/parser.h>.
24436 (run): Change editor_getline to use new parser interface. Change
24437 parameter to grub_command_execute.
24438
24439 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24440 <grub/reader.h> and <grub/parser.h>.
24441 (grub_load_normal_mode): Execute normal command.
24442 (grub_main): Call grub_register_core_commands,
24443 grub_register_rescue_parser and grub_register_rescue_reader, use
24444 grub_reader_loop to enter input loop.
24445
7dd4a573 24446 * kern/parser.c (grub_parser_split_cmdline): Change type of
24447 getline parameter.
d558e6b5 24448 (grub_parser_class): New variable.
24449 (grub_parser_execute): New function.
24450
24451 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24452 * loader/multiboot2.c: Likewise.
24453 * loader/sparc64/ieee1275/linux.c: Likewise.
24454
24455 * util/grub-emu.c (read_command_list): New dummy function.
24456
18db813d 244572009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24458
24459 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24460 count to 16 for CCISS and IDA.
24461
6c67de15 244622009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24463
24464 * normal/menu_text.c (grub_wait_after_message): Print a newline
24465 after waiting for user input.
24466
24467 * loader/i386/linux.c: Include `<grub/normal.h>'.
24468 (grub_cmd_linux): Improve the error message about `ask' mode, by
24469 waiting for user input so it's not missed (we can do this, since
24470 user requested interaction).
24471
d9dc87b0 244722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24473
24474 Added missing lst to grub-mkrescue
24475
24476 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24477 and ${input_dir}/parttool.lst
24478
ac8a2baa 244792009-04-30 David S. Miller <davem@davemloft.net>
24480
ad22a610 24481 * util/hostdisk.c (device_is_wholedisk): New function.
24482 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24483 zero only if device_is_wholedisk() returns true.
24484
6966215d 24485 * util/hostdisk.c (convert_system_partition_to_system_disk):
24486 Handle virtual disk devices named /dev/vdiskX as found on sparc
24487 and powerpc.
24488
ac8a2baa 24489 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24490 lettered partition specifier is found, convert to numbered.
24491
979b4fb4 244922009-04-29 David S. Miller <davem@davemloft.net>
24493
e2bf39b2 24494 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24495 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24496
3c64e104 24497 * normal/command.c: Add missing newline at end of file.
24498
979b4fb4 24499 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24500 warnings.
24501 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24502 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24503 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24504 ihandles have a 32-bit type but need to be stored in a "void *".
24505
136d9f82 245062009-04-28 Pavel Roskin <proski@gnu.org>
24507
9459c306 24508 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24509 not disk. Adjust all dependencies.
2e08a26a 24510 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 24511 grub_disk_close().
24512
136d9f82 24513 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24514 parent's partition, don't copy it by reference, as it gets freed
24515 on close.
24516
7dd4a573 245172009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 24518
24519 Preboot hooks support
24520
24521 * commands/boot.c (struct grub_preboot_t): new declaration
24522 (preboots_head): new variable
24523 (preboots_tail): likewise
24524 (grub_loader_register_preboot_hook): new function
24525 (grub_loader_unregister_preboot_hook): likewise
24526 (grub_loader_set): launch preboot hooks
24527 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24528 (grub_loader_register_preboot_hook): new declaration
24529 (grub_loader_unregister_preboot_hook): likewise
24530
5af922b5 245312009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24532
24533 Warning fix
24534
7dd4a573 24535 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 24536 calling grub_dprintf
24537
a5562c30 245382009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24539
24540 Bug and warning fixes
24541
7dd4a573 24542 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 24543 declaration
24544 * commands/test.c (test_parse): fixed bug with file tests and corrected
24545 declaration of find_file
24546
4006f85c 245472009-04-26 Pavel Roskin <proski@gnu.org>
24548
24549 * Makefile.in: Don't install empty manual pages if help2man is
24550 missing. Use help2man option for output, not shell redirection.
24551
5c77c3de 245522009-04-26 David S. Miller <davem@davemloft.net>
24553
24554 * util/grub-mkdevicemap.c (make_device_map): Add missing
24555 NESTED_FUNC_ATTR to process_device().
24556
033b10a8 245572009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24558
24559 Test command
24560
24561 * commands/test.c: rewritten to use bash-like test
24562
e4343593 245632009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24564
24565 Parttool autoloading and improvements
24566
7dd4a573 24567 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 24568 (parttool.lst): new target
24569 * genmk.rb: generate parttool-*
24570 (CLEANFILES): add #{parttool}
24571 (PARTTOOLFILES): new variable
24572 * genparttoollist.sh: new file
7dd4a573 24573 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 24574 (grub_pcpart_type): likewise
24575 * commands/parttool.c (helpmsg): new variable
24576 (grub_cmd_parttool): output help if not enough arguments are supplied
24577 autoload modules
24578 (GRUB_MOD_INIT(parttool)): use helpmsg
24579
0d312500 245802009-04-24 David S. Miller <davem@davemloft.net>
24581
7dd4a573 24582 Avoiding opening same device multiple times in device iterator.
0d312500 24583
24584 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 24585 and use it to build a list of partitions in iterate_disk() and
0d312500 24586 iterate_partition().
24587
ac20caff 24588 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24589 on disk->data.
24590
0dcf7495 24591 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24592 grub_devalias_iterate() result instead of unconditional 0.
24593 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24594 Also, capture hook return value, either directly or via
24595 grub_children_iterate(), and propagate to caller.
24596 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24597 grub_children_iterate): Return value is now 'int' instead of
24598 'grub_err_t'.
24599 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24600 like a proper iterator, stopping when hooks return non-zero.
24601 (grub_devalias_iterate): Likewise.
24602
c8c08833 246032009-04-23 David S. Miller <davem@davemloft.net>
24604
24605 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24606
f01005a8 246072009-04-22 David S. Miller <davem@davemloft.net>
24608
24609 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24610 is larger than address_cells, use that value for address_cells too.
24611
4e8269da 24612 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24613 IEEE1275_MAX_PATH_LEN): Define.
24614 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24615 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24616 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24617 'devtype'. Explicitly NULL terminate devalias expansion.
24618
a1447506 24619 * util/sparc64/ieee1275/misc.c: New file.
24620 * util/sparc64/ieee1275/grub-setup.c: New file.
24621 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24622 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24623 * util/sparc64/ieee1275/grub-install.in: New file.
24624 * util/ieee1275/ofpath.c: New file.
24625 * util/ieee1275/devicemap.c: New file.
24626 * util/devicemap.c: New file.
24627 * util/deviceiter.c: New file.
24628 * kern/sparc64/ieee1275/init.c: New file.
24629 * include/grub/util/ofpath.h: New file.
24630 * include/grub/util/deviceiter.h: New file.
24631 * util/grub-mkdevicemap.c: Include deviceiter.h.
24632 Implement using grub_util_emit_devicemap_entry and
24633 grub_util_iterate_devices.
24634 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24635 util/devicemap.c into grub-mkdevicemap
24636 * conf/i386-efi.rmk: Likewise.
24637 * conf/i386-ieee1275.rmk: Likewise.
24638 * conf/i386-pc.rmk: Likewise.
24639 * conf/powerpc-ieee1275.rmk: Likewise.
24640 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24641 images and installation utilities. Build kernel as image
24642 instead of as elf binary. Use common rules as much as possible.
24643
7dd4a573 246442009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 24645
24646 Correct GPT definition
24647
7dd4a573 24648 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 24649 of "attrib" member
24650
c6c5219f 246512009-04-19 Felix Zielcke <fzielcke@z-51.de>
24652
24653 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24654
0552ff9f 246552009-04-19 David S. Miller <davem@davemloft.net>
24656
24657 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24658 (grub_rescue_cmd_linux): Rename to...
24659 (grub_cmd_linux): and fix prototype.
24660 (grub_rescue_cmd_initrd): Rename to...
24661 (grub_cmd_initrd): and fix prototype.
24662 (cmd_linux, cmd_initrd): New.
24663 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24664 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24665
d1a282fc 246662009-04-17 Pavel Roskin <proski@gnu.org>
24667
07c5039f 24668 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24669 format.
24670 (grub_ohci_transfer): Likewise.
24671
b012002d 24672 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24673
1bc09c35 24674 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24675 return without a value. Fix inconsistent indentation.
24676
e0ff9126 24677 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24678 match struct grub_fs.
24679
d1a282fc 24680 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24681 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24682 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24683 * commands/lspci.c (grub_lspci_iter): Likewise.
24684
a96df3f2 246852009-04-16 Bean <bean123ch@gmail.com>
24686
24687 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24688 value.
24689
41bb0fe9 246902009-04-15 Pavel Roskin <proski@gnu.org>
24691
24692 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24693 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24694 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24695 definitions.
24696
596c6970 246972009-04-15 Felix Zielcke <fzielcke@z-51.de>
24698
24699 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 24700 that no multiple data or metadata areas are supported and `Unknown
596c6970 24701 metadata header'.
24702
7dd4a573 247032009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 24704
24705 Move loader out of the kernel
24706
24707 * kern/loader.c: moved to ...
24708 * commands/boot.c: ... moved here
24709 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24710 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24711 * include/grub/kernel.h (grub_machine_fini): export
24712 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24713 (grub_loader_set): likewise
24714 (grub_loader_unset): likewise
24715 (grub_loader_boot): likewise
24716 * conf/common.rmk: new module boot.mod
24717 (pkglib_MODULES): add boot.mod
24718 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24719 (grub_emu_SOURCES): likewise
24720 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24721 (grub_emu_SOURCES): likewise
24722 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24723 (grub_emu_SOURCES): likewise
24724 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24725 (grub_emu_SOURCES): likewise
24726 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24727 (grub_emu_SOURCES): likewise
7dd4a573 24728 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24729 (grub_emu_SOURCES): likewise
0d5d5653 24730 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 24731 (grub_emu_SOURCES): likewise
0d5d5653 24732
7dd4a573 247332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 24734
24735 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 24736
5999d619 24737 * kern/misc.c (grub_itoa): Removed function
24738 (grub_ltoa): likewise
24739 (grub_vsprintf): use grub_lltoa
24740
7dd4a573 247412009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 24742
24743 Restore grub-emu
24744
24745 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24746 * conf/i386-coreboot.rmk: likewise
24747 * conf/i386-ieee1275.rmk: likewise
24748 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24749
20318222 247502009-04-15 Felix Zielcke <fzielcke@z-51.de>
24751
24752 * INSTALL: Add that `./autogen.sh' needs to be run before
24753 `./configure.'.
24754
d05f0df3 247552009-04-14 Bean <bean123ch@gmail.com>
24756
24757 * Makefile.in (pkglib_DATA): Add handler.lst.
24758 (handler.lst): New rule.
24759
24760 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24761 * conf/i386-coreboot.rmk: Likewise.
24762 * conf/i386-ieee1275.rmk: Likewise.
24763 * conf/i386-efi.rmk: Likewise.
24764 * conf/x86_64-efi.rmk: Likewise.
24765 * conf/powerpc-ieee1275.rmk: Likewise.
24766 * conf/sparc64-ieee1275.rmk: Likewise.
24767
24768 * genhandlerlist.sh: New file.
24769
24770 * genmk.rb: Add rules to generate handler.lst.
24771
24772 * include/grub/normal.h (grub_file_getline): New function definition.
24773 (read_handler_list): Likewise.
24774 (free_handler_list): Likewise.
24775
24776 * include/grub/term.h (grub_term_register_input): Add name parameter
24777 for auto generation of handler.lst.
24778 (grub_term_register_output): Likewise.
24779
24780 * normal/handler.c: New file.
24781
24782 * normal/main.c (get_line): Renamed to grub_file_getline.
24783 (read_config_file): Use the newly renamed grub_file_getline.
24784 (read_command_list): Likewise.
24785 (read_fs_list): Likewise.
24786 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24787 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24788
24789 * term/efi/console.c (grub_console_init): Add name parameter for auto
24790 generation of handler.lst.
24791 * term/gfxterm.c: Likewise.
24792 * term/i386/pc/at_keyboard.c: Likewise.
24793 * term/i386/pc/console.c: Likewise.
24794 * term/i386/pc/serial.c: Likewise.
24795 * term/i386/pc/vesafb.c: Likewise.
24796 * term/i386/pc/vga.c: Likewise.
24797 * term/i386/pc/vga_text.c: Likewise.
24798 * term/ieee1275/ofconsole.c: Likewise.
24799 * term/usb_keyboard.c: Likewise.
24800
33c846be 248012009-04-14 Bean <bean123ch@gmail.com>
24802
24803 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24804 properly with null character.
24805
4484e01e 248062009-04-14 Felix Zielcke <fzielcke@z-51.de>
24807
24808 * configure: Remove.
24809 * config.h.in: Likewise.
f93d668e 24810 * stamp-h.in: Likewise.
4484e01e 24811 * DISTLIST: Likewise.
24812 * conf/common.mk: Likewise.
24813 * conf/i386-coreboot.mk: Likewise.
24814 * conf/i386-efi.mk: Likewise.
24815 * conf/i386-ieee1275.mk: Likewise.
24816 * conf/i386.mk: Likewise.
24817 * conf/i386-pc.mk: Likewise.
24818 * conf/powerpc-ieee1275.mk: Likewise.
24819 * conf/sparc64-ieee1275.mk: Likewise.
24820 * conf/x86_64-efi.mk: Likewise.
24821
24822 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24823 develop on GRUB.
24824
7dd4a573 248252009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 24826 David S. Miller <davem@davemloft.net>
24827
24828 * util/hostdisk.c (make_device_name): Fix buffer length
24829 calculations.
24830
e25b5a8c 248312009-04-14 Felix Zielcke <fzielcke@z-51.de>
24832
24833 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24834 <sys/param.h> and <sys/sysctl.h>.
24835 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24836 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24837 opening the device and reset them afterwards.
24838
1f1f580c 248392009-04-13 Pavel Roskin <proski@gnu.org>
24840
24841 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24842 Reported by John Stanley <jpsinthemix@verizon.net>
24843
7ebc2d6b 248442009-04-13 Robert Millan <rmh@aybabtu.com>
24845
24846 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 24847 that name for menuentries when appropriate.
7ebc2d6b 24848
d8ba3667 248492009-04-13 Felix Zielcke <fzielcke@z-51.de>
24850
24851 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24852
cba416eb 248532009-04-13 Robert Millan <rmh@aybabtu.com>
24854
24855 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24856 to Linux, simply abort telling the user it's no longer supported.
24857
a547a745 248582009-04-13 Felix Zielcke <fzielcke@z-51.de>
24859
24860 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 24861 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 24862 `freebsd_loadenv' only when devices.hints exist.
24863
232a769c 248642009-04-13 Pavel Roskin <proski@gnu.org>
24865
24866 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24867
c3012039 248682009-04-13 Felix Zielcke <fzielcke@z-51.de>
24869
24870 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24871 partition number.
24872 (grub_drive): Likewise.
24873
234022fe 248742009-04-13 David S. Miller <davem@davemloft.net>
24875
24876 * kern/sparc64/ieee1275/ieee1275.c: New file.
24877 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24878 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24879 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24880 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24881 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
24882 grub_ieee1275_alloc_physmem): Declare new exported functions.
24883
d8e1836c 24884 * include/grub/sparc64/ieee1275/loader.h: New file.
24885 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24886 * include/grub/sparc64/kernel.h: Likewise.
24887 * loader/sparc64/ieee1275/linux.c: Likewise.
24888
96bd81ec 24889 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
24890 (grub_fstest_SOURCES): Likewise.
24891
6a4737e5 24892 * util/hostdisk.c (make_device_name): Do not make any assumptions
24893 about the length of drive names.
24894
1d7a72fd 24895 * kern/dl.c (grub_dl_load_file): Close file immediately when
24896 we are done using it.
24897
56bc2471 248982009-04-12 David S. Miller <davem@davemloft.net>
24899
24900 * kern/misc.c (grub_ltoa): Fix cast when handling negative
24901 values. Noticed by Pavel Roskin.
24902
df38d0bb 24903 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
24904 target compiler.
7dd4a573 24905
e382e93a 24906 * genmk.rb: Add more flexible image type specification, also
24907 pass --strip-unneeded to objcopy.
24908 * conf/i386-pc.rmk: Use *_FORMAT.
24909 * conf/i386-pc.mk: Rebuilt.
24910
f5dbbca9 24911 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
24912 (OFDISK_HASH_SZ): Define.
24913 (ofdisk_hash): New hash table.
24914 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
24915 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
24916 instead of device phandle which is not unique.
24917
91c88b12 24918 * kern/sparc64/ieee1275/init.c: Delete, replace with...
24919 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
24920 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
24921 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
24922 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
24923 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
24924 GRUB_KERNEL_MACHINE_DATA_END): Define.
24925 (grub_kernel_image_size, grub_total_module_size): Declare.
24926
5b5d4aa5 249272009-04-12 Pavel Roskin <proski@gnu.org>
24928
7dd4a573 24929 * configure.ac: Change the logic when we check for target tools.
24930 Do it when the target is specified and it's different from the
24931 specified value of the host.
5b5d4aa5 24932
c91e1793 249332009-04-11 Felix Zielcke <fzielcke@z-51.de>
24934
24935 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
24936 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
24937 GNU/kFreeBSD. Check if a device is a character device. Use
24938 DIOCGMEDIASIZE to get the size.
24939 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
24940 support for GNU/kFreeBSD.
24941 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
24942 is a character device instead of a block device. Add support for
24943 FreeBSD device names.
24944
24945 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
24946 is a character device instead of a block device.
24947
24948 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
24949 is a character device instead of a block device.
24950
b1ac8644 249512009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
24952
24953 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
24954 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
24955 FreeBSD. Check if a device is a character device. Use
24956 DIOCGMEDIASIZE to get the size.
24957 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
24958 support for FreeBSD.
24959 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
24960 is a character device instead of a block device. Add support for
24961 FreeBSD device names.
24962
24963 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
24964 a character device instead of a block device.
24965 (grub_util_check_char_device): New function.
24966
24967 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
24968 a character device instead of a block device.
24969
24970 * include/grub/util/getroot.h (grub_util_check_char_device): New
24971 prototype.
24972
a3f7515a 249732009-04-11 David S. Miller <davem@davemloft.net>
24974
24975 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
24976 static libgcc.
24977 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
24978 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
24979 function, if present.
24980 (__bswapdi2): Likewise.
24981
0d44993d 24982 * include/grub/sparc64/ieee1275/boot.h: New file.
24983 * boot/sparc64/ieee1275/boot.S: Likewise.
24984 * boot/sparc64/ieee1275/diskboot.S: Likewise.
24985
ed3d2bc2 24986 * kern/misc.c (grub_ltoa): New function.
24987 (grub_vsprintf): Use it to format 'long' integers.
24988
d3bfb59c 249892009-04-10 David S. Miller <davem@davemloft.net>
24990
24991 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
24992 slots are of type grub_ieee1275_cell_t.
24993 (grub_nand_read): Likewise.
24994 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
24995 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
24996 macros are used to compare values in arg/ret block of the call.
24997 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24998 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
24999 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25000 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25001 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25002 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25003 grub_ieee1275_close, grub_ieee1275_set_property,
25004 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25005 grub_ieee1275_cell_t.
25006 * kern/ieee1275/openfw.c (grub_map): Likewise.
25007 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25008 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25009
450e2238 25010 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25011 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25012 (grub_devalias_iterate): Likewise.
25013
7dd4a573 250142009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 25015
25016 UFS improvements
25017
25018 * fs/ufs.c (INODE_NBLOCKS): new definition
25019 (struct grub_ufs_dirent): added fields for non-BSD dirents
25020 (grub_ufs_get_file_block): fixed double indirect handling
25021 (grub_ufs_lookup_symlink): use more robust way to determine whether
25022 symlink is inline
25023 (grub_ufs_find_file): support for non-BSD dirents
25024 (grub_ufs_dir): support for non-BSD dirents
25025
e7e6862a 250262009-04-10 Bean <bean123ch@gnail.com>
25027
25028 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25029 attribute, otherwise the size would be wrong for i386 platform.
25030
25031 * include/grub/pci.h (grub_pci_read_word): New inline function.
25032 (grub_pci_read_byte): Likewise.
25033 (grub_pci_write): Likewise.
25034 (grub_pci_write_word): Likewise.
25035 (grub_pci_write_byte): Likewise.
25036
25037 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25038
25039 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25040 (find_framebuf): Scan pci to locate the frame buffer address.
25041
25042 * commands/efi/fixvideo.c: New file.
25043
25044 * commands/efi/loadbios.c: Likewise.
25045
25046 * commands/memrw.c: Likewise.
25047
25048 * util/grub-dumpbios.in: Likewise.
25049
25050 * conf/common.rmk (grub-dumpbios): New utility.
25051 (pkglib_MODULES): New module memrw.mod.
25052 (memrw_mod_SOURCE): New macro.
25053 (memrw_mod_CFLAGS): Likewise.
25054 (memrw_mod_LDFLAGS): Likewise.
25055
7dd4a573 25056 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25057 fixvideo.mod.
25058 (loadbios_mod_SOURCE): New macro.
25059 (loadbios_mod_CFLAGS): Likewise.
25060 (loadbios_mod_LDFLAGS): Likewise.
25061 (fixvideo_mod_SOURCE): Likewise.
25062 (fixvideo_mod_CFLAGS): Likewise.
25063 (fixvideo_mod_LDFLAGS): Likewise.
25064
7dd4a573 25065 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25066 fixvideo.mod.
25067 (loadbios_mod_SOURCE): New macro.
25068 (loadbios_mod_CFLAGS): Likewise.
25069 (loadbios_mod_LDFLAGS): Likewise.
25070 (fixvideo_mod_SOURCE): Likewise.
25071 (fixvideo_mod_CFLAGS): Likewise.
25072 (fixvideo_mod_LDFLAGS): Likewise.
25073
af63ada2 250742009-04-08 Felix Zielcke <fzielcke@z-51.de>
25075
25076 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25077
c2cdde70 250782009-04-07 David S. Miller <davem@davemloft.net>
25079
25080 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25081 support for R_SPARC_OLO10 relocations. Fix compile warning for
25082 R_SPARC_WDISP30 case.
ea3f72cf 25083 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 25084
761319cf 250852009-04-06 Pavel Roskin <proski@gnu.org>
25086
1007d1f5 25087 * include/grub/misc.h (ARRAY_SIZE): New macro.
25088 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25089 New macro.
25090 * loader/i386/linux.c (allocate_pages): Use free_pages().
25091 (grub_linux_unload): Don't use free_pages().
25092 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25093 wrong index. Treat all other modes as text modes.
25094 (grub_cmd_linux): Initialize vid_mode unconditionally to
25095 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25096
761319cf 25097 * commands/help.c (print_command_help): Use cmd->prio, not
25098 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25099
ea761d40 251002009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 25101
ea761d40 25102 Parttool
25103
25104 * parttool/pcpart.c: new file
25105 * commands/parttool.c: likewise
25106 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25107 (parttool_mod_SOURCES): new variable
25108 (parttool_mod_CFLAGS): likewise
25109 (parttool_mod_LDFLAGS): likewise
25110 (pcpart_mod_SOURCES): likewise
25111 (pcpart_mod_CFLAGS): likewise
25112 (pcpart_mod_LDFLAGS): likewise
7dd4a573 25113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 25114 and parttool/pcpart.c
25115 * conf/i386-efi.rmk: likewise
25116 * conf/i386-ieee1275.rmk: likewise
25117 * conf/i386-pc.rmk: likewise
25118 * conf/powerpc-ieee1275.rmk: likewise
25119 * conf/sparc64-ieee1275.rmk: likewise
25120 * conf/x86_64-ieee1275.rmk: likewise
25121
05aaebfb 251222009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25123
25124 Support for mtime and further expandability of dir command
25125
25126 * include/grub/lib/datetime.h: moved to ...
7dd4a573 25127 * include/grub/datetime.h: ... moved here and added
05aaebfb 25128 declaration of grub_unixtime2datetime. All users updated
7dd4a573 25129 * include/grub/fs.h: new syntax for dir and mtime functions in
25130 struct grub_fs
05aaebfb 25131 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25132 and GRUB_FSHELP_FLAGS_MASK
25133 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25134 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25135 (grub_ext2_mtime): new function
25136 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25137 (grub_hfsplus_mtime): new function
25138 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25139 (GRUB_UFS_ATTR_FILE): likewise
25140 (GRUB_UFS_ATTR_LNK): likewise
25141 (struct grub_ufs_sblock): new fields mtime
25142 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25143 all users updated
25144 (grub_ufs_dir): mtime support
25145 (grub_ufs_mtime): new function
25146 * fs/affs.c (grub_affs_dir): use new dir syntax
25147 * fs/afs.c (grub_afs_dir): likewise
25148 * fs/cpio.c (grub_cpio_dir): likewise
25149 * fs/fat.c (grub_fat_find_dir): likewise
25150 * fs/hfs.c (grub_hfs_dir): likewise
25151 * fs/iso9660.c (grub_iso9660_dir): likewise
25152 * fs/jfs.c (grub_jfs_dir): likewise
25153 * fs/minix.c (grub_minix_dir): likewise
25154 * fs/ntfs.c (grub_ntfs_dir): likewise
25155 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25156 * fs/sfs.c (grub_sfs_dir): likewise
25157 * fs/xfs.c (grub_xfs_dir): likewise
25158 * util/hostfs.c (grub_hostfs_dir): likewise
25159 * lib/datetime.c: moved to ...
25160 * normal/datetime.c: ... moved here
25161 (grub_unixtime2datetime): new function
25162 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 25163 * normal/completion.c (iterate_dir): use new dir syntax
25164 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 25165 last modification time of a volume
7dd4a573 25166 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 25167 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 25168 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 25169 (normal_mod_SOURCES): likewise
25170 (datetime_mod_SOURCES): Removed lib/datetime.c
25171 * conf/i386-efi.rmk: likewise
7dd4a573 25172 * conf/i386-ieee1275.rmk: likewise
05aaebfb 25173 * conf/i386-pc.rmk: likewise
25174 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25175 * conf/sparc64-ieee1275.rmk: likewise
25176 * conf/x86_64-efi.rmk: likewise
05aaebfb 25177
8a7e1a14 251782009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25179
25180 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 25181
25182 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 25183 on grub_fat_find_dir
25184 (grub_fat_find_dir): use grub_fat_iterate_dir
25185 (grub_fat_label): likewise
25186
04186a9c 251872009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25188
7dd4a573 25189 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 25190 and command.h
25191 remove extraneous kernel_elf_HEADERS
25192
da4c0bb6 251932009-04-04 Bean <bean123ch@gnail.com>
25194
25195 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25196
25197 * util/misc.c: Likewise.
25198
54ad9555 251992009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25200
25201 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25202 instead of grub_printf.
25203
7a6bf9f2 252042009-04-03 Robert Millan <rmh@aybabtu.com>
25205
25206 * loader/i386/linux.c (grub_linux_setup_video): Fill
25207 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25208 values from `mode info' structure instead of hardcoded
25209 values.
25210
3fcc2083 252112009-04-01 Pavel Roskin <proski@gnu.org>
25212
25213 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25214 unused now.
25215 * genmk.rb: Likewise.
25216 * configure.ac: Likewise.
25217
5ec9740b 252182009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25219
25220 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25221 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25222
5270cec8 252232009-04-01 David S. Miller <davem@davemloft.net>
25224
25225 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 25226 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 25227 (grub_setjmp): Mark with 'returns_twice' attribute.
25228 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25229 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25230 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25231
9c3dd854 252322009-04-01 Robert Millan <rmh@aybabtu.com>
25233
25234 Reapply fix from 2008-07-28 which was accidentally reverted; also
25235 perform the same fix to a similar check in same function.
25236
25237 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25238 with the same number are found, just use issue a warning with
25239 grub_dprintf(), as this error has been reported to be non-fatal.
25240
0d818b7e 252412009-03-31 Pavel Roskin <proski@gnu.org>
25242
25243 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25244 for cross-compilation.
25245
95646d92 252462009-03-30 Robert Millan <rmh@aybabtu.com>
25247
25248 Fix i386-ieee1275 build.
25249
25250 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25251 Remove declaration.
25252
6a003ed1 252532009-03-30 Pavel Roskin <proski@gnu.org>
25254
25255 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25256 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25257 zero-terminated, rely only on the strlen value. Fix comparison
25258 of strings differing in length.
25259
92f33540 252602009-03-30 Robert Millan <rmh@aybabtu.com>
25261
25262 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25263 checking for abi version. Improve error messages on BIOS to notify
25264 user about `linux16' command.
25265
a8c48fd5 252662009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25267
f968172e 25268 Leak fixes
a8c48fd5 25269
f968172e 25270 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25271 in case of collision
25272 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 25273
9c323f09 252742009-03-29 Robert Millan <rmh@aybabtu.com>
25275
25276 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25277 set `vid_mode' accordingly.
25278 (grub_linux_boot): Process `vid_mode' and set video mode.
25279
ae68f423 252802009-03-29 Robert Millan <rmh@aybabtu.com>
25281
25282 * util/grub.d/10_linux.in (linux_entry): New function.
25283 Factorize generation of Linux boot entries.
25284
5709cfc4 252852009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25286
25287 Make the format of Environment Block plain text. The boot loader
25288 part is not tested well yet.
7dd4a573 25289
5709cfc4 25290 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25291 (buffer): Removed.
25292 (envblk): Likewise.
25293 (usage): Remove "info" and "clear". Add "unset". Update the
25294 description of "set", as this does not delete variables any
25295 longer.
25296 (create_envblk_file): Complete rewrite.
25297 (open_envblk_file): Likewise.
25298 (cmd_info): Removed.
25299 (cmd_list): Likewise.
25300 (cmd_set): Likewise.
25301 (cmd_clear): Likewise.
25302 (list_variables): New function.
25303 (write_envblk): Likewise.
25304 (set_variables): Likewise.
25305 (unset_variables): Likewise.
25306 (main): Complete rewrite.
25307
25308 * commands/loadenv.c (buffer): Removed.
25309 (envblk): Likewise.
25310 (open_envblk_file): New function.
25311 (read_envblk_file): Complete rewrite.
25312 (grub_cmd_load_env): Likewise.
25313 (grub_cmd_list_env): Likewise.
25314 (struct blocklist): New struct.
25315 (free_blocklists): New function.
25316 (check_blocklists): Likewise.
25317 (write_blocklists): Likewise.
25318 (grub_cmd_save_env): Complete rewrite.
25319
25320 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25321 a plain text signature.
25322 (GRUB_ENVBLK_MAXLEN): Removed.
25323 (struct grub_envblk): Complete rewrite.
25324 (grub_envblk_find): Removed.
25325 (grub_envblk_insert): Likewise.
25326 (grub_envblk_open): New prototype.
25327 (grub_envblk_set): Likewise.
25328 (grub_envblk_delete): Put const to VALUE.
25329 (grub_envblk_iterate): Put const to NAME and VALUE.
25330 (grub_envblk_close): New prototype.
25331 (grub_envblk_buffer): New inline function.
25332 (grub_envblk_size): Likewise.
25333
25334 * lib/envblk.c: Include grub/mm.h.
25335 (grub_env_find): Removed.
25336 (grub_envblk_open): New function.
25337 (grub_envblk_close): Likewise.
25338 (escaped_value_len): Likewise.
25339 (find_next_line): Likewise.
25340 (grub_envblk_insert): Removed.
25341 (grub_envblk_set): New function.
25342 (grub_envblk_delete): Complete rewrite.
25343 (grub_envblk_iterate): Likewise.
25344
a9368fd3 253452009-03-28 Robert Millan <rmh@aybabtu.com>
25346
25347 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25348 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25349 variables. Use 16-bit loader.
25350 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25351 loader.
25352 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25353 (grub_linux16_boot): ... this. Update all users.
25354 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25355 (grub_linux_boot): ... this. Update all users.
25356
25357 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25358 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25359 commands to `linux16' and `initrd16'.
25360 (GRUB_MOD_FINI(linux)): Rename to ...
25361 (GRUB_MOD_FINI(linux16)): ... this.
25362
e4dd5a7e 253632009-03-24 Pavel Roskin <proski@gnu.org>
25364
25365 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25366 not just for compilation.
25367
c04d6e05 253682009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25369
25370 Move multiboot helper out of kernel
25371
25372 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25373 `loader/i386/multiboot_helper.S'.
25374 * conf/i386-coreboot.rmk: Likewise
25375 * conf/i386-ieee1275.rmk: Likewise
25376
25377 * kern/i386/loader.S: Move multiboot helpers from here...
25378 * loader/i386/multiboot_helper.S: ...moved here
25379 * include/grub/i386/loader.h: Move declarations of multiboot
25380 helpers from here...
25381 * include/grub/i386/multiboot.h: ...moved here
25382 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25383
42a5b3fc 253842009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25385
25386 * kern/env.c (grub_env_context_open): Added an argument to specify
25387 whether a new context inherits exported variables from current
25388 one. This is useful when making a sandbox to interpret a config
25389 file.
25390 All callers updated.
25391
25392 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25393
b28bbc4e 253942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25395
25396 * kern/env.c (grub_env_context_close): Fix memory leaks.
25397
f04f02e4 253982009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25399
25400 * normal/main.c (grub_normal_execute): Added an argument
25401 BATCH to specify if an interactive interface should be provided
25402 after reading a config file.
25403 All callers updated.
25404 (read_command_list): Prevent being executed twice.
25405 (read_fs_list): Likewise.
25406
42a5b3fc 25407 * include/grub/normal.h (grub_normal_execute): Updated the
25408 prototype.
f04f02e4 25409
41473ac2 254102009-03-22 Pavel Roskin <proski@gno.org>
25411
fbc00b0c 25412 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25413 _start.
25414 * kern/i386/pc/startup.S: Likewise.
25415 * kern/i386/efi/startup.S: Likewise.
25416 * kern/i386/ieee1275/startup.S: Likewise.
25417 * kern/i386/coreboot/startup.S: Likewise.
25418 * kern/x86_64/efi/startup.S: Likewise.
25419
41473ac2 25420 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25421 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25422 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25423
2274cc8f 254242009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25425
25426 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25427
25428 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25429 limit detection.
25430 Use vaddr of correct segment for entry_point.
25431
b1b797cb 254322009-03-21 Bean <bean123ch@gmail.com>
25433
25434 * commands/blocklist.c: Add include file <grub/command.h>, remove
25435 <grub/normal.h> and <grub/arg.h>.
25436 (grub_cmd_blocklist): Use the new command interface.
25437 (GRUB_MOD_INIT): Likewise.
25438 (GRUB_MOD_FINI): Likewise.
25439 * commands/boot.c: Likewise.
25440 * commands/cat.c: Likewise.
25441 * commands/cmp.c: Likewise.
25442 * commands/configfile.c: Likewise.
25443 * commands/crc.c: Likewise.
25444 * commands/echo.c: Likewise.
25445 * commands/halt.c: Likewise.
25446 * commands/handler.c: Likewise.
25447 * commands/hdparm.c: Likewise.
25448 * commands/help.c: Likewise.
25449 * commands/hexdump.c: Likewise.
25450 * commands/loadenv.c: Likewise.
25451 * commands/ls.c: Likewise.
25452 * commands/lsmmap.c: Likewise.
25453 * commands/lspci.c: Likewise.
25454 * commands/loadenv.c: Likewise.
25455 * commands/read.c: Likewise.
25456 * commands/reboot.c: Likewise.
25457 * commands/search.c: Likewise.
25458 * commands/sleep.c: Likewise.
25459 * commands/test.c: Likewise.
25460 * commands/usbtest.c: Likewise.
25461 * commands/videotest.c: Likewise.
25462 * commands/i386/cpuid.c: Likewise.
25463 * commands/i386/pc/halt.c: Likewise.
25464 * commands/i386/pc/play.c: Likewise.
25465 * commands/i386/pc/pxecmd.c: Likewise.
25466 * commands/i386/pc/vbeinfo.c: Likewise.
25467 * commands/i386/pc/vbetest.c: Likewise.
25468 * commands/ieee1275/suspend.c: Likewise.
25469 * disk/loopback.c: Likewise.
25470 * font/font_cmd.c: Likewise.
25471 * hello/hello.c: Likewise.
25472 * loader/efi/appleloader.c: Likewise.
25473 * loader/efi/chainloader.c: Likewise.
25474 * loader/i386/bsd.c: Likewise.
25475 * loader/i386/efi/linux.c: Likewise.
25476 * loader/i386/ieee1275/linux.c: Likewise.
25477 * loader/i386/linux.c: Likewise.
25478 * loader/i386/pc/chainloader.c: Likewise.
25479 * loader/i386/pc/linux.c: Likewise.
25480 * loader/powerpc/ieee1275/linux.c: Likewise.
25481 * loader/multiboot_loader.c: Likewise.
25482 * term/gfxterm.c: Likewise.
25483 * term/i386/pc/serial.c: Likewise.
25484 * term/terminfo.c: Likewise.
25485
25486 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25487 * term/i386/pc/vga.c: Likewise.
25488 * video/readers/jpeg.c: Likewise.
25489 * video/readers/png.c: Likewise.
25490 * video/readers/tga.c: Likewise.
25491
25492 * util/grub-fstest (cmd_loopback): Removed.
25493 (cmd_blocklist): Likewise.
25494 (cmd_ls): Likewise.
25495 (grub_register_command): Likewise.
25496 (grub_unregister_command): Likewise.
25497 (execute_command): Use grub_command_find to locate command and execute
25498 it.
25499
25500 * include/grub/efi/chainloader.h: Removed.
25501 * loader/efi/chainloader_normal.c: Likewise.
25502 * loader/i386/bsd_normal.c: Likewise.
25503 * loader/i386/pc/chainloader_normal.c: Likewise.
25504 * loader/i386/pc/multiboot_normal.c: Likewise.
25505 * loader/linux_normal.c: Likewise.
25506 * loader/multiboot_loader_normal.c: Likewise.
25507 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25508
25509 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25510 and grub_register_command_p1.
25511
25512 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25513 kern/command.c, lib/arg.c and commands/extcmd.c.
25514 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25515 (minicmd_mod_SOURCES): New variable.
25516 (minicmd_mod_CFLAGS): Likewise.
25517 (minicmd_mod_LDFLAGS): Likewise.
25518 (extcmd_mod_SOURCES): Likewise.
25519 (extcmd_mod_CFLAGS): Likewise.
25520 (extcmd_mod_LDFLAGS): Likewise.
25521 (boot_mod_SOURCES): Removed.
25522 (boot_mod_CFLAGS): Likewise.
25523 (boot_mod_LDFLAGS): Likewise.
25524
25525 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25526 kern/corecmd.c.
25527 (kernel_img_HEADERS): Add command.h.
25528 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25529 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25530 and lib/arg.c.
25531 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25532 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25533 remove the corresponding normal mode command.
25534 (normal_mod_SOURCES): Remove normal/arg.c.
25535 * conf/i386-coreboot.rmk: Likewise.
25536 * conf/i386-efi.rmk: Likewise.
25537 * conf/i386-ieee1275.rmk: Likewise.
25538 * conf/powerpc-ieee1275.rmk: Likewise.
25539 * conf/x86_64-efi.rmk: Likewise.
25540
25541 * include/grub/arg.h: Move from here ...
25542 * include/grub/lib/arg.h: ... to here.
25543
25544 * normal/arg.c: Move from here ...
25545 * lib/arg.c: ... to here.
25546
25547 * commands/extcmd.c: New file.
25548 * commands/minicmd.c: Likewise.
25549 * include/grub/command.h: Likewise.
25550 * include/grub/extcmd.h: Likewise.
25551 * kern/command.c: Likewise.
25552 * kern/corecmd.c: Likewise.
25553
25554 * kern/list.c (grub_list_iterate): Return int instead of void.
25555 (grub_list_insert): New function.
25556 (grub_prio_list_insert): Likewise.
25557
25558 * kern/rescue.c (grub_rescue_command): Removed.
25559 (grub_rescue_command_list): Likewise.
25560 (grub_rescue_register_command): Likewise.
25561 (grub_rescue_unregister_command): Likewise.
25562 (grub_rescue_cmd_boot): Move to minicmd.c
25563 (grub_rescue_cmd_help): Likewise.
25564 (grub_rescue_cmd_info): Likewise.
25565 (grub_rescue_cmd_boot): Likewise.
25566 (grub_rescue_cmd_testload): Likewise.
25567 (grub_rescue_cmd_dump): Likewise.
25568 (grub_rescue_cmd_rmmod): Likewise.
25569 (grub_rescue_cmd_lsmod): Likewise.
25570 (grub_rescue_cmd_exit): Likewise.
25571 (grub_rescue_print_devices): Moved to corecmd.c.
25572 (grub_rescue_print_files): Likewise.
25573 (grub_rescue_cmd_ls): Likewise.
25574 (grub_rescue_cmd_insmod): Likewise.
25575 (grub_rescue_cmd_set): Likewise.
25576 (grub_rescue_cmd_unset): Likewise.
7d074e3c 25577 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 25578 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 25579 commands, remove grub_rescue_register_command calls.
b1b797cb 25580
7d074e3c 25581 * normal/command.c (grub_register_command): Removed.
b1b797cb 25582 (grub_unregister_command): Likewise.
25583 (grub_command_find): Likewise.
25584 (grub_iterate_commands): Likewise.
25585 (rescue_command): Likewise.
25586 (export_command): Moved to corecmd.c.
25587 (set_command): Removed.
25588 (unset_command): Likewise.
25589 (insmod_command): Likewise.
25590 (rmmod_command): Likewise.
25591 (lsmod_command): Likewise.
25592 (grub_command_init): Likewise.
25593
25594 * normal/completion.c (iterate_command): Use cmd->prio to check for
25595 active command.
25596 (complete_arguments): Use grub_extcmd_t structure to find options.
25597 (grub_normal_do_completion): Change function grub_iterate_commands to
25598 grub_command_iterate.
25599
25600 * normal/execute.c (grub_script_execute_cmd): No need to parse
25601 argument here.
25602
25603 * normal/main.c (grub_dyncmd_dispatcher): New function.
25604 (read_command_list): Register unload commands as dyncmd.
25605 (grub_cmd_normal): Use new command interface, register rescue,
25606 unregister normal at entry, register normal, unregister rescue at exit.
25607
25608 * include/grub/list.h (grub_list_test_t): New type.
25609 (grub_list_iterate): Return int instead of void.
25610 (grub_list_insert): New function.
25611 (GRUB_AS_NAMED_LIST_P): New macro.
25612 (GRUB_AS_PRIO_LIST): Likewise.
25613 (GRUB_AS_PRIO_LIST_P): Likewise.
25614 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25615 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25616 (grub_prio_list): New structure.
25617 (grub_prio_list_insert): New function.
25618 (grub_prio_list_remove): New inline function.
25619
25620 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25621 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25622 (GRUB_COMMAND_FLAG_MENU): Likewise.
25623 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25624 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25625 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25626 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25627 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25628 (grub_command): Likewise.
25629 (grub_register_command): Likewise.
25630 (grub_command_find): Likewise.
25631 (grub_iterate_commands): Likewise.
25632 (grub_command_init): Likewise.
25633 (grub_arg_parse): Likewise.
25634 (grub_arg_show_help): Likewise.
25635
25636 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25637 (grub_rescue_unregister_command): Likewise.
25638
25639 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25640 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25641 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25642
25643 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25644 grub_rescue_cmd_initrd.
25645 * include/grub/i386/loader.h: Likewise.
25646 * include/grub/x86_64/loader.h: Likewise.
25647
25648 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25649
1f4147aa 256502009-03-21 Bean <bean123ch@gmail.com>
25651
25652 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25653 instead of stat in mingw environment.
25654
25655 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25656
25657 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25658
25659 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25660 AC_CONFIG_LINKS.
25661
2156d5ba 256622009-03-21 Bean <bean123ch@gmail.com>
25663
25664 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25665 out of range error.
25666
177b82ca 256672009-03-18 Michel Dänzer <michel@daenzer.net>
25668
25669 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25670 checking inode flags for EXT4_EXTENTS_FLAG.
25671
14aad807 256722009-03-18 Robert Millan <rmh@aybabtu.com>
25673
25674 * loader/i386/linux.c: Include `<grub/video.h>' and
25675 `<grub/i386/pc/vbe.h>'..
25676 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25677 (grub_linux32_boot): Attempt to configure video settings with
25678 grub_linux_setup_video().
25679 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25680 to avoid grub_console_fini() which would step out of graphical mode
25681 unconditionally.
25682
8cf83a27 256832009-03-14 Robert Millan <rmh@aybabtu.com>
25684
25685 Fix build on powerpc.
25686 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25687
40164e75 256882009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25689
25690 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25691 background image command.
25692
c58bc32a 256932009-03-12 Colin D Bennett <colin@gibibit.com>
25694
25695 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25696 (grub_gfxterm_putchar): Extract pairs of identical calls to
25697 draw_cursor out of conditional blocks.
25698
5415144a 256992009-03-11 Pavel Roskin <proski@gnu.org>
25700
25701 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25702 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25703
6394042e 257042009-03-11 Robert Millan <rmh@aybabtu.com>
25705
25706 * loader/i386/multiboot_elfxx.c
25707 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25708
b7b50e5f 257092009-03-11 Felix Zielcke <fzielcke@z-51.de>
25710
25711 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25712 `kern/handler.c'.
25713
1ca7fc96 257142009-03-11 Robert Millan <rmh@aybabtu.com>
25715
25716 * loader/i386/multiboot.c (code_size): New variable.
25717 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 25718 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 25719 4-byte alignment to MBI and others by increasing
7d074e3c 25720 `boot_loader_name_length' appropriately.
1ca7fc96 25721
25722 * loader/i386/multiboot_elfxx.c
25723 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25724
a83ea1d2 257252009-03-09 Felix Zielcke <fzielcke@z-51.de>
25726
25727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25728 `fs/ext2.c'.
25729
aa9f3bff 257302009-03-08 Robert Millan <rmh@aybabtu.com>
25731
25732 Make loader/i386/linux.c usable on i386-pc again.
25733
25734 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25735 memory to heap.
25736 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25737 `#error' stanza.
25738
d8b3b60e 257392009-03-07 Bean <bean123ch@gmail.com>
25740
25741 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25742 allocation.
25743
b362c9e9 257442009-03-06 Robert Millan <rmh@aybabtu.com>
25745
25746 Fix display issue on terminals with screen size other than 80x25
25747 (e.g. gfxterm with resolution higher than 640x480).
25748
25749 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 25750 position relative to the center of the terminal instead of relying
b362c9e9 25751 on a hardcoded offset.
25752
9304eef1 257532009-03-04 Robert Millan <rmh@aybabtu.com>
25754
25755 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25756 installed.
25757
25758 * Makefile.in (host_kernel): New variable.
25759 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25760 scripts instead of just the windows one.
25761 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25762
eabc95fb 257632009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 25764
25765 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25766 `kern/handler.c'.
25767 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25768 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25771 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25772 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25773
ceb1223c 257742009-03-04 Felix Zielcke <fzielcke@z-51.de>
25775
25776 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25777 or if there's no space for the disk label and print the partition number on a
25778 invalid magic.
25779
4910684a 257802009-03-04 Felix Zielcke <fzielcke@z-51.de>
25781
25782 * util/misc.c: Include <time.h>.
25783 (grub_millisleep): New function.
25784
7e9ca17a 257852009-03-04 Bean <bean123ch@gmail.com>
25786
25787 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25788 another option -mno-red-zone.
25789
25790 * commands/handler.c: Change module description.
25791
25792 * kern/handler.c: Add missing space at the end of description line.
25793
25794 * kern/list.c: Likewise.
25795
f501677c 257962009-03-03 Robert Millan <rmh@aybabtu.com>
25797
25798 Move more components to the relocation area, and fix mbi pointer
25799 handling to use the destination rather than the origin (thanks to
25800 Vladimir Serbinenko for spotting).
25801
25802 * loader/i386/multiboot.c (mbi_dest): New variable.
25803 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25804 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25805 relocation area.
25806
9902d047 258072009-03-01 Bean <bean123ch@gmail.com>
25808
50fb7002 25809 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 25810 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25811 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25812 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25813
25814 * loader/i386/efi/linux.c (acpi_guid): New variable.
25815 (acpi_guid): Likewise.
25816 (EBDA_SEG_ADDR): New constant.
25817 (LOW_MEM_ADDR): Likewise.
25818 (FAKE_EBDA_SEG): Likewise.
25819 (fake_bios_data): New function.
25820 (grub_linux_boot): Call fake_bios_data.
25821
71b9f361 258222009-03-01 Bean <bean123ch@gmail.com>
25823
25824 * commands/terminal.c: Removed.
25825
25826 * commands/handler.c: New file.
25827
25828 * include/grub/list.h: Likewise.
25829
25830 * include/grub/handler.h: Likewise.
25831
25832 * kern/list.c: Likewise.
25833
25834 * kern/handler.c: Likewise.
25835
25836 * kern/term.h: Include header file <grub/handler.h>.
25837 (grub_term_input): Move next field to the beginning.
25838 (grub_term_output): Likewise.
25839 (grub_term_input_class): New variable.
25840 (grub_term_output_class): Likewise.
25841 (grub_term_register_input): Changed to inline function.
25842 (grub_term_register_output): Likewise.
25843 (grub_term_unregister_input): Likewise.
25844 (grub_term_unregister_output): Likewise.
25845 (grub_term_set_current_input): Likewise.
25846 (grub_term_set_current_output): Likewise.
25847 (grub_term_get_current_input): Likewise.
25848 (grub_term_get_current_output): Likewise.
25849 (grub_term_iterate_input): Removed.
25850 (grub_term_iterate_output): Likewise.
25851
25852 * kern/term.c (grub_term_list_input): Removed.
25853 (grub_term_list_output): Likewise.
25854 (grub_term_input_class): New variable.
25855 (grub_term_output_class): Likewise.
50fb7002 25856 (grub_cur_term_input): Change variable as macro.
71b9f361 25857 (grub_cur_term_output): Likewise.
25858 (grub_term_register_input): Removed.
25859 (grub_term_register_output): Likewise.
25860 (grub_term_unregister_input): Likewise.
25861 (grub_term_unregister_output): Likewise.
25862 (grub_term_set_current_input): Likewise.
25863 (grub_term_set_current_output): Likewise.
25864 (grub_term_iterate_input): Likewise.
25865 (grub_term_iterate_output): Likewise.
25866 (grub_term_get_current_input): Likewise.
25867 (grub_term_get_current_output): Likewise.
25868
25869 * util/grub-editenv.c: Include header file <grub/handler.h>.
25870 (grub_term_get_current_input): Removed.
25871 (grub_term_get_current_output): Likewise.
25872 (grub_term_input_class): New variable.
50fb7002 25873 (grub_term_output_class): Likewise.
71b9f361 25874
25875 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25876 (grub_term_get_current_output): Likewise.
25877 (grub_term_input_class): New variable.
50fb7002 25878 (grub_term_output_class): Likewise.
71b9f361 25879
25880 * util/grub-probe.c (grub_term_get_current_input): Removed.
25881 (grub_term_get_current_output): Likewise.
25882 (grub_term_input_class): New variable.
50fb7002 25883 (grub_term_output_class): Likewise.
71b9f361 25884
25885 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
25886 (grub_term_get_current_output): Likewise.
25887 (grub_term_input_class): New variable.
50fb7002 25888 (grub_term_output_class): Likewise.
71b9f361 25889
25890 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
25891 (terminal_mod_SOURCES): Likewise.
25892 (terminal_mod_CFLAGS): Likewise.
25893 (terminal_mod_LDFLAGS): Likewise.
25894
25895 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
25896 handler.c.
25897 (kernel_img_SOURCES): Add list.c and handler.c.
25898 (kernel_img_HEADERS): Add list.h and handler.h.
25899
25900 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25901 handler.c.
25902 (kernel_mod_SOURCES): Add list.c and handler.c.
25903 (kernel_mod_HEADERS): Add list.h and handler.h.
25904
25905 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
25906 handler.c.
25907 (kernel_elf_SOURCES): Add list.c and handler.c.
25908 (kernel_elf_HEADERS): Add list.h and handler.h.
25909
25910 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25911 handler.c.
25912 (kernel_elf_SOURCES): Add list.c and handler.c.
25913 (kernel_elf_HEADERS): Add list.h and handler.h.
25914
25915 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25916 handler.c.
25917 (kernel_mod_SOURCES): Add list.c and handler.c.
25918 (kernel_mod_HEADERS): Add list.h and handler.h.
25919
25920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25921 handler.c.
25922 (kernel_elf_SOURCES): Add list.c and handler.c.
25923 (kernel_elf_HEADERS): Add list.h and handler.h.
25924
8a31787f 259252009-02-27 Robert Millan <rmh@aybabtu.com>
25926
25927 Factorize elf32 / elf64 code in Multiboot loader. This will
25928 prevent it from getting out of sync again.
25929
25930 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
25931 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
25932 grub_multiboot_load_elf64): Move from here ...
25933 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
25934 grub_multiboot_load_elf): ... to here (new file).
25935
51cd3dfc 259362009-02-27 Robert Millan <rmh@aybabtu.com>
25937
25938 * util/grub.d/10_linux.in: Rename "single-user mode" to
25939 "recovery mode".
25940
6e8c9c3a 259412009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
25942
25943 Don't leak in SCSI code.
25944 * disk/scsi.c (grub_scsi_close): free `scsi'.
25945
4b6bf4f9 259462009-02-27 Robert Millan <rmh@aybabtu.com>
25947
25948 * loader/i386/pc/multiboot.c: Move from here ...
25949 * loader/i386/multiboot.c: ... to here. Update all users.
25950
b9413424 259512009-02-27 Robert Millan <rmh@aybabtu.com>
25952
25953 Patch from Alexandre Bique <bique.alexandre@gmail.com>
25954 * util/i386/pc/grub-setup.c (setup): Fix directory path.
25955
50fb7002 259562009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 25957
25958 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
25959 b-tree.
25960
8cc50345 259612009-02-27 Robert Millan <rmh@aybabtu.com>
25962
25963 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
25964 `0x' qualifier as 0 when base is specified as parameter).
25965
6e09b8b7 259662009-02-24 Bean <bean123ch@gmail.com>
25967
25968 * configure.ac: Check for -mcmodel=large in x86_64 target.
25969
25970 * include/grub/efi/api.h (efi_call_10): New macro.
25971 (efi_wrap_10): New function.
25972
25973 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
25974 (GRUB_PE32_REL_BASED_HIGH): Likewise.
25975 (GRUB_PE32_REL_BASED_LOW): Likewise.
25976 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
25977 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
25978 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
25979 (GRUB_PE32_REL_BASED_SECTION): Likewise.
25980 (GRUB_PE32_REL_BASED_REL): Likewise.
25981 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
25982 (GRUB_PE32_REL_BASED_DIR64): Likewise.
25983 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
25984
25985 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
25986 issue.
25987
25988 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
25989 (efi_wrap_10): New function.
25990
25991 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
25992
25993 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
25994 MB/MBP model (NV chipset).
25995 (devdata_devs): Add devpath_5 to the list.
25996
25997 * load/i386/efi/linux.c (video_base): Remove variable.
25998 (RGB_MASK): New macro.
25999 (RGB_MAGIC): Likewise.
26000 (LINE_MIN): Likewise.
26001 (LINE_MAX): Likewise.
26002 (FBTEST_STEP): Likewise.
26003 (FBTEST_COUNT): Likewise.
26004 (fb_list): New variable.
26005 (grub_find_video_card): Remove function.
26006 (find_framebuf): New function.
26007 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26008 line length.
26009
26010 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26011 problem for x86_64.
26012
74b21bee 260132009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26014
26015 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26016
26017 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26018 coding tool name.
26019
a455f472 260202009-02-22 Robert Millan <rmh@aybabtu.com>
26021
26022 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26023 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26024 in our relocation, instead of using it directly from heap. Also
26025 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26026
6374daf3 260272009-02-21 Robert Millan <rmh@aybabtu.com>
26028
26029 Implement USB keyboard support (based on patch by Marco Gerards)
26030
26031 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26032 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26033 (usb_keyboard_mod_LDFLAGS): New variables.
26034
26035 * term/usb_keyboard.c: New file.
26036
8fa4ea70 260372009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26038
26039 Corrected wrong declaration
26040
26041 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26042
353976ac 260432009-02-14 Christian Franke <franke@computer.org>
26044
26045 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26046 (grub_lspci_iter): Print class code and programming interface byte.
26047
6aa1169b 260482009-02-14 Christian Franke <franke@computer.org>
26049
26050 * gendistlist.sh: Ignore `.svn' directories.
26051
265372ca 260522009-02-14 Felix Zielcke <fzielcke@z-51.de>
26053
26054 * fs/fat.c: Add 2009 to Copyright line.
26055
9ff516f3 260562009-02-14 Christian Franke <franke@computer.org>
26057
26058 * commands/hdparm.c: New file. Provides `hdparm' command
26059 which sends ATA commands via grub_disk_ata_pass_through ().
26060
26061 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26062
26063 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26064 and <grub/cpu/io.h> to include/grub/ata.h.
26065 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26066 (GRUB_CDROM_SECTOR_SIZE): Remove.
26067 (GRUB_ATA_*): Move to include/grub/ata.h.
26068 (GRUB_ATAPI_*): Likewise.
26069 (enum grub_ata_commands): Likewise.
26070 (enum grub_ata_timeout_milliseconds): Likewise.
26071 (struct grub_ata_device): Likewise.
26072 (grub_ata_regset): Likewise.
26073 (grub_ata_regget): Likewise.
26074 (grub_ata_regset2): Likewise.
26075 (grub_ata_regget2): Likewise.
26076 (grub_ata_check_ready): Likewise.
26077 (grub_ata_wait_not_busy): Remove static, exported in
26078 include/grub/ata.h.
26079 (grub_ata_wait_drq): Likewise.
26080 (grub_ata_pio_read): Likewise.
26081
26082 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26083 function for hdparm.mod.
26084
26085 * include/grub/ata.h: New file, contains declarations from
26086 disk/ata.c.
26087 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26088
26089 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26090 (grub_disk_ata_pass_through): New exported variable.
26091
26092 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26093
772e23da 260942009-02-13 Colin D Bennett <colin@gibibit.com>
26095
26096 Support multiple fallback entries, and provide an API to support
26097 executing default+fallback menu entries. Renamed the `terminal' menu
26098 viewer to `text'.
26099
26100 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26101 variable declaration.
26102 (grub_menu_execute_callback): New structure declaration.
26103 (grub_menu_execute_callback_t): New typedef.
26104 (grub_menu_execute_with_fallback): New function declaration.
26105 (grub_menu_get_entry): Likewise.
26106 (grub_menu_get_timeout): Likewise.
26107 (grub_menu_set_timeout): Likewise.
26108
26109 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26110
26111 * normal/menu.c (grub_wait_after_message): Moved to
26112 `normal/menu_text.c'.
26113 (draw_border): Likewise.
26114 (print_message): Likewise.
26115 (print_entry): Likewise.
26116 (print_entries): Likewise.
26117 (grub_menu_init_page): Likewise.
26118 (get_entry_number): Likewise.
26119 (print_timeout): Likewise.
26120 (run_menu): Likewise.
26121 (grub_menu_execute_entry): Likewise.
26122 (show_text_menu): Likewise.
26123 (get_and_remove_first_entry_number): New function.
26124 (grub_menu_execute_with_fallback): Likewise.
26125 (get_entry): Renamed to ...
26126 (grub_menu_get_entry): .. this and made it global.
26127 (get_timeout): Renamed to ...
26128 (grub_menu_get_timeout): ... this and made it global.
26129 (set_timeout): Renamed to ...
26130 (grub_menu_set_timeout): ... this and made it global.
26131 (grub_normal_terminal_menu_viewer): Renamed to ...
26132 (grub_normal_text_menu_viewer): ... this.
26133
26134 * normal/menu_text.c: New file. Extracted text-menu-specific code
26135 from normal/menu.c.
26136
26137 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26138 (normal_mod_SOURCES): Likewise.
26139
26140 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26141 (normal_mod_SOURCES): Likewise.
26142
26143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26144 (normal_mod_SOURCES): Likewise.
26145
26146 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26147 (normal_mod_SOURCES): Likewise.
26148
26149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26150 (normal_mod_SOURCES): Likewise.
26151
26152 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26153 (normal_mod_SOURCES): Likewise.
26154
26155 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26156 (normal_mod_SOURCES): Likewise.
26157
16ac430e 261582009-02-11 Robert Millan <rmh@aybabtu.com>
26159
26160 * util/grub.d/00_header.in: Update old reference to `font' command.
26161
06ff20fc 261622009-02-10 Felix Zielcke <fzielcke@z-51.de>
26163
26164 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26165
26166 Based on patch from Javier Martín.
26167
96da9407 261682009-02-09 Felix Zielcke <fzielcke@z-51.de>
26169
26170 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 26171 to avoid false positives with FAT.
96da9407 26172 (grub_fstest_SOURCES): Likewise.
26173 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26174 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26176 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26177 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26178 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26179
6dca6fe4 261802009-02-09 Felix Zielcke <fzielcke@z-51.de>
26181
06ff20fc 26182 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 26183 bpb.version_specific.fat12_or_fat16.fstype and
26184 bpb.version_specific.fat32.fstype.
26185
2550c62f 261862009-02-08 Robert Millan <rmh@aybabtu.com>
26187
be110b30 26188 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 26189
56978920 261902009-02-08 Robert Millan <rmh@aybabtu.com>
26191
26192 * Makefile.in (host_os, host_cpu): New variables.
26193 (target_os): Remove. Update all users.
26194
d64399b5 261952009-02-08 Marco Gerards <marco@gnu.org>
26196
26197 * Makefile.in (enable_grub_emu_usb): New variable.
26198 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26199 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26200 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26201 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26202 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26203 `usbtest.mod' and `usbms.mod'.
26204 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26205 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26206 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26207 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26208 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26209 variables.
26210
26211 * disk/usbms.c: New file.
26212
26213 * include/grub/usb.h: Likewise.
26214
26215 * include/grub/usbtrans.h: Likewise.
26216
26217 * include/grub/usbdesc.h: Likewise.
26218
26219 * bus/usb/usbtrans.c: Likewise.
26220
26221 * bus/usb/ohci.c: Likewise.
26222
26223 * bus/usb/uhci.c: Likewise.
26224
26225 * bus/usb/usbhub.c: Likewise.
26226
26227 * bus/usb/usb.c: Likewise.
26228
26229 * commands/usbtest.c: Likewise.
26230
26231 * util/usb.c: Likewise.
50fb7002 26232
d64399b5 26233 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26234
26235 * configure.ac: Test for libusb presence.
50fb7002 26236
d64399b5 26237 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26238
2b40d6bb 262392009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26240
26241 * kern/mm.c: Add more comments.
26242
73a4ce81 262432009-02-08 Robert Millan <rmh@aybabtu.com>
26244
26245 Patch from Javier Martín.
26246 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26247 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26248
f821ce59 262492009-02-08 Robert Millan <rmh@aybabtu.com>
26250
26251 * fs/cpio.c: Split tar functionality to ...
26252 * fs/tar.c: ... here (new file). Update all users.
26253
aebfc4b0 262542009-02-07 Robert Millan <rmh@aybabtu.com>
26255
26256 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26257 backward-incompatible features.
26258
26259 Based on patch from Javier Martín, with some adjustments.
26260
50fb7002 262612009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 26262
26263 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26264
0bb5115e 262652009-02-07 Robert Millan <rmh@aybabtu.com>
26266
26267 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26268 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26269 after the RAID stuff.
26270
38a0f8e7 262712009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26272
50fb7002 26273 Fixes problem when running vbetest command as reported by
38a0f8e7 26274 Vladimir Serbinenko <phcoder@gmail.com>.
26275
26276 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26277
3143cc1c 262782009-02-04 Felix Zielcke <fzielcke@z-51.de>
26279
26280 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26281 /dev/md/NpN style mdraid devices.
26282
9cba6fce 262832009-02-03 Felix Zielcke <fzielcke@z-51.de>
26284
26285 * util/unifont2pff.rb: Remove.
26286
e507a2c1 262872009-02-03 Felix Zielcke <fzielcke@z-51.de>
26288
26289 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26290 `#'.
26291
d2c2b4cd 262922009-02-03 Felix Zielcke <fzielcke@z-51.de>
26293
26294 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26295 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26296 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26297 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26299 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26300 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26301
b4315fb0 263022009-02-02 Christian Franke <franke@computer.org>
26303
26304 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26305
de3aa260 263062009-02-01 Felix Zielcke <fzielcke@z-51.de>
26307
7c3ff286 26308 * INSTALL: Note that we now require at least autoconf 2.59 and
26309 that LZO is optional.
de3aa260 26310
825a182b 263112009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26312
26313 Base on patch on bug #24154 created by Tomas Tintera
26314 <trosos@seznam.cz>.
26315
26316 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26317
a69ef770 263182009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26319
7c3ff286 26320 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 26321 <bero@arklinux.org>.
26322
26323 * normal/parser.y (script_init): Add missing semicolon.
26324
6fa42fa6 263252009-01-31 Colin D Bennett <colin@gibibit.com>
26326
7c3ff286 26327 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 26328 (free_menu_entry_classes): Added.
26329 (grub_normal_menu_addentry): Added class property handling.
26330 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26331 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26332
26333 * normal/menu_viewer.c: New file.
26334
26335 * normal/menu.c (run_menu_entry): Renamed to ...
26336 (grub_menu_execute_entry): ... this and made it as global.
26337 (grub_menu_run): Renamed to ...
26338 (show_text_menu): ... this and made it local.
26339 (show_text_menu): Adapt to new function names.
26340 (grub_normal_terminal_menu_viewer): New global variable.
26341
26342 * include/grub/menu.h: New file.
26343
26344 * include/grub/menu_viewer.h: New file.
26345
26346 * include/grub/normal.h: Added include to grub/menu.h.
26347 (grub_menu_entry): Moved to include/grub/menu.h.
26348 (grub_menu_entry_t): Likewise.
26349 (grub_menu): Likewise.
26350 (grub_menu_t): Likewise.
26351 (grub_normal_terminal_menu_viewer): Added.
26352 (grub_menu_execute_entry): Likewise.
26353 (grub_menu_run): Removed.
26354
26355 * DISTLIST: Added include/grub/menu.h.
26356 Added include/grub/menu_viewer.h.
26357 Added normal/menu_viewer.c.
26358
263592009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26360
26361 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26362 arglist for menutitle arguments.
26363
26364 * normal/main.c (grub_normal_menu_addentry): Likewise.
26365
26366 * normal/parser.y (menuentry): Likewise.
26367
26368 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26369
26370 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26371 (grub_script_create_cmdmenu): Likewise.
26372
26373 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26374
26375 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26376 changes.
26377
26378 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26379
26380 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26381
26382 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26383
26384 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26385
26386 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26387
26388 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26389
56192c23 263902009-01-30 Christian Franke <franke@computer.org>
26391
26392 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26393 in option help text.
26394
d72521b3 263952009-01-27 Pavel Roskin <proski@gnu.org>
26396
26397 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26398
994b5e84 263992009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26400
26401 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26402
26403 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26404
26405 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26406 unregister function.
26407
6a7eab2c 264082009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26409
26410 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26411
26412 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26413
26414 * util/grub-mkfont.c (usage): Fix typo.
26415
26416 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26417
1806b56e 264182009-01-26 Daniel Mierswa <impulze@impulze.org>
26419
3fb18f09 26420 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26421
336e1fb9 26422 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26423
1806b56e 26424 * kern/misc.c (grub_strcasecmp): New function.
26425 (grub_strcasecmp): Use grub_size_t instead of int for length.
26426 Fix return value.
26427 * include/grub/misc.h: Update function prototypes.
26428
580b2a0f 264292009-01-26 Robert Millan <rmh@aybabtu.com>
26430
26431 * configure.ac: Fix cross-compilation check.
ef257b36 26432
d31c24f1 264332009-01-22 Christian Franke <franke@computer.org>
26434
26435 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26436 (precision) digit string. Allow `.format2' without `format1' (width).
26437 Limit input chars for `%s' output to `format2' if specified. This is
26438 compatible with standard printf ().
26439
3138b44c 264402009-01-22 Christian Franke <franke@computer.org>
26441
26442 * disk/ata.c (grub_ata_wait_status): Replace by ...
26443 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26444 other status bits may be invalid while BSY is asserted.
26445 (grub_ata_check_ready): New function.
26446 (grub_ata_cmd): Removed.
26447 (grub_ata_wait_drq): New function.
26448 (grub_ata_strncpy): Remove inline.
26449 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26450 and error check now done by grub_ata_wait_drq ().
26451 (grub_ata_pio_write): Likewise.
26452 (grub_atapi_identify): Set DEV before check for !BSY. Use
26453 grub_ata_wait_drq () to wait for data.
26454 (grub_ata_device_initialize): Add status register check to
26455 detect missing SATA slave devices. Add debug messages.
26456 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26457 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26458 transfer loop by grub_ata_pio_write ().
26459 (grub_ata_identify): Set DEV before check for !BSY. Use
26460 grub_ata_wait_drq () to wait for data.
ef257b36 26461 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 26462 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26463 read/write in one loop. Fix invalid command on write. Fix incomplete
26464 command on (size % batch) == 0. Add missing error check after write of
26465 last block. Add debug messages.
26466 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26467
59a64ef6 264682009-01-19 Christian Franke <franke@computer.org>
26469
26470 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26471 (GRUB_ATAPI_IREASON_*): Likewise.
26472 (grub_ata_pio_write): Fix timeout error return.
26473 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26474 (grub_atapi_wait_drq): New function.
26475 (grub_atapi_packet): New parameter `size'.
26476 Use grub_atapi_wait_drq () and direct write instead of
26477 grub_ata_pio_write ().
26478 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26479 reads the number of bytes requested by the device for each DRQ
26480 assertion.
26481 (grub_atapi_write): Remove old implementation, return not
26482 implemented instead.
26483
1cfe20b3 264842009-01-19 Christian Franke <franke@computer.org>
26485
26486 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26487 of 512 to calculate data size.
26488 (grub_scsi_read12): Likewise.
26489 (grub_scsi_write10): Likewise.
26490 (grub_scsi_write12): Likewise.
26491 (grub_scsi_read): Adjust size according to blocksize.
26492 Add checks for invalid blocksize and unaligned transfer.
26493
bee5fe5d 264942009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26495
26496 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26497
ef257b36 26498 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 26499 width glyphs.
26500
3e643f8c 265012009-01-19 Robert Millan <rmh@aybabtu.com>
26502
26503 * config.guess: Update to latest version from config git.
26504 * config.sub: Likewise.
26505
4fa80998 265062009-01-17 Felix Zielcke <fzielcke@z-51.de>
26507
26508 * Makefile.in: Change font compilation to use new grub-mkfont instead
26509 of java version.
26510
26511 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26512 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26513 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26514 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26515 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26516 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26517 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26518 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26519 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26520
7086085b 265212009-01-16 Christian Franke <franke@computer.org>
26522
26523 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26524 (enum grub_ata_timeout_milliseconds): New enum.
26525 (grub_ata_wait_status): Add parameter milliseconds.
26526 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26527 recovery from timed-out commands.
26528 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26529 return grub_errno instead of REG_ERROR.
26530 (grub_ata_pio_write): Add parameter milliseconds.
26531 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26532 Pass milliseconds to grub_ata_wait_status () and
26533 grub_ata_pio_read ().
26534 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26535 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26536 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26537 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26538 It is not suitable for device detection, because DEV bit is ignored,
26539 the command may run too long, and not all devices set the signature
26540 properly.
26541 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26542 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26543 Fix device selection, DEV bit must be set first to address the registers
26544 of the correct device.
26545 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26546 grub_ata_pio_read/write ().
26547 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26548 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26549
4a412913 265502009-01-13 Carles Pina i Estany <carles@pina.cat>
26551
26552 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26553
7795c55e 265542009-01-13 Bean <bean123ch@gmail.com>
d913988c 26555
26556 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26557
7795c55e 265582009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 26559
26560 * Makefile.in: (enable_grub_mkfont): New variable.
26561 (freetype_cflags): Likewise.
26562 (freetype_libs): Likewise.
26563
26564 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26565 (grub_mkfont_SOURCES): New variable.
26566 (grub_mkfont_CFLAGS): Likewise.
26567 (grub_mkfont_LDFLAGS): Likewise.
26568
26569 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26570 library if `--enable-grub-mkfont' is requested.
26571 (enable_grub_mkfont): New variable.
26572 (freetype_cflags): Likewise.
26573 (freetype_libs): Likewise.
26574
26575 * util/grub-mkfont.c: New file.
26576
093af1fe 265772009-01-12 Christian Franke <franke@computer.org>
26578
26579 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26580 mode check. Fix setting of compat_use[].
26581
f36cc108 265822009-01-10 Robert Millan <rmh@aybabtu.com>
26583
26584 Update a few copyright years which we forgot to do in 2008 (only for
26585 files whose changes made in 2008 were copyright-significant)
26586
26587 * Makefile.in: Add 2008 to Copyright line.
26588 * disk/ieee1275/ofdisk.c: Likewise.
26589 * disk/efi/efidisk.c: Likewise.
26590 * kern/dl.c: Likewise.
26591 * kern/sparc64/ieee1275/init.c: Likewise.
26592 * kern/mm.c: Likewise.
26593 * kern/efi/mm.c: Likewise.
26594 * boot/i386/pc/boot.S: Likewise.
26595 * genfslist.sh: Likewise.
26596 * fs/iso9660.c: Likewise.
26597 * fs/hfs.c: Likewise.
26598 * fs/jfs.c: Likewise.
26599 * fs/minix.c: Likewise.
26600 * fs/ufs.c: Likewise.
26601 * gensymlist.sh.in: Likewise.
26602 * genkernsyms.sh.in: Likewise.
26603 * include/grub/misc.h: Likewise.
26604 * include/grub/types.h: Likewise.
26605 * include/grub/symbol.h: Likewise.
26606 * include/grub/elf.h: Likewise.
26607 * include/grub/kernel.h: Likewise.
26608 * include/grub/disk.h: Likewise.
26609 * include/grub/dl.h: Likewise.
26610 * include/grub/i386/linux.h: Likewise.
26611 * include/grub/i386/pc/biosdisk.h: Likewise.
26612 * include/grub/efi/api.h: Likewise.
26613 * include/grub/efi/pe32.h: Likewise.
26614 * include/grub/util/misc.h: Likewise.
26615 * normal/execute.c: Likewise.
26616 * normal/arg.c: Likewise.
26617 * normal/completion.c: Likewise.
26618 * normal/lexer.c: Likewise.
26619 * normal/parser.y: Likewise.
26620 * normal/misc.c: Likewise.
26621 * commands/i386/pc/vbeinfo.c: Likewise.
26622 * commands/hexdump.c: Likewise.
26623 * commands/terminal.c: Likewise.
26624 * commands/ls.c: Likewise.
26625 * commands/help.c: Likewise.
26626 * partmap/pc.c: Likewise.
26627 * loader/efi/chainloader.c: Likewise.
26628 * loader/multiboot_loader.c: Likewise.
26629 * loader/i386/pc/multiboot2.c: Likewise.
26630 * term/efi/console.c: Likewise.
26631 * term/i386/pc/serial.c: Likewise.
26632 * util/lvm.c: Likewise.
26633 * util/console.c: Likewise.
26634 * util/i386/efi/grub-mkimage.c: Likewise.
26635 * util/raid.c: Likewise.
26636
7f02114b 266372009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26638
26639 * commands/videotest.c: Removed include to grub/machine/memory.h.
26640
26641 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26642 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26643 (video_mod_SOURCES): Removed.
26644 (video_mod_CFLAGS): Likewise.
26645 (video_mod_LDFLAGS): Likewise.
26646 (gfxterm_mod_SOURCES): Likewise.
26647 (gfxterm_mod_CFLAGS): Likewise.
26648 (gfxterm_mod_LDFLAGS): Likewise.
26649 (videotest_mod_SOURCES): Likewise.
26650 (videotest_mod_CFLAGS): Likewise.
26651 (videotest_mod_LDFLAGS): Likewise.
26652 (bitmap_mod_SOURCES): Likewise.
26653 (bitmap_mod_CFLAGS): Likewise.
26654 (bitmap_mod_LDFLAGS): Likewise.
26655 (tga_mod_SOURCES): Likewise.
26656 (tga_mod_CFLAGS): Likewise.
26657 (tga_mod_LDFLAGS): Likewise.
26658 (jpeg_mod_SOURCES): Likewise.
26659 (jpeg_mod_CFLAGS): Likewise.
26660 (jpeg_mod_LDFLAGS): Likewise.
26661 (png_mod_SOURCES): Likewise.
26662 (png_mod_CFLAGS): Likewise.
26663 (png_mod_LDFLAGS): Likewise.
26664
26665 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26666 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26667 (video_mod_SOURCES): Added.
26668 (video_mod_CFLAGS): Likewise.
26669 (video_mod_LDFLAGS): Likewise.
26670 (videotest_mod_SOURCES): Likewise.
26671 (videotest_mod_CFLAGS): Likewise.
26672 (videotest_mod_LDFLAGS): Likewise.
26673 (bitmap_mod_SOURCES): Likewise.
26674 (bitmap_mod_CFLAGS): Likewise.
26675 (bitmap_mod_LDFLAGS): Likewise.
26676 (tga_mod_SOURCES): Likewise.
26677 (tga_mod_CFLAGS): Likewise.
26678 (tga_mod_LDFLAGS): Likewise.
26679 (jpeg_mod_SOURCES): Likewise.
26680 (jpeg_mod_CFLAGS): Likewise.
26681 (jpeg_mod_LDFLAGS): Likewise.
26682 (png_mod_SOURCES): Likewise.
26683 (png_mod_CFLAGS): Likewise.
26684 (png_mod_LDFLAGS): Likewise.
26685 (gfxterm_mod_SOURCES): Likewise.
26686 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 26687 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 26688
26689 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26690 grub/machine/console.h.
26691
644fff97 266922009-01-04 Jerone Young <jerone@gmail.com>
26693
26694 Make on screen instructions clearer
26695
26696 Based on patch created by Jidanni <jidanni@jidanni.org>
26697
26698 * normal/menu.c: print clearer instructions on the screen
26699
1e901a75 267002009-01-02 Colin D Bennett <colin@gibibit.com>
26701
26702 New font engine.
34c44600 26703
1e901a75 26704 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26705 build system and fixed gfxterm.c to work with different sized fonts.
26706
26707 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 26708
1e901a75 26709 * configure: Re-generated.
34c44600 26710
1e901a75 26711 * DISTLIST: Removed font/manager.c.
26712 Added font/font.c.
26713 Added font/font_cmd.c.
34c44600 26714
1e901a75 26715 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26716 compilation.
34c44600 26717
1e901a75 26718 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 26719
26720 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 26721
26722 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 26723
1e901a75 26724 * normal/menu.c: Likewise.
34c44600 26725
1e901a75 26726 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26727 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 26728
1e901a75 26729 * include/grub/font.h: Replaced with new file.
34c44600 26730
1e901a75 26731 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26732 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26733 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26734 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26735 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 26736 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 26737 fg_red, fg_green, fg_blue, fg_alpha.
26738 (grub_video_adapter): Removed blit_glyph.
34c44600 26739 (grub_video_blit_glyph): Removed.
26740
1e901a75 26741 * font/manager.c: Removed file.
34c44600 26742
26743 * font/font.c: New file.
26744
1e901a75 26745 * font/font_cmd.c: Likewise.
34c44600 26746
1e901a75 26747 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 26748
1e901a75 26749 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26750 (grub_video_vbe_map_rgba): Likewise.
26751 (grub_video_vbe_unmap_color_int): Likewise.
26752 (grub_video_vbe_blit_glyph): Removed.
26753 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 26754
1e901a75 26755 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26756 (get_pixel): Likewise.
34c44600 26757 (set_pixel): Likewise.
26758
1e901a75 26759 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 26760
1e901a75 26761 * term/gfxterm.c: Adapted to new font engine.
34c44600 26762
1e901a75 26763 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 26764
1e901a75 26765 * term/i386/pc/vga.c: Likewise.
34c44600 26766
1e901a75 26767 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 26768
1e901a75 26769 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 26770
1e901a75 26771 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26772
1e901a75 26773 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26774
1e901a75 26775 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 26776
1e901a75 26777 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 26778
1e901a75 26779 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 26780
1e901a75 26781 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 26782
1e901a75 26783 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26784
26785 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 26786
1e901a75 26787 * util/grub-mkconfig_lib.in: Changed font extension.
26788
278922e8 267892008-12-28 Felix Zielcke <fzielcke@z-51.de>
26790
26791 * util/getroot.c (grub_util_get_grub_dev): Add support for
26792 /dev/md/dNNpNN style partitionable mdraid devices.
26793
3ced05cf 267942008-12-12 Alex Smith <alex@alex-smith.me.uk>
26795
26796 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26797 at a time limit of the PXE TFTP API correctly.
26798 (grub_pxefs_close): Likewise.
26799
7fd0ee30 268002008-11-29 Robert Millan <rmh@aybabtu.com>
26801
34c44600 26802 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 26803 grub_ata_device_initialize() calls.
26804
34c44600 268052008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 26806
26807 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26808 iteration failed.
26809 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26810
89313780 268112008-11-28 Robert Millan <rmh@aybabtu.com>
26812
26813 Fix build on powerpc-ieee1275. Based on patch created by
26814 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26815 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26816 `kern/ieee1275/mmap.c'.
26817 * include/grub/powerpc/ieee1275/memory.h: New file.
26818
15257703 26819 Provide grub-install on coreboot.
26820 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26821 (grub_install_SOURCES): New variable.
26822 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26823 usable on coreboot.
26824
9fc5388a 268252008-11-25 Felix Zielcke <fzielcke@z-51.de>
26826
26827 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26828 to `grub_term_input_t'.
26829 (grub_term_get_current_output): Change return type to
26830 `grub_term_output_t'.
26831
bc3a2f31 268322008-11-22 Robert Millan <rmh@aybabtu.com>
26833
34c44600 26834 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 26835 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26836 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26837 grub_vga_text_cls().
26838
80fc88f2 26839 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 26840 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 26841
cbf36fd3 26842 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26843 to 0x200000 (avoids trouble with some OFW implementations, and matches
26844 with the one in Yaboot).
26845 Reported by Manoel Abranches
26846
73e8e268 268472008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 26848
26849 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26850 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26851
73e8e268 26852 * util/grub-mkconfig_lib.in (grub_warn): New function.
26853 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26854 warnings, to obtain consistent formatting.
26855 * util/grub.d/00_header.in: Likewise.
26856 * util/update-grub_lib.in: Likewise.
26857
e94045a1 26858 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 26859 Move comment text to `#error' stanza.
e94045a1 26860
79d29fd7 26861 Harmonize ieee1275's grub_available_iterate() with the generic
26862 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26863 build problem on i386-ieee1275):
26864 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26865 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26866 parameter `type'. Update all users of this function.
26867 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26868 `kern/ieee1275/mmap.c'.
26869 * kern/ieee1275/init.c
26870 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26871 with ...
26872 (grub_machine_mmap_iterate): ... this.
26873 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26874 return type to `grub_err_t'. Update all implementations of this
26875 function prototype.
26876 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26877 Likewise.
26878
60d6b16e 26879 Add `lsmmap' command (lists firmware-provided memory map):
26880 * commands/lsmmap.c: New file.
26881 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
26882 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
26883 variables.
26884 * conf/powerpc-ieee1275.rmk: Likewise.
26885 * conf/i386-coreboot.rmk: Likewise.
26886 * conf/i386-ieee1275.rmk: Likewise.
26887
ebaaf49b 268882008-11-19 Robert Millan <rmh@aybabtu.com>
26889
26890 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 26891 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
26892 constraints to initrd allocation (based on code from
26893 loader/i386/pc/linux.c). Without them, initrd was allocated too high
26894 for Linux to find it.
ebaaf49b 26895
dfab719f 268962008-11-14 Robert Millan <rmh@aybabtu.com>
26897
26898 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
26899 order to cope with duplicate slashes.
26900
10fc3eb9 269012008-11-14 Robert Millan <rmh@aybabtu.com>
26902
26903 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
26904 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
26905 don't want to mess with lower memory, because it is used in the Linux
26906 loader.
26907
26908 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 26909 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 26910 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
26911 is in our heap (probably as a result of it being corrupted during
2f2a3442 26912 decompression). Add #error instance with comment to explain why this
26913 loader isn't currently usable on PC/BIOS.
10fc3eb9 26914
e2e07847 269152008-11-14 Robert Millan <rmh@aybabtu.com>
26916
26917 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 26918 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 26919
fe8e8d69 269202008-11-12 Robert Millan <rmh@aybabtu.com>
26921
26922 Make loader/i386/linux.c buildable on i386-pc (although disabled).
26923
26924 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
26925 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
26926 from here ...
26927 * include/grub/i386/pc/memory.h: ... to here.
26928
976b07d0 269292008-11-12 Robert Millan <rmh@aybabtu.com>
26930
26931 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
26932 split).
26933
26934 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
26935 (grub_console_cur_color, grub_console_real_putchar)
26936 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26937 (grub_console_setcolorstate, grub_console_setcolor)
26938 (grub_console_getcolor): Move from here ...
26939 * include/grub/i386/vga_common.h: ... to here (new file).
26940
26941 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
26942 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
26943 `<grub/i386/io.h>'.
26944 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
26945 `<grub/i386/vga_common.h>'.
26946
76679cd3 269472008-11-12 Robert Millan <rmh@aybabtu.com>
26948
26949 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
26950 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
26951 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
26952 variables.
26953 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26954 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
26955
26956 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
26957 grub_console_init() with call to grub_vga_text_init().
26958 (grub_machine_fini): Replace call to
26959 grub_console_fini() with call to grub_vga_text_fini() and
26960 grub_at_keyboard_fini().
26961
26962 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
26963 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26964 (grub_console_setcolorstate, grub_console_setcolor)
26965 (grub_console_getcolor): New function prototypes.
26966
26967 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
26968 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
26969 (grub_vga_text_setcursor): Static-ize.
26970 (grub_vga_text_term): New structure.
26971 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
26972
26973 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
26974 (grub_console_cur_color, grub_console_standard_color)
26975 (grub_console_normal_color, grub_console_highlight_color)
26976 (map_char, grub_console_putchar, grub_console_getcharwidth)
26977 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
26978 (grub_console_getcolor): Move from here ...
26979 * term/i386/vga_common.c: ... to here (same function names).
26980
95b841d3 269812008-11-12 Robert Millan <rmh@aybabtu.com>
26982
26983 Use newly-added Multiboot support in coreboot.
26984
26985 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26986 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
26987
26988 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
26989 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
26990 (codestart): Store the MBI in `startup_multiboot_info' when we're
26991 being loaded using Multiboot.
26992
26993 * kern/i386/coreboot/init.c (grub_machine_init): Move
26994 grub_at_keyboard_init() call to beginning of function (useful for
26995 debugging). Call grub_machine_mmap_init() before attempting to use
26996 grub_machine_mmap_iterate().
26997 (grub_lower_mem, grub_upper_mem): Move from here ...
26998 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
26999 here (new file).
27000
27001 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27002 function prototype.
27003
761ca975 270042008-11-12 Robert Millan <rmh@aybabtu.com>
27005
27006 Fix a regression introduced by the at_keyboard.mod split. Because
27007 some terminals are default on some platforms and non-default on
27008 others, the first terminal being registered determines which is
27009 going to be default.
27010
27011 * kern/term.c (grub_term_register_input): If this is the first
27012 terminal being registered, set it as the current one.
27013 (grub_term_register_output): Likewise.
27014
27015 * term/efi/console.c (grub_console_init): Do not call
27016 grub_term_set_current_output() or grub_term_set_current_input().
27017 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27018 * term/i386/pc/console.c (grub_console_init): Likewise.
27019 (grub_console_fini): Do not call grub_term_set_current_input()
27020 (but leave grub_term_set_current_output() to restore text mode).
27021
6c529df7 270222008-11-10 Robert Millan <rmh@aybabtu.com>
27023
27024 * util/grub.d/00_header.in: Add backward compatibility check for
27025 versions of terminal.mod that don't understand `terminal_input' or
27026 `terminal_output'.
27027
132e4113 270282008-11-09 Robert Millan <rmh@aybabtu.com>
27029
27030 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27031 `terminal_input' / `terminal_output', not `terminal'.
27032
ac293d50 270332008-11-08 Robert Millan <rmh@aybabtu.com>
27034
27035 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 27036 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 27037
0025933a 270382008-11-08 Robert Millan <rmh@aybabtu.com>
27039
27040 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 27041 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 27042 members. Update all users.
27043 * util/console.c (grub_ncurses_term): Split in ...
27044 (grub_ncurses_term_input): ... this, and ...
27045 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 27046 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 27047
37c86336 270482008-11-08 Robert Millan <rmh@aybabtu.com>
27049
27050 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27051 (PKGDATA): Add $(pkgdata_SRCDIR).
27052 (pkglib_BUILDDIR): New variable.
27053 (pkgdata_SRCDIR): New variable.
27054 (build_env.mk): New target.
27055 (include_DATA): New variable.
27056 (install-local): Install $(include_DATA) files in $(includedir).
27057
b6c15a2d 270582008-11-07 Pavel Roskin <proski@gnu.org>
27059
d99d46f1 27060 * gendistlist.sh: Use C locale for sorting to ensure consistent
27061 output on all systems.
27062
b6c15a2d 27063 * util/grub.d/00_header.in: Remove incorrect space before
27064 "serial".
27065
c32ee8c9 270662008-11-07 Robert Millan <rmh@aybabtu.com>
27067
27068 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27069 per specification.
27070 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27071 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27072 (based on find_multi_boot1_header).
27073 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27074 using find_multi_boot2_header(), and abort if neither Multiboot or
27075 Multiboot headers were found.
27076
651c29b7 270772008-11-07 Robert Millan <rmh@aybabtu.com>
27078
27079 Modularize at_keyboard.mod:
27080
27081 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27082 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27083 (at_keyboard_mod_LDFLAGS): New variables.
27084
27085 Actual terminal split:
27086
27087 * include/grub/term.h (struct grub_term): Split in ...
27088 (struct grub_term_input): ... this, and ...
27089 (struct grub_term_output): ... this. Update all users.
27090 (grub_term_set_current): Split in ...
27091 (grub_term_set_current_input): ... this, and ...
27092 (grub_term_set_current_output): ... this.
27093 (grub_term_get_current): Split in ...
27094 (grub_term_get_current_input): ... this, and ...
27095 (grub_term_get_current_output): ... this.
27096 (grub_term_register): Split in ...
27097 (grub_term_register_input): ... this, and ...
27098 (grub_term_register_output): ... this.
27099 (grub_term_unregister): Split in ...
27100 (grub_term_unregister_input): ... this, and ...
27101 (grub_term_unregister_output): ... this.
27102 (grub_term_iterate): Split in ...
27103 (grub_term_iterate_input): ... this, and ...
27104 (grub_term_iterate_output): ... this.
27105
27106 * kern/term.c (grub_term_list): Split in ...
27107 (grub_term_list_input): ... this, and ...
27108 (grub_term_list_output): ... this. Update all users.
27109 (grub_cur_term): Split in ...
27110 (grub_cur_term_input): ... this, and ...
27111 (grub_cur_term_output): ... this. Update all users.
27112 (grub_term_set_current): Split in ...
27113 (grub_term_set_current_input): ... this, and ...
27114 (grub_term_set_current_output): ... this.
27115 (grub_term_get_current): Split in ...
27116 (grub_term_get_current_input): ... this, and ...
27117 (grub_term_get_current_output): ... this.
27118 (grub_term_register): Split in ...
27119 (grub_term_register_input): ... this, and ...
27120 (grub_term_register_output): ... this.
27121 (grub_term_unregister): Split in ...
27122 (grub_term_unregister_input): ... this, and ...
27123 (grub_term_unregister_output): ... this.
27124 (grub_term_iterate): Split in ...
27125 (grub_term_iterate_input): ... this, and ...
27126 (grub_term_iterate_output): ... this.
27127
27128 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27129 a check for input and one for output (and only attempt to get keys
27130 from user when input works).
27131
27132 * util/grub-probe.c (grub_term_get_current): Split in ...
27133 (grub_term_get_current_input): ... this, and ...
27134 (grub_term_get_current_output): ... this.
27135 * util/grub-fstest.c: Likewise.
27136 * util/i386/pc/grub-setup.c: Likewise.
27137 * util/grub-editenv.c: Likewise.
27138
27139 Portability adjustments:
27140
27141 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27142 `term/i386/pc/at_keyboard.c'.
27143 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27144 grub_keyboard_controller_init() (now handled by terminal .init).
27145 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27146 grub_at_keyboard_init().
27147 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27148 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27149 at_keyboard.mod via input terminal interface).
27150 * include/grub/i386/coreboot/console.h: Convert into a stub for
27151 `<grub/i386/pc/console.h>'.
27152
27153 Migrate full terminals to new API:
27154
27155 * term/efi/console.c (grub_console_term): Split into ...
27156 (grub_console_term_input): ... this, and ...
27157 (grub_console_term_output): ... this. Update all users.
27158 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27159 (grub_ofconsole_init): Split into ...
27160 (grub_ofconsole_init_input): ... this, and ...
27161 (grub_ofconsole_init_output): ... this.
27162 (grub_ofconsole_term): Split into ...
27163 (grub_ofconsole_term_input): ... this, and ...
27164 (grub_ofconsole_term_output): ... this. Update all users.
27165 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27166 (grub_serial_term_input): ... this, and ...
27167 (grub_serial_term_output): ... this. Update all users.
27168 * term/i386/pc/console.c (grub_console_term): Split into ...
27169 (grub_console_term_input): ... this, and ...
27170 (grub_console_term_output): ... this. Update all users.
27171 (grub_console_term_input): Only enable it on PC/BIOS platform.
27172 (grub_console_init): Remove grub_keyboard_controller_init() call.
27173
27174 Migrate input terminals to new API:
27175
27176 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27177 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27178 i386-specific anyway).
27179 (grub_console_checkkey): Rename to ...
27180 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27181 users.
27182 (grub_keyboard_controller_orig): New variable.
27183 (grub_console_getkey): Rename to ...
27184 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27185 users.
27186 (grub_keyboard_controller_init): Static-ize. Save original
27187 controller value so that it can be restored ...
27188 (grub_keyboard_controller_fini): ... here (new function).
27189 (grub_at_keyboard_term): New structure.
27190 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27191 functions.
27192
27193 Migrate output terminals to new API:
27194
27195 * term/i386/pc/vga.c (grub_vga_term): Change type to
27196 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27197 members. Update all users.
27198 * term/gfxterm.c (grub_video_term): Change type to
27199 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27200 members. Update all users.
27201 * include/grub/i386/pc/console.h (grub_console_checkkey)
27202 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27203 etc).
27204
27205 Migrate `terminal' command and userland tools to new API:
27206
27207 * commands/terminal.c (grub_cmd_terminal): Split into ...
27208 (grub_cmd_terminal_input): ... this, and ...
27209 (grub_cmd_terminal_output): ... this.
27210 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27211 `terminal_input' and `terminal_output'.
27212 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27213 `terminal_input' / `terminal_output' API.
27214 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27215 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27216 provided ${GRUB_TERMINAL}, convert it).
27217
96e5d876 272182008-11-04 Robert Millan <rmh@aybabtu.com>
27219
27220 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27221 for FreeBSD.
27222 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27223
556f3775 272242008-11-03 Bean <bean123ch@gmail.com>
27225
27226 * kern/elf.c (grub_elf32_load): Revert to previous code.
27227 (grub_elf64_load): Likewise.
27228
27229 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27230
926b9823 272312008-11-01 Robert Millan <rmh@aybabtu.com>
27232
27233 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27234 (TARGET_CPPFLAGS): Likewise.
27235 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27236
1432e958 272372008-11-01 Carles Pina i Estany <carles@pina.cat>
27238
27239 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27240
dba3f844 272412008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 27242
27243 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27244 addition of objects until the code is not going to be able to fail.
27245
dba3f844 272462008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 27247
27248 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27249 (add a missing NULL check, and correct them by moving the pointer
27250 operations after the actual check).
27251
7ab28c21 272522008-10-29 Robert Millan <rmh@aybabtu.com>
27253
27254 * util/i386/pc/grub-install.in: Handle empty string as output from
27255 make_system_path_relative_to_its_root().
27256
1b7748eb 272572008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27258
27259 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27260 circular metadata worst case scenario. If the metadata is circular
27261 then copy the wrap in place.
27262 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27263 project lib/format_text/layout.h
27264 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27265
c9618ab2 272662008-10-03 Felix Zielcke <fzielcke@z-51.de>
27267
7a36edca 27268 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 27269
bf981c62 272702008-10-03 Felix Zielcke <fzielcke@z-51.de>
27271
27272 * util/update-grub_lib.in: Mention filename in warning message.
27273
6d994591 272742008-09-29 Felix Zielcke <fzielcke@z-51.de>
27275
27276 * NEWS: Update for rename of update-grub to grub-mkconfig.
27277
18ade780 272782008-09-29 Felix Zielcke <fzielcke@z-51.de>
27279
27280 * util/update-grub_lib.in: Copy to ...
27281 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 27282 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 27283 * util/update-grub.in: Rename to ...
27284 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27285 option. Add `--output' option to allow users to specify the generated
27286 configuration file. Default to stdout.
27287 (update_grub_dir): Rename to ...
27288 (grub_mkconfig_dir): ... this.
27289 (grub_cfg): Default to an empty string.
27290 * conf/common.rmk (update-grub): Rename to ...
27291 (grub-mkconfig): ... this.
27292 (update-grub_lib): Copy to ...
27293 (grub-mkconfig_lib): ... this.
27294 (update-grub_SCRIPTS): Copy to ...
27295 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27296 (update-grub_DATA): Rename to ...
27297 (grub-mkconfig_DATA): ... this.
27298
556ce6ac 272992008-09-28 Robert Millan <rmh@aybabtu.com>
27300
27301 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27302 to `modified'. Add the real `created' field.
27303 (grub_iso9660_uuid): Use `modified' rather than `created' for
27304 constructing the UUID.
27305
273062008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 27307
27308 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27309 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27310
92274e85 273112008-09-28 Bean <bean123ch@gmail.com>
27312
27313 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27314 Thanks to Christian Franke for finding this bug.
27315
add6f17a 273162008-09-25 Robert Millan <rmh@aybabtu.com>
27317
27318 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27319 instances of grub_util_get_disk_name() (see previous commit).
27320
d2a367b8 273212008-09-25 Robert Millan <rmh@aybabtu.com>
27322
27323 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27324 `util/i386/get_disk_name.c'.
27325 * conf/i386-efi.rmk: Likewise.
27326 * conf/x86_64-efi.rmk: Likewise.
27327 * conf/i386-coreboot.rmk: Likewise.
27328 * conf/i386-ieee1275.rmk: Likewise.
27329 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27330 `util/ieee1275/get_disk_name.c'.
27331 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27332 * util/ieee1275/get_disk_name.c: Remove file.
27333 * util/i386/get_disk_name.c: Remove file.
27334 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27335 "hd%d" for device.map entries, rather than using
27336 grub_util_get_disk_name().
27337
81a06771 273382008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 27339
27340 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27341 warning.
27342 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27343
5a004279 273442008-09-24 Carles Pina i Estany <carles@pina.cat>
27345
27346 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27347 Changed to 0x5100.
27348 (GRUB_TERM_PPAGE): Changed to 0x4900.
27349
397093d3 273502008-09-24 Robert Millan <rmh@aybabtu.com>
27351
27352 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27353 macros (they were i386-pc specific).
27354 * include/grub/sparc64/ieee1275/console.h: Likewise.
27355 * include/grub/efi/console.h: Likewise.
27356
a91b6c7c 273572008-09-22 Bean <bean123ch@gmail.com>
27358
27359 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27360 resident and in attribute list.
27361
27362 * include/grub/ntfs.h (BMP_LEN): Removed.
27363
c40fd116 273642008-09-22 Bean <bean123ch@gmail.com>
27365
81a06771 27366 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 27367 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27368
27369 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27370 error occurs, as grub_disk_open will call grub_disk_close, which will
27371 call p->close (scsi).
27372
81a06771 273732008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 27374
27375 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27376 (AC_PREREQ): Bumped to 2.59.
27377 (AC_TRY_COMPILE): Replace obsolete macro with ...
27378 (AC_COMPILE_IFELSE): ... this.
27379 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27380 (AC_LINK_IFELSE): ... this.
27381
5dc43410 273822008-09-21 Felix Zielcke <fzielcke@z-51.de>
27383
27384 * autogen.sh: Add a call to `gendistlist.sh'.
27385
9035dce4 273862008-09-19 Christian Franke <franke@computer.org>
27387
27388 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27389 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27390 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27391 Export __enable_execute_stack() to modules.
27392 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27393 New function.
27394
7fd75377 273952008-09-09 Felix Zielcke <fzielcke@z-51.de>
27396
040030b3 27397 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27398 Sort the list.
27399
274002008-09-09 Felix Zielcke <fzielcke@z-51.de>
27401
27402 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 27403 #include <grub/util/hostdisk.h>.
27404
89d5ffcf 274052008-09-08 Robert Millan <rmh@aybabtu.com>
27406
27407 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27408 segments when their filesz is zero (grub_file_read() interprets
81a06771 27409 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 27410 Use `lowest_segment' rather than 0 for calculating the current
27411 segment load address.
27412
40da438f 274132008-09-08 Robert Millan <rmh@aybabtu.com>
27414
27415 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27416 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27417 clobbered useful information.
27418
ddbf5556 274192008-09-08 Robert Millan <rmh@aybabtu.com>
27420
27421 * include/grub/util/biosdisk.h: Move to ...
27422 * include/grub/util/hostdisk.h: ... here. Update all users.
27423 * util/biosdisk.c: Move to ...
27424 * util/hostdisk.c: ... here. Update all users.
27425
783d0f48 274262008-09-07 Robert Millan <rmh@aybabtu.com>
27427
27428 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27429 variables.
27430 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27431 and length can be stored directly in the `mbi->mmap_addr' and
27432 `mbi->mmap_length' struct fields.
27433
548e2ea5 274342008-09-07 Robert Millan <rmh@aybabtu.com>
27435
27436 * conf/i386.rmk: New file. Provides declaration for building
27437 `cpuid.mod'.
27438 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27439 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27440 variables.
27441 Include `conf/i386.mk'.
27442 * conf/i386-efi.rmk: Likewise.
27443 * conf/x86_64-efi.rmk: Likewise.
27444 * conf/i386-coreboot.rmk: Likewise.
27445 * conf/i386-ieee1275.rmk: Likewise.
27446
0ea85a37 274472008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27448
27449 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27450 Adds optimization support for BGR based modes.
27451
27452 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27453 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27454 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27455 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27456 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27457 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27458 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27459 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27460 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27461 (grub_video_i386_vbeblit_index_index): Likewise.
27462 (grub_video_i386_vbeblit_replace_directN): Added.
27463 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27464 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27465 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27466 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27467 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27468 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 27469 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 27470 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27471 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27472 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27473 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27474 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27475 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27476
27477 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27478 (grub_video_i386_vbefill_R8G8B8): Likewise.
27479 (grub_video_i386_vbefill_index): Likewise.
27480 (grub_video_i386_vbefill_direct32): Added.
27481 (grub_video_i386_vbefill_direct24): Likewise.
27482 (grub_video_i386_vbefill_direct16): Likewise.
27483 (grub_video_i386_vbefill_direct8): Likewise.
27484
81a06771 27485 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 27486 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27487 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27488 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27489 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27490 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 27491
0ea85a37 27492 * video/video.c (grub_video_get_blit_format): Updated to use new
27493 blit formats. Added handling for 16 bit color modes.
81a06771 27494
27495 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 27496 fillers.
27497 (common_blitter): Updated to use new blitters.
27498
27499 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27500 Removed.
27501 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27502 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27503 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27504 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27505 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27506 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27507 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27508 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27509 (grub_video_i386_vbeblit_index_index): Likewise.
27510 (grub_video_i386_vbeblit_replace_directN): Added.
27511 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27512 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27513 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27514 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27515 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27516 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27517 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27518 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27519 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27520 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27521 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27522 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27523 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 27524
0ea85a37 27525 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27526 (grub_video_i386_vbefill_R8G8B8): Likewise.
27527 (grub_video_i386_vbefill_index): Likewise.
27528 (grub_video_i386_vbefill_direct32): Added.
27529 (grub_video_i386_vbefill_direct24): Likewise.
27530 (grub_video_i386_vbefill_direct16): Likewise.
27531 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 27532
0ea85a37 27533 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27534 types.
81a06771 27535
0ea85a37 27536 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27537 types.
81a06771 27538
0ea85a37 27539 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27540 blitter types.
81a06771 27541
0ea85a37 27542 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27543 types.
27544
e8a83df6 275452008-09-06 Felix Zielcke <fzielcke@z-51.de>
27546
27547 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27548 RAID level 1.
27549
6bcd8ee5 275502008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 27551
6bcd8ee5 27552 * fs/iso9660.c (grub_iso9660_date): New structure.
27553 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27554 (grub_iso9660_uuid): New function.
c375ae58 27555
59261157 275562008-09-05 Bean <bean123ch@gmail.com>
27557
27558 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27559
27560 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27561 insensitive bit for names in Win32 and Win32 & DOS namespace.
27562
27563 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27564
27565 * include/grub/types.h (LONG_MAX): Likewise.
27566
58b6645a 275672008-09-04 Felix Zielcke <fzielcke@z-51.de>
27568
4ee55921 27569 * util/getroot.c: Include <config.h>.
27570 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27571 add support for /dev/md/N devices and handle LVM double dash escaping.
27572
275732008-09-04 Felix Zielcke <fzielcke@z-51.de>
27574
27575 * config.guess: Update to latest version from config git.
27576 * config.sub: Likewise.
58b6645a 27577
9124f65d 275782008-09-03 Robert Millan <rmh@aybabtu.com>
27579
27580 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27581 `disk->total_sectors'.
27582
81a06771 275832008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 27584
27585 * include/grub/normal.h: Fixed incorrect comment for
27586 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27587
81a06771 275882008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 27589
27590 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27591 values with defines.
27592
27593 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27594 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27595 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27596 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27597 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27598 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27599 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27600 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27601 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27602 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27603 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27604 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27605 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27606 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27607 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27608 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27609 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27610 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27611 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27612
93d5cbf8 276132008-08-31 Robert Millan <rmh@aybabtu.com>
27614
27615 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27616 declaration.
27617 (grub_multiboot): Fix a few warnings.
27618
21751d50 276192008-08-31 Robert Millan <rmh@aybabtu.com>
27620
27621 * loader/i386/pc/multiboot.c: Update comment not to say that
27622 boot_device support is unimplemented.
27623
e27a75c5 276242008-08-31 Robert Millan <rmh@aybabtu.com>
27625
27626 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27627 or memory map support are unimplemented.
27628
81a06771 276292008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 27630
27631 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27632
81a06771 276332008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 27634
27635 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27636 total video memory in 'vbeinfo' output; show color format details for
27637 each video mode.
27638
7c5d8d95 276392008-08-30 Pavel Roskin <proski@gnu.org>
27640
27641 * util/genmoddep.c: Remove for real this time.
27642 * DISTLIST: Remove util/genmoddep.c.
27643
4cebd25a 276442008-08-30 Robert Millan <rmh@aybabtu.com>
27645
27646 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27647 as required by Multiboot spec (it was already 4-byte aligned, but
27648 only by chance).
27649
b497a269 276502008-08-29 Pavel Roskin <proski@gnu.org>
27651
e3925185 27652 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27653 * kern/powerpc/ieee1275/startup.S: ... this.
27654 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27655 * DISTLIST: Likewise.
27656
b497a269 27657 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27658 grub/cpu/kernel.h. Add start label for consistency with other
27659 platforms. Add grub_prefix immediately after start. Add jump
27660 to the code after grub_prefix.
27661 * include/grub/powerpc/kernel.h: Provide valid values for
27662 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27663
6e5a42fe 276642008-08-29 Bean <bean123ch@gmail.com>
27665
27666 * configure.ac: Change host_os to cygwin for mingw.
27667 (asprintf): New check for function.
27668
27669 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27670 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27671
27672 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 27673 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 27674 sync, sleep and grub_util_get_disk_size for mingw.
27675
27676 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27677 to get size in mingw.
27678 (open_device): Use flag O_BINARY if it's defined.
27679 (find_root_device): Add dummy code for mingw.
27680
27681 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27682 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27683 (get_scsi_disk_name): Return 0 for mingw.
27684
27685 * util/hostfs.c: #include <grub/util/misc.h>.
27686 (grub_hostfs_open): Use "rb" flag to open file, use
27687 grub_util_get_disk_size to get disk size for mingw.
27688
27689 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27690 (asprintf): New function if HAVE_ASPRINTF is not set.
27691 (sync): New function for mingw.
27692 (sleep): Likewise.
27693 (grub_util_get_disk_size): Likewise.
27694
ab3f2673 276952008-08-28 Pavel Roskin <proski@gnu.org>
27696
27697 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27698 kern/time.c.
27699
1c282483 277002008-08-28 Robert Millan <rmh@aybabtu.com>
27701
27702 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27703
678e849c 277042008-08-28 Robert Millan <rmh@aybabtu.com>
27705
27706 Change find_grub_drive() syntax so it doesn't prevent it from
27707 detecting NULL names as errors.
27708
27709 * util/biosdisk.c (find_grub_drive): Move free slot search code
27710 from here ...
27711 (find_free_slot): ... to here.
27712 (read_device_map): Use find_free_slot() to search for free slots.
27713
965c75ca 277142008-08-27 Marco Gerards <marco@gnu.org>
27715
27716 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27717 (scsi_mod_SOURCES): New variable.
27718 (scsi_mod_CFLAGS): Likewise
27719 (scsi_mod_LDFLAGS): Likewise.
27720
27721 * disk/scsi.c: New file.
27722
27723 * include/grub/scsi.h: Likewise.
27724
27725 * include/grub/scsicmd.h: Likewise.
27726
27727 * disk/ata.c: Include <grub/scsi.h>.
27728 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27729 instead.
27730 (grub_ata_iterate): Skip ATAPI devices.
27731 (grub_ata_open): Only handle ATAPI devices.
27732 (struct grub_atapi_read): Removed.
27733 (grub_atapi_readsector): Likewise.
27734 (grub_ata_read): No longer handle ATAPI devices.
27735 (grub_ata_write): Likewise.
27736 (grub_atapi_iterate): New function.
27737 (grub_atapi_read): Likewise.
27738 (grub_atapi_write): Likewise.
27739 (grub_atapi_open): Likewise.
27740 (grub_atapi_close): Likewise.
27741 (grub_atapi_dev): New variable.
27742 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27743 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27744
27745 * include/grub/disk.h (enum grub_disk_dev_id): Add
27746 `GRUB_DISK_DEVICE_SCSI_ID'.
27747
c07ae501 277482008-08-26 Robert Millan <rmh@aybabtu.com>
27749
27750 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27751 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27752 descriptive.
27753
5ed20adc 277542008-08-23 Bean <bean123ch@gmail.com>
27755
27756 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27757 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27758 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27759 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27760 dm_nv.mod.
27761 (raid5rec_mod_SOURCES): New macro.
27762 (raid5rec_mod_CFLAGS): Likewise.
27763 (raid5rec_mod_LDFLAGS): Likewise.
27764 (raid6rec_mod_SOURCES): Likewise.
27765 (raid6rec_mod_CFLAGS): Likewise.
27766 (raid6rec_mod_LDFLAGS): Likewise.
27767 (mdraid_mod_SOURCES): Likewise.
27768 (mdraid_mod_CFLAGS): Likewise.
27769 (mdraid_mod_LDFLAGS): Likewise.
27770 (dm_nv_mod_SOURCES): Likewise.
27771 (dm_nv_mod_CFLAGS): Likewise.
27772 (dm_nv_mod_LDFLAGS): Likewise.
27773
27774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27775 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27776 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27777
27778 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27779 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27780
27781 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27782
27783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27784
27785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27786
27787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27788
27789 * disk/raid5_recover.c: New file.
27790
27791 * disk/raid6_recover.c: Likewise.
27792
27793 * disk/mdraid_linux.c: Likewise.
27794
27795 * disk/dmraid_nvidia.c: Likewise.
27796
27797 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27798 ULONG_MAX.
27799
27800 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27801 calculate the size of raid device.
27802 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27803 different layout of raid5.
27804 (grub_raid_scan_device): Remove code specific to mdraid.
27805 (grub_raid_list): New variable.
27806 (free_array): New function.
27807 (grub_raid_register): Likewise.
27808 (grub_raid_unregister): Likewise.
27809 (grub_raid_rescan): Likewise.
27810 (GRUB_MOD_INIT): Don't iterate device here.
27811 (GRUB_MOD_FINI): Use free_array to release resource.
27812
27813 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27814 (grub_raid5_recover_func_t): New function variable type.
27815 (grub_raid6_recover_func_t): Likewise.
27816 (grub_raid5_recover_func): New variable.
27817 (grub_raid6_recover_func): Likewise.
27818 (grub_raid_register): New function.
27819 (grub_raid_unregister): Likewise.
27820 (grub_raid_rescan): Likewise.
27821 (grub_raid_block_xor): Likewise.
27822
27823 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27824 (CMD_CRC): New macro.
27825 (part): Removed.
27826 (read_file): Handle device as well as file.
27827 (cmd_crc): New function.
27828 (fstest): Handle multiple disks.
27829 (options): Remove part, raw and long, add root and diskcount.
27830 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 27831 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 27832 add handling for the new options, support multiple disks.
27833
27834 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27835
29c18915 278362008-08-23 Bean <bean123ch@gmail.com>
27837
27838 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27839
27840 * genfslist.sh: Ignore kernel.mod.
27841
27842 * genpartmaplist.sh: Likewise.
27843
8415f261 278442008-08-23 Robert Millan <rmh@aybabtu.com>
27845
27846 * util/getroot.c (find_root_device): Skip anything that starts with
27847 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27848
d5a7dc5b 278492008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 27850
d5a7dc5b 27851 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27852 * util/grub.d/00_header.in: Allow the administrator to change default
27853 gfxmode via ${GRUB_GFXMODE}.
27854
380cfbb4 278552008-08-21 Felix Zielcke <fzielcke@z-51.de>
27856
27857 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27858
c9baafe7 278592008-08-21 Robert Millan <rmh@aybabtu.com>
27860
27861 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27862 loader.
27863 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27864 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27865
e290bef2 278662008-08-20 Carles Pina i Estany <carles@pina.cat>
27867
27868 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27869 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27870
f9dbfc96 278712008-08-19 Robert Millan <rmh@aybabtu.com>
27872
27873 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27874 (struct grub_virtual_screen): Remove `cursor_color'.
27875 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27876 initialization.
27877 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27878
dd6bd6ab 278792008-08-18 Robert Millan <rmh@aybabtu.com>
27880
27881 Unify (identical) linux_normal.c files.
27882 * loader/i386/efi/linux_normal.c: Move from here ...
27883 * loader/linux_normal.c: ... to here. Update all users.
27884 * loader/i386/pc/linux_normal.c: Delete. Update all users.
27885 * loader/i386/ieee1275/linux_normal.c: Likewise.
27886
7f42f83e 278872008-08-18 Robert Millan <rmh@aybabtu.com>
27888
27889 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
27890 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
27891 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
27892 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
27893 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
27894 New macros.
27895 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
27896 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
27897 (GRUB_LINUX_CL_END_OFFSET): ... to here.
27898 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
27899 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
27900 (GRUB_EFI_CL_END_OFFSET): Rename to ...
27901 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
27902 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
27903 Initialize `params->video_cursor_x' and `params->video_cursor_y'
27904 portably using grub_getxy().
27905 Replace `-EFI' with `-bzImage' in boot message.
27906
38487ddb 279072008-08-17 Robert Millan <rmh@aybabtu.com>
27908
27909 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
27910
deceb3ec 279112008-08-17 Robert Millan <rmh@aybabtu.com>
27912
27913 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
27914
27915 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
27916 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
27917 (grub_machine_mmap_iterate): New function declaration.
27918 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
27919 structure.
27920 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
27921 macros.
27922
27923 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
27924 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
27925 Move e820 parsing from here ...
27926 * kern/i386/pc/mmap.c: New file.
27927 (grub_machine_mmap_iterate): ... to here.
27928
27929 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
27930 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
27931 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
27932 (grub_available_iterate): Redeclare to return `void', and redeclare
27933 its hook to use grub_uint64_t as addr and size parameters, and rename
27934 to ...
27935 (grub_machine_mmap_iterate): ... this. Update all users.
27936
27937 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
27938 to make it more readable. Rename to ...
27939 (grub_machine_mmap_iterate): ... this.
27940
27941 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
27942 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
27943 (grub_multiboot): Allocate an extra region after the payload, and fill
27944 it with a Multiboot memory map. Adjust a.out loader to calculate size
27945 with the extra space.
27946 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
27947 with the extra space.
27948
f8aa0f43 279492008-08-17 Carles Pina i Estany <carles@pina.cat>
27950
9807deb9 27951 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 27952
605f5bb6 279532008-08-17 Felix Zielcke <fzielcke@z-51.de>
27954
27955 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
27956 mdate-sh to the list `find' searches for.
27957 * DISTLIST: Regenerated.
27958
210db6c6 279592008-08-16 Felix Zielcke <fzielcke@z-51.de>
27960
27961 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
27962 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 27963 genmoddep.awk, gensymlist.sh.in.
27964 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 27965 * DISTLIST: Regenerated.
48cdbfd4 27966 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 27967
1082b929 279682008-08-16 Robert Millan <rmh@aybabtu.com>
27969
27970 * disk/raid.c (grub_raid_init): Handle/report errors set by
27971 grub_device_iterate().
27972 * disk/lvm.c (grub_lvm_init): Likewise.
27973
42ce5170 279742008-08-15 Bean <bean123ch@gmail.com>
27975
27976 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27977 and datehook.mod.
27978 (datetime_mod_SOURCES): New macro.
27979 (datetime_mod_CFLAGS): Likewise.
27980 (datetime_mod_LDFLAGS): Likewise.
27981 (date_mod_SOURCES): Likewise.
27982 (date_mod_CFLAGS): Likewise.
27983 (date_mod_LDFLAGS): Likewise.
27984 (datehook_mod_SOURCES): Likewise.
27985 (datehook_mod_CFLAGS): Likewise.
27986 (datehook_mod_LDFLAGS): Likewise.
27987
27988 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27989 and datehook.mod.
27990 (datetime_mod_SOURCES): New macro.
27991 (datetime_mod_CFLAGS): Likewise.
27992 (datetime_mod_LDFLAGS): Likewise.
27993 (date_mod_SOURCES): Likewise.
27994 (date_mod_CFLAGS): Likewise.
27995 (date_mod_LDFLAGS): Likewise.
27996 (datehook_mod_SOURCES): Likewise.
27997 (datehook_mod_CFLAGS): Likewise.
27998 (datehook_mod_LDFLAGS): Likewise.
27999
28000 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28001 and datehook.mod.
28002 (datetime_mod_SOURCES): New macro.
28003 (datetime_mod_CFLAGS): Likewise.
28004 (datetime_mod_LDFLAGS): Likewise.
28005 (date_mod_SOURCES): Likewise.
28006 (date_mod_CFLAGS): Likewise.
28007 (date_mod_LDFLAGS): Likewise.
28008 (datehook_mod_SOURCES): Likewise.
28009 (datehook_mod_CFLAGS): Likewise.
28010 (datehook_mod_LDFLAGS): Likewise.
28011
28012 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28013 and datehook.mod.
28014 (datetime_mod_SOURCES): New macro.
28015 (datetime_mod_CFLAGS): Likewise.
28016 (datetime_mod_LDFLAGS): Likewise.
28017 (date_mod_SOURCES): Likewise.
28018 (date_mod_CFLAGS): Likewise.
28019 (date_mod_LDFLAGS): Likewise.
28020 (datehook_mod_SOURCES): Likewise.
28021 (datehook_mod_CFLAGS): Likewise.
28022 (datehook_mod_LDFLAGS): Likewise.
28023
28024 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28025 and datehook.mod.
28026 (datetime_mod_SOURCES): New macro.
28027 (datetime_mod_CFLAGS): Likewise.
28028 (datetime_mod_LDFLAGS): Likewise.
28029 (date_mod_SOURCES): Likewise.
28030 (date_mod_CFLAGS): Likewise.
28031 (date_mod_LDFLAGS): Likewise.
28032 (datehook_mod_SOURCES): Likewise.
28033 (datehook_mod_CFLAGS): Likewise.
28034 (datehook_mod_LDFLAGS): Likewise.
28035
28036 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28037
28038 * commands/date.c: New file.
28039
28040 * hook/datehook.c: Likewise.
28041
28042 * include/grub/lib/datetime.h: Likewise.
28043
28044 * include/grub/i386/cmos.h: Likewise.
28045
28046 * lib/datetime.c: Likewise.
28047
28048 * lib/i386/datetime.c: Likewise.
28049
28050 * lib/efi/datetime.c: Likewise.
28051
0e9242da 280522008-08-14 Robert Millan <rmh@aybabtu.com>
28053
28054 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28055 (grub_mkelfimage_SOURCES): New variable.
28056 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28057
28058 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28059 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28060 * conf/powerpc-ieee1275.rmk: Likewise.
28061 * conf/i386-ieee1275.rmk: Likewise.
28062
28063 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28064 * kern/i386/coreboot/init.c: Likewise.
28065
28066 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28067 with `<grub/cpu/kernel.h>'.
28068 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28069 to ...
28070 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28071 * kern/i386/coreboot/startup.S: Likewise.
28072
28073 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28074 (GRUB_MOD_GAP): Remove.
28075 * include/grub/powerpc/kernel.h: New file.
28076 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28077 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28078 * include/grub/i386/kernel.h: New file.
28079 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28080 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28081 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28082
28083 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28084 `grub-mkelfimage'.
28085 Use --directory when invoking grub_mkimage.
28086
28087 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28088 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28089 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28090 and GRUB_KERNEL_CPU_PREFIX.
28091
b86408f8 280922008-08-14 Felix Zielcke <fzielcke@z-51.de>
28093
d5e619ca 28094 * include/grub/err.h (grub_err_printf): New function prototype.
28095 * util/misc.c (grub_err_printf): New function.
28096 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28097 grub_printf.
28098 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 28099
7161f0e0 281002008-08-13 Robert Millan <rmh@aybabtu.com>
28101
28102 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28103
a1967522 281042008-08-13 Robert Millan <rmh@aybabtu.com>
28105
28106 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28107 boot entry.
28108
371458b5 281092008-08-12 Robert Millan <rmh@aybabtu.com>
28110
28111 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28112 of the relocation code from here ...
28113 (grub_multiboot): ... to here.
28114 (forward_relocator, backward_relocator): Move from here ...
28115 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28116 (grub_multiboot_backward_relocator): ... to here.
28117 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28118 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28119 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28120 (grub_multiboot_forward_relocator_end)
28121 (grub_multiboot_backward_relocator)
28122 (grub_multiboot_backward_relocator_end): New variables.
28123
05f9452b 281242008-08-12 Bean <bean123ch@gmail.com>
28125
28126 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28127
20024ab0 281282008-08-11 Robert Millan <rmh@aybabtu.com>
28129
28130 * kern/i386/linuxbios/startup.S: Move from here ...
28131 * kern/i386/coreboot/startup.S: ... to here.
28132
28133 * kern/i386/linuxbios/init.c: Move from here ...
28134 * kern/i386/coreboot/init.c: ... to here.
28135
28136 * kern/i386/linuxbios/table.c: Move from here ...
28137 * kern/i386/coreboot/mmap.c: ... to here.
28138
28139 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28140
e352e9cd 281412008-08-11 Robert Millan <rmh@aybabtu.com>
28142
28143 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28144 errors. Leave it to the upper layer to handle them.
28145
2d05bc6a 281462008-08-09 Christian Franke <franke@computer.org>
28147
28148 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28149 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28150 Install `grub.d/10_windows' only on Cygwin.
28151 * configure.ac: Add subst of `target_os'.
28152 Check `target_os' also before setting TARGET_OBJ2ELF.
28153 Add `--enable-grub-pe2elf'.
28154
042bd419 281552008-08-08 Robert Millan <rmh@aybabtu.com>
28156
28157 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28158 (grub_last_time): Change type to grub_uint64_t.
28159 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28160 (grub_disk_close): Likewise.
28161
28162 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28163 (run_menu): Migrate code from to using grub_get_time_ms().
28164
28165 * util/misc.c (grub_get_time_ms): New function.
28166
7f280db5 281672008-08-08 Marco Gerards <marco@gnu.org>
28168
28169 * disk/ata.c (grub_ata_regget): Change return type to
28170 `grub_uint8_t'.
28171 (grub_ata_regget2): Likewise.
28172 (grub_ata_wait_status): New function.
28173 (grub_ata_wait_busy): Removed function, updated all users to use
28174 `grub_ata_wait_status'.
28175 (grub_ata_wait_drq): Likewise.
28176 (grub_ata_cmd): New function.
28177 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28178 error handling.
28179 (grub_ata_pio_write): Add error handling.
28180 (grub_atapi_identify): Likewise.
28181 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28182 handling.
28183 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28184 handling. Actually use the detected registers. Reorder the
28185 detection logic such that it is easier to read.
28186 (grub_ata_pciinit): Do not assign the same ID to each controller.
28187 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28188 handling.
28189 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28190
28191 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28192
1fbc5e66 281932008-08-08 Marco Gerards <marco@gnu.org>
28194
28195 * NEWS: Update.
28196
819ce6c0 281972008-08-07 Bean <bean123ch@gmail.com>
28198
28199 * include/grub/x86_64/pci.h: New file.
28200
5c41d44d 282012008-08-07 Christian Franke <franke@computer.org>
28202
28203 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28204 (TIMER2_GATE): Likewise.
28205 (grub_pit_wait): Add enable/disable of the timer2 gate
28206 bit of port 0x61. This fixes a possible infinite loop.
28207
5ebc275d 282082008-08-07 Bean <bean123ch@gmail.com>
28209
28210 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28211 kern/i386/tsc.c and kern/i386/pit.c.
28212
28213 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28214 x86_64 platform.
28215
28216 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28217 <grub/i386/tsc.h>.
28218
28219 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28220
e383b3d0 282212008-08-07 Bean <bean123ch@gmail.com>
28222
28223 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28224
28225 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28226
28227 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28228 multiple inclusion. Add #include <grub/types.h>.
28229
1cbb58ac 282302008-08-06 Christian Franke <franke@computer.org>
28231
28232 * conf/common.rmk: Build and install `10_windows'.
28233 * util/grub.d/10_windows.in: New script.
28234
337f5a1e 282352008-08-06 Pavel Roskin <proski@gnu.org>
28236
28237 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28238
057bc4ac 282392008-08-06 Robert Millan <rmh@aybabtu.com>
28240
28241 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28242 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28243
2b99f123 282442008-08-06 Bean <bean123ch@gmail.com>
28245
28246 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28247 (grub_pxefs_fs_int): Remove dummy definition.
28248 (grub_pxefs_open): Use data->block_size to store the current block
28249 size setting.
28250 (grub_pxefs_read): Use block size stored in data->block_size. As the
28251 value of grub_pxe_blksize can be changed after the file is opened.
28252
9f0234cb 282532008-08-06 Bean <bean123ch@gmail.com>
28254
28255 * fs/i386/pc/pxe.c (curr_file): new variable.
28256 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28257 require the dummy internal file system anymore.
28258 (grub_pxefs_read): Removed.
28259 (grub_pxefs_close): Likewise.
28260 (grub_pxefs_fs_int): Likewise.
28261 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28262 connection when we switch file.
28263 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28264
a55d42e0 282652008-08-06 Robert Millan <rmh@aybabtu.com>
28266
28267 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28268 `halt.mod'.
28269 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28270 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28271
28272 * kern/i386/halt.c: New file.
28273 * kern/i386/reboot.c: Likewise.
28274 * include/grub/i386/reboot.h: Likewise.
28275 * include/grub/i386/halt.h: Likewise.
28276
28277 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28278 Include `<grub/cpu/halt.h>'.
28279 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28280 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28281
28282 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28283 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28284 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28285 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28286 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28287 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28288 from here ...
28289 * include/grub/i386/at_keyboard.h: ... to here.
28290
24371d26 282912008-08-05 Robert Millan <rmh@aybabtu.com>
28292
28293 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28294 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28295 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28296 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28297 `kern/generic/millisleep.c'.
28298
28299 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28300 instead of grub_get_rtc().
28301 (grub_tsc_init): Initialize `tsc_boot_time'.
28302
28303 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28304 (grub_machine_init): Use grub_tsc_init() rather than
28305 installing an RTC-based handler via grub_install_get_time_ms().
28306
28307 * kern/i386/pit.c: New file.
28308 * include/grub/i386/pit.h: Likewise.
28309
9e7007b3 283102008-08-05 Bean <bean123ch@gmail.com>
28311
28312 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28313
28314 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28315 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28316 (pxe_mod_SOURCES): New macro.
28317 (pxe_mod_CFLAGS): Likewise.
28318 (pxe_mod_LDFLAGS): Likewise.
28319 (pxecmd_mod_SOURCES): Likewise.
28320 (pxecmd_mod_CFLAGS): Likewise.
28321 (pxecmd_mod_LDFLAGS): Likewise.
28322
28323 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28324 (grub_pxe_call): Likewise.
28325
28326 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28327
28328 * commands/i386/pc/pxecmd.c: New file.
28329
9f0234cb 28330 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 28331
28332 * include/grub/i386/pc/pxe.h: Likewise.
28333
6977d49f 283342008-08-05 Bean <bean123ch@gmail.com>
28335
28336 * util/console.c (grub_console_cur_color): New variable.
28337 (grub_console_standard_color): Likewise.
28338 (grub_console_normal_color): Likewise.
28339 (grub_console_highlight_color): Likewise.
28340 (color_map): Likewise.
28341 (use_color): Likewise.
28342 (NUM_COLORS): New macro.
28343 (grub_ncurses_setcolorstate): Handle color properly.
28344 (grub_ncurses_setcolor): Don't change color here, just remember the
28345 settings, color will be set in grub_ncurses_setcolorstate.
28346 (grub_ncurses_getcolor): New function.
28347 (grub_ncurses_init): Initialize color pairs.
28348 (grub_ncurses_term): New member grub_ncurses_getcolor.
28349
9c2ff3ee 283502008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 28351
9c2ff3ee 28352 High resolution timer support. Implemented for x86 CPUs using TSC.
28353 Extracted generic grub_millisleep() so it's linked in only as needed.
28354 This requires a Pentium compatible CPU; if the RDTSC instruction is
28355 not supported, then it falls back on the generic grub_get_time_ms()
28356 implementation that uses the machine's RTC.
28357
28358 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28359 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28360 `kern/generic/millisleep.c'.
28361
28362 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28363 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28364
28365 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28366 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28367
28368 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28369
28370 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28371 `kern/generic/millisleep.c'.
28372
28373 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28374
28375 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28376
28377 * kern/generic/rtc_get_time_ms.c: New file.
28378
28379 * kern/generic/millisleep.c: New file.
337f5a1e 28380
9c2ff3ee 28381 * kern/misc.c: Don't include
28382 <kern/time.h> anymore.
28383 (grub_millisleep_generic): Removed.
28384
28385 * commands/sleep.c (grub_interruptible_millisleep): Uses
28386 grub_get_time_ms() instead of grub_get_rtc().
28387
28388 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28389 function.
28390 (grub_cpu_is_cpuid_supported): New inline function.
28391 (grub_cpu_is_tsc_supported): New inline function.
28392 (grub_tsc_init): New function prototype.
28393 (grub_tsc_get_time_ms): New function prototype.
28394
28395 * kern/i386/tsc.c (grub_get_time_ms): New file.
28396
28397 * include/grub/time.h: Include <grub/types.h.
28398 (grub_millisleep_generic): Removed.
28399 (grub_get_time_ms): New prototype.
28400 (grub_install_get_time_ms): New prototype.
28401 (grub_rtc_get_time_ms): New prototype.
28402
28403 * kern/time.c (grub_get_time_ms): New function.
28404 (grub_install_get_time_ms): New function.
28405
28406 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28407 <grub/time.h> anymore.
28408 (grub_millisleep): Removed.
28409 (grub_machine_init): Call grub_tsc_init.
28410
28411 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28412 get_time_ms() implementation.
28413
28414 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28415 (ieee1275_get_time_ms): New function.
28416 (grub_machine_init): Install get_time_ms() implementation.
28417
28418 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28419 (grub_machine_init): Call grub_tsc_init().
28420 (grub_millisleep): Removed.
bf06a93f 28421
9c2ff3ee 28422 * kern/ieee1275/init.c (grub_millisleep): Removed.
28423 (grub_machine_init): Install ieee1275_get_time_ms()
28424 implementation.
28425 (ieee1275_get_time_ms): New function.
28426 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28427 real work.
28428
9ec92aaf 284292008-08-05 Marco Gerards <marco@gnu.org>
28430
28431 * disk/ata.c: Include <grub/pci.h>.
28432 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28433 (grub_ata_initialize): Rewritten.
28434 (grub_ata_device_initialize): New function.
28435
8d23f507 284362008-08-04 Pavel Roskin <proski@gnu.org>
28437
28438 * kern/main.c: Include grub/mm.h.
28439
5e15ee3d 284402008-08-04 Robert Millan <rmh@aybabtu.com>
28441
28442 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28443 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28444 corruption problem).
28445
a9053f8f 284462008-08-04 Robert Millan <rmh@aybabtu.com>
28447
28448 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28449 warnings introduced in my last commit.
28450
dd19c7d7 284512008-08-03 Robert Millan <rmh@aybabtu.com>
28452
28453 Make PCI available on all i386 architectures.
28454
28455 * include/grub/i386/pc/pci.h: Move from here ...
28456 * include/grub/i386/pci.h: ... to here.
28457
28458 * include/grub/i386/pc/pci.h: Remove.
28459 * include/grub/i386/efi/pci.h: Remove.
28460 * include/grub/x86_64/efi/pci.h: Remove.
28461
28462 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28463 `<grub/cpu/pci.h>'.
28464
28465 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28466 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28467 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28468
28469 * conf/i386-ieee1275.rmk: Likewise.
28470
e14a6184 284712008-08-03 Robert Millan <rmh@aybabtu.com>
28472
28473 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28474 (grub_console_setcursor): Make it possible to set cursor off.
28475
52768e37 284762008-08-03 Robert Millan <rmh@aybabtu.com>
28477
28478 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28479 of modules instead of assuming which platform provides what.
28480 * util/update-grub.in: Likewise.
28481
2d52f57f 284822008-08-03 Robert Millan <rmh@aybabtu.com>
28483
28484 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28485 instead of `grub_install_dos_part' to determine whether a drive needs
28486 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 28487 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 28488
2a5cd121 284892008-08-02 Robert Millan <rmh@aybabtu.com>
28490
28491 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28492
93808428 284932008-08-02 Robert Millan <rmh@aybabtu.com>
28494
28495 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28496 of informational grub_dprintf() calls.
28497
3bd0a12a 284982008-08-02 Robert Millan <rmh@aybabtu.com>
28499
28500 * disk/memdisk.c (memdisk_size): Don't initialize.
28501 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28502
28503 * include/grub/i386/pc/kernel.h
28504 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28505 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28506 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28507 (grub_arch_memdisk_size): Remove.
28508
28509 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28510 field (was only used to transfer a constant). Add `type' field to
28511 support multiple module types.
28512 (grub_module_iterate): New function.
28513
28514 * kern/device.c (grub_device_open): Do not hide error messages
28515 when grub_disk_open() fails. Use grub_print_error() instead.
28516
28517 * kern/i386/pc/init.c (grub_arch_modules_addr)
28518 (grub_arch_memdisk_size): Remove functions.
28519 (grub_arch_modules_addr): Return the module address in high memory
28520 (now that it isn't copied anymore).
28521
28522 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28523 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28524 decompression routine (grub_total_module_size already includes that
28525 now). Don't copy modules back to low memory.
28526
28527 * kern/main.c: Include `<grub/mm.h>'.
28528 (grub_load_modules): Split out (and use) ...
28529 (grub_module_iterate): ... this function, which iterates through
28530 module objects and runs a hook.
28531 Comment out grub_mm_init_region() call, as it would cause non-ELF
28532 modules to be overwritten.
28533
28534 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28535 the memdisk image in its own region, make it part of the module list.
28536 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28537 (main): Parse --memdisk|-m option, and pass user-provided path as
28538 parameter to generate_image().
28539 (add_segments): Pass `memdisk_path' down to load_modules().
28540 (load_modules): Embed memdisk image in module section when requested.
28541 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28542 `header.type' instead of `header.offset'.
28543
28544 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28545 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28546 (memdisk_mod_LDFLAGS): New variables.
28547 * conf/i386-coreboot.rmk: Likewise.
28548 * conf/i386-ieee1275.rmk: Likewise.
28549
a927cc73 285502008-08-02 Robert Millan <rmh@aybabtu.com>
28551
28552 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28553 (backward_relocator): New variables. Used to allocate and relocate
28554 the payload, respectively.
28555 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 28556 address, install the appropriate relocator code in each bound of
a927cc73 28557 the payload, and set the entry point such that
28558 grub_multiboot_real_boot() will jump to one of them.
28559
28560 * kern/i386/loader.S (grub_multiboot_payload_size)
28561 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28562 (grub_multiboot_payload_entry_offset): New variables.
28563 (grub_multiboot_real_boot): Set cpu context to what the relocator
28564 expects, and jump to the relocator instead of the payload.
28565
28566 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28567 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28568 (grub_multiboot_payload_entry_offset): Export.
28569
b15d8a0c 285702008-08-01 Bean <bean123ch@gmail.com>
28571
28572 * normal/menu_entry.c (editor_getline): Don't return the original
28573 string as result, as it will be released by lexer once it has done
28574 using it.
28575
cdfb3d22 285762008-08-01 Robert Millan <rmh@aybabtu.com>
28577
28578 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28579 within menuentries, not before them.
28580 util/grub.d/10_hurd.in: Likewise.
28581
9175e93d 285822008-08-01 Bean <bean123ch@gmail.com>
28583
28584 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28585 (bufio_mod_SOURCES): New macro.
28586 (bufio_mod_CFLAGS): Likewise.
28587 (bufio_mod_LDFLAGS): Likewise.
28588
28589 * include/grub/bufio.h: New file.
28590
28591 * io/bufio.c: Likewise.
28592
28593 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28594 (grub_video_reader_png): Use grub_buffile_open to open file.
28595
28596 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28597 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28598
28599 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28600 (grub_video_reader_tga): Use grub_buffile_open to open file.
28601
28602 * font/manager.c: Include <grub/bufio.h>.
28603 (add_font): Use grub_buffile_open to open file.
28604
3d8383e7 286052008-07-31 Robert Millan <rmh@aybabtu.com>
28606
28607 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28608 ELF segments, use a macro for arbitrarily accessing any of them instead
28609 of preparing a pointer that allows access to one at a time.
28610 (grub_multiboot_load_elf64): Likewise.
28611
16e641b6 286122008-07-31 Bean <bean123ch@gmail.com>
28613
28614 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28615 GRUB_KERNEL_MACHINE_DATA_END.
28616
59198b72 286172008-07-30 Robert Millan <rmh@aybabtu.com>
28618
28619 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28620 Increase from 0x50 to 0x60.
28621 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28622 use UUIDs to identify the root drive for them. If that's not
28623 possible, abort.
28624 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28625 check, for cross-disk installs.
28626
ae88bca3 286272008-07-30 Robert Millan <rmh@aybabtu.com>
28628
28629 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28630 is non-empty, use it to set the `prefix' environment variable instead
28631 of the usual approach.
28632 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28633 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28634 environment variable instead of dummy make_install_device().
28635
28636 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28637 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 28638 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 28639
28640 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28641 New variable reference.
28642 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28643 New macro. Defines offset of `grub_prefix' within startup.S (relative
28644 to `start').
28645 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28646 section within startup.S (relative to `start').
28647 * include/grub/i386/coreboot/kernel.h: Likewise.
28648
28649 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28650 Overwrite grub_prefix with its contents, at the beginning of the
28651 first segment.
28652 (main): Understand -p|--prefix.
28653
14f41dd1 286542008-07-30 Robert Millan <rmh@aybabtu.com>
28655
28656 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28657
4ca049a3 286582008-07-30 Robert Millan <rmh@aybabtu.com>
28659
28660 * term/i386/pc/vga_text.c (grub_console_cls): Use
28661 grub_console_gotoxy() to go back to beginning of the screen.
28662 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28663
2921d337 286642008-07-29 Christian Franke <franke@computer.org>
28665
28666 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28667 Add conversion of emulated mount points on Cygwin.
28668
b609876d 286692008-07-29 Christian Franke <franke@computer.org>
28670
28671 * util/update-grub.in: Add a check for admin
28672 group on Cygwin.
28673 Remove old `grub.cfg.new' before creation.
28674 Add `-f' to `mv' to handle the different filesystem
28675 semantics of Windows.
28676
e93e4679 286772008-07-29 Bean <bean123ch@gmail.com>
28678
28679 * normal/main.c (get_line): Fix buffer overflow bug.
28680
41694fd0 286812008-07-28 Robert Millan <rmh@aybabtu.com>
28682
28683 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28684 (struct grub_apple_header): New struct. Describes the layout of
28685 the partmap header.
28686 (apple_partition_map_iterate): Check the header magic as well as the
28687 partition magic (which was already being checked).
28688
cfd0b4e6 286892008-07-28 Pavel Roskin <proski@gnu.org>
28690
28691 * genmk.rb: Add a warning to the beginning of the output that
28692 it's a generated file and should not be edited.
28693
93cce016 286942008-07-28 Robert Millan <rmh@aybabtu.com>
28695
28696 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28697 with the same number are found, just use issue a warning with
28698 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 28699
cd1df915 287002008-07-27 Robert Millan <rmh@aybabtu.com>
28701
28702 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28703 information.
28704
b70a8427 287052008-07-27 Bean <bean123ch@gmail.com>
28706
28707 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28708 (grub_fat_find_dir): Ignore case when comparing filename.
28709
8f5e379f 287102008-07-27 Bean <bean123ch@gmail.com>
28711
28712 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28713 smallino, as it's more descriptive, and i8count can be confused with
28714 the other field count.
28715 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28716 inode type.
28717
a85cd5a0 287182008-07-27 Bean <bean123ch@gmail.com>
28719
28720 * commands/crc.c: New file.
28721
28722 * lib/crc.c: Likewise.
28723
28724 * include/grub/lib/crc.h: Likewise.
28725
28726 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28727
28728 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28729 (hexdump): Move this function to ...
28730
28731 * lib/hexdump.c: ... here.
28732
28733 * include/grub/hexdump.h: Renamed to ...
28734
28735 * include/grub/lib/hexdump.h: ... this.
28736
28737 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28738
28739 * util/grub-editenv.c: Likewise.
28740
28741 * include/envblk.h: Renamed to ...
28742
28743 * include/lib/envblk.h: ... this.
28744
28745 * util/envblk.c: Renamed to ...
28746
28747 * lib/envblk.c: ... this.
28748
28749 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28750 lib/hexdump.c.
28751 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28752 (pkglib_MODULES): Add crc.mod.
28753 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28754 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28755 (crc_mod_SOURCES): New macro.
28756 (crc_mod_CFLAGS): Likewise.
28757 (crc_mod_LDFLAGS): Likewise.
28758
28759 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28760
28761 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28762
28763 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28764
28765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28766
28767 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28768
c298def0 287692008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 28770
28771 * commands/help.c: Include <grub/term.h>.
28772 (TERM_WIDTH): Removed. Updated all users.
28773
cc349fb3 287742008-07-27 Pavel Roskin <proski@gnu.org>
28775
28776 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28777 spurious warnings about a comment within a comment.
28778
9051607e 287792008-07-25 Robert Millan <rmh@aybabtu.com>
28780
28781 * util/getroot.c (find_root_device): Skip devices that match
28782 /dev/dm-[0-9]. This lets the real device be found for any type of
28783 abstraction (LVM, EVMS, RAID..).
28784 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28785 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28786 device is found first, find_root_device() will now skip it.
28787
01453bfc 287882008-07-24 Pavel Roskin <proski@gnu.org>
28789
28790 * include/grub/types.h: Use __builtin_bswap32() and
28791 __builtin_bswap64() with gcc 4.3 and newer.
28792
6af9849f 287932008-07-24 Christian Franke <franke@computer.org>
28794
3a0fa256 28795 * util/i386/pc/grub-install.in: If `--debug' is specified,
28796 pass `--verbose' to grub-setup.
28797 Abort script if make_system_path_relative_to_its_root() fails.
28798
7810e747 287992008-07-24 Bean <bean123ch@gmail.com>
28800
28801 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28802 variable `target_platform' should be `platform'.
28803
42290e17 288042008-07-24 Bean <bean123ch@gmail.com>
28805
51cc5193 28806 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 28807 (grub_png_init_fixed_block): New function.
28808 (grub_png_decode_image_data): Handle fixed huffman code compression.
28809
2a8a80e4 288102008-07-24 Bean <bean123ch@gmail.com>
28811
28812 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28813 (grub_pe2elf_SOURCES): New macro.
28814 (CLEANFILES): Add grub-pe2elf.
28815
28816 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28817 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28818 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28819 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28820 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28821 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28822 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28823 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28824 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28825 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28826 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28827 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28828 (GRUB_PE32_DT_FUNCTION): Likewise.
28829 (GRUB_PE32_REL_I386_DIR32): Likewise.
28830 (GRUB_PE32_REL_I386_REL32): Likewise.
28831 (grub_pe32_symbol): New structure.
28832 (grub_pe32_reloc): Likewise.
28833
28834 * util/grub-pe2elf.c: New file.
28835
28836 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28837 start symbol in non pc platform.
28838
28839 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28840
28841 The following patches are from Christian Franke.
28842
28843 * include/grub/dl.h: Remove .previous, gas supports this only
28844 for ELF format.
28845
28846 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28847 Remove .type, gas supports this only for ELF format.
28848
28849 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28850 nullbytes in symbol table. This fixes an infinite loop if table is
28851 zero filled.
28852
28853 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28854 TARGET_IMG_LDFLAGS and EXEEXT.
28855
28856 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28857 TARGET_IMG_LDFLAGS_AC.
28858 (grub_CHECK_STACK_ARG_PROBE): New function.
28859
28860 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28861
28862 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28863
28864 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28865 to set TARGET_IMG_LD* accordingly.
28866 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28867 Add call to grub_CHECK_STACK_ARG_PROBE.
28868 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28869
28870 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28871
28872 * genmk.rb: Add EXEEXT to CLEANFILES.
28873
12ccdb75 288742008-07-23 Robert Millan <rmh@aybabtu.com>
28875
28876 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28877 define the codes for arrows and lines used for the menu).
28878 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28879 as well.
28880
28881 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
28882 fonts, because the latter are too slow.
28883
18eeaf04 288842008-07-21 Bean <bean123ch@gmail.com>
28885
28886 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
28887 a20. Run keyboard test last, as it will cause macbook to halt.
28888
b095e2ad 288892008-07-18 Pavel Roskin <proski@gnu.org>
28890
28891 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
28892 load foreign architecture modules correctly anyway. Keep
28893 support for loading host architecture modules, whether we
28894 compile them or not.
28895
737feb35 288962008-07-17 Pavel Roskin <proski@gnu.org>
28897
3f4ce737 28898 * configure.ac: Use -m32 or -m64 regardless of whether we had to
28899 change target_cpu. The compiler default can mismatch target_cpu
28900 in any case.
28901
4ad2d049 28902 * disk/efi/efidisk.c: Fix format warnings on x86_64.
28903 * kern/efi/efi.c: Likewise.
28904
f6130a12 28905 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
28906 target compiler is functional.
28907 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
28908 are set up.
28909
58393a2d 28910 * configure.ac: Default to efi platform for x86_64-apple. Allow
28911 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
28912 adjustments from the rest, only do them if target is not
28913 explicitly given. Merge other adjustments with the final sanity
28914 check. Remove an extraneous check for supported CPU. Be
28915 specific which CPU and which platform is not supported.
28916
737feb35 28917 * configure.ac: Default to pc platform for x86_64.
28918
546f966a 289192008-07-17 Robert Millan <rmh@aybabtu.com>
28920
28921 Partial LinuxBIOS -> Coreboot rename.
28922
28923 * conf/i386-linuxbios.rmk: Renamed to ...
28924 * conf/i386-coreboot.rmk: ... this.
28925 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
28926 * configure.ac: Accept "coreboot" as input platform (but maintain
28927 compatibility with "linuxbios").
28928 * include/grub/i386/linuxbios: Renamed to ...
28929 * include/grub/i386/coreboot: ... this.
28930
20011694 289312008-07-17 Bean <bean123ch@gmail.com>
28932
28933 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 28934 (appleldr_mod_SOURCE): New variable.
20011694 28935 (appleldr_mod_CFLAGS): Likewise.
28936 (appleldr_mod_LDFLAGS): Likewise.
28937 (pci_mod_SOURCES): Likewise.
28938 (pci_mod_CFLAGS): Likewise.
28939 (pci_mod_LDFLAGS): Likewise.
28940 (lspci_mod_SOURCES): Likewise.
28941 (lspci_mod_CFLAGS): Likewise.
28942 (lspci_mod_LDFLAGS): Likewise.
28943
28944 * conf/x86_64-efi.rmk: New file.
28945
28946 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
28947 macro.
28948 (grub_efidisk_write): Likewise.
28949
28950 * include/efi/api.h (efi_call_0): New macro.
28951 (efi_call_1): Likewise.
28952 (efi_call_2): Likewise.
28953 (efi_call_3): Likewise.
28954 (efi_call_4): Likewise.
28955 (efi_call_5): Likewise.
28956 (efi_call_6): Likewise.
28957
28958 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
28959 grub_rescue_cmd_chainloader.
28960
28961 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
28962 (grub_pe32_optional_header): Change some fields based on i386 or
28963 x86_64 platform.
28964 (GRUB_PE32_PE32_MAGIC): Likewise.
28965
28966 * include/grub/efi/uga_draw.h: New file.
28967
28968 * include/grub/elf.h (STN_ABS): New constant.
28969 (R_X86_64_NONE): Relocation constant for x86_64.
28970 (R_X86_64_64): Likewise.
28971 (R_X86_64_PC32): Likewise.
28972 (R_X86_64_GOT32): Likewise.
28973 (R_X86_64_PLT32): Likewise.
28974 (R_X86_64_COPY): Likewise.
28975 (R_X86_64_GLOB_DAT): Likewise.
28976 (R_X86_64_JUMP_SLOT): Likewise.
28977 (R_X86_64_RELATIVE): Likewise.
28978 (R_X86_64_GOTPCREL): Likewise.
28979 (R_X86_64_32): Likewise.
28980 (R_X86_64_32S): Likewise.
28981 (R_X86_64_16): Likewise.
28982 (R_X86_64_PC16): Likewise.
28983 (R_X86_64_8): Likewise.
28984 (R_X86_64_PC8): Likewise.
28985
28986 * include/grub/i386/efi/pci.h: New file.
28987
28988 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
28989 Change it value based on platform.
28990 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
28991 (GRUB_E820_RAM): Likewise.
28992 (GRUB_E820_RESERVED): Likewise.
28993 (GRUB_E820_ACPI): Likewise.
28994 (GRUB_E820_NVS): Likewise.
28995 (GRUB_E820_EXEC_CODE): Likewise.
28996 (GRUB_E820_MAX_ENTRY): Likewise.
28997 (grub_e820_mmap): New structure.
28998 (linux_kernel_header): Change the efi field according to different
28999 kernel version, also field from linux_kernel_header.
29000
29001 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29002
29003 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29004 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29005 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29006 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29007 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29008 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29009 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29010 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29011 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29012 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29013
29014 * include/grub/x86_64/efi/kernel.h: New file.
29015
29016 * include/grub/x86_64/efi/loader.h: Likewise.
29017
29018 * include/grub/x86_64/efi/machine.h: Likewise.
29019
29020 * include/grub/x86_64/efi/pci.h: Likewise.
29021
29022 * include/grub/x86_64/efi/time.h: Likewise.
29023
29024 * include/grub/x86_64/linux.h: Likewise.
29025
29026 * include/grub/x86_64/setjmp.h: Likewise.
29027
29028 * include/grub/x86_64/time.h: Likewise.
29029
29030 * include/grub/x86_64/types.h: Likewise.
29031
29032 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29033 GRUB_TARGET_SIZEOF_VOID_P.
29034
29035 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29036 (grub_efi_locate_handle): Likewise.
29037 (grub_efi_open_protocol): Likewise.
29038 (grub_efi_set_text_mode): Likewise.
29039 (grub_efi_stall): Likewise.
29040 (grub_exit): Likewise.
29041 (grub_reboot): Likewise.
29042 (grub_halt): Likewise.
29043 (grub_efi_exit_boot_services): Likewise.
29044 (grub_get_rtc): Likewise.
29045
29046 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29047 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29048 (grub_efi_allocate_pages): Wrap efi calls.
29049 (grub_efi_free_pages): Wrap efi calls.
29050 (grub_efi_get_memory_map): Wrap efi calls.
29051
29052 * kern/x86_64/dl.c: New file.
29053
29054 * kern/x86_64/efi/callwrap.S: Likewise.
29055
29056 * kern/x86_64/efi/startup.S: Likewise.
29057
29058 * loader/efi/appleloader.c: Likewise.
29059
29060 * loader/efi/chainloader.c (cmdline): New variable.
29061 (grub_chainloader_unload): Wrap efi calls.
29062 (grub_chainloader_boot): Likewise.
29063 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29064 command line.
29065
29066 * loader/efi/chainloader_normal.c (chainloader_command):
29067 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29068 command line.
29069
29070 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29071 method.
29072 (grub_e820_add_region): New function.
29073 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29074 booting.
29075 (grub_find_video_card): New function.
29076 (grub_linux_setup_video): New function.
29077 (grub_rescue_cmd_linux): Probe for video information.
29078
29079 * normal/x86_64/setjmp.S: New file.
29080
29081 * term/efi/console.c (map_char): New function.
29082 (grub_console_putchar): Map unicode char.
29083 (grub_console_checkkey): Wrap efi calls.
29084 (grub_console_getkey): Likewise.
29085 (grub_console_getwh): Likewise.
29086 (grub_console_gotoxy): Likewise.
29087 (grub_console_cls): Likewise.
29088 (grub_console_setcolorstate): Likewise.
29089 (grub_console_setcursor): Likewise.
29090
29091 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29092
59652a20 290932008-07-16 Pavel Roskin <proski@gnu.org>
29094
ef294055 29095 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29096 format strings.
29097
59652a20 29098 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29099 pointer, not an integer. This fixes a warning and prevents
29100 precision loss on 64-bit systems.
29101 (relocate_addresses): Remove unneeded cast.
29102
afc3b5d7 291032008-07-15 Pavel Roskin <proski@gnu.org>
29104
506b2b3e 29105 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29106
62ead89c 29107 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29108
c4cd51d7 29109 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29110 Fix comparison between signed and unsigned.
29111
0d3d8f28 29112 * include/grub/i386/ieee1275/console.h: Declare
29113 grub_console_init() and grub_console_fini().
29114
8804b286 29115 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29116 It's empty and unused.
29117
ee01cf35 29118 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29119 beginning to avoid warnings with some compilers.
29120
afc3b5d7 29121 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29122 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29123
e4e8eaa5 291242008-07-14 Pavel Roskin <proski@gnu.org>
29125
407aceb4 29126 * kern/env.c (grub_register_variable_hook): Don't copy empty
29127 string, it leaks memory. Pass "" to grub_env_set(), it should
29128 handle constant strings.
29129
e4e8eaa5 29130 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29131 * commands/cmp.c (grub_cmd_cmp): Likewise.
29132 * kern/dl.c (grub_dl_flush_cache): Likewise.
29133 (grub_dl_load_core): Likewise.
29134 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29135 (grub_elf64_load_phdrs): Likewise.
29136
d4e2dad3 291372008-07-13 Pavel Roskin <proski@gnu.org>
29138
29139 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29140 between signed and unsigned.
29141 (LzmaEnc_Finish): Fix warning about an unused parameter.
29142
aa24b516 291432008-07-13 Bean <bean123ch@gmail.com>
29144
29145 * Makefile.in (enable_lzo): New rule.
29146
29147 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29148
29149 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29150
29151 * boot/i386/pc/lnxboot.S: #include <config.h>.
29152
29153 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 29154 its value according to the compression algorithm used, lzo or lzma.
aa24b516 29155
29156 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29157 compression algorithm according to configure macro.
29158
29159 * kern/i386/pc/startup.S (codestart): Likewise.
29160
29161 * kern/i386/pc/lzma_decode.S: New file.
29162
29163 * include/grub/lib/LzFind.h: Likewise.
29164
29165 * include/grub/lib/LzHash.h: Likewise.
29166
29167 * include/grub/lib/LzmaDec.h: Likewise.
29168
29169 * include/grub/lib/LzmaEnc.h: Likewise.
29170
29171 * include/grub/lib/LzmaTypes.h: Likewise.
29172
29173 * lib/LzFind.c: Likewise.
29174
29175 * lib/LzmaDec.c: Likewise.
29176
29177 * lib/LzmaEnc.c: Likewise.
29178
4ae821ac 291792008-07-13 Bean <bean123ch@gmail.com>
29180
29181 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29182 (grub_ext4_extent_header): New structure.
29183 (grub_ext4_extent): Likewise.
29184 (grub_ext4_extent_idx): Likewise.
29185 (grub_ext4_find_leaf): New function.
29186 (grub_ext2_read_block): Handle extents.
29187
9a745147 291882008-07-12 Robert Millan <rmh@aybabtu.com>
29189
29190 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29191
d49a4cf6 291922008-07-11 Robert Millan <rmh@aybabtu.com>
29193
29194 * util/grub.d/40_custom.in: New file. Example on how to add custom
29195 entries to /etc/grub.d.
29196 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29197 40_custom (implicitly, by merging all the grub.d rules).
29198
947414b4 291992008-07-11 Pavel Roskin <proski@gnu.org>
29200
0059cf6f 29201 * commands/read.c (grub_getline): Fix invalid memory access.
29202 Don't add newline to the variable value.
29203
947414b4 29204 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29205 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29206 (serial_hw_get_port): Check validity of the port number.
29207 (grub_cmd_serial): Check return value of serial_hw_get_port().
29208
62a02d00 292092008-07-07 Pavel Roskin <proski@gnu.org>
29210
29211 * boot/i386/pc/diskboot.S (notification_string): Replace
29212 "Loading kernel" with just "loading". This is shorter, less
29213 confusing and saves a few bytes for possible future changes.
29214
3e5581b0 292152008-07-05 Pavel Roskin <proski@gnu.org>
29216
ea387a48 29217 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29218 size for ATAPI devices, they are undefined. Output sector
29219 number in decimal form.
29220
3e5581b0 29221 * disk/ata.c: Use named constants for status bits.
29222
fdecb8fd 292232008-07-04 Pavel Roskin <proski@gnu.org>
29224
bcd35b90 29225 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29226 grub_addr_t before casting it to the void pointer to fix a
29227 warning. Non-addressable regions are discarded earlier.
29228 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29229 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29230 (check_signature): Don't shadow table_header.
29231 (grub_linuxbios_table_iterate): Cast numeric constants to
29232 grub_linuxbios_table_header_t.
29233 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29234 grub_stop().
29235
af58ab3d 29236 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29237 prevent warnings.
29238
1759aa57 29239 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29240 pointer, which can cause warnings. Support 64-bit addresses.
29241
fdecb8fd 29242 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29243 of sizeof(long). This fixes PowerPC image generation on x86_64.
29244
8516d2a8 292452008-07-04 Robert Millan <rmh@aybabtu.com>
29246
29247 This fixes a performance issue when pc & gpt partmap iterators
29248 didn't abort iteration even after our hook found what it was
fe987087 29249 looking for (often causing expensive probes of non-existent drives).
8516d2a8 29250
29251 Some callers relied on previous buggy behaviour, since they would
34c44600 29252 raise an error when their own hooks caused early abortion of its
8516d2a8 29253 iteration.
29254
29255 * kern/device.c (grub_device_open): Improve error message.
29256 * disk/lvm.c (grub_lvm_open): Likewise.
29257 * disk/raid.c (grub_raid_open): Likewise.
29258
29259 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29260 when hook requests it, independently of grub_errno.
29261 (pc_partition_map_probe): Do not fail when find_func() caused
29262 early abortion of pc_partition_map_iterate().
29263
29264 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29265 when hook requests it, independently of grub_errno.
29266 (gpt_partition_map_probe): Do not fail when find_func() caused
29267 early abortion of gpt_partition_map_iterate().
29268
29269 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29270 when hook requests it, independently of grub_errno. Do not fail when
29271 part_map_iterate_hook() caused early abortion of p->iterate().
29272
29273 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29274 when grub_partition_iterate() returned with non-zero.
29275
277d0de9 292762008-07-03 Pavel Roskin <proski@gnu.org>
29277
29278 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29279 like we do in grub_ata_pio_read().
29280 (grub_ata_readwrite): Always write individual sectors. Fix the
29281 sector count for the remainder.
29282 (grub_ata_write): Enable writing to ATA devices. Correctly
29283 report error for ATAPI devices.
29284
d4c9b428 292852008-07-02 Pavel Roskin <proski@gnu.org>
29286
e43fc690 29287 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29288 warning.
29289
f707af42 29290 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29291 for every read sector, we already increment it for the whole
29292 batch. This fixes reading more than 256 sectors at once.
29293
11e16b15 29294 * util/grub-editenv.c (cmd_info): Cast argument to long
29295 explicitly. ptrdiff_t reduces to int on i386.
29296
cbabfdd4 29297 * util/grub-editenv.c (main): Be specific which parameter is
29298 missing.
29299
b8fbce0a 29300 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29301 (memdisk): Make memdisk_orig_addr a pointer.
29302
c9c8e606 29303 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29304 for file offsets, use grub_off_t instead. Fix printf format
29305 warnings.
29306
ca62e598 29307 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29308 there. Real unexpected warnings should not drown in the noise
29309 about known problems.
29310
ce8d1766 29311 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29312 grub_disk_addr_t for memory addresses.
29313
00c7a56a 29314 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29315 explicitly to fix a warning.
29316
08d3ef09 29317 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29318
cb71ba20 29319 * Makefile.in (MODULE_LDFLAGS): New variable.
29320 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29321 the linker accepts --build-id=none.
29322 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29323 MODULE_LDFLAGS.
29324 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29325
d4c9b428 29326 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29327 those in Linux XFS code. Provide a way to access 64-bit parent
29328 inode.
29329 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29330 the end of struct grub_xfs_dir_header.
29331
d4156eee 293322008-07-02 Bean <bean123ch@gmail.com>
29333
29334 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29335 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29336 and GRUB_IEEE1275_FLAG_NO_ANSI.
29337
29338 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29339 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29340 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29341
29342 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29343 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29344
29345 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29346 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29347
29348 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29349 esc sequence on non ANSI terminal.
29350 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29351
29352 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29353 beginning of file.
29354
2270f77b 293552008-07-02 Bean <bean123ch@gmail.com>
29356
29357 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29358 (grub_editenv_SOURCES): New variable.
29359 (pkglib_MODULES): Add loadenv.mod.
29360 (loadenv_mod_SOURCES): New variable.
29361 (loadenv_mod_CFLAGS): Likewise.
29362 (loadenv_mod_LDFLAGS): Likewise.
29363
29364 * include/grub/envblk.h: New file.
29365
29366 * util/envblk.c: New file.
29367
29368 * util/grub-editenv.c: New file.
29369
29370 * commands/loadenv.c: New file.
29371
0e9e51ec 293722008-07-01 Pavel Roskin <proski@gnu.org>
29373
d89b7634 29374 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29375 not unsigned char. This fixes warnings and is consistent with
29376 other tags.
29377
bf1835b1 29378 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29379
8222a04b 29380 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29381
6a42d99d 29382 * term/tparm.c (analyze): Always set *popcount.
29383
10b159d1 29384 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29385 cast to fix a warning.
29386
b8789f6c 29387 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29388 cast to suppress a warning.
29389
29d7e38a 29390 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29391 grub_fshelp_read_file() expects.
29392
f341f669 29393 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29394 write uuid as a 32-bit value in CPU byte order, so declare and
29395 use it as such.
29396
0e9e51ec 29397 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29398 long if the format specifier expects it.
29399 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29400 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29401 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29402 long to fix a warning.
29403 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29404 grub_dprintf() arguments to fix warnings.
29405
3aefa857 294062008-06-30 Pavel Roskin <proski@gnu.org>
29407
56c7668b 29408 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29409 install_bsd_part immediately before core.img is embedded or
29410 modified on disk. This fixes core.img verification if core.img
29411 cannot be embedded.
29412
3aefa857 29413 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29414 core_path to calculate the blocklist.
29415 Patch from Javier Martín <lordhabbit@gmail.com>
29416
5444088d 294172008-06-29 Robert Millan <rmh@aybabtu.com>
29418
29419 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29420 block to disk block.
29421 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29422 Patch from Niels Böhm <bitbucket@arcor.de>
29423
674835c8 294242008-06-29 Robert Millan <rmh@aybabtu.com>
29425
29426 * util/update-grub_lib.in (font_path): Search for fonts in
29427 /boot/grub first, which is more likely to be readable (we aren't
29428 deciding where fonts live, just looking for them).
29429
f527dbc8 294302008-06-26 Pavel Roskin <proski@gnu.org>
29431
6c2d8df6 29432 * util/biosdisk.c (read_device_map): Don't leave dead map
29433 entries for devices failing stat() check.
29434
f527dbc8 29435 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29436 core_path_dev for the core.img path on the target device.
29437
aebe3d13 294382008-06-26 Robert Millan <rmh@aybabtu.com>
29439
29440 * disk/fs_uuid.c: New file.
29441 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29442 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29443 (fs_uuid_mod_LDFLAGS): New variables.
29444 * include/grub/disk.h (grub_disk_dev_id): Add
29445 `GRUB_DISK_DEVICE_UUID_ID'.
29446 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29447 implement iterate().
29448
37aaf354 294492008-06-26 Robert Millan <rmh@aybabtu.com>
29450
29451 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29452 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29453 Linux image includes no initrd.
29454
25ff262a 294552008-06-21 Javier Martín <lordhabbit@gmail.com>
29456
29457 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29458 call to resolve the core image location that effectively appended the
29459 name twice.
29460
76a2bd44 294612008-06-21 Robert Millan <rmh@aybabtu.com>
29462
29463 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29464 call from here ...
29465
29466 * util/grub.d/10_hurd.in: ... to here ...
29467 * util/grub.d/10_linux.in: ... and here.
29468
650e1c79 294692008-06-19 Robert Millan <rmh@aybabtu.com>
29470
fe987087 29471 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 29472 after it has been set by grub_machine_set_prefix().
29473
6ce63911 294742008-06-19 Robert Millan <rmh@aybabtu.com>
29475
29476 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29477 search result when not saving to variable, not the other way around.
29478 When saving to variable, abort iteration as soon as a match is found.
29479
73940cec 294802008-06-19 Robert Millan <rmh@aybabtu.com>
29481
29482 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29483 check for partition that provides /boot/grub. Its logic is flawed,
29484 as it prevents prepare_grub_to_access_device() from being called
29485 multiple times.
29486
3c62a39d 294872008-06-19 Robert Millan <rmh@aybabtu.com>
29488
29489 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29490 "insmod" command directly when abstraction modules are needed,
fe987087 29491 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 29492 since it had already been processed).
29493
47395a42 294942008-06-19 Pavel Roskin <proski@gnu.org>
29495
29496 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29497 changed. This is needed in case GRUB_LIBDIR changes.
29498 * conf/i386-ieee1275.rmk: Likewise.
29499 * conf/i386-linuxbios.rmk: Likewise.
29500 * conf/i386-pc.rmk: Likewise.
29501 * conf/powerpc-ieee1275.rmk: Likewise.
29502
a145ac2d 295032008-06-18 Pavel Roskin <proski@gnu.org>
29504
29505 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29506 kernel_elf_symlist.c to symlist.c for consistency with other
29507 architectures. Update all users.
29508 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29509
7847c51e 295102008-06-18 Robert Millan <rmh@aybabtu.com>
29511
29512 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29513 it in prefix.
29514
29515 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29516 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29517 a RAID device, run setup() for all members independently on whether
29518 LVM abstraction is being used.
29519 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29520 If grub-mkimage has set `*install_dos_part == -2', don't override this
29521 value.
29522 Perform *install_dos_part adjustments independently on whether
29523 we're embedding or not.
29524 Clarify error message when image is too big for embedding.
29525 Remove duplicate *install_dos_part stanza.
29526
b23e5644 295272008-06-17 Robert Millan <rmh@aybabtu.com>
29528
29529 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29530 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29531 variables.
29532 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29533 values in grub_ofconsole_normal_color and
29534 grub_ofconsole_highlight_color (they're not directly related to
29535 background and foreground).
29536 (grub_ofconsole_setcolorstate): Extract background and foreground
29537 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29538
0aac2f79 295392008-06-17 Robert Millan <rmh@aybabtu.com>
29540
29541 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29542 /boot/grub for the check in last commit, not /boot (they could be
29543 different partitions).
29544
3cca7ef3 295452008-06-16 Robert Millan <rmh@aybabtu.com>
29546
29547 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29548 asked to setup access for the same partition that provides /boot,
29549 don't bother using UUIDs since our root already has the value we
29550 want.
29551
347396d8 295522008-06-16 Robert Millan <rmh@aybabtu.com>
29553
29554 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29555 I2O devices.
29556 Patch from Sven Mueller <sven@debian.org>.
29557
991477f8 295582008-06-16 Robert Millan <rmh@aybabtu.com>
29559
29560 * util/update-grub.in: Check for $EUID instead of $UID.
29561 Reported by Vincent Zweije.
29562
d31a32a1 295632008-06-16 Bean <bean123ch@gmail.com>
29564
fe987087 29565 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 29566 (grub_ext2_read_block): Likewise.
29567 (grub_ext2_read_inode): Likewise.
29568 (grub_ext2_mount): Likewise.
29569 (grub_ext2_close): Likewise.
29570 (grub_ext3_get_journal): Removed.
29571
fe987087 29572 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 29573 (grub_reiserfs_read_symlink): Likewise.
29574 (grub_reiserfs_mount): Likewise.
29575 (grub_reiserfs_open): Likewise.
29576 (grub_reiserfs_read): Likewise.
29577 (grub_reiserfs_close): Likewise.
29578 (grub_reiserfs_get_journal): Removed.
29579
29580 * fs/fshelp.c (grub_fshelp_read): Removed.
29581 (grub_fshelp_map_block): Likewise.
29582
29583 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29584 (grub_fshelp_journal): Likewise.
29585 (grub_fshelp_read): Likewise.
29586 (grub_fshelp_map_block): Likewise.
29587
3540a760 295882008-06-16 Pavel Roskin <proski@gnu.org>
29589
29590 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29591 floating point anymore.
29592 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29593
95614c84 295942008-06-15 Pavel Roskin <proski@gnu.org>
29595
29596 * commands/ls.c (grub_ls_list_files): Use integer calculations
29597 for human readable format, avoid floating point use.
29598 * kern/misc.c (grub_ftoa): Remove.
29599 (grub_vsprintf): Remove floating point support.
29600
50465dd6 296012008-06-15 Robert Millan <rmh@aybabtu.com>
29602
fe6b695a 29603 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 29604 devices.
29605 Reported by Max Vozeler.
29606
a9207284 296072008-06-15 Robert Millan <rmh@aybabtu.com>
29608
29609 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29610 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29611 skipped later.
29612 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29613 the beginning of the prefix.
29614
29615 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29616 It is assumed that if we have a memdisk, grub-mkimage has set
29617 grub_prefix to include the "(memdisk)" drive in it.
29618
a7cbd45a 296192008-06-15 Robert Millan <rmh@aybabtu.com>
29620
29621 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29622 Initialize keyboard controller after registering the terminal, so that
29623 grub_printf() can be called from grub_keyboard_controller_init().
29624
21cf716a 296252008-06-15 Robert Millan <rmh@aybabtu.com>
29626
29627 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29628 extent-btree which is written as big endian on disk.
29629 Reported by Alain Greppin <al@chilibi.org>.
29630
23a64d8e 296312008-06-14 Robert Millan <rmh@aybabtu.com>
29632
29633 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29634 * util/i386/pc/grub-install.in (modules): Likewise.
29635
d687651c 296362008-06-13 Pavel Roskin <proski@gnu.org>
29637
29638 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29639
dfe9ddd4 296402008-06-13 Bean <bean123ch@gmail.com>
29641
29642 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29643
29644 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29645
29646 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29647 to indicate sparse block.
29648
16ae7781 296492008-06-12 Pavel Roskin <proski@gnu.org>
29650
e6d1a308 29651 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29652 number, grub_fshelp_read() does it for us.
29653
16ae7781 29654 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29655 linear disk read with journal translation.
29656 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29657 * include/grub/fshelp.h: Declare grub_fshelp_read().
29658
40fd3a2b 296592008-06-09 Pavel Roskin <proski@gnu.org>
29660
29661 * fs/minix.c (grub_minix_mount): Handle error reading
29662 superblock.
29663
f5679726 296642008-06-08 Robert Millan <rmh@aybabtu.com>
29665
29666 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29667 don't append the RAID prefix afterwards.
29668 Reported by Clint Adams.
29669
ce525529 296702008-06-08 Robert Millan <rmh@aybabtu.com>
29671
29672 Based on description from Pavel:
29673 * kern/disk.c (grub_disk_check_range): Rename to ...
29674 (grub_disk_adjust_range): ... this. Add a comment explaining the
29675 tasks performed by this function.
29676
ad4936a0 296772008-06-08 Robert Millan <rmh@aybabtu.com>
29678
29679 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29680 `num_serial' (for consistency with other variables).
29681 (struct grub_ntfs_data): Add `uuid' member.
29682 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29683 (grub_ntfs_uuid): New function.
29684 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29685
dc20b0f9 296862008-06-07 Pavel Roskin <proski@gnu.org>
29687
29688 * util/biosdisk.c (open_device): Revert last change to the
29689 function, it broke installation. The sector needs to be
29690 different dependent on which device is opened.
29691
c5e3cfba 296922008-06-06 Robert Millan <rmh@aybabtu.com>
29693
29694 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29695 rest of GRUB, and breakage doesn't happen if its value were modified.
29696
29697 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29698 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29699 a constant (same value).
29700 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29701 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29702
26a1f8c4 297032008-06-06 Robert Millan <rmh@aybabtu.com>
29704
29705 * util/biosdisk.c (open_device): Do not modify sector offset when
29706 accessing a partition. kern/disk.c already handles this for us.
29707
25d6b327 297082008-06-06 Robert Millan <rmh@aybabtu.com>
29709
29710 * util/grub-emu.c (grub_machine_init): Move code in this function from
29711 here ...
29712 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29713 segfault in case grub_printf() is called).
29714
29715 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29716 grub_probe. Update all users not to explicitly add it again.
29717 (grub_device): New variable; contains corresponding device for grubdir.
29718 (fs_module, partmap_module, devabstraction_module): Pass
29719 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29720 every time.
29721
9ece62fb 297222008-06-05 Robert Millan <rmh@aybabtu.com>
29723
29724 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29725 is found, print it (same layout as with labels).
29726
1ad36d37 297272008-06-04 Robert Millan <rmh@aybabtu.com>
29728
29729 * util/biosdisk.c (get_drive): Rename to ...
29730 (find_grub_drive): ... this. Update all users.
29731
29732 (get_os_disk): Rename to ...
29733 (convert_system_partition_to_system_disk): ... this. Update all users.
29734
29735 (find_drive): Rename to ...
29736 (find_system_device): ... this. Update all users.
29737
e6a30859 297382008-06-04 Robert Millan <rmh@aybabtu.com>
29739
29740 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29741 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29742 (make_device_map): Likewise.
29743
00c108a4 297442008-06-01 Robert Millan <rmh@aybabtu.com>
29745
29746 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29747 before dereferencing it.
29748
29749 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29750 union with fat12/fat16-specific ones. Add some new fields, including
29751 `num_serial' for both versions.
29752 (struct grub_fat_data): Add `uuid' member.
29753 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29754 names. Initialize `data->uuid' using `num_serial'.
29755 (grub_fat_uuid): New function.
29756 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29757
29758 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29759 (grub_reiserfs_uuid): New function.
29760 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29761 member.
29762
29763 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29764 (grub_xfs_uuid): New function.
29765 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29766
1385c5bb 297672008-06-01 Robert Millan <rmh@aybabtu.com>
29768
29769 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29770 code that is backward compatible with pre-uuid search command.
29771
c682dfd7 297722008-05-31 Robert Millan <rmh@aybabtu.com>
29773
29774 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29775 floppies after everything else, to ensure floppy drive isn't accessed
29776 unnecessarily (patch from Bean).
29777
b7db5d47 297782008-05-31 Robert Millan <rmh@aybabtu.com>
29779
29780 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29781 not print device names when we were asked to set a variable.
29782
6e037aa9 297832008-05-31 Robert Millan <rmh@aybabtu.com>
29784
29785 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29786 using "cursor-on" and "cursor-off" commands (understood at least by
29787 the Open Firmware flavour on OLPC).
29788
41305bc8 297892008-05-31 Michael Gorven <michael@gorven.za.net>
29790
29791 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29792 on and off sequences.
29793
69ba137e 297942008-05-31 Robert Millan <rmh@aybabtu.com>
29795
29796 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29797 * util/update-grub.in: Likewise.
29798
520ae21b 297992008-05-30 Pavel Roskin <proski@gnu.org>
29800
29801 * util/biosdisk.c (linux_find_partition): Simplify logic and
29802 make the code more universal. Keep special processing for
29803 devfs, but use a simple rule for all other devices. If the
29804 device ends with a number, append 'p' and the partition number.
29805 Otherwise, append only the partition number.
29806
5786569b 298072008-05-30 Robert Millan <rmh@aybabtu.com>
29808
29809 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29810 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29811 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29812 the `root' parameter to Linux.
29813
51500452 298142008-05-30 Robert Millan <rmh@aybabtu.com>
29815
29816 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29817 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29818 --fs_uuid with --fs-uuid.
29819 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29820 all filesystems support them).
29821
811d3878 298222008-05-30 Robert Millan <rmh@aybabtu.com>
29823
29824 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 29825 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 29826
cab63c95 298272008-05-30 Robert Millan <rmh@aybabtu.com>
29828
29829 * util/grub.d/00_header.in: Remove obsolete comment referencing
29830 convert_system_path_to_grub_path().
29831 * util/update-grub.in: Likewise.
29832 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29833 (convert_system_path_to_grub_path): Add a warning message explaining
29834 that this function is deprecated. Rely on is_path_readable_by_grub()
29835 for the readability checks.
29836 (font_path): Use is_path_readable_by_grub() for the readability
29837 check rather than convert_system_path_to_grub_path().
29838
972e2f7a 298392008-05-30 Robert Millan <rmh@aybabtu.com>
29840
29841 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29842 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29843 converting it first.
29844 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29845 grub.cfg for access to font file, and afterwards call it again to set
29846 the root device.
29847
62191274 298482008-05-30 Robert Millan <rmh@aybabtu.com>
29849
29850 * commands/search.c (options): Add --fs_uuid option.
29851 (search_fs_uuid): New function.
29852 (grub_cmd_search): Fix --set argument passing.
29853 Use search_fs_uuid() when requested via --fs_uuid.
29854 (grub_search_init): Update help message.
29855 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29856 and redeclare it as an array of 16-bit words.
29857 (grub_ext2_uuid): New function.
29858 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29859 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29860 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29861 (GRUB_DEVICE_BOOT_UUID): New variables.
29862 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29863 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29864 whenever possible.
29865 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29866 just assume `root' variable has the right value.
29867 * util/grub.d/10_linux.in: Likewise.
29868 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29869 via PRINT_FS_UUID.
29870 (main): Recognise `-t fs_uuid' argument.
29871
01b73ec8 298722008-05-30 Robert Millan <rmh@aybabtu.com>
29873
29874 * util/biosdisk.c (map): Redefine structure to hold information
29875 about GRUB drive name.
fe6b695a 29876 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 29877 drive names.
29878 (call_hook): Remove.
29879 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29880 member. Assume drive has partitions.
29881 (grub_util_biosdisk_open): Access device names via `.device' struct
29882 member.
29883 (open_device): Likewise.
29884 (find_drive): Likewise.
29885 (read_device_map): Adjust map[] usage to match the new struct
29886 definition. Don't check for duplicates (still possible, but not cheap
29887 anymore).
29888 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
29889 (make_device_name): Remove assumption of BIOS-like drive names.
29890
22f16596 298912008-05-30 Pavel Roskin <proski@gnu.org>
29892
29893 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
29894 compiling execute.c doesn't need grub_script.tab.h anymore.
29895 (normal/command.c_DEPENDENCIES): Likewise.
29896 (normal/function.c_DEPENDENCIES): Likewise.
29897 * conf/i386-ieee1275.rmk: Likewise.
29898 * conf/i386-linuxbios.rmk: Likewise.
29899 * conf/i386-pc.rmk: Likewise.
29900 * conf/powerpc-ieee1275.rmk: Likewise.
29901 * conf/sparc64-ieee1275.rmk: Likewise.
29902
528ad8f2 299032008-05-29 Pavel Roskin <proski@gnu.org>
29904
d1dff95d 29905 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
29906 when scanning metadata for volume group name.
29907
528ad8f2 29908 * include/grub/script.h: Don't include grub_script.tab.h. It's
29909 a generated file, which may only be included from the files with
29910 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
29911 use union YYSTYPE, as the later allows forward declaration.
29912 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
29913
47248e08 299142008-05-29 Robert Millan <rmh@aybabtu.com>
29915
29916 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
29917 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
29918 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
29919 (grub_console_checkkey): Add grub_dprintf() call to report unknown
29920 scan codes.
29921
ee632529 299222008-05-29 Robert Millan <rmh@aybabtu.com>
29923
29924 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
29925 control key combinations.
29926
eee96e08 299272008-05-29 Robert Millan <rmh@aybabtu.com>
29928
29929 * util/powerpc/ieee1275/grub-install.in: Move from here ...
29930 * util/ieee1275/grub-install.in: ... to here.
29931 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
29932 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
29933 (grub_install_SOURCES): Likewise.
29934
da9a6a94 299352008-05-29 Robert Millan <rmh@aybabtu.com>
29936
29937 * fs/affs.c: Update copyright year.
29938 * fs/ext2.c: Likewise.
29939 * fs/fshelp.c: Likewise.
29940 * fs/hfsplus.c: Likewise.
29941 * fs/ntfs.c: Likewise.
29942 * fs/xfs.c: Likewise.
29943 * include/grub/fshelp.h: Likewise.
29944 * util/grub-mkdevicemap.c: Likewise.
29945
12e65f3a 299462008-05-28 Robert Millan <rmh@aybabtu.com>
29947
29948 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
29949 might need to be fatfs to support some firmware implementations
29950 (e.g. OFW or EFI).
29951
23023641 299522008-05-28 Robert Millan <rmh@aybabtu.com>
29953
29954 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
29955 devices.
29956 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29957 (make_device_map): Likewise.
29958
887d2619 299592008-05-20 Bean <bean123ch@gmail.com>
29960
29961 * fs/fshelp.c (grub_fshelp_map_block): New function.
29962 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
29963 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
29964
29965 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
29966 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
29967 (grub_fshelp_journal): New structure.
29968 (grub_fshelp_map_block): New function prototype.
29969 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
29970 (grub_fshelp_map_block): Likewise.
29971
29972 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
29973 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
29974 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
29975 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
29976 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
29977 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
29978 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
29979 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
29980 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
29981 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
29982 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
29983 (grub_ext2_sblock): New members for journal support.
29984 (grub_ext3_journal_header): New structure.
29985 (grub_ext3_journal_revoke_header): Likewise.
29986 (grub_ext3_journal_block_tag): Likewise.
29987 (grub_ext3_journal_sblock): Likewise.
29988 (grub_fshelp_node): New members logfile and journal.
29989 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
29990 grub_fshelp_map_block to get real block number.
29991 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
29992 number.
29993 (grub_ext2_read_inode): Likewise.
29994 (grub_ext3_get_journal): New function.
29995 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
29996 (grub_ext2_close): Release memory used by journal.
29997
29998 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
29999 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30000 (grub_reiserfs_transaction_header): Renamed to
30001 grub_reiserfs_description_block, replace field data with real_blocks.
30002 (grub_reiserfs_commit_block): New structure.
30003 (grub_reiserfs_data): New member journal.
30004 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30005 number.
30006 (grub_reiserfs_read_symlink): Likewise.
30007 (grub_reiserfs_iterate_dir): Likewise.
30008 (grub_reiserfs_open): Likewise.
30009 (grub_reiserfs_read): Likewise.
30010 (grub_reiserfs_get_journal): New function.
30011 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30012 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30013 using grub_reiserfs_get_journal.
30014 (grub_reiserfs_close): Release memory used by journal.
30015
30016 * fs/affs.c (grub_affs_read_block): Change block type to
30017 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30018
30019 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30020
30021 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30022
30023 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30024
30025 * fs/udf.c (grub_udf_read_block): Change block type to
30026 grub_disk_addr_t. Use type cast to avoid warning.
30027
30028 * fs/xfs.c (grub_xfs_read_block): Likewise.
30029
b7c6bed5 300302008-05-16 Christian Franke <franke@computer.org>
30031
30032 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30033 to ensure that break with ESC will always work.
30034 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30035 Remove ESC from keyboard queue.
30036
eedf167f 300372008-05-16 Christian Franke <franke@computer.org>
30038
30039 * util/biosdisk.c: [__CYGWIN__] Add includes.
30040 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30041 (get_os_disk): Move variable declarations to OS specific
30042 parts to avoid warning.
30043 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30044 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30045 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30046 Cygwin.
30047 * util/getroot.c: [__CYGWIN__] Add includes.
30048 (strip_extra_slashes): Fix "/" case.
30049 [__CYGWIN__] (get_win32_path): New function.
30050 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30051 [__CYGWIN__] (find_root_device): Disable.
30052 [__CYGWIN__] (get_bootsec_serial): New function.
30053 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30054 [__linux__] (grub_guess_root_device): Add early returns to simplify
30055 structure.
30056 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30057 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30058 check for Linux only.
30059
a079699e 300602008-05-15 Bean <bean123ch@gmail.com>
30061
30062 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30063 keyboard hang problem in apple's intel mac.
30064
1cf4059a 300652008-05-09 Robert Millan <rmh@aybabtu.com>
30066
30067 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30068 devices.
30069 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30070 (make_device_map): Likewise.
30071 Reported by Aurelien Jarno <aurel32@debian.org>
30072
ed759390 300732008-05-07 Ian Campbell <ijc@hellion.org.uk>
30074
30075 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30076 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30077 (make_device_map): Output entries for xvd type disks.
30078
b56c4eaa 300792008-05-07 Robert Millan <rmh@aybabtu.com>
30080
30081 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30082 devices.
30083 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30084 (make_device_map): Likewise.
30085 Reported by Roland Dreier <rdreier@cisco.com>
30086
7f8866ed 300872008-05-07 Robert Millan <rmh@aybabtu.com>
30088
30089 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30090 grub_strstr() call. Correct a few mistakes in failure path handling.
30091
b0346e0f 300922008-05-06 Robert Millan <rmh@aybabtu.com>
30093
30094 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30095 Do not print a trailing slash (therefore, the root directory is an
30096 empty string).
30097 (convert_system_path_to_grub_path): Do not remove trailing slash
30098 from make_system_path_relative_to_its_root() output.
30099
30100 * util/i386/pc/grub-install.in: Add trailing slash to output from
30101 make_system_path_relative_to_its_root().
30102
6cf12cbd 301032008-05-06 Robert Millan <rmh@aybabtu.com>
30104
30105 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30106 ensures that output lines aren't intermangled with those sent to
30107 stderr (via grub_util_info()).
30108 * util/grub-probe.c (grub_refresh): Likewise.
30109 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30110
0fbb3117 301112008-05-05 Christian Franke <franke@computer.org>
30112
30113 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30114 Add Cygwin device names.
30115 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30116 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30117 (check_device): Return error instead of success on empty name.
30118 (make_device_map): Move label inside linux specific code to
30119 prevent compiler warning.
30120
8124cdb7 301212008-04-30 Robert Millan <rmh@aybabtu.com>
30122
30123 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30124 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30125 first boot option.
30126 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30127
094c01d0 301282008-04-29 Robert Millan <rmh@aybabtu.com>
30129
30130 * docs/grub.cfg: New file (example GRUB configuration).
30131
f4b1fc02 301322008-04-26 Robert Millan <rmh@aybabtu.com>
30133
329ce2a5 30134 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30135 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30136 and `disk/ieee1275/nand.c'.
f4b1fc02 30137
25f16ec1 301382008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 30139
25f16ec1 30140 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30141 i386-linuxbios.
30142
30143 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30144 change the buffer size to 4096 for cdrom device.
30145
30146 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30147 and nand.mod.
30148 (_linux_mod_SOURCES): New variable.
30149 (_linux_mod_CFLAGS): Likewise.
30150 (_linux_mod_LDFLAGS): Likewise.
30151 (linux_mod_SOURCES): Likewise.
30152 (linux_mod_CFLAGS): Likewise.
30153 (linux_mod_LDFLAGS): Likewise.
30154 (nand_mod_SOURCES): Likewise.
30155 (nand_mod_CFLAGS): Likewise.
30156 (nand_mod_LDFLAGS): Likewise.
30157
30158 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30159 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30160 type property. (nand device in olpc don't have this property)
30161
30162 * include/grub/disk.h (grub_disk_dev_id): New macro
30163 GRUB_DISK_DEVICE_NAND_ID.
30164
30165 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30166 function prototype.
30167 (grub_rescue_cmd_initrd): Likewise.
30168
30169 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30170 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30171 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 30172
25f16ec1 30173 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30174 GRUB_MACHINE_IEEE1275 is defined.
30175
30176 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30177 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30178
30179 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30180 on nested function heap_init.
30181 (grub_upper_mem): New variable for i386-ieee1275.
30182 (grub_get_extended_memory): New function for i386-ieee1275.
30183 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30184
30185 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30186 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30187 property.
f19dbdb7 30188
25f16ec1 30189 * loader/i386/ieee1275/linux.c: New file.
30190
30191 * loader/i386/ieee1275/linux_normal.c: New file.
30192
30193 * disk/ieee1275/nand.c: New file.
30194
e89d61e9 301952008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30196
30197 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30198 value.
30199 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30200
602566f6 302012008-04-18 Robert Millan <rmh@aybabtu.com>
30202
30203 Restructures early code path on ieee1275 to unify grub_main() as
30204 the first C function that is executed in every platform.
30205
30206 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30207 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30208 cmain().
30209 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30210 * kern/ieee1275/cmain.c (cmain): Rename to ...
30211 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30212 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30213 at the beginning.
30214
57490c2b 302152008-04-18 Robert Millan <rmh@aybabtu.com>
30216
30217 * util/update-grub.in: Fix syntax error when setting
30218 `GRUB_PRELOAD_MODULES'.
30219 Reported by Stephane Chazelas <stephane@artesyncp.com>
30220
1977517d 302212008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30222
30223 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30224 section into account, newer toolchains generate unique build ids
30225 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 30226 we want build ids to be preserved
1977517d 30227 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30228 far from other sections don't cause the raw binary images grow
30229 size
30230
bfb1f1a2 302312008-04-15 Robert Millan <rmh@aybabtu.com>
30232
30233 * disk/lvm.c: Update copyright year.
30234 * kern/misc.c: Likewise.
30235
01979850 302362008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30237
30238 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 30239 there is no memory left for physical volume name.
01979850 30240
0a1150e2 302412008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30242
30243 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30244 volume name mapping to support bigger than 9 character names properly.
30245
82ead3fe 302462008-04-13 Robert Millan <rmh@aybabtu.com>
30247
30248 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30249 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30250
e54a72f5 302512008-04-13 Christian Franke <franke@computer.org>
30252
30253 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30254 to create a floppy emulation boot CD when non emulation mode
30255 does not work.
30256 Enable Joliet CD filesystem extension.
30257
9fe86034 302582008-04-13 Robert Millan <rmh@aybabtu.com>
30259
30260 * kern/misc.c (grub_strncat): Fix off-by-one error.
30261 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30262
30263 * kern/env.c (grub_env_context_close): Clear current context, not
30264 previous one.
30265 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30266
30267 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30268
7ceeee39 302692008-04-13 Robert Millan <rmh@aybabtu.com>
30270
30271 Improve robustness when handling LVM.
30272
30273 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 30274 (and leave `*p' unmodified).
7ceeee39 30275 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30276 through it.
30277 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30278 iterating through it.
30279 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30280 through it.
fe6b695a 30281 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 30282 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30283 Don't assume `vg->pvs != NULL' when iterating through it.
30284
58cd3d85 302852008-04-13 Robert Millan <rmh@aybabtu.com>
30286
30287 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30288 * genmk.rb (partmap): New variable.
30289 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30290 (#{partmap}): New target rule.
30291 * genpartmaplist.sh: New file.
30292 * Makefile.in (pkglib_DATA): Add partmap.lst.
30293 (partmap.lst): New target rule.
30294 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30295 modules (including all partition maps), instead of preloading them.
30296
78b51059 302972007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30298
30299 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30300 `linux-boot-prober' (if installed) to detect other operating
30301 systems which are installed on the computer and add them to
30302 the boot menu.
30303 * conf/common.rmk: Build and install 30_os-prober.
30304
a91627b4 303052008-04-12 Robert Millan <rmh@aybabtu.com>
30306
30307 * kern/powerpc/ieee1275/init.c: Move from here ...
30308 * kern/ieee1275/init.c: ... to here. Update all users.
30309
30310 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30311 * kern/ieee1275/cmain.c: ... to here. Update all users.
30312
30313 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30314 * kern/ieee1275/openfw.c: ... to here. Update all users.
30315
30316 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30317 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30318
322562ea 303192008-04-10 Pavel Roskin <proski@gnu.org>
30320
30321 * configure.ac: Always use "_cv_" in cache variables for
30322 compatibility with Autoconf 2.62.
30323
a02a73c5 303242008-04-07 Robert Millan <rmh@aybabtu.com>
30325
30326 Revert grub/machine/init.h addition by Pavel (since it breaks on
30327 i386-ieee1275 and others):
30328 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30329 * util/powerpc/ieee1275/misc.c: Likewise.
30330
25c024b1 303312008-04-07 Robert Millan <rmh@aybabtu.com>
30332
30333 * util/grub-probe.c (probe): Improve error message.
30334
3cbd2f98 303352008-04-07 Robert Millan <rmh@aybabtu.com>
30336
30337 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30338 (this prevents the presence of a bogus entry from ruining the whole
30339 thing).
30340
87a297bf 303412008-04-06 Pavel Roskin <proski@gnu.org>
30342
36747a62 30343 * util/biosdisk.c: Include grub/util/biosdisk.h.
30344 * util/grub-fstest.c (execute_command): Make static.
30345 * util/grub-mkdevicemap.c (check_device): Likewise.
30346 * util/i386/pc/misc.c: Include grub/machine/init.h.
30347 * util/powerpc/ieee1275/misc.c: Likewise.
30348 * util/lvm.c: Include grub/util/lvm.h.
30349 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30350 grub/cache.h.
30351 * util/raid.c: Include grub/util/raid.h.
30352 (grub_util_getdiskname): Make static.
30353
87a297bf 30354 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30355 grub_hostfs_fini(), as they are called from grub_init_all() and
30356 grub_fini_all() respectively. This fixes an infinite loop in
30357 grub-fstest due to double registration of hostfs.
30358 Reported by Christian Franke <Christian.Franke@t-online.de>
30359
f6ce7629 303602008-04-05 Pavel Roskin <proski@gnu.org>
30361
30362 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30363 all 8 functions. Otherwise, probe function 0 only.
30364
070e49e4 303652008-04-04 Pavel Roskin <proski@gnu.org>
30366
8b088a4c 30367 * commands/lspci.c (grub_lspci_iter): Print the bus number
30368 correctly.
30369
4f657021 30370 * commands/lspci.c (grub_pci_classes): Fix typos.
30371 (grub_lspci_iter): Don't print func twice. Print vendor ID
30372 before device ID, as it's normally done.
30373
070e49e4 30374 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30375 Fix signedness warnings.
30376 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30377 Likewise.
30378 * util/ieee1275/get_disk_name.c: Include config.h so that
30379 _GNU_SOURCE is defined and getline() is declared. Mark an
30380 unused argument as such. Fix a signedness warning.
30381
ba7328dc 303822008-04-02 Pavel Roskin <proski@gnu.org>
30383
26887f22 30384 * genkernsyms.sh.in: Use more robust assignments for CC and
30385 srcdir. Quote srcdir.
30386 * gensymlist.sh.in: Likewise. Assert at the compile time that
30387 the symbol table is not empty.
30388
ba7328dc 30389 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30390 * fs/cpio.c (grub_cpio_read): Likewise.
30391
0f582c6b 303922008-04-01 Pavel Roskin <proski@gnu.org>
30393
4b6e1995 30394 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30395 * disk/host.c (grub_host_open): Likewise.
30396 * disk/loopback.c (grub_loopback_open): Likewise.
30397 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30398 disk->id as in disk/host.c, not a multi-character constant.
30399
828a2768 30400 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30401 later is obsolete, potentially dangerous and sets a bad example.
30402 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30403 * util/misc.c (grub_util_get_image_size): Likewise.
30404
2bb4fb47 30405 * disk/loopback.c (options): Improve help for "--partitions".
30406
0f582c6b 30407 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30408 options to align them with the short options, e.g. "echo -e".
30409
a33224e0 304102008-03-31 Bean <bean123ch@gmail.com>
30411
30412 * video/reader/png.c (grub_png_data): New member is_16bit and
30413 image_data.
30414 (grub_png_decode_image_header): Detect 16 bit png image.
30415 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30416 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30417 (grub_video_reader_png): Release memory occupied by image_data.
30418
30419 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30420 4096 bytes.
30421 (grub_nfs_mount): Skip the test for sector per cluster.
30422
30423 * include/grub/ntfs.h (MAX_SPC): Removed.
30424
86cb4f54 304252008-03-31 Bean <bean123ch@gmail.com>
30426
30427 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30428 (grub_probe_SOURCES): Add fs/afs.c.
30429 (grub_fstest_SOURCES): Likewise.
30430 (afs_mod_SOURCES): New variable.
30431 (afs_mod_CFLAGS): Likewise.
30432 (afs_mod_LDFLAGS): Likewise.
30433
30434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30435 (grub_emu_SOURCES): Likewise.
30436
30437 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30438
30439 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30440
30441 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30442
30443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30444
30445 * fs/afs.c: New file.
30446
17c74c21 304472008-03-30 Pavel Roskin <proski@gnu.org>
30448
4cb68e89 30449 * disk/host.c: Include grub/misc.h to fix a warning.
30450 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30451 warnings about implicit declarations.
30452
8790bb04 30453 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30454 variable.
30455 * include/grub/i386/loader.h: Change declaration of
30456 grub_linux_boot() to match what grub_loader_set() expects.
30457 * util/getroot.c (grub_guess_root_device): Return const char* to
30458 fix a warning.
30459 * util/grub-probe.c (probe): Fix a warning about uninitialized
30460 abstraction_name variable.
30461 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30462 second argument as unused to fix a warning.
30463
9a3f3296 30464 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30465 missing grub_error() call.
30466
0ecef90d 30467 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30468 2.60 and newer uses it to define datadir.
30469
0bf6d401 30470 * commands/sleep.c: Fix warning about implicit declaration.
30471 * disk/memdisk.c: Likewise.
30472 * loader/aout.c: Likewise.
30473 * loader/i386/bsd_normal.c: Likewise.
30474 * util/grub-probe.c: Likewise.
30475
7cdacf97 30476 * commands/i386/cpuid.c (has_longmode): Make static.
30477 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30478 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30479
17c74c21 30480 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30481 GDT. This is more robust, as %ds can change.
30482 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30483 calling real_to_prot().
30484 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30485
80a3e68b 304862008-03-28 Pavel Roskin <proski@gnu.org>
30487
30488 * kern/i386/pc/startup.S: Assert that uncompressed functions
30489 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30490 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30491 code, as they push parts of the code (error handlers) beyond
30492 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30493 code as correctness and size.
30494
77bcd272 304952008-03-28 Pavel Roskin <proski@gnu.org>
30496
30497 * kern/i386/pc/startup.S
30498 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30499 data block address to the real mode, keep offset minimal. This
30500 works around a bug in AWARD BIOS on old Athlon systems, which
30501 makes CD detection hang.
30502
c5dfd43b 305032008-03-26 Pavel Roskin <proski@gnu.org>
30504
30505 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30506 const.
30507 * include/grub/normal.h: Add grub_parse_color_name_pair()
30508 declaration.
30509
bf962df2 305102008-03-24 Bean <bean123ch@gmail.com>
30511
30512 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30513 (cd_count): Removed.
30514 (cd_drive): New variable.
30515 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30516 (grub_biosdisk_call_hook): Likewise.
30517 (grub_biosdisk_iterate): Change cdrom detection method.
30518 (grub_biosdisk_open): Replace cd_start with cd_drive.
30519 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30520 detect cdrom device.
30521
30522 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30523 Removed.
30524 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30525 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30526 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30527 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30528 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30529 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30530 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30531 (grub_biosdisk_cdrp): New structure.
30532 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30533
30534 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30535
30536 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30537 device.
30538
30539 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30540 New function.
30541
68e7fc7a 305422008-03-20 Robert Millan <rmh@aybabtu.com>
30543
30544 Remove 2 TiB limit in ata.mod.
30545 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30546 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30547 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30548 grub_uint64_t instead of grub_uint32_t.
30549
38ad2cf5 305502008-03-05 Bean <bean123ch@gmail.com>
30551
30552 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30553 (grub_multiboot): Set boot device.
30554
30555 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30556
2b89344e 305572008-03-02 Bean <bean123ch@gmail.com>
30558
30559 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30560 symlink_buffer.
30561
87a95d1f 305622008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30563
30564 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30565 texinfo.tex.
30566
30567 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30568 modified.
30569
30570 * docs/fdl.texi: New file.
f19dbdb7 30571
87a95d1f 30572 * docs/mdate-sh: New file. Copied from gnulib.
30573 * docs/texinfo.tex: Likewise.
30574
30575 * config.guess: Updated from gnulib.
30576 * install-sh: Likewise.
30577
7dc15d8e 305782008-02-28 Robert Millan <rmh@aybabtu.com>
30579
30580 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30581 (aout_mod_SOURCES): New variable.
30582 (aout_mod_CFLAGS): Likewise.
30583 (aout_mod_LDFLAGS): Likewise.
30584
30585 * conf/i386-ieee1275.rmk: Likewise.
30586
b00ab696 305872008-02-28 Robert Millan <rmh@aybabtu.com>
30588
30589 * util/update-grub.in: Reorganise terminal validity check. Accept
30590 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30591 Based on suggestion by Franklin PIAT.
30592
79ca2d78 305932008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30594
30595 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30596 function.
30597 * util/getroot.c (grub_util_check_block_device): New function that
30598 returns the given argument if it is a block device and returns NULL else.
30599 * util/grub-probe.c (argument_is_device): New variable.
30600 (probe): Promote device_name from a variable to an argument. Receive
30601 device_name from grub_util_check_block_device() if path is NULL and from
30602 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 30603 (options): Introduce new parameter '-d, --device'.
79ca2d78 30604 (main): Add description of the new parameter to the help screen.
30605 Rename path variable to argument. Set argument_is_device if the '-d'
30606 option is given. Pass argument to probe() depending on
30607 argument_is_device.
30608
0d16e571 306092008-02-24 Bean <bean123ch@gmail.com>
30610
30611 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30612 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30613 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30614 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30615 (GRUB_ISO9660_VOLDESC_END): Likewise.
30616 (grub_iso9660_primary_voldesc): New member escape.
30617 (grub_iso9660_data): New member joliet.
30618 (grub_iso9660_convert_string): New function.
30619 (grub_iso9660_mount): Detect joliet extension.
30620 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30621 (grub_iso9660_iso9660_label): Likewise.
30622
30623 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30624 (grub_setup_SOURCES): Add fs/udf.c.
30625 (grub_fstest_SOURCES): Likewise.
30626 (udf_mod_SOURCES): New variable.
30627 (udf_mod_CFLAGS): Likewise.
30628 (udf_mod_LDFLAGS): Likewise.
30629
30630 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30631 (grub_emu_SOURCES): Likewise.
30632
30633 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30634
30635 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30636
30637 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30638
30639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30640
30641 * fs/udf.c: New file.
30642
8a594a17 306432008-02-24 Robert Millan <rmh@aybabtu.com>
30644
30645 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30646 (normal/lexer.c_DEPENDENCIES): New variables.
30647 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30648 (normal/lexer.c_DEPENDENCIES): Likewise.
30649 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30650 (normal/lexer.c_DEPENDENCIES): Likewise.
30651 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30652 (normal/lexer.c_DEPENDENCIES): Likewise.
30653 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30654 (normal/lexer.c_DEPENDENCIES): Likewise.
30655 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30656 (normal/lexer.c_DEPENDENCIES): Likewise.
30657
2dc33c03 306582008-02-23 Robert Millan <rmh@aybabtu.com>
30659
30660 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30661 since they were intended to be in hex. This didn't break previously
30662 because of a bug in gpt_partition_map_iterate() (see below).
30663
30664 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30665 when checking the validity of GPT header.
30666 Remove `partno', since it always provides the same information as `i'.
30667
f6f4cfb0 306682008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30669
30670 * include/grub/efi/time.h: Fix a wrong comment.
30671
79ff665f 306722008-02-19 Pavel Roskin <proski@gnu.org>
30673
30674 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30675 message.
30676
d38e24c2 306772008-02-19 Bean <bean123ch@gmail.com>
30678
30679 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30680 (aout_mod_SOURCES): New variable.
30681 (aout_mod_CFLAGS): Likewise.
30682 (aout_mod_LDFLAGS): Likewise.
30683 (_bsd_mod_SOURCES): New variable.
30684 (_bsd_mod_CFLAGS): Likewise.
30685 (_bsd_mod_LDFLAGS): Likewise.
30686 (bsd_mod_SOURCES): New variable.
30687 (bsd_mod_CFLAGS): Likewise.
30688 (bsd_mod_LDFLAGS): Likewise.
30689
30690 * include/grub/aout.h: New file.
30691
30692 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30693
30694 * include/grub/i386/bsd.h: New file.
30695
30696 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30697 to make it public.
30698
30699 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30700 function is called, so that it's possible to change it inside the hook.
30701 (grub_elf64_load): Likewise.
30702 (grub_elf_file): Don't close the file if elf header is not found.
30703 (grub_elf_close): Close the file if grub_elf_file fails (The new
30704 grub_elf_file won't close it).
30705 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30706 (grub_elf64_size): Likewise.
30707
30708 * kern/i386/loader.S (grub_unix_real_boot): New function.
30709
30710 * loader/aout.c: New file.
30711
30712 * loader/i386/bsd.c: New file.
30713
30714 * loader/i386/bsd_normal.c: New file.
30715
30716 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30717
30718 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 30719 can test other formats.
d38e24c2 30720
b93bdb0f 307212008-02-19 Robert Millan <rmh@aybabtu.com>
30722
30723 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30724 (grub_gpt_partition_type_empty): Redefine with macro from
30725 `<grub/gpt_partition.h>'.
30726 (gpt_partition_map_iterate): Adjust partition type comparison.
30727
30728 Export `entry' as partmap-specific `part.data' struct.
30729 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30730
30731 * include/grub/gpt_partition.h (grub_gpt_header)
30732 (grub_gpt_partentry): ... to here (new file).
30733
30734 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30735
30736 (grub_gpt_partition_type_bios_boot): New const variable, defined
30737 with macro from `<grub/gpt_partition.h>'.
30738
30739 (setup): Replace `first_start' with `embed_region', which keeps
30740 track of the embed region (and is partmap-agnostic).
30741
30742 Replace find_first_partition_start() with find_usable_region(),
30743 which finds a usable region for embedding using partmap-specific
30744 knowledge (supports PC/MSDOS and GPT).
30745
30746 Fix all assumptions that the embed region start at sector 1, using
30747 `embed_region.start' from now on. Similarly, use `embed_region.end'
30748 rather than `first_start' to calculate available size.
30749
30750 In grub_util_info() message, replace "into after the MBR" with an
30751 indication of the specific sector our embed region starts at.
30752
66cb40f6 307532008-02-19 Robert Millan <rmh@aybabtu.com>
30754
30755 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30756 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30757 `commands/reboot.c'.
30758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30759 (halt_mod_SOURCES): Likewise.
30760 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30761 (halt_mod_SOURCES): Likewise.
30762
b7202015 307632008-02-17 Christian Franke <franke@computer.org>
30764
30765 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30766
32b0fc49 307672008-02-17 Robert Millan <rmh@aybabtu.com>
30768
30769 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30770 set `first_start' to 0 for non-PC/MSDOS partition maps.
30771
aca63502 307722008-02-16 Robert Millan <rmh@aybabtu.com>
30773
30774 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30775 do not assume partition map is PC/MSDOS before performing checks that
30776 are specific to that layout.
30777
0de8be86 307782008-02-13 Robert Millan <rmh@aybabtu.com>
30779
30780 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30781 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30782 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30783
c3db8364 307842008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30785
30786 * configure.ac: Only a cosmetic change on the handling of
30787 -fno-stack-protector.
30788
f714229e 307892008-02-12 Alexandre Boeglin <alex@boeglin.org>
30790
c3db8364 30791 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30792 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30793 reboot.c.
f714229e 30794 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30795 (halt_mod_SOURCES): New variable.
30796 (halt_mod_CFLAGS): Likewise.
30797 (halt_mod_LDFLAGS): Likewise.
30798 (reboot_mod_SOURCES): Likewise.
30799 (reboot_mod_CFLAGS): Likewise.
30800 (reboot_mod_LDFLAGS): Likewise.
30801
c3db8364 30802 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30803 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30804 reboot.c.
f714229e 30805 (halt_mod_SOURCES): Likewise.
30806 (reboot_mod_SOURCES): Likewise.
30807
c3db8364 30808 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30809 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 30810 (reboot_mod_SOURCES): Likewise.
30811
30812 * commands/i386/pc/reboot.c: merge this file ...
30813
30814 * commands/ieee1275/reboot.c: ... and this file ...
30815
30816 * commands/reboot.c: ... to this file.
c3db8364 30817 Add some precompiler directive to include the correct header for
30818 each machine.
f714229e 30819
30820 * commands/ieee1275/halt.c: move this file ...
30821
30822 * commands/halt.c: ... to here.
c3db8364 30823 Add some precompiler directive to include the correct header for
30824 each machine.
f714229e 30825
30826 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30827 (grub_halt): Likewise.
30828
30829 * kern/efi/efi.c (grub_reboot): New function.
30830 (grub_halt): Likewise.
30831
c74493e0 308322008-02-12 Robert Millan <rmh@aybabtu.com>
30833
30834 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30835 /dev (like it is done for /dev/mapper). This doesn't provide support
30836 for EVMS, but at least it is now easy to identify the problem when it
30837 arises.
30838
d0db4b04 308392008-02-11 Robert Millan <rmh@aybabtu.com>
30840
30841 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30842 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30843 comparing it with -1, not 0.
30844
bf748642 308452008-02-10 Robert Millan <rmh@aybabtu.com>
30846
30847 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30848 `disk/lvm.c'.
30849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30850 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30851
30852 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30853 `disk/lvm.c' to the end of the list.
30854 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30855 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30856
b5db202a 308572008-02-10 Robert Millan <rmh@aybabtu.com>
30858
30859 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30860 grub_print_error() instead. This will let user know why we're entering
30861 rescue mode.
30862 Based on suggestions from Sam Morris.
30863
83abee31 308642008-02-10 Alexandre Boeglin <alex@boeglin.org>
30865
30866 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30867 on remaining N args, instead of "--" arg N times.
30868
78d5a08b 308692008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30870
30871 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30872 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30873 pattern for unknown glyphs.
30874
68807e5f 308752008-02-09 Robert Millan <rmh@aybabtu.com>
30876
30877 * configure.ac: Probe for `help2man'.
30878 * Makefile.in (builddir): New variable.
30879 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30880 or otherwise add a few flags/options to it.
30881 (install-local): For every executable utility or script that is
30882 installed, invoke $(HELP2MAN) to install a manpage based on --help
30883 output.
30884
30885 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
30886 that it doesn't prevent --help from working in build tree.
30887
30888 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
30889 with `bug-grub@gnu.org'.
30890 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
30891 * util/update-grub.in (usage): New function.
30892 Implement proper argument check, with support for --help and --version
30893 (as well as existing -y).
30894
308952008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 30896
30897 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
30898 avoid overwriting previous output.
30899 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
30900
c1962162 309012008-02-09 Robert Millan <rmh@aybabtu.com>
30902
30903 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
30904 drawing the menu.
30905
3dac2e3f 309062008-02-09 Robert Millan <rmh@aybabtu.com>
30907
30908 * commands/sleep.c: New file.
30909 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
30910 (sleep_mod_SOURCES): New variable.
30911 (sleep_mod_CFLAGS): Likewise.
30912 (sleep_mod_LDFLAGS): Likewise.
30913
7a634e08 309142008-02-09 Robert Millan <rmh@aybabtu.com>
30915
30916 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
30917 situations in which we can deduce the RAID size and the superblock
30918 doesn't match it.
30919
b92f0c18 309202008-02-09 Robert Millan <rmh@aybabtu.com>
30921
30922 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
30923 and return a grub_diskmemberlist_t composed of LVM physical volumes.
30924 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
30925
30926 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
30927 and return a grub_diskmemberlist_t composed of physical array members.
30928 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
30929
30930 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
30931 prototype.
30932 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
30933 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
30934 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
30935
30936 * util/grub-probe.c (probe): Move partmap probing code from here ...
30937 (probe_partmap): ... to here.
30938 (probe): Use probe_partmap() once for the disk we're probing, and
30939 additionally, when such disk contains a memberlist() struct member,
30940 once for each disk that is contained in the structure returned by
30941 memberlist().
30942
91a4bf68 309432008-02-09 Robert Millan <rmh@aybabtu.com>
30944
30945 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
30946 environment variable to 'all' in order to obtain debug output from
30947 non-util/ code.
30948 * util/i386/pc/grub-setup.c (main): Likewise.
30949
a96f9caa 309502008-02-08 Robert Millan <rmh@aybabtu.com>
30951
30952 * disk/raid.c (grub_raid_scan_device): Check for
30953 `array->device[sb.this_disk.number]' rather than for
30954 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 30955 guaranteed to be accessible.
a96f9caa 30956
b37a9222 309572008-02-08 Robert Millan <rmh@aybabtu.com>
30958
30959 * disk/raid.c: Update copyright.
30960 * fs/cpio.c: Likewise.
30961 * include/grub/raid.h: Likewise.
30962 * loader/i386/pc/multiboot.c: Likewise.
30963 * util/hostfs.c: Likewise.
30964
5626aee1 309652008-02-08 Robert Millan <rmh@aybabtu.com>
30966
30967 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
30968 to a grub_disk_t array.
30969 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
30970 `device[x]'.
30971 (grub_raid_scan_device): Replace `device[x].name' accesses with
30972 `device[x]->name'. Simplify initialization of `array->device[x]'.
30973
554f0187 309742008-02-08 Robert Millan <rmh@aybabtu.com>
30975
30976 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
30977 grub_dprintf() calls.
30978 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
30979 error message.
30980
1ec8425d 309812008-02-07 Christian Franke <franke@computer.org>
30982
30983 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
30984 instead of fseek and ftell to support large files.
30985 (grub_hostfs_read): Likewise.
30986
f2156fda 309872008-02-07 Robert Millan <rmh@aybabtu.com>
30988
30989 Patch from Jeroen Dekkers.
30990 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 30991 failure, since successfully reading all array members might not be
f2156fda 30992 required.
30993
9216e0e7 309942008-02-06 Robert Millan <rmh@aybabtu.com>
30995
30996 * util/grub-probe.c (probe): Simplify partmap probing (with the
30997 assumption that the first word up to the underscore equals to
30998 the module name).
30999
b0dfd29a 310002008-02-06 Christian Franke <franke@computer.org>
31001
31002 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31003 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31004 last block of a cpio or tar stream.
31005 Check for "TRAILER!!!" instead of any empty data
31006 block to detect last block of a cpio stream.
31007 (grub_cpio_dir): Fix constness of variable np.
31008 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31009 cpio or tar trailer is detected. This fixes a crash
31010 on open of a non existing file.
31011
c32865bf 310122008-02-05 Bean <bean123ch@gmail.com>
31013
31014 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31015 address of entry.
31016 (grub_multiboot_load_elf64): Likewise.
31017 (grub_multiboot): Initialize mbi structure.
31018
31019 * util/grub-fstest.c: Don't include unused header file script.h.
31020
fe6b695a 31021 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 31022 of file.
31023 (grub_fstest_SOURCES): Likewise.
31024
409480b7 310252008-02-05 Robert Millan <rmh@aybabtu.com>
31026
31027 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31028 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31029 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31030 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31031
31032 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31033 (translation_table): Replace hardcoded values with macros
31034 provided by `<grub/term.h>'.
31035
31036 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31037 (keyboard_map): Correct/add a few values, with macros provided
31038 by `<grub/term.h>'.
31039 (keyboard_map_shift): Zero values that don't differ from their
31040 `keyboard_map' equivalents.
31041 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31042 Discard the second scan code that is always sent by Caps lock.
31043 Only use `keyboard_map_shift' when it provides a non-zero value,
31044 otherwise fallback to `keyboard_map'.
31045
99fadbaa 310462008-02-04 Bean <bean123ch@gmail.com>
31047
31048 * Makefile.in (enable_grub_fstest): New variable.
31049
31050 * conf/common.rmk (grub_fstest_init.lst): New rule.
31051 (grub_fstest_init.h): Likewise.
31052 (grub_fstest_init.c): Likewise.
31053 (util/grub-fstest.c_DEPENDENCIES): New variable.
31054 (grub_fstest_SOURCES): Likewise.
31055
31056 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31057
31058 * util/grub-fstest.c: New file.
31059
bf567c50 310602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31061
31062 Make grub-setup handle a separate root device.
f19dbdb7 31063
bf567c50 31064 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31065 so that the root device can be compared with the destination
31066 device.
31067 When embedding the core image, if the root and destination devices
31068 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31069 0xFF.
31070 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 31071
9be6b98b 310722008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31073
31074 Add support for having a grub directory in a different drive. This
31075 is still only the data handling part.
f19dbdb7 31076
9be6b98b 31077 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31078 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31079 (grub_root_drive): New variable.
31080
31081 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31082 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31083 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31084 as it was.
31085
31086 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31087
31088 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31089 macro.
31090 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31091
31092 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31093 is bogus, because PXE booting does not specify any drive
31094 correctly.
31095
31096 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31097 am not sure if this is really correct.
31098
31099 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31100 is always identical to the boot drive when booting from a CD.
31101
31102 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31103 longer.
31104 (root_drive): New variable.
31105 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31106 (setup_sectors): Push %dx right after popping it, because %dh will
31107 be modified later.
31108 (copy_buffer): Restore %dx.
31109
e0ca0677 311102008-02-03 Robert Millan <rmh@aybabtu.com>
31111
31112 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31113 use `cdboot.img' for cdrom images.
31114
3b3f6629 311152008-02-03 Robert Millan <rmh@aybabtu.com>
31116
31117 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31118 only setup gfxterm when `font' command has succeeded.
31119
d42b3672 311202008-02-03 Robert Millan <rmh@aybabtu.com>
31121
31122 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31123 (grub_rescue_cmd_multiboot_loader)
31124 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31125
fa370ea6 311262008-02-03 Pavel Roskin <proski@gnu.org>
31127
e0c5dacb 31128 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 31129 %edx and %esi from stack only after grub_gate_a20() is called.
31130 grub_gate_a20() clobbers %edx.
31131
f2a76e1d 311322008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31133
31134 * configure.ac (AC_INIT): Bumped to 1.96.
31135
31136 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31137 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31138 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31139 video/readers/png.c.
31140
90fd32d1 311412008-02-03 Bean <bean123ch@gmail.com>
9be665dd 31142
31143 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31144 (cdboot_img_SOURCES): New variable.
31145 (cdboot_img_ASFLAGS): New variable.
31146 (cdboot_img_LDFLAGS): New variable.
31147
31148 * boot/i386/pc/cdboot.S: New file.
31149
31150 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31151 (cd_count): Likewise.
31152 (grub_biosdisk_get_drive): Add support for cd device.
31153 (grub_biosdisk_call_hook): Likewise.
31154 (grub_biosdisk_iterate): Likewise.
31155 (grub_biosdisk_open): Likewise.
31156 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31157 (grub_biosdisk_rw): Support reading from cd device.
31158 (GRUB_MOD_INIT): Iterate cd devices.
31159
31160 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31161 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31162 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31163
31164 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31165
4020aa53 311662008-02-02 Robert Millan <rmh@aybabtu.com>
31167
31168 * commands/read.c: New file.
31169 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31170 (read_mod_SOURCES): New variable.
31171 (read_mod_CFLAGS): Likewise.
31172 (read_mod_LDFLAGS): Likewise.
31173
e03a1132 311742008-02-02 Robert Millan <rmh@aybabtu.com>
31175
31176 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31177 determining whether menu has to be displayed.
31178
58c69220 311792008-02-02 Marco Gerards <marco@gnu.org>
31180
31181 * bus/pci.c: New file.
31182
31183 * include/grub/pci.h: Likewise.
31184
31185 * include/grub/i386/pc/pci.h: Likewise.
31186
31187 * commands/lspci.c: Likewise.
31188
31189 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31190 `lspci.mod'.
31191 (pci_mod_SOURCES): New variable.
31192 (pci_mod_CFLAGS): Likewise.
31193 (pci_mod_LDFLAGS): Likewise.
31194 (lspci_mod_SOURCES): Likewise.
31195 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 31196 (lspci_mod_LDFLAGS): Likewise.
58c69220 31197
c004e1b4 311982008-02-02 Bean <bean123ch@gmail.com>
31199
31200 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31201 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31202
31203 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31204 (grub_xfs_btree_node): New structure.
31205 (grub_xfs_btree_root): New structure.
31206 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31207 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31208 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31209 (GRUB_XFS_EXTENT_SIZE): Likewise.
31210 (grub_xfs_read_block): Support btree format type.
31211 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31212 Use directory block as basic unit.
31213
31214 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31215
31216 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31217 __attribute__ ((__regparm__ (1))).
31218
f95562bf 312192008-02-01 Robert Millan <rmh@aybabtu.com>
31220
31221 Correct a mistake in previous commit.
31222
31223 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31224 top.
31225 (normal/command.c_DEPENDENCIES): New variable.
31226
7d31f41f 312272008-02-01 Robert Millan <rmh@aybabtu.com>
31228
31229 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31230 top.
31231 (normal/command.c_DEPENDENCIES): New variable.
31232 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31233 * conf/i386-ieee1275.rmk: Likewise.
31234 * conf/i386-linuxbios.rmk: Likewise.
31235 * conf/i386-pc.rmk: Likewise.
31236 * conf/sparc64-ieee1275.rmk: Likewise.
31237 * conf/powerpc-ieee1275.rmk: Likewise.
31238 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31239
31240 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31241
60b6be74 312422008-02-01 Robert Millan <rmh@aybabtu.com>
31243
31244 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31245 call at beginning of function.
31246
078522ab 312472008-01-31 Pavel Roskin <proski@gnu.org>
31248
31249 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 31250 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31251 (grub_mkrescue_SOURCES): Likewise.
078522ab 31252 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31253
ccaa8a5f 312542008-01-30 Robert Millan <rmh@aybabtu.com>
31255
31256 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31257 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31258 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31259 (grub_probe_SOURCES): ... to here.
31260
31261 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31262 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31263 * conf/i386-ieee1275.rmk: Likewise.
31264 * conf/i386-linuxbios.rmk: Likewise.
31265 * conf/powerpc-ieee1275.rmk: Likewise.
31266
ae5a9cd7 312672008-01-30 Tristan Gingold <gingold@free.fr>
31268
31269 * kern/rescue.c: Silently accept empty lines.
31270
70bc2ef2 312712008-01-29 Bean <bean123ch@gmail.com>
31272
31273 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31274 (real_code_2): Code cleanup and change comment style.
31275 (move_memory): Avoid using 32-bit address mode.
31276
6a4d50ea 312772008-01-29 Bean <bean123ch@gmail.com>
31278
31279 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31280 (png_mod_SOURCES): New variable.
31281 (png_mod_CFLAGS): Likewise.
31282 (png_mod_LDFLAGS): Likewise.
31283
31284 * video/readers/png.c: New file.
31285
11cc30ac 312862008-01-28 Robert Millan <rmh@aybabtu.com>
31287
31288 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31289 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31290 `ifndef GRUB_MOD_GAP' hack.
31291 * util/elf/grub-mkimage.c (add_segments): Likewise.
31292
3abc589f 312932008-01-27 Robert Millan <rmh@aybabtu.com>
31294
31295 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31296 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 31297 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 31298
e1907778 312992008-01-27 Robert Millan <rmh@aybabtu.com>
31300
31301 Get grub-emu to build again (including parallel builds).
31302
31303 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31304 Split into ...
31305 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31306 (normal/execute.c_DEPENDENCIES): ... this, ...
31307 (grub-emu_DEPENDENCIES): ... and this.
31308
31309 * conf/i386-efi.rmk: Likewise.
31310 * conf/i386-linuxbios.rmk: Likewise.
31311 * conf/i386-ieee1275.rmk: Likewise.
31312 * conf/powerpc-ieee1275.rmk: Likewise.
31313 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31314
2216b101 313152008-01-27 Robert Millan <rmh@aybabtu.com>
31316
31317 * NEWS: Add a few items.
31318
f75172d9 313192008-01-27 Robert Millan <rmh@aybabtu.com>
31320
31321 Fix parallel builds with grub-emu. Based on earlier commit for
31322 grub-probe and grub-setup.
31323
31324 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31325 (util/grub-emu.c_DEPENDENCIES): ... this.
31326 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31327 (util/grub-emu.c_DEPENDENCIES): ... this.
31328 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31329 (util/grub-emu.c_DEPENDENCIES): ... this.
31330 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31331 (util/grub-emu.c_DEPENDENCIES): ... this.
31332 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31333 (util/grub-emu.c_DEPENDENCIES): ... this.
31334
3f51de77 313352008-01-27 Pavel Roskin <proski@gnu.org>
31336
31337 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31338 to create a gap between _end and the modules added to the image
31339 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31340 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31341 * util/elf/grub-mkimage.c (add_segments): Likewise.
31342
2033f53e 313432008-01-26 Pavel Roskin <proski@gnu.org>
31344
31345 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31346 just return an error.
31347
22da1f6f 313482008-01-26 Bean <bean123ch@gmail.com>
31349
31350 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31351 (grub_reiserfs_get_item): Save offset of the next item.
31352 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31353
2a9525e6 313542008-01-25 Robert Millan <rmh@aybabtu.com>
31355
31356 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31357 make all filesystem sources appear together (possibly fixing omissions
31358 while at it).
31359 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31361 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31363
31364 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31365 add `kern/file.c'.
31366 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31367 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31368 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31369 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31370
31371 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31372 (probe): Add a sanity check to make sure of our ability to read
31373 requested files when probing for filesystem type.
31374
31375 * genmk.rb: Update copyright year (2007).
31376
31377 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31378 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31379 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31380 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31381 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31382 : Remove function prototypes.
31383
b95f71b5 313842008-01-25 Robert Millan <rmh@aybabtu.com>
31385
31386 Revert my previous commits (based on wrong assumption of how grub_errno
31387 works).
31388
fe6b695a 31389 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 31390 * kern/file.c (grub_file_open): Likewise.
31391
d08bbb49 313922008-01-24 Pavel Roskin <proski@gnu.org>
31393
31394 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31395 that hang if GRUB tries to setup colors.
31396 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31397 colors for firmwares that don't support it.
31398 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31399 Recognize Open Hack'Ware, set flags to work around its
31400 limitations.
31401
605e36ed 314022008-01-24 Robert Millan <rmh@aybabtu.com>
31403
31404 * kern/file.c (grub_file_open): Do not account previous failures of
31405 unrelated functions when grub_errno is checked for.
31406 Reported by Oleg Strikov.
31407
bac332a1 314082008-01-24 Bean <bean123ch@gmail.com>
31409
31410 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31411 (grub_ufs_sblock): New member volume name.
31412 (grub_ufs_find_file): Fix string copy bug.
31413 (grub_ufs_label): Implement this function properly.
31414
31415 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31416 (grub_hfs_iterate_records): Use the correct file number for extents
31417 and catalog file. Fix problem in next index calculation.
31418 (grub_hfs_find_node): Replace recursive function call with loop.
31419 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31420
15c80c09 314212008-01-23 Robert Millan <rmh@aybabtu.com>
31422
31423 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31424 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31425 (grub_multiboot2_real_boot): New function prototype.
31426
31427 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31428 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31429
31430 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31431 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31432
305338fd 314332008-01-23 Robert Millan <rmh@aybabtu.com>
31434
31435 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31436 #ifdef'ed out grub_printf().
31437
3ea52685 314382008-01-23 Robert Millan <rmh@aybabtu.com>
31439
31440 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31441 grub_dprintf calls, since they make "debug=all" mode unusable.
31442 (grub_console_checkkey): Likewise.
31443
5882ae4b 314442008-01-23 Robert Millan <rmh@aybabtu.com>
31445
31446 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31447 `term/i386/pc/at_keyboard.c'.
31448 (pkglib_MODULES): Add `serial.mod'.
31449 (serial_mod_SOURCES): New variable.
31450 (serial_mod_CFLAGS): Likewise.
31451 (serial_mod_LDFLAGS): Likewise.
31452
31453 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31454 `<grub/powerpc/ieee1275/console.h>'.
31455 (grub_keyboard_controller_init): New function prototype.
31456 (grub_console_checkkey): Likewise.
31457 (grub_console_getkey): Likewise.
31458
31459 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31460 keyboard on i386.
31461
31462 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31463 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31464
06ab5303 314652008-01-23 Robert Millan <rmh@aybabtu.com>
31466
31467 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31468 present, "(memdisk)/boot/grub" becomes the default prefix.
31469
31470 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31471 a memdisk tarball with all the modules. Add --overlay=DIR option that
31472 allows users to overlay additional files into the image.
31473
dbb475a4 314742008-01-23 Robert Millan <rmh@aybabtu.com>
31475
31476 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31477 and `machine/memory.h'.
31478 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31479 (_multiboot_mod_SOURCES): New variable.
31480 (_multiboot_mod_CFLAGS): Likewise.
31481 (_multiboot_mod_LDFLAGS): Likewise.
31482 (multiboot_mod_SOURCES): Likewise.
31483 (multiboot_mod_CFLAGS): Likewise.
31484 (multiboot_mod_LDFLAGS): Likewise.
31485
31486 * include/grub/i386/ieee1275/loader.h: New file.
31487
31488 * include/grub/i386/ieee1275/machine.h: Likewise.
31489
31490 * include/grub/i386/ieee1275/memory.h: Likewise.
31491
31492 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31493 variable declaration.
31494 (grub_os_area_size): Likewise.
31495
31496 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31497 (grub_lower_mem, grub_upper_mem): New variables.
31498 (grub_stop_floppy): New function (just to make
31499 grub_multiboot2_real_boot() happy).
31500
31501 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31502 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31503 (grub_stop): New function.
31504 Include `"../realmode.S"' and `"../loader.S"'.
31505
31506 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31507 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31508
31509 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31510 rely on grub_multiboot2_real_boot() for final boot.
31511
25638629 315122008-01-22 Robert Millan <rmh@aybabtu.com>
31513
31514 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31515 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31516 device that doesn't look like an SD card.
31517 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31518 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31519 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31520 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31521 found.
31522
9dad816d 315232008-01-22 Robert Millan <rmh@aybabtu.com>
31524
31525 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31526 avoid claiming over our own code.
31527
34842f2d 315282008-01-22 Bean <bean123ch@gmail.com>
31529
31530 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31531 (jpeg_mod_SOURCES): New variable.
31532 (jpeg_mod_CFLAGS): Likewise.
31533 (jpeg_mod_LDFLAGS): Likewise.
31534
31535 * video/readers/jpeg.c : New file.
31536
44023a28 315372008-01-22 Bean <bean123ch@gmail.com>
31538
31539 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31540 there are no more items.
31541
bc2d8ac6 315422008-01-21 Robert Millan <rmh@aybabtu.com>
31543
31544 * kern/mm.c (grub_mm_init_region): Improve debug message.
31545
261bd4bc 315462008-01-21 Robert Millan <rmh@aybabtu.com>
31547
31548 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31549 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31550 address.
31551 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31552 a C macro.
31553 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31554 Indicates start of upper memory.
31555 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31556 (generate_image): Abort when image size is big enough to corrupt
31557 upper memory.
31558
31559 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31560 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31561 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31562 instead of hardcoding 0xA0000.
31563 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31564 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31565 instead of hardcoding 0xA0000.
31566
f970b55e 315672008-01-21 Robert Millan <rmh@aybabtu.com>
31568
31569 * disk/memdisk.c (memdisk_size): New variable.
31570 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31571 `memdisk_size'.
31572 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31573 image to dynamic memory.
31574 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31575 `memdisk_size'. Free memdisk block.
31576
1a8b0526 315772008-01-21 Robert Millan <rmh@aybabtu.com>
31578
31579 Fix detection of very small filesystems (like tar).
31580
31581 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31582 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31583 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31584 a problem with this disk).
31585
6e9b4aab 315862008-01-21 Robert Millan <rmh@aybabtu.com>
31587
31588 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31589 on grub_biosdisk_rw_standard() error.
31590
0d8837b2 315912008-01-21 Robert Millan <rmh@aybabtu.com>
31592
31593 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31594 recent changes.
31595 * kern/elf.c: Likewise.
31596 * kern/ieee1275/ieee1275.c: Likewise.
31597 * kern/powerpc/ieee1275/openfw.c: Likewise.
31598 * term/ieee1275/ofconsole.c: Likewise.
31599
ffd36e34 316002008-01-21 Robert Millan <rmh@aybabtu.com>
31601
31602 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31603
3f0093d0 31604 * include/grub/kernel.h (grub_arch_memdisk_addr)
31605 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 31606
3f0093d0 31607 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31608 (grub_arch_memdisk_size): ... to here.
ffd36e34 31609
6c391b21 316102008-01-21 Robert Millan <rmh@aybabtu.com>
31611
31612 Mostly based on bugfix from Bean.
31613
31614 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31615 attribute with hook() parameter.
31616 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31617 declaration.
31618 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31619 attribute with hook() parameter.
31620 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31621 declaration.
31622
55a581dc 316232008-01-21 Robert Millan <rmh@aybabtu.com>
31624
31625 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31626 (pkglib_MODULES): Add `memdisk.mod'.
31627 (memdisk_mod_SOURCES): New variable.
31628 (memdisk_mod_CFLAGS): Likewise.
31629 (memdisk_mod_LDFLAGS): Likewise.
31630
31631 * disk/memdisk.c: New file.
31632
31633 * include/grub/disk.h (grub_disk_dev_id): Add
31634 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31635
31636 * include/grub/i386/pc/kernel.h
31637 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31638 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31639 (grub_kernel_image_size): New variable declaration.
31640 (grub_total_module_size): Likewise.
31641 (grub_memdisk_image_size): Likewise.
31642
31643 * include/grub/i386/pc/memory.h
31644 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31645
31646 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31647 (grub_arch_memdisk_addr): New variable declaration.
31648 (grub_arch_memdisk_size): Likewise.
31649
31650 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31651 (grub_arch_memdisk_size): Likewise.
31652
31653 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31654 (codestart): Replace hardcoded `0x100000' with
31655 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31656
31657 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31658 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31659 not NULL, append the contents of the file it refers to, at the end of
31660 the compressed kernel image. Initialize `grub_memdisk_image_size'
31661 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31662 (options): Add "memdisk"|'m' option.
31663 (main): Parse --memdisk|-m option, and pass user-provided path as
31664 parameter to generate_image().
31665
3d7f54c9 316662008-01-20 Robert Millan <rmh@aybabtu.com>
31667
31668 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31669 grub_dprintf() calls from here ...
31670 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31671
0bf74728 316722008-01-20 Robert Millan <rmh@aybabtu.com>
31673
31674 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31675
31676 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31677 declaration.
31678 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31679 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31680 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 31681 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 31682 property).
31683 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31684 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31685
33bf70a7 316862008-01-19 Robert Millan <rmh@aybabtu.com>
31687
fe6b695a 31688 Get rid of confusing function (superseded by
33bf70a7 31689 `grub_ieee1275_get_integer_property')
31690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31691 prototype.
31692 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31693 function.
31694 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31695 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 31696 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 31697
e2da7d26 316982008-01-19 Robert Millan <rmh@aybabtu.com>
31699
31700 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31701 command after "shut-down", since implementations differ on which
31702 the command for halt is.
31703
59f1fd8d 317042008-01-19 Robert Millan <rmh@aybabtu.com>
31705
31706 * include/grub/i386/linuxbios/console.h: Add header protection.
31707 (grub_keyboard_controller_init): New function prototype.
31708 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31709 (KEYBOARD_COMMAND_READ): Likewise.
31710 (KEYBOARD_COMMAND_WRITE): Likewise.
31711 (KEYBOARD_SCANCODE_SET1): Likewise.
31712 (grub_keyboard_controller_write): New function.
31713 (grub_keyboard_controller_read): Likewise.
31714 (grub_keyboard_controller_init): Likewise.
31715
31716 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31717 (grub_console_init): On coreboot/LinuxBIOS, call
31718 grub_keyboard_controller_init().
31719
5f5a7c15 317202008-01-19 Robert Millan <rmh@aybabtu.com>
31721
31722 PowerPC changes provided by Pavel Roskin.
31723
31724 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31725 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31726 don't rely on cmain() doing it.
31727 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31728 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31729
1210e168 317302008-01-16 Robert Millan <rmh@aybabtu.com>
31731
31732 * include/grub/i386/linuxbios/memory.h
31733 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31734 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31735 receive `table_header' as argument. Instead, probe for it in the
31736 known memory ranges where it can be present.
31737 (grub_available_iterate): Do not pass a fixed `table_header' address
31738 to grub_linuxbios_table_iterate().
31739
3d04eab8 317402008-01-15 Robert Millan <rmh@aybabtu.com>
31741
31742 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31743 * conf/i386-ieee1275.rmk: New file.
31744 * include/grub/i386/ieee1275/console.h: Likewise.
31745 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31746 * include/grub/i386/ieee1275/kernel.h: Likewise.
31747 * include/grub/i386/ieee1275/time.h: Likewise.
31748 * kern/i386/ieee1275/init.c: Likewise.
31749 * kern/i386/ieee1275/startup.S: Likewise.
31750
d1bc1b73 317512008-01-15 Robert Millan <rmh@aybabtu.com>
31752
31753 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31754 when pointers are 32-bit (but still do set it to one when they are
31755 64-bit).
31756
66a65807 317572008-01-15 Robert Millan <rmh@aybabtu.com>
31758
31759 * include/grub/ieee1275/ieee1275.h
31760 (grub_ieee1275_get_integer_property): New function prototype.
31761
31762 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31763 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 31764 grub_ieee1275_get_property() to handle endianness.
66a65807 31765
31766 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31767 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 31768 where appropriate.
66a65807 31769 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31770 (grub_map): Likewise.
31771 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31772
a83ccafd 317732008-01-15 Bean <bean123ch@gmail.com>
31774
31775 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31776 (grub_script_execute_cmdline): Reset grub_errno.
31777
31778 * normal/main.c (read_config_file): Reset grub_errno.
31779
31780 * normal/parse.y (script_init): New.
31781 (script): Move function and menuentry here.
31782 (delimiter): New.
31783 (command): Add delimiter at the end of command.
31784 (commands): Adjust to match the new command.
31785 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 31786 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 31787 (if): Use the new commands.
31788
31789 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31790
df6ecfc6 317912008-01-15 Robert Millan <rmh@aybabtu.com>
31792
31793 * normal/menu.c (run_menu): Move timeout message from here ...
31794 (print_timeout): ... to here.
31795 (run_menu): Use print_timeout() once during initial draw to print
31796 the whole message, and again in every clock tick to update only
31797 the number of seconds.
31798
87ae25eb 317992008-01-15 Robert Millan <rmh@aybabtu.com>
31800
31801 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31802 actual size of `available' from grub_ieee1275_get_property(), and
31803 restrict parsing to that bound.
31804
47bf09a4 318052008-01-15 Christian Franke <franke@computer.org>
31806
31807 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31808 (argp_program_version): Remove variable.
31809 (argp_program_bug_address): Likewise.
31810 (options): Convert from struct argp_option to struct option.
31811 (struct arguments): Remove.
31812 (parse_opt): Remove.
31813 (usage): New function.
31814 (main): Replace struct args members by simple variables.
31815 Replace argp_parse() by getopt_long().
31816 Add switch to evaluate options.
31817 Add missing "(...)" around root_dev in prefix string.
31818
c86f1469 318192008-01-14 Robert Millan <rmh@aybabtu.com>
31820
31821 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31822 for grub_ieee1275_exit(), in order to improve portability.
31823
e622c559 318242008-01-14 Robert Millan <rmh@aybabtu.com>
31825
31826 * util/grub.d/10_linux.in (prefix): Define.
31827 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31828
44cb1ec8 318292008-01-13 Pavel Roskin <proski@gnu.org>
31830
31831 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31832 grub_errno if no errors have been detected.
31833
1eb8c802 318342008-01-12 Robert Millan <rmh@aybabtu.com>
31835
31836 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31837 (grub_util_get_dev_abstraction): New function prototype.
31838
31839 * util/getroot.c: Include `<grub/util/getroot.h>'
31840 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31841 (grub_util_get_dev_abstraction): ... here (new function).
31842
31843 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31844 `PRINT_ABSTRACTION'.
31845 (probe): Probe for abstraction type when requested.
31846 (main): Understand `--target=abstraction'.
31847
31848 * util/i386/efi/grub-install.in: Add abstraction module to core
31849 image when it is found to be necessary.
31850 * util/i386/pc/grub-install.in: Likewise.
31851 * util/powerpc/ieee1275/grub-install.in: Likewise.
31852
31853 * util/update-grub_lib.in (font_path): Return system path without
31854 converting to GRUB path.
31855 * util/update-grub.in: Convert system path returned by font_path()
31856 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31857 abstraction module is needed for loading fonts (if any). Export
31858 that as `GRUB_PRELOAD_MODULES'.
31859 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31860 insmod commands).
31861
52bd3de9 318622008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31863
31864 Remove some unused code from reiserfs.
f19dbdb7 31865
52bd3de9 31866 * fs/reiserfs.c (struct grub_reiserfs_key)
31867 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31868 (struct grub_reiserfs_node_body): Removed.
31869 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31870 Likewise.
31871 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31872 Likewise.
31873 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31874 Likewise.
31875 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31876 Likewise.
31877 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31878 Likewise.
31879 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31880 Likewise.
31881 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31882 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31883 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31884
2f80039d 318852008-01-10 Robert Millan <rmh@aybabtu.com>
31886
31887 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
31888 Determines if a file is garbage left by packaging systems, etc.
31889 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
31890 for processing /etc/grub.d scripts.
31891 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
31892 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
31893 as a condition for processing Linux images.
31894
87888032 318952008-01-10 Pavel Roskin <proski@gnu.org>
31896
31897 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
31898 to compile reiserfs.c on PowerPC.
31899
7e54fced 319002008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 31901
31902 * kern/device.c (grub_device_iterate): Do not abort device iteration
31903 when one of the devices cannot be opened.
31904 * kern/disk.c (grub_disk_open): Do not account previous failures of
31905 unrelated functions when grub_errno is checked for.
31906
5aa541e6 319072008-01-08 Robert Millan <rmh@aybabtu.com>
31908
31909 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
31910 `! grub_linux_is_bzimage', change order of address comparison to make
31911 it more intuitive, and improve "too big zImage" error message.
31912
7076340d 319132008-01-08 Robert Millan <rmh@aybabtu.com>
31914
31915 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
31916 `$(update-grub_DATA)'.
31917 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
31918 targets.
31919
9ca70333 319202008-01-07 Robert Millan <rmh@aybabtu.com>
31921
31922 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
31923 which instruction is modified by grub-setup during installation
31924 (since it wasn't obvious by only looking at this file).
31925
38ccf575 319262008-01-07 Robert Millan <rmh@aybabtu.com>
31927
31928 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
31929 listing actual TODO items.
31930
f5db4291 319312008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31932
868967cf 31933 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
31934 correctly.
31935 (grub_reiserfs_get_key_offset): Likewise.
31936 (grub_reiserfs_set_key_offset): Likewise.
31937 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 31938 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 31939
31940 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
31941 better to remove the bitfield version completely.
f19dbdb7 31942
868967cf 319432008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31944
f5db4291 31945 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
31946 allocated from the heap, due to the fshelp implementation.
31947 (grub_reiserfs_dir): Free NODE, due to the same reason.
31948
492e6d9d 319492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31950
31951 Mostly from Vincent Pelletier:
f19dbdb7 31952
492e6d9d 31953 * fs/reiserfs.c: New file.
f19dbdb7 31954
492e6d9d 31955 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
31956 (reiserfs_mod_SOURCES): New variable.
31957 (reiserfs_mod_CFLAGS): Likewise.
31958 (reiserfs_mod_LDFLAGS): Likewise.
31959
31960 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
31961 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
31962 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
31963 normal/color.c.
31964
9ce3e7c1 319652008-01-06 Robert Millan <rmh@aybabtu.com>
31966
31967 * normal/color.c: Remove `<grub/env.h>'.
31968
f3b58148 319692008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
31970
31971 * include/grub/normal.h: Include <grub/env.h>.
31972
7ac3bcfa 319732008-01-05 Robert Millan <rmh@aybabtu.com>
31974
31975 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
31976 usage example with `(hd0,1)'.
fb358190 31977 Reported by Samuel Thibault.
7ac3bcfa 31978
c8ee99d7 319792008-01-05 Robert Millan <rmh@aybabtu.com>
31980
31981 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
31982 (grub_linux_boot_zimage): Rename to ...
31983 (grub_linux_boot): ... this.
31984 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
31985 (grub_linux_boot_zimage): Conditionalize zImage copy.
31986
31987 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
31988 (grub_linux_boot_bzimage): Remove prototype.
31989 (grub_linux_boot_zimage): Rename to ...
31990 (grub_linux_boot): ... this.
31991
31992 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
31993 (grub_linux_boot): Remove function.
31994
0ece25b1 319952008-01-05 Robert Millan <rmh@aybabtu.com>
31996
31997 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
31998 (grub_env_write_color_highlight): Likewise.
31999 (grub_wait_after_message): Likewise.
32000
32001 * normal/color.c: New file.
32002
32003 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32004 (normal_mod_DEPENDENCIES): Likewise.
32005
32006 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32007 (normal_mod_DEPENDENCIES): Likewise.
32008
32009 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32010 (normal_mod_DEPENDENCIES): Likewise.
32011
32012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32013 (normal_mod_DEPENDENCIES): Likewise.
32014
32015 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32016 for waiting after a message is printed.
32017 * normal/main.c (read_config_file): Likewise.
32018 (grub_normal_init): Register grub_env_write_color_normal() and
32019 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32020 `color_highlight' variables as global.
32021
32022 * normal/menu.c (grub_wait_after_message): New function.
32023 (grub_color_menu_normal): New variable. Replaces ...
32024 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32025 (grub_color_menu_highlight): New variable. Replaces ...
32026 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32027 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32028 `GRUB_TERM_COLOR_STANDARD'.
32029 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32030 `normal_code' and `highlight_code' to `old_color_normal' and
32031 `old_color_highlight', respectively.
32032 (grub_menu_init_page): Update colors when drawing the menu, based on
32033 `menu_color_normal' and `menu_color_highlight' variables.
32034 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32035 a message is printed.
32036
182dd4e5 320372008-01-05 Robert Millan <rmh@aybabtu.com>
32038
32039 * kern/env.c (grub_env_context_open): Propagate hooks for global
32040 variables to new context.
32041
32042 * kern/main.c (grub_set_root_dev): Export `root' variable.
32043
ddf8f6ad 320442008-01-05 Robert Millan <rmh@aybabtu.com>
32045
32046 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 32047 discs unconditionally, since udev and others have options to provide
ddf8f6ad 32048 them.
32049
d8b43d9b 320502008-01-05 Robert Millan <rmh@aybabtu.com>
32051
32052 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32053
2bff2de3 320542008-01-04 Christian Franke <franke@computer.org>
32055
32056 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32057 of eisa_mmap.
32058
97eab917 320592008-01-03 Pavel Roskin <proski@gnu.org>
32060
32061 * kern/i386/linuxbios/init.c: Put "void" to all function
32062 declarations with no arguments.
32063 * kern/powerpc/ieee1275/init.c: Likewise.
32064 * term/i386/pc/at_keyboard.c: Likewise.
32065 * term/i386/pc/vga_text.c: Likewise.
32066 * util/grub-mkdevicemap.c: Likewise.
32067
b9416d00 320682008-01-02 Robert Millan <rmh@aybabtu.com>
32069
32070 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32071 message when loaded image is out of bounds.
32072 (grub_multiboot_load_elf64): Likewise.
32073
92695df9 320742008-01-02 Pavel Roskin <proski@gnu.org>
32075
32076 * util/grub.d/10_linux.in: Try version without ".old" when
32077 looking for initrd. It's better to use initrd from the newer
32078 kernel of the same version than no initrd at all.
32079
d98d9cad 320802008-01-01 Robert Millan <rmh@aybabtu.com>
32081
32082 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32083
dbfdce36 320842008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32085
f19dbdb7 32086 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 32087 grub_video_get_active_render_target.
32088 (grub_video_adapter): Added unmap_color and get_active_render_target.
32089
f19dbdb7 32090 * video/video.c: Added grub_video_unmap_color and
dbfdce36 32091 grub_video_get_active_render_target.
32092 (grub_video_get_info): Changed method to accept NULL pointer as an
32093 argument to allow detection of active video adapter.
32094
32095 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32096 grub_video_vbe_unmap_color_int.
32097 Added grub_video_vbe_unmap_color and
32098 grub_video_vbe_get_active_render_target.
32099 (grub_video_vbe_adapter): Added unmap_color and
32100 get_active_render_target.
32101
f19dbdb7 32102 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 32103 with grub_video_vbe_unmap_color_int.
32104
32105 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32106 (DEFAULT_NORMAL_COLOR): Likewise.
32107 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32108 (DEFAULT_FG_COLOR): Removed.
32109 (DEFAULT_BG_COLOR): Likewise.
32110 (DEFAULT_CURSOR_COLOR): Changed value.
32111 (grub_virtual_screen): Added standard_color_setting,
32112 normal_color_setting, highlight_color_setting and term_color.
32113 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32114 (bitmap_width): Added.
32115 (bitmap_height): Likewise.
32116 (bitmap): Likewise.
32117 (set_term_color): Likewise.
32118 (grub_virtual_screen_setup): Changed to use new terminal coloring
32119 settings.
32120 (grub_gfxterm_init): Added init for bitmap.
32121 (grub_gfxterm_fini): Added destroy for bitmap.
32122 (redraw_screen_rect): Updated to use background bitmap and new
32123 terminal coloring.
32124 (scroll_up): Added optimization for case when there is no bitmap.
32125 (grub_gfxterm_cls): Fixed to use correct background color.
32126 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32127 coloring.
32128 (grub_virtual_screen_setcolor): Likewise.
32129 (grub_virtual_screen_getcolor): Added.
32130 (grub_gfxterm_background_image_cmd): Likewise.
32131 (grub_video_term): Added setcolor and getcolor.
32132 (MOD_INIT): Added registration of background_image command.
32133 (MOD_TERM): Added unregistration for background_image command.
32134
c3c20931 321352007-12-30 Pavel Roskin <proski@gnu.org>
32136
32137 * loader/multiboot_loader.c: Fix multiboot command
32138 unregistration. Fix all typos in the word "multiboot".
32139
df266716 321402007-12-29 Pavel Roskin <proski@gnu.org>
94239199 32141
32142 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32143 support for initrd names used in Fedora.
32144
fc6e896c 321452007-12-26 Bean <bean123ch@gmail.com>
32146
32147 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32148 (cpio_mod_SOURCES): New variable.
32149 (cpio_mod_CFLAGS): Likewise.
32150 (cpio_mod_LDFLAGS): Likewise.
32151
32152 * fs/cpio.c: New file.
32153
32154 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32155
32156 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32157
32158 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32159
32160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32161
533110ad 321622007-12-25 Robert Millan <rmh@aybabtu.com>
32163
32164 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32165 (grub_getcolor): New function.
32166
32167 * kern/term.c (grub_getcolor): New function.
32168 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32169 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32170 (print_entry): Set normal and highlight colors to
32171 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32172 respectively, before printing and restore them to old
32173 values afterwards.
32174 (grub_menu_init_page): Likewise. Fill an additional colored space
32175 that would otherwise be left blank.
32176
32177 * term/efi/console.c (grub_console_getcolor): New function.
32178 (struct grub_console_term.getcolor): New variable.
32179 * term/i386/pc/console.c (grub_console_getcolor): New function.
32180 (struct grub_console_term.getcolor): New variable.
32181 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32182 (struct grub_console_term.getcolor): New variable.
32183
32184 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32185 (struct grub_console_term.setcolor): Remove variable.
32186 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32187 (struct grub_console_term.setcolor): Remove variable.
32188 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32189 (struct grub_console_term.setcolor): Remove variable.
32190 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32191 (struct grub_console_term.setcolor): Remove variable.
32192
4931827f 321932007-12-25 Robert Millan <rmh@aybabtu.com>
32194
32195 * configure.ac: Search for possible unifont.hex locations, and
32196 define UNIFONT_HEX if found.
32197
32198 * Makefile.in (UNIFONT_HEX): Define variable.
32199 (DATA): Rename to ...
32200 (PKGLIB): ... this. Update all users.
32201 (PKGDATA): New variable.
32202 (pkgdata_IMAGES): Rename to ...
32203 (pkglib_IMAGES): ... this. Update all users.
32204 (pkgdata_MODULES): Rename to ...
32205 (pkglib_MODULES): ... this. Update all users.
32206 (pkgdata_PROGRAMS): Rename to ...
32207 (pkglib_PROGRAMS): ... this. Update all users.
32208 (pkgdata_DATA): Rename to ...
32209 (pkglib_DATA): ... this. Update all users.
32210 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32211 (unicode.pff, ascii.pff): New rules.
32212 (all-local): Add `$(PKGDATA)' dependency.
32213 (install-local): Process `$(PKGDATA)'.
32214
32215 * util/update-grub_lib.in (font_path): Search for *.pff files in
32216 a few more locations, including `${pkgdata}'.
32217
57e57e31 322182007-12-23 Robert Millan <rmh@aybabtu.com>
32219
32220 Patch from Bean <bean123ch@gmail.com>:
32221 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32222 `size'.
32223
4bc72aa9 322242007-12-21 Bean <bean123ch@gmail.com>
32225
32226 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32227 (ntfscomp_mod_SOURCES): New variable.
32228 (ntfscomp_mod_CFLAGS): Likewise.
32229 (ntfscomp_mod_LDFLAGS): Likewise.
32230
32231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32232 (grub_probe_SOURCES): Likewise.
32233 (grub_emu_SOURCES): Likewise.
32234
32235 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32236 (grub_emu_SOURCES): Likewise.
32237
32238 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32239 (grub_emu_SOURCES): Likewise.
32240
32241 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32242 (grub_emu_SOURCES): Likewise.
32243
32244 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32245 (read_run_list): Renamed to grub_ntfs_read_run_list.
32246 (decomp_nextvcn): Moved to ntfscomp.c.
32247 (decomp_getch): Likewise.
32248 (decomp_get16): Likewise.
32249 (decomp_block): Likewise.
32250 (read_block): Likewise.
32251 (read_data): Partially moved to ntfscomp.c.
32252 (fixup): Change unsigned to grub_uint16_t.
32253 (read_mft): Change unsigned long to grub_uint32_t.
32254 (read_attr): Likewise.
32255 (read_data): Likewise.
32256 (read_run_data): Likewise.
32257 (read_run_list): Likewise.
32258 (read_mft): Likewise.
32259
32260 * fs/ntfscomp.c: New file.
32261
32262 * include/grub/ntfs.h: New file.
32263
af680a87 322642007-12-16 Robert Millan <rmh@aybabtu.com>
32265
32266 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32267 IDE disk check, since Linux is known to support 20 IDE disks.
32268 Reported by Colin Watson.
32269
84be7599 322702007-12-15 Bean <bean123ch@gmail.com>
32271
32272 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32273 (lnxboot_img_SOURCES): New variable.
32274 (lnxboot_img_ASFLAGS): Likewise.
32275 (lnxboot_img_LDFLAGS): Likewise.
32276
32277 * boot/i386/pc/lnxboot.S: New file.
32278
6af9db01 322792007-11-24 Pavel Roskin <proski@gnu.org>
32280
32281 * configure.ac: Test if '--build-id=none' is supported by the
32282 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32283 objcopy to generate incorrect binary files (binutils
32284 2.17.50.0.18-1 as shipped by Fedora 8).
32285 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32286 linking, so that build ID doesn't break the test.
32287
7361cfe6 322882007-11-24 Pavel Roskin <proski@gnu.org>
32289
32290 * include/grub/i386/time.h: use "void" in the argument list
32291 of grub_cpu_idle().
32292 * include/grub/powerpc/time.h: Likewise.
32293 * include/grub/sparc64/time.h: Likewise.
32294
1593e10c 322952007-11-18 Christian Franke <franke@computer.org>
32296
32297 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32298 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32299 This fixes the problem that function keys did not work in grub-emu.
32300
3b8db1a8 323012007-11-18 Christian Franke <franke@computer.org>
32302
32303 * disk/host.c (grub_host_open): Remove attribute unused from
32304 name parameter. Add check for "host". This fixes the problem
32305 that grub-emu does not find partitions.
32306
2e29408d 323072007-11-18 Christian Franke <franke@computer.org>
32308
32309 * util/hostfs.c (is_dir): New function.
32310 (grub_hostfs_dir): Handle missing dirent.d_type case.
32311 (grub_hostfs_read): Add missing fseek().
32312 (grub_hostfs_label): Clear label pointer. This fixes a crash
32313 of grub-emu on "ls (host)".
32314
398cd047 323152007-11-18 Christian Franke <franke@computer.org>
32316
32317 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32318 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32319 to 64 bit boundary by default.
32320
c405c391 323212007-11-18 Bean <bean123ch@gmail.com>
32322
32323 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32324 (hexdump_mod_SOURCES): New variable.
32325 (hexdump_mod_CFLAGS): Likewise.
32326 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 32327
c405c391 32328 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32329
32330 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32331
32332 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32333
32334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32335
32336 * include/grub/hexdump.h: New file.
32337
32338 * commands/hexdump.c: New file.
32339
5cced7fd 323402007-11-10 Robert Millan <rmh@aybabtu.com>
32341
32342 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32343 in grub_outb() calls.
32344 (beep_on): Likewise.
32345
8b714eb0 323462007-11-10 Christian Franke <franke@computer.org>
32347
32348 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32349 (grub_menu_run): Likewise.
32350
ce0f1839 323512007-11-10 Robert Millan <rmh@aybabtu.com>
32352
32353 * include/grub/i386/efi/machine.h: New file.
32354 * include/grub/i386/linuxbios/machine.h: Likewise.
32355 * include/grub/i386/pc/machine.h: Likewise.
32356 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32357 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32358
32359 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32360 (serial_hw_io_addr): New variable.
32361 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32362 instead of `(unsigned short *) 0x400'.
32363
270c237d 323642007-11-10 Bean <bean123ch@gmail.com>
32365
32366 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32367
a87783bf 323682007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32369
32370 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32371 (vga_mod_SOURCES): Added.
32372 (vga_mod_CFLAGS): Likewise.
32373 (vga_mod_LDFLAGS): Likewise.
32374
32375 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32376 grub_outb() calls.
32377 (set_map_mask): Likewise.
32378 (set_read_map): Likewise.
32379 (set_read_address): Likewise.
32380 (vga_font): Removed variable.
32381 (get_vga_glyph): Removed function.
32382 (invalidate_char): Likewise.
32383 (write_char): Changed to use grub_font_get_glyph() for font
32384 information.
32385 (grub_vga_putchar): Likewise.
32386 (grub_vga_getcharwidth): Likewise.
32387
6433b448 323882007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32389
32390 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32391 flags.
32392 (pxeboot_img_LDFLAGS): Likewise.
32393 (diskboot_img_LDFLAGS): Likewise.
32394 (kernel_img_LDFLAGS): Likewise.
32395
49178511 323962007-11-06 Robert Millan <rmh@aybabtu.com>
32397
32398 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32399 in grub_outb() calls.
32400 (serial_hw_init): Likewise.
32401
53b052de 324022007-11-05 Robert Millan <rmh@aybabtu.com>
32403
32404 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32405 spaces. Skip non-regular files.
32406
5ab33bba 324072007-11-05 Robert Millan <rmh@aybabtu.com>
32408
32409 * kern/disk.c (grub_disk_firmware_fini)
32410 (grub_disk_firmware_is_tainted): New variables.
32411
32412 * include/grub/disk.h (grub_disk_firmware_fini)
32413 (grub_disk_firmware_is_tainted): Likewise.
32414
32415 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32416 (grub_disk_biosdisk_fini): ... to here.
32417 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32418 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32419 is set. Register grub_disk_biosdisk_fini() in
32420 `grub_disk_firmware_fini'.
32421
32422 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32423 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32424 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32425 to finish existing firmware disk interface.
32426
32427 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32428 (ata_mod_SOURCES): New variable.
32429 (ata_mod_CFLAGS): Likewise.
32430 (ata_mod_LDFLAGS): Likewise.
32431
0149ab7c 324322007-11-05 Robert Millan <rmh@aybabtu.com>
32433
32434 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32435 (grub_ata_wait): Reimplement using grub_millisleep().
32436
32437 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32438 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32439
be7ac41e 324402007-11-03 Marco Gerards <marco@gnu.org>
32441
32442 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32443 (CRTC_ADDR_PORT): New macro.
32444 (CRTC_DATA_PORT): Likewise.
32445 (CRTC_CURSOR): Likewise.
32446 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32447 (CRTC_CURSOR_ADDR_LOW): Likewise.
32448 (update_cursor): New function.
32449 (grub_console_real_putchar): Call `update_cursor'.
32450 (grub_console_gotoxy): Likewise.
32451 (grub_console_cls): Set the default color when clearing the
32452 screen.
32453 (grub_console_setcursor): Implemented.
32454
bb06ab2e 324552007-11-03 Marco Gerards <marco@gnu.org>
32456
32457 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32458 become activate.
32459 (grub_ata_pio_write): Likewise.
32460
32461 (grub_atapi_identify): Wait after issuing an ATA command.
32462 (grub_atapi_packet): Likewise.
32463 (grub_ata_identify): Likewise.
32464 (grub_ata_readwrite): Likewise.
32465
cf8f780b 324662007-11-03 Marco Gerards <marco@gnu.org>
32467
32468 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32469 (grub_ata_pio_write): Likewise.
32470 (grub_ata_readwrite): Use `grub_error', instead of
32471 returning `grub_errno'.
32472
ed649e54 324732007-11-03 Marco Gerards <marco@gnu.org>
32474
32475 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32476 grub_ata_pio_write once for every single sector, instead of for
32477 multiple sectors.
32478
ca25d8f0 324792007-10-31 Robert Millan <rmh@aybabtu.com>
32480
32481 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32482
32483 * conf/i386-linuxbios.rmk: New file.
32484
32485 * kern/i386/pc/hardware.c: Likewise.
32486 * term/i386/pc/at_keyboard.c: Likewise.
32487 * term/i386/pc/vga_text.c: Likewise.
32488
32489 * include/grub/i386/linuxbios/boot.h: Likewise.
32490 * include/grub/i386/linuxbios/console.h: Likewise.
32491 * include/grub/i386/linuxbios/init.h: Likewise.
32492 * include/grub/i386/linuxbios/kernel.h: Likewise.
32493 * include/grub/i386/linuxbios/loader.h: Likewise.
32494 * include/grub/i386/linuxbios/memory.h: Likewise.
32495 * include/grub/i386/linuxbios/serial.h: Likewise.
32496 * include/grub/i386/linuxbios/time.h: Likewise.
32497
32498 * kern/i386/linuxbios/init.c: Likewise.
32499 * kern/i386/linuxbios/startup.S: Likewise.
32500 * kern/i386/linuxbios/table.c: Likewise.
32501
e911ecc1 325022007-10-31 Marco Gerards <marco@gnu.org>
32503
32504 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32505 (ata_mod_SOURCES): New variable.
32506 (ata_mod_CFLAGS): Likewise.
32507 (ata_mod_LDFLAGS): Likewise.
32508
32509 * disk/ata.c: New file.
32510
32511 * include/grub/disk.h (grub_disk_dev_id): Add
32512 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 32513
7f66d0e0 325142007-10-31 Robert Millan <rmh@aybabtu.com>
32515
32516 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32517 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32518
32519 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32520 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32521
32522 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32523 `<grub/types.h>'.
32524
32525 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32526
5cd7dd46 325272007-10-27 Robert Millan <rmh@aybabtu.com>
32528
3236ca65 32529 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 32530
2ebfc90f 325312007-10-22 Robert Millan <rmh@aybabtu.com>
32532
32533 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32534 `"../realmode.S"'.
32535 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32536
73fcb0f3 325372007-10-22 Robert Millan <rmh@aybabtu.com>
32538
32539 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32540 (pkgdata_MODULES): Add `biosdisk.mod'.
32541 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32542 variables.
32543
32544 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32545 (grub_biosdisk_init): Replace with ...
32546 (GRUB_MOD_INIT(biosdisk)): ... this.
32547 (grub_biosdisk_fini): Replace with ...
32548 (GRUB_MOD_FINI(biosdisk)): ... this.
32549
32550 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32551 (grub_machine_init): Remove call to grub_biosdisk_init().
32552 (grub_machine_fini): Remove call to grub_machine_fini().
32553
32554 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32555
3381d274 325562007-10-22 Robert Millan <rmh@aybabtu.com>
32557
32558 * include/grub/time.h: New file.
32559 * include/grub/i386/time.h: Likewise.
32560 * include/grub/powerpc/time.h: Likewise.
32561 * include/grub/sparc64/time.h: Likewise.
32562
32563 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32564 instances to ...
32565 (KERNEL_MACHINE_TIME_HEADER): ... this.
32566 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32567 instances to ...
32568 (KERNEL_MACHINE_TIME_HEADER): ... this.
32569 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32570 instances to ...
32571 (KERNEL_MACHINE_TIME_HEADER): ... this.
32572
32573 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32574 (grub_millisleep): New function.
32575 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32576 (grub_millisleep): New function.
32577 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32578 Remove `grub/machine/time.h' include.
32579 (grub_millisleep): New function.
32580 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32581 Remove `grub/machine/time.h' include.
32582 (grub_millisleep): New function.
32583
32584 * include/grub/misc.h (grub_div_roundup): New function.
32585
32586 * kern/misc.c: Include `<grub/time.h>'.
32587 (grub_millisleep_generic): New function.
32588
32589 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32590 Add `time.h'.
32591 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32592 Add `time.h'.
32593 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32594 `machine/time.h'. Add `time.h'.
32595 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32596
a39a0312 325972007-10-21 Robert Millan <rmh@aybabtu.com>
32598
32599 * include/grub/misc.h (grub_max): New function.
32600
2aad70e2 326012007-10-21 Robert Millan <rmh@aybabtu.com>
32602
32603 * util/misc.c (grub_util_info): Call fflush() before returning.
32604
54b71c4b 326052007-10-20 Robert Millan <rmh@aybabtu.com>
32606
32607 * genmk.rb (Image): Copy `extra_flags' from here ...
32608 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32609
32610 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32611 to `argc' and `args' arguments.
32612
a979f513 326132007-10-17 Robert Millan <rmh@aybabtu.com>
32614
32615 * kern/i386/loader.S: New file.
32616
32617 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32618 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32619 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32620 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32621 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32622 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32623 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32624 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32625 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32626 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32627 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32628 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32629 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32630 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32631
32632 * kern/i386/realmode.S: New file.
32633
32634 * kern/i386/pc/startup.S (protstack): Moved from here ...
32635 * kern/i386/realmode.S (protstack)... to here.
32636 * kern/i386/pc/startup.S (gdt): Moved from here ...
32637 * kern/i386/realmode.S (gdt)... to here.
32638 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32639 * kern/i386/realmode.S (prot_to_real)... to here.
32640
32641 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32642 `kern/i386/realmode.S'.
32643
825fc8fd 326442007-10-17 Robert Millan <rmh@aybabtu.com>
32645
32646 * include/grub/i386/loader.h: New file.
32647
32648 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32649 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32650 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32651 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32652 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32653 * include/grub/i386/loader.h (grub_linux_prot_size)
32654 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32655 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32656 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32657 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32658
32659 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32660
e179b2f4 326612007-10-15 Robert Millan <rmh@aybabtu.com>
32662
32663 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32664 filesystem when dev->disk is unset.
32665 Do probe for filesystem even when dev->disk->has_partitions is set.
32666 In case a filesystem is found, always report it.
32667 In case it isn't, if dev->disk->has_partitions is set, report that
32668 a partition table was found instead of reporting that no filesystem
32669 could be identified.
32670
5db82af6 326712007-10-12 Robert Millan <rmh@aybabtu.com>
32672
32673 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32674 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32675
68f6ac74 32676 * include/grub/types.h (grub_host_to_target16): New macro.
32677 (grub_host_to_target32): Likewise.
32678 (grub_host_to_target64): Likewise.
32679 (grub_target_to_host16): Likewise.
32680 (grub_target_to_host32): Likewise.
32681 (grub_target_to_host64): Likewise.
5db82af6 32682
32683 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32684 Renamed from to ...
32685 (GRUB_MOD_ALIGN): ...this. Update all users.
32686
68f6ac74 32687 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32688 grub_host_to_target32.
32689 Replace grub_be_to_cpu32 with grub_target_to_host32.
32690 (load_modules): Likewise.
32691 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32692 Replace grub_be_to_cpu32 with grub_target_to_host32.
32693 Replace grub_cpu_to_be16 with grub_host_to_target16.
32694 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 32695
3cf497cc 326962007-10-12 Robert Millan <rmh@aybabtu.com>
32697
32698 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32699 * util/elf/grub-mkimage.c: ... here.
32700
32701 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32702 `util/powerpc/ieee1275/grub-mkimage.c'.
32703
c8cc3692 327042007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 32705
c8cc3692 32706 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32707 and make it easier to figure out.
32708 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32709 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32710 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32711 leave us with less than HEAP_MIN_SIZE total heap.
32712 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 32713
5c58b791 327142007-10-03 Robert Millan <rmh@aybabtu.com>
32715
32716 * include/grub/i386/io.h: New file.
32717 * commands/i386/pc/play.c (inb): Removed.
32718 (outb): Removed.
32719 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32720 with grub_outb().
afcd2ef8 32721 * term/i386/pc/serial.c (inb): Removed.
32722 (outb): Removed.
32723 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32724 with grub_outb().
32725 * term/i386/pc/vga.c (inb): Removed.
32726 (outb): Removed.
32727 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32728 with grub_outb().
5c58b791 32729
1a477ed6 327302007-10-02 Robert Millan <rmh@aybabtu.com>
32731
32732 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32734 Reported by Marcin Kurek.
32735
6b5d80fa 327362007-09-07 Robert Millan <rmh@aybabtu.com>
32737
32738 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32739 SmartFirmware version updates (as released by Sven Luther), and avoid
32740 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32741 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32742 known broken.
32743
5618afbf 327442007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32745
32746 From Hitoshi Ozeki:
32747 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32748 when merging two regions.
32749
6139dcd9 327502007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32751
508e39ee 32752 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32753 * normal/completion.c (grub_normal_do_completion): Likewise.
32754 Reported by Hitoshi Ozeki.
32755
327562007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32757
6139dcd9 32758 Do not use devices at boot in chainloading.
f19dbdb7 32759
6139dcd9 32760 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32761 (boot_part_addr): Likewise.
32762 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32763 with BOOT_DRIVE and BOOT_PART_ADDR.
32764 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32765 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32766
38da6516 327672007-08-29 Robert Millan <rmh@aybabtu.com>
32768
32769 Patch from Simon Peter <dn.tlp@gmx.net>:
32770 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32771 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32772 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32773 util/i386/pc/grub-setup.c_DEPENDENCIES.
32774 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32775 util/grub-probe.c_DEPENDENCIES.
32776 * conf/powerpc-ieee1275.rmk: Likewise.
32777
29d0928c 327782007-08-28 Robert Millan <rmh@aybabtu.com>
32779
32780 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32781 to tell grub-mkdevicemap how to name devices.
32782 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32783 feature).
32784
32785 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32786 util/i386/get_disk_name.c.
32787 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32788 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32789 util/ieee1275/get_disk_name.c.
32790
32791 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32792
32793 * DISTLIST: Add util/i386/get_disk_name.c and
32794 util/ieee1275/get_disk_name.c.
32795
32796 * util/grub-mkdevicemap.c: Replace device naming logic with
32797 grub_util_get_disk_name() calls.
32798
5a0d3cca 327992007-08-20 Robert Millan <rmh@aybabtu.com>
32800
32801 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32802 (so that it works for both plural and singular quantities).
32803
8b72db2f 328042007-08-05 Robert Millan <rmh@aybabtu.com>
32805
32806 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32807 so that [xz] isn't taken into account when determining order.
32808
352466bf 328092007-08-02 Marco Gerards <marco@gnu.org>
32810
32811 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32812 `include/multiboot2.h', `include/grub/elfload.h',
32813 `include/multiboot.h', `include/grub/multiboot.h',
32814 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32815 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32816 `kern/elf.c', `loader/multiboot_loader.c',
32817 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32818 `loader/i386/pc/multiboot2.c',
32819 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32820 `util/i386/pc/grub-mkrescue.in'. Remove
32821 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32822 `include/grub/i386/pc/util/biosdisk.h' and
32823 `include/grub/powerpc/ieee1275/multiboot.h'.
32824
8f096014 328252007-08-02 Bean <bean123ch@gmail.com>
32826
32827 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32828 (ntfs_mod_SOURCES): New variable.
32829 (ntfs_mod_CFLAGS): Likewise.
32830 (ntfs_mod_LDFLAGS): Likewise.
32831
32832 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32833 (grub_probe_SOURCES): Likewise.
32834 (grub_emu_SOURCES): Likewise.
32835
32836 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32837 (grub_emu_SOURCES): Likewise.
32838
32839 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32840 (grub_emu_SOURCES): Likewise.
f19dbdb7 32841
8f096014 32842 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32843
32844 * fs/ntfs.c: New file.
32845
9959f7db 328462007-08-02 Bean <bean123ch@gmail.com>
32847
32848 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32849
32850 * file.h (grub_file): Likewise.
32851
32852 * fshelp.h (grub_fshelp_read_file): Likewise.
32853
32854 * util/i386/pc/grub-setup.c (setup): Likewise.
32855 (save_first_sector): Likewise.
32856 (save_blocklists): Likewise.
f19dbdb7 32857
9959f7db 32858 * fs/affs.c (grub_affs_read_file): Likewise.
32859
32860 * fs/ext2.c (grub_ext2_read_file): Likewise.
32861
32862 * fs/fat.c (grub_fat_read_data): Likewise.
32863
32864 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32865
32866 * fs/hfs.c (grub_hfs_read_file): Likewise.
32867
32868 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32869
32870 * fs/jfs.c (grub_jfs_read_file): Likewise.
32871
32872 * fs/minix.c (grub_minix_read_file): Likewise.
32873
32874 * fs/sfs.c (grub_sfs_read_file): Likewise.
32875
32876 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 32877
9959f7db 32878 * fs/xfs.c (grub_xfs_read_file): Likewise.
32879
32880 * command/blocklist.c (read_blocklist): Likewise.
32881 (print_blocklist): Likewise.
32882
0a203f83 328832007-08-02 Marco Gerards <marco@gnu.org>
32884
32885 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
32886 `util/hostfs.c'.
32887
32888 * disk/host.c: New file.
32889
32890 * util/hostfs.c: Likewise.
32891
32892 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
32893 return `GRUB_ERR_BAD_FS'.
32894 * fs/sfs.c (grub_sfs_mount): Likewise.
32895 * fs/xfs.c (grub_xfs_mount): Likewise.
32896
32897 * include/grub/disk.h (enum grub_disk_dev_id): Add
32898 `GRUB_DISK_DEVICE_HOST_ID'.
32899
32900 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
32901
e5dfe777 329022007-07-24 Jerone Young <jerone@gmail.com>
32903
f19dbdb7 32904 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 32905 modules for compilation.
32906 * conf/powerpc-ieee1275.rmk: Likewise.
32907
32908 * include/multiboot.h: Move multiboot definitions to one file. Rename
32909 many definitions to not get grub specific.
32910 * include/multiboot2.h: Create header with multiboot 2 definitions.
32911 * include/grub/multiboot.h: Header for grub specific function
32912 prototypes and definitions.
32913 * include/grub/multiboot2.h: Likewise.
32914 * include/grub/multiboot_loader.h: Likewise.
32915 * include/grub/i386/pc/multiboot.h: Removed.
32916 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
32917
32918 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
32919 and 2 to allow for one multiboot and module commands.
32920 * loader/multiboot2.c: Add multiboot2 functionality.
32921 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
32922 and definition names.
32923 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
32924 2 functions.
32925 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
32926 ieee1275 specific multiboot2 code.
32927
32928 * kern/i386/pc/startup.S: Change headers and definition names for
32929 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
32930
daf0f0ba 329312007-07-22 Robert Millan <rmh@aybabtu.com>
32932
32933 * geninitheader.sh: Process file specified in first parameter rather
32934 than hardcoding grub_modules_init.lst.
fe6b695a 32935 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 32936 than hardcoding grub_modules_init.h.
32937
32938 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
32939 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
32940 grub_probe_init.[ch] and grub_setup_init.[ch].
32941
32942 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
32943 grub_modules_init.h with grub_emu_init.h.
32944 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
32945 grub_probe_init.[ch] files.
32946 * conf/i386-efi.rmk: Likewise.
32947 * conf/i386-pc.rmk: Likewise.
32948 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
32949 grub_setup_init.[ch] files.
32950
32951 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
32952 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
32953 to initialize modules rather than a list of hardcoded functions.
32954 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
32955 grub_init_all() to initialize modules rather than a list of hardcoded
32956 functions.
32957
54cdc1cc 329582007-07-22 Robert Millan <rmh@aybabtu.com>
32959
32960 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
32961 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
32962
ad0686cc 329632007-07-22 Robert Millan <rmh@aybabtu.com>
32964
32965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32966 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
32967 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
32968 flag when running on SmartFirmware.
32969 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
32970 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
32971 was set.
32972
32973 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32974 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
32975 rather than decreasing it.
32976
32977 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
32978 there's not enough space to do it, fail in the same way as when it
32979 can't be done because there are no partitions.
32980
32981 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
32982 when nvsetenv failed.
32983
969c02ec 329842007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32985
32986 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
32987 because this rule is automatically generated.
32988 (grub-mkrescue): Removed for the same reason as above.
32989
5a79f472 329902007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32991
32992 Migrate to GNU General Public License Version 3.
f19dbdb7 32993
5a79f472 32994 * COPYING: Replaced with the plain text version of GPLv3.
32995
32996 * config.guess: Updated from gnulib.
32997 * config.sub: Likewise.
32998
32999 * geninit.sh: Output a GPLv3 copyright notice.
33000 * geninitheader.sh: Likewise.
33001 * genmodsrc.sh: Likewise.
33002 * gensymlist.sh.in: Likewise.
33003
33004 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33005 * boot/i386/pc/diskboot.S: Likewise.
33006 * boot/i386/pc/pxeboot.S: Likewise.
33007 * commands/blocklist.c: Likewise.
33008 * commands/boot.c: Likewise.
33009 * commands/cat.c: Likewise.
33010 * commands/cmp.c: Likewise.
33011 * commands/configfile.c: Likewise.
33012 * commands/echo.c: Likewise.
33013 * commands/help.c: Likewise.
33014 * commands/ls.c: Likewise.
33015 * commands/search.c: Likewise.
33016 * commands/terminal.c: Likewise.
33017 * commands/test.c: Likewise.
33018 * commands/videotest.c: Likewise.
33019 * commands/i386/cpuid.c: Likewise.
33020 * commands/i386/pc/halt.c: Likewise.
33021 * commands/i386/pc/play.c: Likewise.
33022 * commands/i386/pc/reboot.c: Likewise.
33023 * commands/i386/pc/vbeinfo.c: Likewise.
33024 * commands/i386/pc/vbetest.c: Likewise.
33025 * commands/ieee1275/halt.c: Likewise.
33026 * commands/ieee1275/reboot.c: Likewise.
33027 * commands/ieee1275/suspend.c: Likewise.
33028 * disk/loopback.c: Likewise.
33029 * disk/lvm.c: Likewise.
33030 * disk/raid.c: Likewise.
33031 * disk/efi/efidisk.c: Likewise.
33032 * disk/i386/pc/biosdisk.c: Likewise.
33033 * disk/ieee1275/ofdisk.c: Likewise.
33034 * font/manager.c: Likewise.
33035 * fs/affs.c: Likewise.
33036 * fs/ext2.c: Likewise.
33037 * fs/fat.c: Likewise.
33038 * fs/fshelp.c: Likewise.
33039 * fs/hfs.c: Likewise.
33040 * fs/hfsplus.c: Likewise.
33041 * fs/iso9660.c: Likewise.
33042 * fs/jfs.c: Likewise.
33043 * fs/minix.c: Likewise.
33044 * fs/sfs.c: Likewise.
33045 * fs/ufs.c: Likewise.
33046 * fs/xfs.c: Likewise.
33047 * hello/hello.c: Likewise.
33048 * include/grub/acorn_filecore.h: Likewise.
33049 * include/grub/arg.h: Likewise.
33050 * include/grub/bitmap.h: Likewise.
33051 * include/grub/boot.h: Likewise.
33052 * include/grub/cache.h: Likewise.
33053 * include/grub/device.h: Likewise.
33054 * include/grub/disk.h: Likewise.
33055 * include/grub/dl.h: Likewise.
33056 * include/grub/elfload.h: Likewise.
33057 * include/grub/env.h: Likewise.
33058 * include/grub/err.h: Likewise.
33059 * include/grub/file.h: Likewise.
33060 * include/grub/font.h: Likewise.
33061 * include/grub/fs.h: Likewise.
33062 * include/grub/fshelp.h: Likewise.
33063 * include/grub/gzio.h: Likewise.
33064 * include/grub/hfs.h: Likewise.
33065 * include/grub/kernel.h: Likewise.
33066 * include/grub/loader.h: Likewise.
33067 * include/grub/lvm.h: Likewise.
33068 * include/grub/misc.h: Likewise.
33069 * include/grub/mm.h: Likewise.
33070 * include/grub/net.h: Likewise.
33071 * include/grub/normal.h: Likewise.
33072 * include/grub/parser.h: Likewise.
33073 * include/grub/partition.h: Likewise.
33074 * include/grub/pc_partition.h: Likewise.
33075 * include/grub/raid.h: Likewise.
33076 * include/grub/rescue.h: Likewise.
33077 * include/grub/script.h: Likewise.
33078 * include/grub/setjmp.h: Likewise.
33079 * include/grub/symbol.h: Likewise.
33080 * include/grub/term.h: Likewise.
33081 * include/grub/terminfo.h: Likewise.
33082 * include/grub/tparm.h: Likewise.
33083 * include/grub/types.h: Likewise.
33084 * include/grub/video.h: Likewise.
33085 * include/grub/efi/api.h: Likewise.
33086 * include/grub/efi/chainloader.h: Likewise.
33087 * include/grub/efi/console.h: Likewise.
33088 * include/grub/efi/console_control.h: Likewise.
33089 * include/grub/efi/disk.h: Likewise.
33090 * include/grub/efi/efi.h: Likewise.
33091 * include/grub/efi/pe32.h: Likewise.
33092 * include/grub/efi/time.h: Likewise.
33093 * include/grub/i386/linux.h: Likewise.
33094 * include/grub/i386/setjmp.h: Likewise.
33095 * include/grub/i386/types.h: Likewise.
33096 * include/grub/i386/efi/kernel.h: Likewise.
33097 * include/grub/i386/efi/loader.h: Likewise.
33098 * include/grub/i386/efi/time.h: Likewise.
33099 * include/grub/i386/pc/biosdisk.h: Likewise.
33100 * include/grub/i386/pc/boot.h: Likewise.
33101 * include/grub/i386/pc/chainloader.h: Likewise.
33102 * include/grub/i386/pc/console.h: Likewise.
33103 * include/grub/i386/pc/init.h: Likewise.
33104 * include/grub/i386/pc/kernel.h: Likewise.
33105 * include/grub/i386/pc/loader.h: Likewise.
33106 * include/grub/i386/pc/memory.h: Likewise.
33107 * include/grub/i386/pc/multiboot.h: Likewise.
33108 * include/grub/i386/pc/serial.h: Likewise.
33109 * include/grub/i386/pc/time.h: Likewise.
33110 * include/grub/i386/pc/vbe.h: Likewise.
33111 * include/grub/i386/pc/vbeblit.h: Likewise.
33112 * include/grub/i386/pc/vbefill.h: Likewise.
33113 * include/grub/i386/pc/vbeutil.h: Likewise.
33114 * include/grub/i386/pc/vga.h: Likewise.
33115 * include/grub/ieee1275/ieee1275.h: Likewise.
33116 * include/grub/ieee1275/ofdisk.h: Likewise.
33117 * include/grub/powerpc/libgcc.h: Likewise.
33118 * include/grub/powerpc/setjmp.h: Likewise.
33119 * include/grub/powerpc/types.h: Likewise.
33120 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33121 * include/grub/powerpc/ieee1275/console.h: Likewise.
33122 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33123 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33124 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33125 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33126 * include/grub/powerpc/ieee1275/time.h: Likewise.
33127 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33128 * include/grub/sparc64/libgcc.h: Likewise.
33129 * include/grub/sparc64/setjmp.h: Likewise.
33130 * include/grub/sparc64/types.h: Likewise.
33131 * include/grub/sparc64/ieee1275/console.h: Likewise.
33132 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33133 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33134 * include/grub/sparc64/ieee1275/time.h: Likewise.
33135 * include/grub/util/biosdisk.h: Likewise.
33136 * include/grub/util/getroot.h: Likewise.
33137 * include/grub/util/lvm.h: Likewise.
33138 * include/grub/util/misc.h: Likewise.
33139 * include/grub/util/raid.h: Likewise.
33140 * include/grub/util/resolve.h: Likewise.
33141 * io/gzio.c: Likewise.
33142 * kern/device.c: Likewise.
33143 * kern/disk.c: Likewise.
33144 * kern/dl.c: Likewise.
33145 * kern/elf.c: Likewise.
33146 * kern/env.c: Likewise.
33147 * kern/err.c: Likewise.
33148 * kern/file.c: Likewise.
33149 * kern/fs.c: Likewise.
33150 * kern/loader.c: Likewise.
33151 * kern/main.c: Likewise.
33152 * kern/misc.c: Likewise.
33153 * kern/mm.c: Likewise.
33154 * kern/parser.c: Likewise.
33155 * kern/partition.c: Likewise.
33156 * kern/rescue.c: Likewise.
33157 * kern/term.c: Likewise.
33158 * kern/efi/efi.c: Likewise.
33159 * kern/efi/init.c: Likewise.
33160 * kern/efi/mm.c: Likewise.
33161 * kern/i386/dl.c: Likewise.
33162 * kern/i386/efi/init.c: Likewise.
33163 * kern/i386/efi/startup.S: Likewise.
33164 * kern/i386/pc/init.c: Likewise.
33165 * kern/i386/pc/lzo1x.S: Likewise.
33166 * kern/i386/pc/startup.S: Likewise.
33167 * kern/ieee1275/ieee1275.c: Likewise.
33168 * kern/powerpc/cache.S: Likewise.
33169 * kern/powerpc/dl.c: Likewise.
33170 * kern/powerpc/ieee1275/cmain.c: Likewise.
33171 * kern/powerpc/ieee1275/crt0.S: Likewise.
33172 * kern/powerpc/ieee1275/init.c: Likewise.
33173 * kern/powerpc/ieee1275/openfw.c: Likewise.
33174 * kern/sparc64/cache.S: Likewise.
33175 * kern/sparc64/dl.c: Likewise.
33176 * kern/sparc64/ieee1275/init.c: Likewise.
33177 * kern/sparc64/ieee1275/openfw.c: Likewise.
33178 * loader/efi/chainloader.c: Likewise.
33179 * loader/efi/chainloader_normal.c: Likewise.
33180 * loader/i386/efi/linux.c: Likewise.
33181 * loader/i386/efi/linux_normal.c: Likewise.
33182 * loader/i386/pc/chainloader.c: Likewise.
33183 * loader/i386/pc/chainloader_normal.c: Likewise.
33184 * loader/i386/pc/linux.c: Likewise.
33185 * loader/i386/pc/linux_normal.c: Likewise.
33186 * loader/i386/pc/multiboot.c: Likewise.
33187 * loader/i386/pc/multiboot_normal.c: Likewise.
33188 * loader/powerpc/ieee1275/linux.c: Likewise.
33189 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33190 * normal/arg.c: Likewise.
33191 * normal/cmdline.c: Likewise.
33192 * normal/command.c: Likewise.
33193 * normal/completion.c: Likewise.
33194 * normal/execute.c: Likewise.
33195 * normal/function.c: Likewise.
33196 * normal/lexer.c: Likewise.
33197 * normal/main.c: Likewise.
33198 * normal/menu.c: Likewise.
33199 * normal/menu_entry.c: Likewise.
33200 * normal/misc.c: Likewise.
33201 * normal/parser.y: Likewise.
33202 * normal/script.c: Likewise.
33203 * normal/i386/setjmp.S: Likewise.
33204 * normal/powerpc/setjmp.S: Likewise.
33205 * normal/sparc64/setjmp.S: Likewise.
33206 * partmap/acorn.c: Likewise.
33207 * partmap/amiga.c: Likewise.
33208 * partmap/apple.c: Likewise.
33209 * partmap/gpt.c: Likewise.
33210 * partmap/pc.c: Likewise.
33211 * partmap/sun.c: Likewise.
33212 * term/gfxterm.c: Likewise.
33213 * term/terminfo.c: Likewise.
33214 * term/efi/console.c: Likewise.
33215 * term/i386/pc/console.c: Likewise.
33216 * term/i386/pc/serial.c: Likewise.
33217 * term/i386/pc/vesafb.c: Likewise.
33218 * term/i386/pc/vga.c: Likewise.
33219 * term/ieee1275/ofconsole.c: Likewise.
33220 * util/biosdisk.c: Likewise.
33221 * util/console.c: Likewise.
33222 * util/genmoddep.c: Likewise.
33223 * util/getroot.c: Likewise.
33224 * util/grub-emu.c: Likewise.
33225 * util/grub-mkdevicemap.c: Likewise.
33226 * util/grub-probe.c: Likewise.
33227 * util/lvm.c: Likewise.
33228 * util/misc.c: Likewise.
33229 * util/raid.c: Likewise.
33230 * util/resolve.c: Likewise.
33231 * util/update-grub.in: Likewise.
33232 * util/update-grub_lib.in: Likewise.
33233 * util/grub.d/00_header.in: Likewise.
33234 * util/grub.d/10_hurd.in: Likewise.
33235 * util/grub.d/10_linux.in: Likewise.
33236 * util/i386/efi/grub-install.in: Likewise.
33237 * util/i386/efi/grub-mkimage.c: Likewise.
33238 * util/i386/pc/grub-install.in: Likewise.
33239 * util/i386/pc/grub-mkimage.c: Likewise.
33240 * util/i386/pc/grub-mkrescue.in: Likewise.
33241 * util/i386/pc/grub-setup.c: Likewise.
33242 * util/i386/pc/misc.c: Likewise.
33243 * util/powerpc/ieee1275/grub-install.in: Likewise.
33244 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33245 * util/powerpc/ieee1275/misc.c: Likewise.
33246 * video/bitmap.c: Likewise.
33247 * video/video.c: Likewise.
33248 * video/i386/pc/vbe.c: Likewise.
33249 * video/i386/pc/vbeblit.c: Likewise.
33250 * video/i386/pc/vbefill.c: Likewise.
33251 * video/i386/pc/vbeutil.c: Likewise.
33252 * video/readers/tga.c: Likewise.
33253
3572d015 332542007-07-02 Robert Millan <rmh@aybabtu.com>
33255
33256 * conf/i386-efi.rmk: Replace obsolete reference to
33257 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33258 with util/getroot.c.
33259 * conf/powerpc-ieee1275.rmk: Likewise.
33260 * conf/sparc64-ieee1275.rmk: Likewise.
33261
33262 * util/grub-emu.c (main): Fix unchecked pointer handling.
33263
2c2a681b 332642007-07-02 Robert Millan <rmh@aybabtu.com>
33265
33266 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33267 invocation to fail, in order to support partition-less media.
33268
33269 * util/i386/pc/grub-install.in: Likewise.
33270
33271 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33272 which fs or partmap modules are needed (akin to its sister scripts).
33273
33274 Also use grub-probe to get rid of unportable /proc/mounts check.
33275
33276 Print the same informational message that the other scripts do, before
fe6b695a 33277 exiting.
2c2a681b 33278
6193defe 332792007-06-23 Robert Millan <rmh@aybabtu.com>
33280
fe6b695a 33281 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 33282 a font file can be found and, if so, echo the GRUB path to it.
33283
33284 * util/update-grub.in: Handle multiple terminals depending on user
33285 input, platform availability and font file presence. Propagate
33286 variables of our findings to /etc/grub.d/ children.
33287
33288 * util/grub.d/00_header.in: Handle multiple terminals, based on
33289 environment setup by update-grub.
33290
eface1dc 332912007-06-23 Robert Millan <rmh@aybabtu.com>
33292
ba50d28f 33293 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 33294
bf697e28 332952007-06-21 Robert Millan <rmh@aybabtu.com>
33296
33297 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33298 indicate end of data section in kernel image.
33299 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33300 GRUB_KERNEL_MACHINE_DATA_END.
33301
33302 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33303 space for it.
33304 * kern/i386/efi/startup.S: Likewise.
33305
33306 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33307 during image generation. Implement --prefix option to override this
33308 patch.
33309 * util/i386/efi/grub-mkimage.c: Likewise.
33310
33311 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33312 code to make path relative to its root into a separate function.
33313
33314 * util/i386/pc/grub-install.in: Use newly provided
33315 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33316 pass the result to grub-install --prefix.
33317
baa574b4 333182007-06-13 Robert Millan <rmh@aybabtu.com>
33319
33320 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33321 DEFAULT_DEVICE_MAP.
33322 * util/grub-emu.c: Use above definitions from misc.h instead of
33323 defining them.
33324 * util/grub-mkdevicemap.c: Likewise.
33325 * util/i386/pc/grub-setup.c: Likewise.
33326 * util/grub-probe.c: Likewise.
33327 (probe): Abort with grub_util_error() when either
33328 grub_guess_root_device or grub_util_get_grub_dev fails.
33329
0215dcbf 333302007-06-12 Robert Millan <rmh@aybabtu.com>
33331
33332 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33333 "pager" assignment.
33334 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33335 "pcdata".
33336 * util/grub-probe.c (probe): Likewise for "drive_name".
33337
8af2ab7b 333382007-06-11 Robert Millan <rmh@aybabtu.com>
33339
33340 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33341 not just the cdrom one.
33342
59d31694 333432007-06-11 Robert Millan <rmh@aybabtu.com>
33344
33345 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33346 Add --pkglibdir=DIR option to override pkglibdir.
33347 Mention --image-type=TYPE in help output.
33348 Fix --grub-mkimage (it was a no-op).
fe6b695a 33349 Abort gracefully when no parameter is given.
59d31694 33350
7ee367e4 333512007-06-11 Robert Millan <rmh@aybabtu.com>
33352
33353 * util/i386/pc/grub-mkrescue.in: New file.
33354 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33355 * Makefile.in: Handle bin_SCRIPTS.
33356
29b0ed46 333572007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33358
33359 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33360 list of video modes.
33361
c0f90770 333622007-06-06 Robert Millan <rmh@aybabtu.com>
33363
33364 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33365 file doesn't exist, or if it is in a filesystem grub can't read.
33366
33367 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33368 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33369 header comment to fit in 80 columns when the variables are resolved.
33370
33371 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33372 could be identified by update-grub. Remove redundant check for
fe6b695a 33373 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 33374 handles that).
33375
fb36dc26 333762007-06-04 Robert Millan <rmh@aybabtu.com>
33377
33378 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33379
33380 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33381
33382 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33383
0c68c93e 333842007-06-04 Robert Millan <rmh@aybabtu.com>
33385
33386 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33387
33388 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33389 grub_apple_partition_map_fini.
33390
33391 * util/biosdisk.c
33392 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33393 to access >2 TiB disks).
33394
33395 Print disk->total_sectors with %llu instead of %lu, since this
33396 variable is always 64-bit (prevents wrong disk size from being displayed
33397 on either >2 TiB disk or big-endian CPU).
33398
33399 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33400 into a generic case that supports all (sane) partition maps.
33401
33402 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33403 breaks big-endian.
33404
33405 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33406 and grub_apple_partition_map_fini() after that.
33407
0f23eb74 334082007-06-01 Robert Millan <rmh@aybabtu.com>
33409
33410 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33411
33412 * util/grub.d/00_header.in: Only enable gfxterm when
33413 convert_system_path_to_grub_path() succeeds.
33414
42c71976 334152007-05-20 Robert Millan <rmh@aybabtu.com>
33416
33417 * util/update-grub_lib.in: New file.
33418 * DISTLIST: Add update-grub_lib.in.
33419 * conf/common.rmk: Generate update-grub_lib and install it in
33420 $(lib_DATA).
33421 * Makefile.in: Add install routine for $(lib_DATA).
33422
33423 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33424 function provided by update-grub_lib to support arbitrary paths of
33425 unifont.pff.
33426 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33427 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33428
5beb2291 334292007-05-19 Robert Millan <rmh@aybabtu.com>
33430
33431 * commands/i386/cpuid.c: New module.
33432 * DISTLIST: Add it.
33433 * conf/i386-efi.rmk: Enable cpuid.mod.
33434 * conf/i386-pc.rmk: Likewise.
33435
7262eca1 334362007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33437
33438 * kern/disk.c (grub_disk_read): Check return value of
33439 grub_realloc().
33440
260ba823 334412007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33442
33443 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33444 arrays.
33445 * disk/raid.c (grub_raid_open): Likewise.
33446
1ecb6cf2 334472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33448
33449 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33450 stack instead of on the heap.
33451
33452 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33453 before doing a read on it.
33454
33455 * configure.ac: Only use -fno-stack-protector for the target
33456 environment.
f19dbdb7 33457
21c8cbb1 334582007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33459
33460 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33461 __attribute_ ((unused)) to mode_type argument.
33462
33463 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 33464
21c8cbb1 33465 * kern/misc.c (memcmp): Fix prototype.
33466
33467 * include/grub/partition.h [GRUB_UTIL]
33468 (grub_gpt_partition_map_init): Add prototype.
33469 (grub_gpt_partition_map_fini): Likewise.
33470
33471 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33472 at the right place.
33473
33474 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33475 (grub_fat_read_data): Likewise.
33476 (grub_fat_find_dir): Likewise.
33477
33478 * font/manager.c (find_glyph): Make table a const.
33479 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 33480
849d55d3 334812007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33482
33483 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33484 code, first search for device in /dev/mapper, then in /dev.
33485 (grub_util_get_grub_dev): New function.
33486 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33487 prototype.
33488 * util/grub-probe.c (probe): Remove check for RAID, call
33489 grub_util_get_grub_dev() instead of
33490 grub_util_biosdisk_get_grub_dev().
33491 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33492 grub_util_biosdisk_get_grub_dev().
33493 * util/i386/pc/grub-setup.c (main): Likewise.
33494
8fff7c2f 334952007-05-16 Robert Millan <rmh@aybabtu.com>
33496
33497 * DISTLIST: Update for the latest changes.
33498 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33499 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33500 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33501 grub/util/biosdisk.h.
33502 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33503 grub/util/biosdisk.h.
33504
48e12b52 335052007-05-16 Robert Millan <rmh@aybabtu.com>
33506
33507 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33508
46b9d128 335092007-05-16 Robert Millan <rmh@aybabtu.com>
33510
33511 * util/i386/efi/grub-install.in: New.
33512 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33513 newly added grub-install.
33514 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33515 include.
33516 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33517 grub/util/biosdisk.h.
33518 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33519 grub/util/biosdisk.h.
33520
2d1a40a9 335212007-05-16 Robert Millan <rmh@aybabtu.com>
33522
33523 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33524 * include/grub/util/biosdisk.h: ... here.
33525 * util/i386/pc/biosdisk.c: Moved to ...
33526 * util/biosdisk.c: ... here.
33527 * util/i386/pc/getroot.c: Moved to ...
33528 * util/getroot.c: ... here.
33529 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33530 * util/grub-mkdevicemap.c: ... here.
33531 * util/i386/pc/grub-probe.c: Moved to ...
33532 * util/grub-probe.c: ... here.
33533
9e26e3bc 335342007-05-15 Robert Millan <rmh@aybabtu.com>
33535
33536 * util/update-grub.in: Remove duplicated line in grub.cfg header
33537 message.
33538
57f96397 335392007-05-13 Robert Millan <rmh@aybabtu.com>
33540
33541 * util/update-grub.in: Fix a few assumptions about the devices holding
33542 /, /boot and /boot/grub being the same.
33543 * util/grub.d/00_header.in: Likewise.
33544 * util/grub.d/10_hurd.in: Likewise.
33545 * util/grub.d/10_linux.in: Likewise.
33546
33547 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33548 patterns. Use that to define the `.old' suffix as older than `'.
33549
33550 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33551
33552 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33553 the grub.cfg header message.
33554
2e610d62 335552007-05-11 Robert Millan <rmh@aybabtu.com>
33556
33557 * util/update-grub.in: Create device.map if it doesn't already exist,
33558 before attempting to run grub-probe.
33559 Check for grub-probe and grub-mkdevicemap with the same code
33560 grub-install is using.
33561 Remove test mode.
33562
3f6a10ef 335632007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33564
33565 * Makefile.in: Add the datarootdir autoconf variable.
33566
02e7b75e 335672007-05-09 Robert Millan <rmh@aybabtu.com>
33568
33569 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 33570 fail gracefully if dev->disk->partition == NULL.
02e7b75e 33571
75f396cc 335722007-05-07 Robert Millan <rmh@aybabtu.com>
33573
33574 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33575 determine partition map module.
33576 * util/i386/pc/grub-install.in: Use this feature to decide which
33577 partition module to load, instead of hardcoding pc and gpt.
33578
da65cb36 335792007-05-07 Robert Millan <rmh@aybabtu.com>
33580
33581 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33582 source directory differs from build directory.
33583
b57d6a91 335842007-05-05 Robert Millan <rmh@aybabtu.com>
33585
33586 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33587 initialisation.
33588
509d00f1 335892007-05-05 Robert Millan <rmh@aybabtu.com>
33590
33591 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33592
c48f23ef 335932007-05-05 Robert Millan <rmh@aybabtu.com>
33594
33595 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33596 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33597
20b97658 335982007-05-05 Robert Millan <rmh@aybabtu.com>
33599
33600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33601 (grub_probe_SOURCES): Likewise.
33602 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33603 GPT and initialize dos_part and bsd_part accordingly.
33604 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33605 install_bsd_part.
33606 (main): Activate gpt module for use during partition identification,
33607 and deactivate it afterwards.
33608 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33609 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33610 partition identification, and deactivate it afterwards.
33611
99123174 336122007-05-05 Robert Millan <rmh@aybabtu.com>
33613
33614 * term/i386/pc/console.c (grub_console_fini): Call
33615 grub_term_set_current() before grub_term_unregister().
33616
ebd97f6e 336172007-05-04 Robert Millan <rmh@aybabtu.com>
33618
33619 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33620 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33621 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33622 and update-grub_DATA.
33623 * conf/common.rmk: Build and install update-grub components.
33624 * conf/common.mk: Regenerate.
33625 * util/update-grub.in: New. Core of update-grub.
33626 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33627 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33628 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33629 * util/grub.d/README: New. Document grub.d directory layout.
33630
b06a264d 336312007-05-01 Robert Millan <rmh@aybabtu.com>
33632
33633 * util/grub-emu.c: Move initialization functions
33634 grub_util_biosdisk_init() and grub_init_all() before
33635 grub_util_biosdisk_get_grub_dev(), which relies on them.
33636
41f0050e 336372007-04-19 Robert Millan <rmh@aybabtu.com>
33638
33639 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33640 it is used later.
33641
04582bb3 336422007-04-18 Jerone Young <jerone@gmail.com>
33643
f19dbdb7 33644 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 33645 stanza.
33646
08db4632 336472007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 33648
08db4632 33649 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33650 continue on and look for device node with real device name.
33651
801b76be 336522007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 33653
fe6b695a 33654 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 33655 ability.
33656 * Makefile.in: Add autoconf package transformation code.
33657 * util/i386/pc/grub-install.in: Likewise.
33658 * util/powerpc/ieee1275/grub-install.in: Likewise.
33659
6795c4e1 336602007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33661
33662 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33663 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33664 (EXT2_REVISION): Likewise.
33665 (EXT2_INODE_SIZE): Likewise.
33666 (struct grub_ext2_block_group): Added a missing member
33667 "used_dirs".
33668 (grub_ext2_read_inode): Divide by the inode size in a superblock
33669 instead of 128 to obtain INODES_PER_BLOCK.
33670 Use the macro EXT2_INODE_SIZE instead of directly using
33671 SBLOCK->INODE_SIZE.
33672
d70af616 336732007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33674
33675 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33676 superblock instead of the structure size to compute an
33677 offset. This fixes the problem that GRUB could not read a
33678 filesystem when inode size is different from 128-byte.
33679
3b801603 336802007-03-05 Marco Gerards <marco@gnu.org>
33681
33682 * normal/main.c (read_config_file): When "menu" is not set, create
33683 an initial context.
33684
4785bfe4 336852007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33686
33687 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33688 (HEAP_LIMIT): New macro.
33689 (grub_claim_heap): Claim memory up to `heaplimit'.
33690
a0cbb023 336912007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33692
33693 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33694 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33695 (_start): Likewise.
33696 (grub_arch_modules_addr): Return address after `_end'.
33697 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33698 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33699 (add_segments): Calculate `_end' from phdr size and location.
33700 (ALIGN_UP): Moved to ...
33701 * include/grub/misc.h: here.
33702 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33703 New macro.
33704 (GRUB_IEEE1275_MODULE_BASE): Removed.
33705
fd7d8eba 337062007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33707
33708 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33709 loop boundary.
33710
9b09e6fc 337112007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33712
33713 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33714 All users updated.
33715 (grub_elf64_load_hook_t): Likewise.
33716 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33717 debug output.
33718
3ce27299 337192007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33720
33721 * kern/mm.c: Update copyright.
33722 (grub_mm_debug): Correct syntax error.
33723 (grub_mm_dump_free): New function.
33724 (grub_debug_free): Call `grub_free'.
33725 * include/grub/mm.h: Update copyright.
33726 (grub_mm_dump_free): Add declaration.
33727
077d5fee 337282007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33729
33730 * include/grub/ieee1275/ieee1275.h: Update copyright.
33731 * kern/powerpc/ieee1275/init.c: Likewise.
33732 * kern/powerpc/ieee1275/openfw.c: Likewise.
33733
33734 * loader/powerpc/ieee1275/linux.c: Likewise.
33735 * include/grub/elfload.h: Likewise.
33736 * kern/elf.c: Likewise.
33737 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33738 callers.
33739 (grub_elf64_load): Likewise.
33740 (grub_elf32_load_segment): Move to a nested function.
33741 (grub_elf64_load_segment): Likewise.
33742
dc946850 337432007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33744
33745 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33746 prototype.
33747 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33748 (grub_heap_len): Likewise.
33749 (HEAP_SIZE): New macro.
33750 (grub_claim_heap): New function.
33751 (grub_machine_init): Don't claim heap directly. Call
33752 `grub_claim_heap'.
33753 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33754 (grub_available_iterate): New function.
33755
baa2a121 337562007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33757
33758 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33759 * configure.ac: Use it for testing the HOST and TARGET compilers.
33760
4fe9862e 337612006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33762
33763 * Makefile.in (enable_grub_emu): New variable.
33764 * configure.ac (--enable-grub-emu): New option.
33765 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33766 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33767 * conf/i386-pc.rmk: Likewise.
33768 * conf/powerpc-ieee1275.rmk: Likewise.
33769 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33770
a8aa5762 337712006-12-12 Marco Gerards <marco@gnu.org>
33772
33773 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33774
33775 * kern/env.c (grub_env_unset): Don't free the member `value' when
33776 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33777 pointer.
33778
33779 * normal/main.c (current_menu): Removed.
33780 (free_menu): Unset the `menu' environment variable.
33781 (grub_normal_menu_addentry): Make use of the environment variable
33782 `menu', instead of using the global `current_menu'. Allocate
33783 memory for the sourcecode of this entry.
33784 (read_config_file): New argument `nested', changed all callers.
33785 Only in the case of a new context, initialize a new menu. Set the
33786 `menu' environment variable.
33787 (grub_normal_execute): Don't set and unset the environment
33788 variable `menu' here anymore. Only free the menu when leaving the
33789 context.
33790
33791 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33792 leak.
33793
957b3a3e 337942006-12-11 Marco Gerards <marco@gnu.org>
33795
33796 * normal/menu_entry.c (run): Fix off by one bug so the last line
33797 is executed. Move the loader check to outside the loop.
33798
ef875714 337992006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33800
33801 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33802
4e739985 338032006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33804
33805 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33806 the number of sectors. Reported by Andrey Shuvikov
33807 <mr_hyro@yahoo.com>.
f19dbdb7 33808
790707f2 338092006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33810
33811 * kern/disk.c (grub_disk_read): When there is a read error, always
33812 try to read only the necessary data.
f19dbdb7 33813
790707f2 33814 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33815 disk/raid.c.
33816 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33817 prototype.
33818 [GRUB_UTIL] (grub_raid_fini): Likewise.
33819 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 33820 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 33821 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33822 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33823 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33824 and grub_raid_fini().
f19dbdb7 33825
03e58196 338262006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33827
33828 * include/grub/types.h (__unused): Rename to UNUSED.
33829 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33830 (grub_elf64_size): Likewise.
f19dbdb7 33831
ae4f23bf 338322006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33833
33834 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33835 grub_error_push and grub_error_pop in the error-handling path.
33836 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33837 length.
33838
2166cc83 338392006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33840
33841 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33842 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33844 (kernel_elf_SOURCES): Likewise.
33845 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33846 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33847 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33848 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33849 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33850 (elf_mod_SOURCES): New variable.
33851 (elf_mod_CFLAGS): Likewise.
33852 (elf_mod_LDFLAGS): Likewise.
33853 * include/grub/types.h (__unused): New macro.
33854 * include/grub/elfload.h: New file.
33855 * kern/elf.c: Likewise.
33856 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33857 (ELF32_LOADMASK): New macro.
33858 (ELF64_LOADMASK): Likewise.
33859 (vmlinux): Removed.
33860 (grub_linux_load32): New function.
33861 (grub_linux_load64): Likewise.
33862 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33863 Use grub_elf_t instead of grub_file_t.
33864
a09d5aa5 338652006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33866
33867 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33868 `catch_result' to struct set_color_args.
33869
d976fc51 338702006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33871
33872 * normal/menu.c: Include grub/script.h.
33873 * normal/menu_entry.c: Likewise.
33874 * include/grub/normal.h: Do not include grub/script.h.
33875
67507549 338762006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33877
33878 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33879
69203a99 338802006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33881
33882 * kern/disk.c (grub_disk_open): Print debug messages when opening a
33883 disk.
33884 (grub_disk_close): Print debug messages when closing a disk.
33885 (grub_disk_read): Print debug messages when disk read fails.
33886 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
33887 filesystem type.
33888 * kern/partition.c: Include misc.h.
33889 (grub_partition_iterate): Print debug messages when detecting
33890 partition type.
33891
e2b8278c 338922006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33893
33894 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
33895 is negative.
33896 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
33897
97b2f2ff 338982006-10-26 Hollis Blanchard <hollis@penguinppc.org>
33899
33900 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33901 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
33902
6555d655 339032006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
33904
33905 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
33906 instead of sizeof(lv). Patch by Michael Guntsche.
33907
4d42b77f 339082006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
33909
33910 * disk/lvm.c: Rename VGS to VG_LIST.
33911 (grub_lvm_iterate): Change VGS->LV to VG-LV.
33912 (grub_lvm_open): Likewise.
33913 Thanks to Michael Guntsche for finding this bug.
33914
5d74d927 339152006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33916
33917 * configure.ac (AC_INIT): Bumped to 1.95.
33918
a1bb27e4 339192006-10-14 Robert Millan <rmh@aybabtu.com>
33920
33921 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
33922 with "/dev/.static/dev/md".
33923
e0994b8b 339242006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33925
33926 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
33927 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
33928 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
33929 DRIVE_NAME are always freed.
33930
33931 * util/i386/pc/biosdisk.c (make_device_name): Add one into
33932 DOS_PART, as a DOS partition is counted from one instead of zero
33933 now. Reported by Robert Millan.
33934
ddd5cee9 339352006-10-14 Robert Millan <rmh@aybabtu.com>
33936
33937 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
33938 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
33939 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
33940 string returned by grub_guess_root_device.
33941 * util/i386/pc/grub-setup.c: Likewise.
33942 * util/i386/pc/grub-probefs.c: Likewise.
33943
33944 * util/i386/pc/grub-probefs.c: Rename to ...
33945 * util/i386/pc/grub-probe.c: ... this.
33946 * DISTLIST: Remove grub-probefs, add grub-probe.
33947 * conf/i386-efi.rmk: Likewise.
33948 * conf/i386-pc.rmk: Likewise.
33949 * util/i386/pc/grub-install.in: Likewise.
33950
33951 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
33952 choose which information we want to print.
33953
2b002173 339542006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33955
33956 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
33957 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
33958 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
33959 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
33960 video/readers/tga.c and video/i386/pc/vbeutil.c.
33961
339622006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
33963
33964 Added support for RAID and LVM.
f19dbdb7 33965
2b002173 33966 * disk/lvm.c: New file.
33967 * disk/raid.c: Likewise.
33968 * include/grub/lvm.h: Likewise.
f19dbdb7 33969 * include/grub/raid.h: Likewise.
2b002173 33970 * include/grub/util/lvm.h: Likewise.
33971 * include/grub/util/raid.h: Likewise.
33972 * util/lvm.c: Likewise.
33973 * util/raid.c: Likewise.
33974
33975 * include/grub/disk.h (grub_disk_dev_id): Add
33976 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
33977 (grub_disk_get_size): New prototype.
33978 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
33979 returns a partition.
33980 (grub_disk_get_size): New function.
f19dbdb7 33981
2b002173 33982 * kern/i386/pc/init.c (make_install_device): Copy the prefix
33983 verbatim if grub_install_dos_part is -2.
33984
33985 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
33986 and LVM devices.
33987
33988 * util/i386/pc/grub-setup.c (setup): New argument
33989 MUST_EMBED. Force embedding of GRUB when the argument is
33990 true. Close FILE before returning.
33991 (main): Add support for RAID and LVM.
f19dbdb7 33992
2b002173 33993 * conf/common.rmk: Add RAID and LVM modules.
33994 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
33995 util/lvm.c.
33996 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
33997
33998 * kern/misc.c (grub_strstr): New function.
33999 * include/grub/misc.h (grub_strstr): New prototype.
34000
050548d0 340012006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34002
34003 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34004
da849d2d 340052006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34006
34007 * kern/misc.c (grub_strtoull): Guess the base only if not
34008 specified.
34009
97b2f2ff 340102006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 34011
34012 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34013 PowerMac support.
34014
97b2f2ff 340152006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 34016
34017 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34018
34019 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34020 Remove `flags' argument. All callers changed.
34021 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34022 (IEEE1275_IHANDLE_INVALID): New variable.
34023 (IEEE1275_CELL_INVALID): New variable.
34024 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34025 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34026 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34027 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34028 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34029 codes from Open Firmware. All callers updated.
34030 (grub_ieee1275_next_property): Directly return Open Firmware return
34031 code.
34032 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34033 Standardize error checking from `grub_ieee1275_get_property'.
34034 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34035 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34036
97b2f2ff 340372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 34038
34039 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34040 `instance_to_package_args' to `instance_to_path_args'.
34041
34042 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34043 `grub_ieee1275_chosen'.
34044
34045 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34046 `grub_ieee1275_interpret'.
34047
97b2f2ff 340482006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 34049
34050 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34051
97b2f2ff 340522006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 34053
34054 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34055 (__cmpdi): Likewise.
34056
34057 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34058 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34059 `grub_ssize_t'.
34060
02bb8acc 34061 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 34062
34063 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34064 to type `grub_ssize_t'.
34065 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34066
7f9a8531 340672006-09-22 Marco Gerards <marco@gnu.org>
34068
34069 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34070 newlines.
34071
b5ef1102 340722006-09-22 Marco Gerards <marco@gnu.org>
34073
34074 * commands/echo.c: New file.
34075
34076 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34077
34078 * conf/common.rmk (echo_mod_SOURCES): New variable.
34079 (echo_mod_CFLAGS): Likewise.
34080 (echo_mod_LDFLAGS): Likewise.
34081
2cff3677 340822006-09-22 Marco Gerards <marco@gnu.org>
34083
34084 * normal/main.c (get_line): Malloc memory instead of using
34085 preallocated memory. Removed the arguments `cmdline' and
34086 `max_len'. Updated all callers.
34087
6ba4688b 340882006-09-22 Marco Gerards <marco@gnu.org>
34089
34090 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34091 (normal_mod_DEPENDENCIES): Likewise.
34092
34093 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34094 (normal_mod_DEPENDENCIES): Likewise.
34095
34096 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34097
e02ac02c 340982006-09-22 Johan Rydberg <jrydberg@gnu.org>
34099
34100 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34101 programs.
34102 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34103 (normal_mod_DEPENDENCIES): Likewise.
34104 * conf/i386-pc.mk: Regenerate.
34105 * conf/i386-efi.mk: Likewise
34106 * conf/common.mk: Likewise.
34107 * conf/powerpc-ieee1275.mk: Likewise.
34108 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34109
8d252e44 341102006-09-22 Robert Millan <rmh@aybabtu.com>
34111
34112 Sync with i386 version.
34113 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34114 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34115
209bf7ac 341162006-09-21 Robert Millan <rmh@aybabtu.com>
34117
34118 Import from GRUB Legacy (lib/device.c):
34119 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34120 (init_device_map) [__linux__]: Add support for I2O devices.
34121
6b146090 341222006-09-14 Marco Gerards <marco@gnu.org>
34123
34124 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34125 `-melf_i386'.
34126
e38600a8 341272006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 34128
34129 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34130 /boot/grub/*.lst.
78fa1790 34131
2952da5d 34132 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 34133
2952da5d 34134 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34135 before adding it to device.map.
34136
01b82a64 341372006-08-15 Johan Rydberg <jrydberg@gnu.org>
34138
fe6b695a 34139 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 34140 compiles a file; using the -MD option.
34141 * conf/common.mk: Regenerate.
34142 * conf/i386-pc.mk: Likewise.
34143 * conf/i386-efi.mk: Likewise.
34144 * conf/powerpc-ieee1275.mk: Likewise.
34145 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34146
1064790d 341472006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34148
34149 Move the prototypes of grub_setjmp and grub_longjmp to
34150 cpu/setjmp.h, so that each architecture may specify different
34151 attributes.
f19dbdb7 34152
1064790d 34153 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34154 (grub_longjmp): Likewise.
34155 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34156 (grub_longjmp): Likewise.
34157 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34158 (grub_longjmp): Likewise.
34159
34160 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34161 [!GRUB_UTIL] (grub_longjmp): Removed.
34162
29dda3ed 341632006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34164
34165 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34166 "color!" method does not return any value.
34167
ad2a06ed 341682006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34169
34170 * include/grub/bitmap.h: New file.
34171
34172 * include/grub/i386/pc/vbeutil.h: Likewise.
34173
34174 * video/bitmap.c: Likewise.
34175
34176 * video/readers/tga.c: Likewise.
34177
34178 * video/i386/pc/vbeutil.c: Likewise.
34179
34180 * commands/videotest.c: Code cleanup and updated to reflect to new
34181 video API.
34182
34183 * term/gfxterm.c: Likewise.
34184
34185 * video/video.c: Likewise.
34186
34187 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34188 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34189 (bitmap_mod_SOURCES): New entry.
34190 (bitmap_mod_CFLAGS): Likewise.
34191 (bitmap_mod_LDFLAGS): Likewise.
34192 (tga_mod_SOURCES): Likewise.
34193 (tga_mod_CFLAGS): Likewise.
34194 (tga_mod_LDFLAGS): Likewise.
34195
34196 * include/grub/video.h (grub_video_blit_operators): New enum type.
34197 (grub_video_render_target): Changed as forward declaration and moved
34198 actual definition to be video driver specific.
34199 (grub_video_adapter.blit_bitmap): Added blitting operator.
34200 (grub_video_adapter.blit_render_target): Likewise.
34201 (grub_video_blit_bitmap): Likewise.
34202 (grub_video_blit_render_target): Likewise.
34203
34204 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34205 driver specific render target definition.
34206 (grub_video_vbe_map_rgba): Added driver internal helper.
34207 (grub_video_vbe_unmap_color): Updated to use
34208 grub_video_i386_vbeblit_info.
34209 (grub_video_vbe_get_video_ptr): Likewise.
34210
34211 * include/grub/i386/pc/vbeblit.h
34212 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34213 grub_video_i386_vbeblit_info.
34214 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34215 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34216 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34217 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34218 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34219 (grub_video_i386_vbeblit_index_index): Likewise.
34220 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34221 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34222 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34223 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34224 operator.
34225 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34226 operator.
34227
34228 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34229 include/grub/i386/pc/vbeblit.h.
34230
34231 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34232 Updated to use grub_video_i386_vbeblit_info.
34233 (grub_video_i386_vbefill_R8G8B8): Likewise.
34234 (grub_video_i386_vbefill_index): Likewise.
34235 (grub_video_i386_vbefill): Added generic filler.
34236
34237 * video/i386/pc/vbefill.c: Updated to reflect changes on
34238 include/grub/i386/pc/vbefill.h.
34239
34240 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34241 grub_video_i386_vbeblit_info.
34242 (grub_video_vbe_unmap_color): Likewise.
34243 (grub_video_vbe_blit_glyph): Likewise.
34244 (grub_video_vbe_scroll): Likewise.
34245 (grub_video_vbe_draw_pixel): Removed function.
34246 (grub_video_vbe_get_pixel): Likewise.
34247 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34248 updated code to use it.
34249 (common_blitter): Added common blitter for render target and bitmap.
34250 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34251 (grub_video_vbe_blit_render_target): Likewise.
34252
bc8c036d 342532006-07-30 Johan Rydberg <jrydberg@gnu.org>
34254
34255 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34256 is in text mode if there is no console control protocol instance
34257 available.
34258
684a8eff 342592006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34260
34261 * include/grub/video.h: Code cleanup.
34262
34263 * include/grub/i386/pc/vbe.h: Likewise.
34264
34265 * video/i386/pc/vbe.c: Likewise.
34266
34267 * video/i386/pc/vbeblit.c: Likewise.
34268
34269 * video/i386/pc/vbefill.c: Likewise.
34270
34271 * video/video.c: Likewise. Also added more comments.
34272
5915059b 342732006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34274
34275 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34276 (struct grub_biosdisk_dap): Likewise.
34277
34278 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34279 linkage settings for all functions.
34280
90ce5d56 342812006-07-12 Marco Gerards <marco@gnu.org>
34282
34283 * configure.ac (--enable-mm-debug): Fix typo.
34284
34285 * genkernsyms.sh.in: Use proper quoting for `CC'.
34286
43e7f879 342872006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34288
34289 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34290 (normal_mod_ASFLAGS): Remove "-m32".
34291
4889bdec 342922006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34293
34294 * util/misc.c: Include config.h.
34295 [!HAVE_MEMALIGN]: Do not include malloc.h.
34296 (grub_memalign): Use posix_memalign, if present. Then, use
34297 memalign, if present. Otherwise, emit an error.
34298
34299 * util/grub-emu.c: Do not include malloc.h.
34300
34301 * include/grub/util/misc.h: Include unistd.h. This is required for
34302 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34303 D. Eades III <hde@foobar-qux.org>.
34304
34305 * configure.ac (AC_GNU_SOURCE): Added.
34306 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34307 type.
34308
fd39d4da 343092006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34310
34311 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34312 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34313
b786f3b5 343142006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34315
34316 * include/grub/types.h (grub_host_addr_t): Rename to
34317 grub_target_addr_t.
34318 (grub_host_off_t): Rename to grub_target_off_t.
34319 (grub_host_size_t): Rename to grub_target_size_t.
34320 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34321 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34322
34323 * include/grub/kernel.h (struct grub_module_header): Change type
34324 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34325 (grub_module_info): Likewise.
f19dbdb7 34326
051988bb 343272006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34328
34329 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34330 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34331 Velazquez <jesus.velazquez@gmail.com>.
34332
deae281b 343332006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34334
34335 Count partitions from 1 instead of 0 in the string representation
34336 of partitions. Still use 0-based internally.
f19dbdb7 34337
deae281b 34338 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34339 (sun_partition_map_iterate): Use grub_partition_t instead of
34340 struct grub_partition *. Cast DESC->START_CYLINDER to
34341 grub_uint64_t after converting the endian.
34342 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34343 (sun_partition_map_get_name): Add 1 to P->INDEX.
34344
34345 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34346 PCDATA->DOS_PART.
34347 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34348
34349 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34350 zero instead of one.
34351 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34352 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34353
34354 * partmap/apple.c (apple_partition_map_iterate): Change the type
34355 of POS to unsigned.
34356 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34357 (apple_partition_map_get_name): Add 1 into P->INDEX.
34358
34359 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34360 of POS to unsigned.
34361 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34362 calculate the offset of a partition.
34363 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34364 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34365
34366 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34367 SECTOR to grub_disk_addr_t.
34368 (acorn_partition_map_iterate): Likewise.
34369 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34370 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34371 top.
34372 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34373
34374 * kern/i386/pc/init.c (make_install_device): Add 1 into
34375 GRUB_INSTALL_DOS_PART.
34376
34377 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34378 conditional.
34379
524a1e6a 343802006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34381
34382 Clean up the code to support 64-bit addressing in disks and
34383 files. This change is not enough for filesystems yet.
f19dbdb7 34384
524a1e6a 34385 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34386 type of "start" to grub_uint64_t.
34387 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34388 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34389 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34390 convert addresses.
34391
34392 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34393 to grub_disk_addr_t.
34394
34395 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34396 string.
34397
34398 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34399
34400 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34401 to char *.
34402
34403 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34404
34405 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34406
34407 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34408
34409 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34410 to grub_off_t, to detect an error from grub_file_seek.
34411 (grub_multiboot_load_elf32): Likewise.
34412
34413 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34414 maximum unsigned long value when an overflow is detected.
34415 (grub_strtoull): New function.
34416 (grub_divmod64): Likewise.
34417 (grub_lltoa): use grub_divmod64.
34418
34419 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34420 grub_disk_addr_t.
34421 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34422 the pointer to next character. Use grub_strtoull instead of
34423 grub_strtoul.
34424 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34425 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34426 respectively.
34427
fe6b695a 34428 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 34429 return value is signed.
34430 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34431 test if OFFSET is less than zero, as OFFSET is unsigned now.
34432
34433 * kern/disk.c (struct grub_disk_cache): Change the type of
34434 "sector" to grub_disk_addr_t.
34435 (grub_disk_cache_get_index): Change the type of SECTOR to
34436 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34437 unsigned after shifting.
34438 (grub_disk_cache_invalidate): Change the type of SECTOR to
34439 grub_disk_addr_t.
34440 (grub_disk_cache_unlock): Likewise.
34441 (grub_disk_cache_store): Likewise.
34442 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34443 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34444 grub_disk_addr_t and grub_uint64_t, respectively.
34445 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34446 body, as the value of OFFSET is tweaked by
34447 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34448 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34449 respectively.
34450 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34451 body, as the value of OFFSET is tweaked by
34452 grub_disk_check_range. Change the types of LEN and N to
34453 grub_size_t.
34454
34455 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34456 and "saved_offset" to grub_off_t.
34457 (test_header): Cast BUF to char *.
34458 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34459 to char *.
34460 (grub_gzio_read): Change the types of OFFSET and SIZE to
34461 grub_off_t and grub_size_t, respectively.
34462
34463 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34464 Removed.
34465 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34466 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34467 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34468 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34469 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34470
34471 * include/grub/types.h (grub_off_t): Unconditionally set to
34472 grub_uint64_t.
34473 (grub_disk_addr_t): Changed to grub_uint64_t.
34474
34475 * include/grub/partition.h (struct grub_partition): Change the
34476 types of "start", "len" and "offset" to grub_disk_addr_t,
34477 grub_uint64_t and grub_disk_addr_t, respectively.
34478 (grub_partition_get_start): Return grub_disk_addr_t.
34479 (grub_partition_get_len): Return grub_uint64_t.
34480
34481 * include/grub/misc.h (grub_strtoull): New prototype.
34482 (grub_divmod64): Likewise.
34483
34484 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34485 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34486 grub_off_t, respectively.
34487 All callers and references changed.
34488
34489 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34490 grub_size_t in "read".
34491 All callers and references changed.
34492
34493 * include/grub/file.h (struct grub_file): Change the types of
34494 "offset" and "size" to grub_off_t and grub_off_t,
34495 respectively. Change the type of SECTOR to grub_disk_addr_t in
34496 "read_hook".
34497 (grub_file_read): Change the type of LEN to grub_size_t.
34498 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34499 grub_off_t.
34500 (grub_file_size): Return grub_off_t.
34501 (grub_file_tell): Likewise.
34502 All callers and references changed.
34503
34504 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34505 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34506 "write".
34507 (struct grub_disk): Change the type of "total_sectors" to
34508 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 34509 "read_hook".
524a1e6a 34510 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34511 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34512 (grub_disk_write): Likewise.
34513 All callers and references changed.
34514
34515 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34516 char * for grub_strncmp to silence gcc.
34517 (grub_iso9660_mount): Likewise.
34518 (grub_iso9660_mount): Likewise.
34519 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34520 return statement.
34521 (grub_iso9660_iterate_dir): Likewise.
34522 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34523
34524 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34525 LEN to grub_disk_addr_t and grub_size_t, respectively.
34526
34527 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34528
34529 * fs/jfs.c (grub_jfs_read_file): Likewise.
34530
34531 * fs/minix.c (grub_jfs_read_file): Likewise.
34532
34533 * fs/sfs.c (grub_jfs_read_file): Likewise.
34534
34535 * fs/ufs.c (grub_jfs_read_file): Likewise.
34536
34537 * fs/xfs.c (grub_jfs_read_file): Likewise.
34538
34539 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34540 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34541 respectively.
34542
34543 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34544 BLKNR to -1 instead of returning GRUB_ERRNO.
34545 (grub_ext2_read_file): Change the types of SECTOR and
34546 LEN to grub_disk_addr_t and grub_size_t, respectively.
34547
34548 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34549 LEN to grub_disk_addr_t and grub_size_t, respectively.
34550
34551 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34552 grub_file_read.
34553
34554 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34555 string. Do not cast SECTOR explicitly.
34556
34557 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34558 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34559 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34560 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34561 over 2TB and LBA mode is not supported, raise an error.
34562 (get_safe_sectors): New function.
34563 (grub_biosdisk_read): Use get_safe_sectors.
34564 (grub_biosdisk_write): Likewise.
34565
34566 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34567 (grub_efidisk_write): Likewise.
34568
34569 * disk/loopback.c (delete_loopback): Cosmetic changes.
34570 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34571 correctly.
34572 (grub_loopback_open): Likewise.
34573 (grub_loopback_read): Likewise. Also, change the type of POS to
34574 grub_off_t, and fix the usage of grub_memset.
34575
34576 * commands/i386/pc/play.c: Include grub/machine/time.h.
34577
34578 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34579 print FILE->SIZE.
34580
34581 * commands/configfile.c: Include grub/env.h.
34582
34583 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34584 GRUB_ERRNO directly instead. Change the type of POS to
34585 grub_off_t. Follow the coding standard.
34586
34587 * commands/blocklist.c: Include grub/partition.h.
34588 (grub_cmd_blocklist): Return an error if the underlying device is
34589 not a disk. Take the starting sector of a partition into account,
34590 if a partition is used.
34591
34592 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34593 a length field.
34594 (lba_mode): Support 64-bit addresses.
34595 (chs_mode): Likewise.
34596 (copy_buffer): Adapted to the new offsets of a length field and a
34597 segment field.
34598 (blocklist_default_start): Allocate 64-bit space.
34599
34600 * boot/i386/pc/boot.S (force_lba): Removed.
34601 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 34602 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 34603 space.
34604 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34605 is useless.
34606 (lba_mode): Refactored to support a 64-bit address. More size
34607 optimization.
34608 (setup_sectors): Likewise.
34609
53af98ad 346102006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34611
34612 * DISTLIST: Added include/grub/i386/linux.h. Removed
34613 include/grub/i386/pc/linux.h
34614
34615 * configure.ac (AC_INIT): Bumped to 1.94.
34616
34617 * config.guess: Updated from gnulib.
34618 * config.sub: Likewise.
34619 * install-sh: Likewise.
34620 * mkinstalldirs: Likewise.
34621
b4c1940a 346222006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34623
34624 * conf/common.rmk (grub_modules_init.lst): Depended on
34625 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34626 MODSRCFILES.
34627
34628 * genmk.rb (PModule::rule): Reverted the previous change.
34629
cfca1cfd 346302006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34631
34632 * conf/common.rmk (grub_modules_init.lst): Depends on
34633 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34634 that the target does not exist before producing.
34635 (grub_modules_init.h): Remove the target before generating.
34636 (grub_emu_init.c): Likewise.
34637
34638 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34639
aa6d7826 346402006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34641
34642 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34643 for the target-specific tests. Make sure that we also have the
34644 up-to-date target variables for those tests.
34645
26c607b9 346462006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34647
34648 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34649 (PModule::rule): Likewise.
34650
0162321a 346512006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34652
34653 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34654 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34655 target-specific flags should be prefixed.
34656 (PModule::rule): Likewise.
34657
6c826348 346582006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34659
34660 * configure.ac (CMP): Check if cmp is available explicitly.
34661
b977bf01 346622006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34663
34664 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34665 (target_cpu): New variable.
34666 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 34667
b977bf01 34668 * util/i386/pc/grub-install.in (host_cpu): Removed.
34669 (target_cpu): New variable.
34670 (pkglibdir): Use target_cpu instead of host_cpu.
34671
34672 * util/genmoddep.c: Removed.
f19dbdb7 34673
b977bf01 34674 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34675 instead of GRUB_HOST_SIZEOF_VOID_P.
34676 * kern/dl.c: Likewise.
34677
34678 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34679 ...
34680 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34681 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34682 (GRUB_TARGET_SIZEOF_LONG): ... this.
34683 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34684 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34685 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34686 to ...
34687 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34688 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34689 (GRUB_TARGET_SIZEOF_LONG): ... this.
34690 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34691 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34692 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34693 to ...
34694 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34695 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34696 (GRUB_TARGET_SIZEOF_LONG): ... this.
34697 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34698 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34699
34700 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34701 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34702 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34703 instead of GRUB_HOST_SIZEOF_LONG.
34704 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34705 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34706 GRUB_CPU_WORDS_BIGENDIAN.
34707 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34708 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34709 grub_host_ssize_t.
34710
34711 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34712 (genmoddep_SOURCES): Likewise.
34713 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34714 (genmoddep_SOURCES): Likewise.
34715 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34716 (genmoddep_SOURCES): Likewise.
34717 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34718 Likewise.
34719 (genmoddep_SOURCES): Likewise.
34720
34721 * genmoddep.awk: New file.
34722
34723 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34724 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34725 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34726 (PModule::rule): Likewise.
34727 (Program::rule): Likewise.
34728 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34729 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34730 respectively.
34731
34732 * configure.ac: Rewritten intensively to use host and target
34733 instead of build and host, respectively.
34734
34735 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34736 (host_cpu): Removed.
34737 (target_cpu): New variable.
34738 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34739 (BUILD_CC): Removed.
34740 (BUILD_CFLAGS): Likewise.
34741 (BUILD_CPPFLAGS): Likewise.
34742 (TARGET_CC): New variable.
34743 (TARGET_CFLAGS): Likewise.
34744 (TARGET_CPPFLAGS): Likewise.
34745 (TARGET_LDFLAGS): Likewise.
34746 (AWK): Likewise.
34747 (include): Use target_cpu instead of host_cpu.
34748 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 34749
b977bf01 34750 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34751
f09771a1 347522006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34753
34754 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34755 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34756 field 'false' to 'exec_on_false'.
34757 (grub_script_create_cmdif): Renamed argument names to reflect above
34758 changes.
34759
34760 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34761
34762 * normal/script.c (grub_script_create_cmdif): Likewise.
34763
118f4fb3 347642006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34765
34766 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34767 top.
34768 (grub_hfsplus_btree_recptr): Likewise.
34769 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34770 FILEBLOCK both to pass a block number and store next block
34771 number.
34772 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34773 overflow file correctly. Specify errors appropriately, because
34774 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34775 grub_hfsplus_btree_recptr to get the pointer to a found key.
34776 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34777 is found.
34778
34779 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34780 linux.mod.
34781 (_linux_mod_SOURCES): New variable.
34782 (_linux_mod_CFLAGS): Likewise.
34783 (_linux_mod_LDFLAGS): Likewise.
34784 (linux_mod_SOURCES): Likewise.
34785 (linux_mod_CFLAGS): Likewise.
34786 (linux_mod_LDFLAGS): Likewise.
34787
34788 * DISTLIST: Added loader/i386/efi/linux.c,
34789 loader/i386/efi/linux_normal.c and
34790 include/grub/i386/efi/loader.h.
34791
34792 * loader/i386/efi/linux.c: New file.
34793 * loader/i386/efi/linux_normal.c: Likewise.
34794 * include/grub/i386/efi/loader.h: Likewise.
34795
89a7d726 347962006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34797
34798 * commands/blocklist.c: New file.
34799
34800 * DISTLIST: Added commands/blocklist.c.
34801
34802 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 34803 color for the background, and a darker color for the foreground.
89a7d726 34804 (grub_console_checkkey): Return READ_KEY.
34805 (grub_console_cls): Set the background to
34806 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34807
34808 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34809
34810 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34811 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34812
34813 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34814 prototype.
34815
34816 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34817 BG. The spec is wrong again.
34818
34819 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34820 prototype.
34821 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34822
34823 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34824 commands/blocklist.c.
34825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 34826
89a7d726 34827 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34828 (blocklist_mod_SOURCES): New variable.
34829 (blocklist_mod_CFLAGS): Likewise.
34830 (blocklist_mod_LDFLAGS): Likewise.
34831
75c8f258 348322006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34833
34834 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34835 duplication.
34836 (lba_mode): Use %eax more intensively to reduce the code size.
34837
da2eb181 348382006-05-20 Marco Gerards <marco@gnu.org>
34839
34840 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34841
34842 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34843 for `menuentry'.
34844 (script): Accept leading newlines.
34845 (newlines): New rule to describe 0 or more newlines.
34846 (commands): Accept `command' with trailing newline. Fixed the
34847 order in which arguments were passed to `grub_script_add_cmd'.
34848 Accept commands separated by newlines.
34849 (function): Changed to accept newlines.
34850 (menuentry) Rewritten.
34851
34852 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34853 front of the list, instead of to the end.
34854
577b4050 348552006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34856
34857 * util/i386/pc/grub-install.in (bindir): New variable.
34858 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34859 Shaver <lbgwjl@gmail.com>.
34860
0d6e1189 348612006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34862
34863 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34864 grub/machine/linux.h
34865 * loader/i386/pc/linux.c: Likewise.
34866
34867 * include/grub/i386/pc/linux.h: Moved to ...
34868 * include/grub/i386/linux.h: ... here.
34869
34870 * include/grub/i386/linux.h (struct linux_kernel_params): New
34871 struct.
f19dbdb7 34872
31b86e9f 348732006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34874
34875 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34876 checking.
34877 (grub_video_vbe_blit_glyph): Likewise.
34878 (grub_video_vbe_blit_bitmap): Likewise.
34879 (grub_video_vbe_blit_render_target): Likewise.
34880
83b984de 348812006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
34882
34883 * configure.ac (--with-platform): Properly quote the square
34884 brackets.
34885
5f0413bd 348862006-05-08 Marco Gerards <marco@gnu.org>
34887
34888 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
34889 this...
34890 (kernel_elf_HEADERS): ...to this. Updated all users.
34891 (grubof_symlist.c): Renamed from this...
34892 (kernel_elf_symlist.c): ...to this. Updated all users.
34893 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34894 (grubof_SOURCES): Renamed from this...
34895 (kernel_elf_SOURCES): ...to this.
34896 (grubof_HEADERS): Renamed from this...
34897 (kernel_elf_HEADERS): ...to this.
34898 (grubof_CFLAGS): Renamed from this...
34899 (kernel_elf_CFLAGS): ...to this.
34900 (grubof_ASFLAGS): Renamed from this...
34901 (kernel_elf_ASFLAGS): ...to this.
34902 (grubof_LDFLAGS): Renamed from this...
34903 (kernel_elf_LDFLAGS): ...to this.
34904
34905 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
34906 this...
34907 (kernel_elf_HEADERS): ...to this. Updated all users.
34908 (grubof_symlist.c): Renamed from this...
34909 (kernel_elf_symlist.c): ...to this. Updated all users.
34910 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34911 (grubof_SOURCES): Renamed from this...
34912 (kernel_elf_SOURCES): ...to this.
34913 (grubof_HEADERS): Renamed from this...
34914 (kernel_elf_HEADERS): ...to this.
34915 (grubof_CFLAGS): Renamed from this...
34916 (kernel_elf_CFLAGS): ...to this.
34917 (grubof_ASFLAGS): Renamed from this...
34918 (kernel_elf_ASFLAGS): ...to this.
34919 (grubof_LDFLAGS): Renamed from this...
34920 (kernel_elf_LDFLAGS): ...to this.
34921
34922 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
34923 `kernel.elf' instead of `grubof'.
34924
05568c2e 349252006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
34926
34927 Add --with-platform to configure. Use pkglibdir instead of
34928 pkgdatadir. This is reported by Roger Leigh.
34929
34930 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
34931 (host_vendor): Likewise.
34932 (host_os): Likewise.
34933 (pkgdatadir): Likewise.
34934 (platform): New variable.
34935 (pkglibdir): Likewise.
34936 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 34937
05568c2e 34938 * util/i386/pc/grub-install.in (datadir): Removed.
34939 (host_vendor): Likewise.
34940 (host_os): Likewise.
34941 (pkgdatadir): Likewise.
34942 (platform): New variable.
34943 (pkglibdir): Likewise.
34944 Use PKGLIBDIR instead of PKGDATADIR.
34945
34946 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
34947 instead of GRUB_DATADIR.
34948 (main): Likewise.
34949 * util/i386/pc/grub-mkimage.c (usage): Likewise.
34950 (main): Likewise.
34951 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34952 (main): Likewise.
34953
34954 * configure.ac (--with-platform): New option.
34955 Use PLATFORM instead of HOST_VENDOR to specify a platform.
34956
34957 * Makefile.in: Include a makefile based on PLATFORM instead of
34958 HOST_VENDOR.
34959 (pkgdatadir): Not appended by the machine type.
34960 (pkglibdir): Appended by the machine type.
34961 (host_vendor): Removed.
34962 (platform): New variable.
34963 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
34964 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
34965 (uninstall): Likewise.
34966
4e93851c 349672006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
34968
34969 Use the environment context in the menu. Remove the commands
34970 "default" and "timeout", and use variables instead.
f19dbdb7 34971
4e93851c 34972 * normal/menu.c: Include grub/env.h.
34973 (print_entry): Cast TITLE to silence gcc.
34974 (get_timeout): New function.
34975 (set_timeout): Likewise.
34976 (get_entry_number): Likewise.
34977 (run_menu): Use a default entry, a fallback entry and a timeout
34978 in the environment variables "default", "fallback" and
34979 "timeout". Also, tweak the default entry if it is not within the
34980 current menu entries.
34981 (grub_menu_run): Use a fallback entry in the environment variable
34982 "fallback".
34983
34984 * normal/main.c (read_config_file): Do not initialize
34985 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
34986 NEWMENU->TIMEOUT.
34987 (grub_normal_execute): Use a data slot to store the menu.
34988
34989 * include/grub/normal.h (struct grub_menu): Removed default_entry,
34990 fallback_entry and timeout.
34991 (struct grub_menu_list): Removed.
34992 (grub_menu_list_t): Likewise.
34993 (struct grub_context): Likewise.
34994 (grub_context_t): Likewise.
34995 (grub_context_get): Likewise.
34996 (grub_context_get_current_menu): Likewise.
34997 (grub_context_push_menu): Likewise.
34998 (grub_context_pop_menu): Likewise.
34999 (grub_default_init): Likewise.
35000 (grub_default_fini): Likewise.
35001 (grub_timeout_init): Likewise.
35002 (grub_timeout_fini): Likewise.
35003
35004 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35005 and timeout.mod.
35006 (normal_mod_SOURCES): Removed normal/context.c.
35007
35008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35009 commands/default.c, commands/timeout.c and normal/context.c.
35010 (normal_mod_SOURCES): Removed normal/context.c.
35011
35012 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35013 commands/timeout.c and normal/context.c.
35014 (normal_mod_SOURCES): Removed normal/context.c.
35015
35016 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35017 commands/default.c, commands/timeout.c and normal/context.c.
35018 (normal_mod_SOURCES): Removed normal/context.c.
35019
35020 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35021 timeout.mod.
35022 (default_mod_SOURCES): Removed.
35023 (default_mod_CFLAGS): Likewise.
35024 (default_mod_LDFLAGS): Likewise.
35025 (timeout_mod_SOURCES): Removed.
35026 (timeout_mod_CFLAGS): Likewise.
35027 (timeout_mod_LDFLAGS): Likewise.
35028
35029 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35030 normal/context.c.
35031
35032 * commands/default.c: Removed.
35033 * commands/timeout.c: Likewise.
35034 * normal/context.c: Likewise.
35035
1eb9cc1d 350362006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35037
35038 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35039
385bd9c1 350402006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35041
35042 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35043 "next" to "prev" for readability.
35044 (struct grub_env_sorted_var): New struct.
35045 (grub_env_context): Renamed to ...
35046 (initial_context): ... this.
35047 (grub_env_var_context): Renamed to ...
35048 (current_context): ... this.
35049 (grub_env_find): Look only at CURRENT_CONTEXT.
35050 (grub_env_context_open): Rewritten to copy exported variables from
35051 previous context.
35052 (grub_env_context_close): Rewritten according to the new
35053 scheme. Also, add an assertion to prevent the initial context from
35054 removed.
35055 (grub_env_insert): Removed the code for the sorted list.
35056 (grub_env_remove): Likewise.
35057 (grub_env_export): Simply mark the variable with
35058 GRUB_ENV_VAR_GLOBAL.
35059 (grub_env_set): A cosmetic change for naming consistency.
35060 (grub_env_get): Likewise.
35061 (grub_env_unset): Likewise.
35062 (grub_env_iterate): Rewritten to sort variables within this
35063 function.
35064 (grub_register_variable_hook): Fixed for naming consistency. Call
35065 grub_env_find again, only if NAME is not found at the first time.
35066 (mangle_data_slot_name): New function.
35067 (grub_env_set_data_slot): Likewise.
35068 (grub_env_get_data_slot): Likewise.
35069 (grub_env_unset_data_slot): Likewise.
35070
35071 * include/grub/env.h (grub_env_var_type): New enum.
35072 (GRUB_ENV_VAR_LOCAL): New constant.
35073 (GRUB_ENV_VAR_GLOBAL): Likewise.
35074 (GRUB_ENV_VAR_DATA): Likewise.
35075 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35076 "type".
35077 (grub_env_set): Replace VAR with NAME for consistency.
35078 (grub_register_variable_hook): Likewise.
35079 (grub_env_export): Specify the name of the argument.
35080 (grub_env_set_data_slot): New prototype.
35081 (grub_env_get_data_slot): Likewise.
35082 (grub_env_unset_data_slot): Likewise.
35083
7f362539 350842006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35085
35086 Extend the loader so that GRUB can accept a loader which comes
35087 back to GRUB when a loaded image exits. Also, this change adds
35088 support for a chainloader on EFI.
f19dbdb7 35089
7f362539 35090 * term/efi/console.c: Include grub/misc.h.
35091 (grub_console_checkkey): Display a scan code on the top for
35092 debugging. This will be removed once the EFI port gets stable.
35093 Correct the scan code mapping.
35094
35095 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35096 allocate memory from larger regions, in order to reduce the number
35097 of allocated regions. Otherwise, the MacOSX loader panics.
35098 (filter_memory_map): Avoid less than 1MB for compatibility with
35099 other loaders.
35100 (add_memory_regions): Allocate from the tail of a region, if
35101 possible, to avoid allocating a region near to 1MB, for the MacOSX
35102 loader.
35103
35104 * kern/efi/init.c (grub_efi_set_prefix): Specify
35105 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35106
35107 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35108 argument IMAGE_HANDLE and specify it to get a loaded image.
35109 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35110 grub_efi_get_loaded_image.
fe6b695a 35111 (grub_efi_get_filename): Divide the length by the size of
7f362539 35112 grub_efi_char16_t.
35113 (grub_efi_get_device_path): New function.
35114 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35115 the length by the size of grub_efi_char16_t for a file path device
35116 path node.
35117
35118 * kern/loader.c (grub_loader_noreturn): New variable.
35119 (grub_loader_set): Accept a new argument NORETURN. Set
35120 GRUB_LOADER_NORETURN to NORETURN.
35121 All callers changed.
35122 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35123 grub_machine_fini.
35124
35125 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35126 prototype.
35127 (grub_efi_get_loaded_image): Take an argument to specify an image
35128 handle.
35129
35130 * include/grub/loader.h (grub_loader_set): Added one more argument
35131 NORETURN.
35132
35133 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35134 instead of grub_efi_open_protocol.
35135 (grub_efidisk_get_device_name): Likewise.
35136 (grub_efidisk_close): Print a newline.
35137 (grub_efidisk_get_device_handle): Fixed to use
35138 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35139 GRUB_EFI_DEVICE_PATH_TYPE.
35140
35141 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35142 * kern/efi/efi.c (device_path_guid): ... here.
35143
35144 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35145 chain.mod.
35146 (kernel_mod_HEADERS): Added efi/disk.h.
35147 (_chain_mod_SOURCES): New variable.
35148 (_chain_mod_CFLAGS): Likewise.
35149 (_chain_mod_LDFLAGS): Likewise.
35150 (chain_mod_SOURCES): Likewise.
35151 (chain_mod_CFLAGS): Likewise.
35152 (chain_mod_LDFLAGS): Likewise.
35153
35154 * DISTLIST: Added include/grub/efi/chainloader.h,
35155 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35156
35157 * include/grub/efi/chainloader.h: New file.
35158 * loader/efi/chainloader.c: Likewise.
35159 * loader/efi/chainloader_normal.c: Likewise.
35160
c0111d6e 351612006-04-30 Marco Gerards <marco@gnu.org>
35162
35163 * commands/configfile.c (grub_cmd_source): New function.
35164 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35165 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35166
df5341da 351672006-04-30 Marco Gerards <marco@gnu.org>
35168
35169 * normal/execute.c (grub_script_execute_cmd): Change the return
35170 type to `grub_err_t'. Correctly return the error.
35171 (grub_script_execute_cmdline): In case a command line is not a
35172 command or a function, try to interpret it as an assignment.
35173
f85934bd 351742006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35175
35176 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35177 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35178 skip a node whose name is obviously invalid as UTF-16,
35179 i.e. contains a NUL character. Stop the iteration when the last
35180 directory entry is found. Instead of using the return value of
35181 grub_hfsplus_btree_iterate_node, store the value in RET and use
35182 it, because the iterator can be stopped by the last directory
35183 entry.
35184
8f8a2cf8 351852006-04-30 Marco Gerards <marco@gnu.org>
35186
35187 * include/grub/env.h (grub_env_export): New prototype. Reported
35188 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35189
a27e84ce 351902006-04-30 Marco Gerards <marco@gnu.org>
35191
35192 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35193 size of the extents in a catalog file record.
35194
eaef0553 351952006-04-29 Marco Gerards <marco@gnu.org>
35196
35197 * commands/configfile.c (grub_cmd_configfile): Execute the
35198 configfile within its own context.
35199
35200 * include/grub/env.h (grub_env_context_open): New prototype.
35201 (grub_env_context_close): Likewise.
35202
35203 * kern/env.c (grub_env): Removed.
35204 (grub_env_sorted): Likewise.
35205 (grub_env_context): New variable.
35206 (grub_env_var_context): Likewise.
35207 (grub_env_find): Search both the active context and the global
35208 context.
35209 (grub_env_context_open): New function.
35210 (grub_env_context_close): Likewise.
35211 (grub_env_insert): Likewise.
35212 (grub_env_remove): Likewise.
35213 (grub_env_export): Likewise.
35214 (grub_env_set): Changed to use helper functions to avoid code
35215 duplication.
35216 (grub_env_iterate): Rewritten so both the current context and the
35217 global context are being used.
35218
35219 * normal/command.c (export_command): New function.
35220 (grub_command_init): Register the `export' function.
35221
7b455f4d 352222006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35223
35224 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35225 explicitly to suppress gcc's warnings.
35226 * fs/fat.c (grub_fat_find_dir): Likewise.
35227 (grub_fat_label): Likewise.
35228 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35229 (grub_xfs_mount): Likewise.
35230 (grub_xfs_label): Likewise.
35231 * fs/affs.c (grub_affs_mount): Likewise.
35232 (grub_affs_label): Likewise.
35233 (grub_affs_iterate_dir): Likewise.
35234 * fs/sfs.c (grub_sfs_mount): Likewise.
35235 (grub_sfs_iterate_dir): Likewise.
35236 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35237 * fs/hfs.c (grub_hfs_mount): Likewise.
35238 (grub_hfs_cmp_catkeys): Likewise.
35239 (grub_hfs_find_dir): Likewise.
35240 (grub_hfs_dir): Likewise.
35241 (grub_hfs_label): Likewise.
35242 * fs/jfs.c (grub_jfs_mount): Likewise.
35243 (grub_jfs_opendir): Likewise.
35244 (grub_jfs_getent): Likewise.
35245 (grub_jfs_lookup_symlink): Likewise.
35246 (grub_jfs_label): Likewise.
35247 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35248 (grub_hfsplus_iterate_dir): Likewise.
35249 (grub_hfsplus_btree_iterate_node): Made static.
35250
35251 * util/grub-emu.c (prefix): New variable.
35252 (grub_machine_set_prefix): New function.
35253 (main): Do not set the environment variable "prefix" here. Only
35254 set PREFIX, which is used later by grub_machine_set_prefix.
35255
35256 * include/grub/video.h: Do not include grub/symbol.h.
35257 (grub_video_register): Not exported. This symbol is not defined in
35258 the kernel.
35259 (grub_video_unregister): Likewise.
35260 (grub_video_iterate): Likewise.
35261 (grub_video_setup): Likewise.
35262 (grub_video_restore): Likewise.
35263 (grub_video_get_info): Likewise.
35264 (grub_video_get_blit_format): Likewise.
35265 (grub_video_set_palette): Likewise.
35266 (grub_video_get_palette): Likewise.
35267 (grub_video_set_viewport): Likewise.
35268 (grub_video_get_viewport): Likewise.
35269 (grub_video_map_color): Likewise.
35270 (grub_video_map_rgb): Likewise.
35271 (grub_video_map_rgba): Likewise.
35272 (grub_video_fill_rect): Likewise.
35273 (grub_video_blit_glyph): Likewise.
35274 (grub_video_blit_bitmap): Likewise.
35275 (grub_video_blit_render_target): Likewise.
35276 (grub_video_scroll): Likewise.
35277 (grub_video_swap_buffers): Likewise.
35278 (grub_video_create_render_target): Likewise.
35279 (grub_video_delete_render_target): Likewise.
35280 (grub_video_set_active_render_target): Likewise.
35281
35282 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35283 Undefined.
35284 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35285
35286 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35287 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35288 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35289 instead of $(srcdir)/genkernsyms.sh.
35290
35291 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35292 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35293 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35294 instead of $(srcdir)/genkernsyms.sh.
35295
35296 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35297 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35298 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35299 instead of $(srcdir)/genkernsyms.sh.
35300
35301 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35302 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35303 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35304 instead of $(srcdir)/genkernsyms.sh.
35305
35306 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35307 genkernsyms.sh.
35308
35309 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35310 genkernsyms.sh.
35311 (gensymlist.sh): New target.
35312 (genkernsyms.sh): Likewise.
35313
35314 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35315 genkernsyms.sh.in and gensymlist.sh.in.
35316
35317 * genkernsyms.sh: Removed.
35318 * gensymlist.sh: Likewise.
f19dbdb7 35319
7b455f4d 35320 * genkernsyms.sh.in: New file.
35321 * gensymlist.sh.in: Likewise.
35322
1885bb27 353232006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35324
35325 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35326 clobber "prefix", since we may have already set it manually.
35327
71538dff 353282006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35329
35330 * kern/misc.c (abort): New alias for grub_abort.
35331
2965c7cc 353322006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35333
35334 A new machine-specific function "grub_machine_set_prefix" is
35335 defined. This is called after loading modules, so that a prefix
35336 initialization can use modules. Also, this change adds an
35337 intensive debugging feature for the memory manager via the
35338 configure option "--enable-mm-debug".
f19dbdb7 35339
2965c7cc 35340 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35341 PART.LEN.
35342
35343 * kern/sparc64/ieee1275/init.c (abort): Removed.
35344 (grub_stop): Likewise.
35345 (grub_exit): New function.
35346 (grub_set_prefix): Renamed to ...
35347 (grub_machine_set_prefix): ... this.
35348 (grub_machine_init): Do not call grub_set_prefix.
35349
35350 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35351 (grub_machine_set_prefix): ... this.
35352 (grub_machine_init): Do not call grub_set_prefix.
35353
35354 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35355 (grub_machine_init): Do not set the prefix here.
35356
35357 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35358
35359 * kern/efi/init.c: Include grub/mm.h.
35360 (grub_efi_set_prefix): New function.
35361
35362 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35363 (grub_efi_get_filename): New function.
35364 (grub_print_device_path): Renamed to ...
35365 (grub_efi_print_device_path): ... this.
35366
35367 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35368 [MM_DEBUG] (grub_realloc): Likewise.
35369 [MM_DEBUG] (grub_free): Likewise.
35370 [MM_DEBUG] (grub_memalign): Likewise.
35371 [MM_DEBUG] (grub_mm_debug): New variable.
35372 [MM_DEBUG] (grub_debug_malloc): New function.
35373 [MM_DEBUG] (grub_debug_free): New function.
35374 [MM_DEBUG] (grub_debug_realloc): New function.
35375 [MM_DEBUG] (grub_debug_memalign): New function.
35376
35377 * kern/misc.c (grub_abort): Print a newline to distinguish
35378 the message.
35379
35380 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35381 grub_set_root_dev after loading modules. This is necessary when
35382 setting a prefix depends on modules.
35383
35384 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35385 (grub_efi_print_device_path): ... this.
35386 (grub_efi_get_filename): New prototype.
35387 (grub_efi_set_prefix): Likewise.
35388
35389 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35390 and grub/disk.h.
35391 (grub_efidisk_get_device_handle): New prototype.
35392 (grub_efidisk_get_device_name): Likewise.
35393
35394 * include/grub/mm.h: Include config.h.
35395 (MM_DEBUG): Removed.
35396 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35397 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35398 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35399 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35400 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35401 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35402 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35403 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35404 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35405
35406 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35407
35408 * disk/efi/efidisk.c: Include grub/partition.h.
35409 (iterate_child_devices): New function.
35410 (add_device): First, compare only last device path nodes, so that
35411 devices are sorted by the types.
35412 (grub_efidisk_get_device_handle): New function.
35413 (grub_efidisk_get_device_name): Likewise.
35414
35415 * configure.ac (--enable-mm-debug): New option to enable the
35416 memory manager debugging feature. This makes the binary much
35417 bigger, so is disabled by default.
35418
9cacaa17 354192006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35420
35421 Use grub_abort instead of grub_stop, and grub_exit must be
35422 define in each architecture now. Also, this change adds support
35423 for EFI disks.
f19dbdb7 35424
9cacaa17 35425 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35426 (grub_getkey): New function.
35427 (grub_term_get_current): Likewise.
35428
35429 * util/i386/pc/grub-setup.c: Include grub/term.h.
35430 (grub_getkey): New function.
35431 (grub_term_get_current): Likewise.
35432
35433 * util/misc.c (grub_stop): Renamed to ...
35434 (grub_exit): ... this.
35435
35436 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35437 (grub_exit): ... this.
35438 (grub_machine_init): Use grub_abort instead of abort.
35439 (grub_stop): Removed.
35440
35441 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35442 abort.
35443
35444 * kern/i386/pc/startup.S (grub_exit): New function.
35445 (cold_reboot): New label.
35446
35447 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35448 (grub_efi_init): Call grub_efidisk_init.
35449 (grub_efi_fini): Call grub_efidisk_fini.
35450
35451 * kern/efi/efi.c: Include grub/mm.h.
35452 (grub_efi_console_control_guid): Renamed to ...
35453 (console_control_guid): ... this.
35454 (grub_efi_loaded_image_guid): Renamed to ...
35455 (loaded_image_guid): ... this.
35456 (grub_efi_locate_handle): New function.
35457 (grub_efi_open_protocol): Likewise.
35458 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35459 GRUB_EFI_CONSOLE_CONTROL_GUID.
35460 (grub_efi_exit): Removed.
35461 (grub_stop): Likewise.
35462 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35463 (grub_exit): New function.
35464 (grub_print_device_path): Likewise.
35465
35466 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35467 (grub_enter_rescue_mode): Register "exit".
35468
35469 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35470 (grub_abort): New function.
35471
35472 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35473
35474 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35475
35476 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35477
35478 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35479 (grub_print_device_path): New prototype.
35480 (grub_efi_locate_handle): Likewise.
35481 (grub_efi_open_protocol): Likewise.
35482
35483 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35484 * disk/efi/efidisk.c: Likewise.
35485
35486 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35487
35488 * include/grub/efi/console_control.h
35489 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35490
35491 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35492 last 8 bytes as an array.
35493 (GRUB_EFI_DISK_IO_GUID): New macro.
35494 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35495 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35496 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35497 grub_uint8_t.
35498 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35499 (struct grub_efi_device_path): Rename the member "sub_type" to
35500 "subtype".
35501 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35502 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35503 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35504 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35505 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35506 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35507 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35508 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35509 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35510 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35511 (struct grub_efi_pci_device_path): New structure.
35512 (grub_efi_pci_device_path_t): New type.
35513 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35514 (struct grub_efi_pccard_device_path): New structure.
35515 (grub_efi_pccard_device_path_t): New type.
35516 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35517 (struct grub_efi_memory_mapped_device_path): New structure.
35518 (grub_efi_memory_mapped_device_path_t): New type.
35519 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35520 (struct grub_efi_vendor_device_path): New structure.
35521 (grub_efi_vendor_device_path_t): New type.
35522 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35523 (struct grub_efi_controller_device_path): New structure.
35524 (grub_efi_controller_device_path_t): New type.
35525 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35526 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35527 (struct grub_efi_acpi_device_path): New structure.
35528 (grub_efi_acpi_device_path_t): New type.
35529 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35530 (struct grub_efi_expanded_acpi_device_path): New structure.
35531 (grub_efi_expanded_acpi_device_path_t): New type.
35532 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35533 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35534 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35535 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35536 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35537 (struct grub_efi_atapi_device_path): New structure.
35538 (grub_efi_atapi_device_path_t): New type.
35539 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35540 (struct grub_efi_fibre_channel_device_path): New structure.
35541 (grub_efi_fibre_channel_device_path_t): New type.
35542 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35543 (struct grub_efi_1394_device_path): New structure.
35544 (grub_efi_1394_device_path_t): New type.
35545 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35546 (struct grub_efi_usb_device_path): New structure.
35547 (grub_efi_usb_device_path_t): New type.
35548 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35549 (struct grub_efi_usb_class_device_path): New structure.
35550 (grub_efi_usb_class_device_path_t): New type.
35551 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35552 (struct grub_efi_i2o_device_path): New structure.
35553 (grub_efi_i2o_device_path_t): New type.
35554 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35555 (struct grub_efi_mac_address_device_path): New structure.
35556 (grub_efi_mac_address_device_path_t): New type.
35557 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35558 (struct grub_efi_ipv4_device_path): New structure.
35559 (grub_efi_ipv4_device_path_t): New type.
35560 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35561 (struct grub_efi_ipv6_device_path): New structure.
35562 (grub_efi_ipv6_device_path_t): New type.
35563 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35564 (struct grub_efi_infiniband_device_path): New structure.
35565 (grub_efi_infiniband_device_path_t): New type.
35566 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35567 (struct grub_efi_uart_device_path): New structure.
35568 (grub_efi_uart_device_path_t): New type.
35569 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35570 (struct grub_efi_vendor_messaging_device_path): New structure.
35571 (grub_efi_vendor_messaging_device_path_t): New type.
35572 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35573 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35574 (struct grub_efi_hard_drive_device_path): New structure.
35575 (grub_efi_hard_drive_device_path_t): New type.
35576 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35577 (struct grub_efi_cdrom_device_path): New structure.
35578 (grub_efi_cdrom_device_path_t): New type.
35579 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35580 (struct grub_efi_vendor_media_device_path): New structure.
35581 (grub_efi_vendor_media_device_path_t): New type.
35582 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35583 (struct grub_efi_file_path_device_path): New structure.
35584 (grub_efi_file_path_device_path_t): New type.
35585 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35586 (struct grub_efi_protocol_device_path): New structure.
35587 (grub_efi_protocol_device_path_t): New type.
35588 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35589 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35590 (struct grub_efi_bios_device_path): New structure.
35591 (grub_efi_bios_device_path_t): New type.
35592 (struct grub_efi_disk_io): New structure.
35593 (grub_efi_disk_io_t): New type.
35594 (struct grub_efi_block_io_media): New structure.
35595 (grub_efi_block_io_media_t): New type.
35596 (struct grub_efi_block_io): New structure.
35597 (grub_efi_block_io_t): New type.
35598
35599 * include/grub/misc.h (grub_stop): Removed.
35600 (grub_exit): New prototype.
35601 (grub_abort): Likewise.
35602
35603 * include/grub/disk.h (enum grub_disk_dev_id): Added
35604 GRUB_DISK_DEVICE_EFIDISK_ID.
35605
35606 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35607 disk/efi/efidisk.c.
35608 (kernel_syms.lst): Remove the target if an error occurs.
35609
49986a9f 356102006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35611
35612 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35613 as it was simply too buggy.
35614
970d3b8a 356152006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35616
35617 * kern/misc.c (grub_lltoa): New function.
35618 (grub_vsprintf): Added support for the long long suffix,
35619 i.e. "ll".
35620
ff04ec24 356212006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35622
35623 * Makefile.in (LDFLAGS): Add variable.
35624 (LD): Remove variable.
35625 * configure.ac: Add -m32 to LDFLAGS.
35626 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35627 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35628 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35629 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35630 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35631 variables.
35632 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35633 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35634 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35635
37e5e1a4 356362006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35637
35638 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35639 length for unknown glyph.
35640
c352d8dd 356412006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35642
2eab1c0d 35643 Add support for pre-loaded modules into the EFI port.
f19dbdb7 35644
2eab1c0d 35645 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35646 completely. Accept one more argument DIR. The caller has changed.
35647
35648 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35649
35650 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35651 (grub_efi_loaded_image_guid): New variable.
35652 (grub_efi_get_loaded_image): New function.
35653 (grub_arch_modules_addr): Likewise.
35654
35655 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35656 prototype.
35657
35658 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35659 (struct grub_efi_loaded_image): New structure.
35660 (grub_efi_loaded_image_t): New type.
35661
356622006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35663
c352d8dd 35664 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35665 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35666 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35667
6d01d6b4 356682006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35669
35670 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35671
976a4ea0 356722006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35673
35674 * DISTLIST: Added include/grub/efi/console.h,
35675 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35676 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35677
35678 * include/grub/efi/console.h: New file.
35679 * include/grub/efi/time.h: Likewise.
35680 * include/grub/i386/efi/kernel.h: Likewise.
35681 * kern/efi/init.c: Likewise.
35682 * kern/efi/mm.c: Likewise.
35683 * term/efi/console.c: Likewise.
f19dbdb7 35684
976a4ea0 35685 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35686 (grub_stop): Removed.
35687 (grub_get_rtc): Likewise.
35688 (grub_machine_init): Simply call grub_efi_init.
35689 (grub_machine_fini): Call grub_efi_fini.
35690
35691 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35692 (grub_efi_output_string): Removed.
35693 (grub_efi_stall): New function.
35694 (grub_stop): Likewise.
35695 (grub_get_rtc): Likewise.
35696
35697 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35698 (grub_efi_stall): New prototype.
35699 (grub_efi_allocate_pages): Likewise.
35700 (grub_efi_free_pages): Likewise.
35701 (grub_efi_get_memory_map): Likewise.
35702 (grub_efi_mm_init): Likewise.
35703 (grub_efi_mm_fini): Likewise.
35704 (grub_efi_init): Likewise.
35705 (grub_efi_fini): Likewise.
35706
35707 * include/grub/i386/efi/time.h: Do not include
35708 grub/symbol.h. Include grub/efi/time.h.
35709 (GRUB_TICKS_PER_SECOND): Removed.
35710 (grub_get_rtc): Likewise.
35711
35712 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35713 Added padding. The EFI spec is buggy.
35714 (GRUB_EFI_BLACK): New macro.
35715 (GRUB_EFI_BLUE): Likewise.
35716 (GRUB_EFI_GREEN): Likewise.
35717 (GRUB_EFI_CYAN): Likewise.
35718 (GRUB_EFI_RED): Likewise.
35719 (GRUB_EFI_MAGENTA): Likewise.
35720 (GRUB_EFI_BROWN): Likewise.
35721 (GRUB_EFI_LIGHTGRAY): Likewise.
35722 (GRUB_EFI_BRIGHT): Likewise.
35723 (GRUB_EFI_DARKGRAY): Likewise.
35724 (GRUB_EFI_LIGHTBLUE): Likewise.
35725 (GRUB_EFI_LIGHTGREEN): Likewise.
35726 (GRUB_EFI_LIGHTCYAN): Likewise.
35727 (GRUB_EFI_LIGHTRED): Likewise.
35728 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35729 (GRUB_EFI_YELLOW): Likewise.
35730 (GRUB_EFI_WHITE): Likewise.
35731 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35732 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35733 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35734 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35735 (GRUB_EFI_BACKGROUND_RED): Likewise.
35736 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35737 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35738 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35739 (GRUB_EFI_TEXT_ATTR): Likewise.
35740
35741 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35742 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35743 (kernel_mod_HEADERS): Added efi/time.h.
35744
83709125 357452006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35746
35747 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35748 include/grub/efi/api.h, include/grub/efi/console_control.h,
35749 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35750 include/grub/i386/efi/time.h, kern/efi/efi.c,
35751 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35752 and util/i386/efi/grub-mkimage.c.
35753
35754 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35755
35756 * genmk.rb (PModule#rule): Do not export symbols if
35757 #{prefix}_EXPORTS is set to "no".
35758
35759 * conf/i386-efi.mk: New file.
35760 * conf/i386-efi.rmk: Likewise.
35761 * include/grub/efi/api.h: Likewise.
35762 * include/grub/efi/console_control.h: Likewise.
35763 * include/grub/efi/efi.h: Likewise.
35764 * include/grub/efi/pe32.h: Likewise.
35765 * include/grub/i386/efi/time.h: Likewise.
35766 * kern/efi/efi.c: Likewise.
35767 * kern/i386/efi/init.c: Likewise.
35768 * kern/i386/efi/startup.S: Likewise.
35769 * util/i386/efi/grub-mkimage.c: Likewise.
35770
357712006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 35772
35773 * include/grub/script.h: Include <grub/parser.h> and
35774 "grub_script.tab.h".
35775 (struct grub_lexer_param): New struct.
35776 (struct grub_parser_param): Likewise.
35777 (grub_script_create_arglist): Pass the state in an argument.
35778 (grub_script_add_arglist): Likewise.
35779 (grub_script_create_cmdline): Likewise.
35780 (grub_script_create_cmdblock): Likewise.
35781 (grub_script_create_cmdif): Likewise.
35782 (grub_script_create_cmdmenu): Likewise.
35783 (grub_script_add_cmd): Likewise.
35784 (grub_script_arg_add): Likewise.
35785 (grub_script_lexer_ref): Likewise.
35786 (grub_script_lexer_deref): Likewise.
35787 (grub_script_lexer_record_start): Likewise.
35788 (grub_script_lexer_record_stop): Likewise.
35789 (grub_script_mem_record): Likewise.
35790 (grub_script_mem_record_stop): Likewise.
35791 (grub_script_malloc): Likewise.
35792 (grub_script_yylex): Likewise.
35793 (grub_script_yyparse): Likewise.
35794 (grub_script_yyerror): Likewise.
35795 (grub_script_yylex): Likewise.
35796 (grub_script_lexer_init): Return the state.
35797
35798 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35799 (grub_script_lexer_done): Likewise.
35800 (grub_script_lexer_getline): Likewise.
35801 (grub_script_lexer_refs): Likewise.
35802 (script): Likewise.
35803 (newscript): Likewise.
35804 (record): Likewise.
35805 (recording): Likewise.
35806 (recordpos): Likewise.
35807 (recordlen): Likewise.
35808 (grub_script_lexer_init): Return the state instead of setting
35809 global variables.
35810 (grub_script_lexer_ref): Use the newly added argument for state
35811 instead of globals.
35812 (grub_script_lexer_deref): Likewise.
35813 (grub_script_lexer_record_start): Likewise.
35814 (grub_script_lexer_record_stop): Likewise.
35815 (recordchar): Likewise.
35816 (nextchar): Likewise.
35817 (grub_script_yylex2): Likewise.
35818 (grub_script_yylex): Likewise.
35819 (grub_script_yyerror): Likewise.
35820
35821 * normal/parser.y (func_mem): Removed variable.
35822 (menu_entry): Likewise.
35823 (err): Likewise.
35824 (%lex-param): New parser option.
35825 (%parse-param): Likewise.
35826 (script): Always return the AST.
35827 (argument): Pass the state around.
35828 (arguments): Likewise.
35829 (grubcmd): Likewise.
35830 (commands): Likewise.
35831 (function): Likewise.
35832 (menuentry): Likewise.
35833 (if_statement): Likewise.
35834 (if): Likewise.
35835
35836 * normal/script.c (grub_script_memused): Removed variable.
35837 (grub_script_parsed): Likewise.
35838 (grub_script_malloc): Added a state argument. Use that instead of
35839 global variables.
35840 (grub_script_mem_record): Likewise.
35841 (grub_script_mem_record_stop): Likewise.
35842 (grub_script_arg_add): Likewise.
35843 (grub_script_add_arglist): Likewise.
35844 (grub_script_create_cmdline): Likewise.
35845 (grub_script_create_cmdif): Likewise.
35846 (grub_script_create_cmdmenu): Likewise.
35847 (grub_script_add_cmd): Likewise.
35848 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 35849
e2a8c904 358502006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 35851
35852 * normal/command.c (grub_command_init): Remove the title command.
35853
35854 * normal/lexer.c (grub_script_yylex): Renamed from this...
35855 (grub_script_yylex2): ... to this.
35856 (grub_script_yylex): New function. Temporary
35857 introduced to filter some tokens.
35858 (grub_script_yyerror): Print a newline.
35859
35860 * normal/main.c (read_config_file): Output information about the
35861 lines that contain errors. Wait for a key after all lines have
35862 been processed. Don't return an empty menu.
35863
35864 * normal/parser.y (func_mem): Don't initialize.
35865 (menu_entry): Likewise.
35866 (err): New variable.
35867 (script): Don't return anything when an error was encountered.
35868 (ws, returns): Removed rules.
35869 (argument): Disabled concatenated variable support.
35870 (arguments): Remove explicit separators.
35871 (grubcmd): Likewise.
35872 (function): Likewise.
35873 (menuentry): Likewise.
35874 (if): Likewise.
35875 (commands): Likewise. Add error handling.
35876
35877 * normal/script.c (grub_script_create_cmdline): If
35878 `grub_script_parsed' is 0, assume the parser encountered an error.
35879
c9a86192 358802006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35881
35882 * configure.ac: Add support for EFI. Fix the typo
35883 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
35884
70f3b243 358852006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35886
35887 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
35888 foreign multibyte characters should be shown correctly.
35889
65f201ad 358902006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35891
35892 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
35893 calculation.
35894 (read_config_file): Made it to close file before returning.
35895
b4b93674 358962006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
35897
35898 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
35899 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
35900 video/i386/pc/vbefill.c.
35901
35902 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
35903 video/i386/pc/vbefill.c.
35904
35905 * include/grub/video.h (grub_video_blit_format): New enum.
35906 (grub_video_mode_info): Added new member blit_format.
35907 (grub_video_get_blit_format): New function prototype.
35908
35909 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
35910 function prototype.
35911 (grub_video_vbe_map_rgb): Likewise.
35912 (grub_video_vbe_unmap_color): Likewise.
35913
35914 * include/grub/i386/pc/vbeblit.h: New file.
35915
35916 * include/grub/i386/pc/vbefill.h: New file.
35917
35918 * video/video.c (grub_video_get_blit_format): New function.
35919 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
35920 (grub_video_vbe_map_rgb): Likewise.
35921 (grub_video_vbe_unmap_color): Likewise.
35922
35923 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
35924 optimized fills.
35925 (grub_video_vbe_blit_render_target): Changed to use more optimized
35926 blits.
35927 (grub_video_vbe_setup): Added detection for optimized settings.
35928 (grub_video_vbe_create_render_target): Likewise.
35929
35930 * video/i386/pc/vbeblit.c: New file.
35931
35932 * video/i386/pc/vbefill.c: New file.
35933
c2379b9c 359342006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
35935
35936 * font/manager.c (grub_font_get_glyph): Removed font fixup from
35937 here...
35938
35939 * util/unifont2pff.rb: ... and moved it to here. Improved argument
35940 parsing to support both hex and dec ranges. If filename was missing
35941 show usage information.
35942
bd0d7896 359432006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
35944
35945 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
35946 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
35947
35948 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
35949 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
35950 (video_mod_SOURCES): Added.
35951 (video_mod_CFLAGS): Likewise.
35952 (video_mod_LDFLAGS): Likewise.
35953 (gfxterm_mod_SOURCES): Likewise.
35954 (gfxterm_mod_CFLAGS): Likewise.
35955 (gfxterm_mod_LDFLAGS): Likewise.
35956 (videotest_mod_SOURCES): Likewise.
35957 (videotest_mod_CFLAGS): Likewise.
35958 (videotest_mod_LDFLAGS): Likewise.
35959 (vesafb_mod_SOURCES): Removed.
35960 (vesafb_mod_CFLAGS): Likewise.
35961 (vesafb_mod_LDFLAGS): Likewise.
35962 (vga_mod_SOURCES): Likewise.
35963 (vga_mod_CFLAGS): Likewise.
35964 (vga_mod_LDFLAGS): Likewise.
35965
35966 * commands/videotest.c: New file.
35967
35968 * font/manager.c (fill_with_default_glyph): Modified to use
35969 grub_font_glyph.
35970 (grub_font_get_glyph): Likewise.
35971 (fontmanager): Renamed from this...
35972 (font_manager): ... to this.
35973
35974 * include/grub/font.h (grub_font_glyph): Added new structure.
35975 (grub_font_get_glyph): Modified to use grub_font_glyph.
35976
35977 * include/grub/misc.h (grub_abs): Added as inline function.
35978
35979 * include/grub/video.h: New file.
35980
35981 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
35982 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
35983 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
35984 (grub_vbe_get_controller_info): Renamed from this...
35985 (grub_vbe_bios_get_controller_info): ... to this.
35986 (grub_vbe_get_mode_info): Renamed from this...
35987 (grub_vbe_bios_get_mode_info): ... to this.
35988 (grub_vbe_set_mode): Renamed from this...
35989 (grub_vbe_bios_set_mode): ... to this.
35990 (grub_vbe_get_mode): Renamed from this...
35991 (grub_vbe_bios_get_mode): ... to this.
35992 (grub_vbe_set_memory_window): Renamed from this...
35993 (grub_vbe_bios_set_memory_window): ... to this.
35994 (grub_vbe_get_memory_window): Renamed from this...
35995 (grub_vbe_bios_get_memory_window): ... to this.
35996 (grub_vbe_set_scanline_length): Renamed from this...
35997 (grub_vbe_set_scanline_length): ... to this.
35998 (grub_vbe_get_scanline_length): Renamed from this...
35999 (grub_vbe_bios_get_scanline_length): ... to this.
36000 (grub_vbe_set_display_start): Renamed from this...
36001 (grub_vbe_bios_set_display_start): ... to this.
36002 (grub_vbe_get_display_start): Renamed from this...
36003 (grub_vbe_bios_get_display_start): ... to this.
36004 (grub_vbe_set_palette_data): Renamed from this...
36005 (grub_vbe_bios_set_palette_data): ... to this.
36006 (grub_vbe_set_pixel_rgb): Removed.
36007 (grub_vbe_set_pixel_index): Likewise.
36008
36009 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36010 from this...
36011 (grub_vbe_bios_get_controller_info): ... to this.
36012 (grub_vbe_get_mode_info): Renamed from this...
36013 (grub_vbe_bios_get_mode_info): ... to this.
36014 (grub_vbe_set_mode): Renamed from this...
36015 (grub_vbe_bios_set_mode): ... to this.
36016 (grub_vbe_get_mode): Renamed from this...
36017 (grub_vbe_bios_get_mode): ... to this.
36018 (grub_vbe_set_memory_window): Renamed from this...
36019 (grub_vbe_bios_set_memory_window): ... to this.
36020 (grub_vbe_get_memory_window): Renamed from this...
36021 (grub_vbe_bios_get_memory_window): ... to this.
36022 (grub_vbe_set_scanline_length): Renamed from this...
36023 (grub_vbe_set_scanline_length): ... to this.
36024 (grub_vbe_get_scanline_length): Renamed from this...
36025 (grub_vbe_bios_get_scanline_length): ... to this.
36026 (grub_vbe_set_display_start): Renamed from this...
36027 (grub_vbe_bios_set_display_start): ... to this.
36028 (grub_vbe_get_display_start): Renamed from this...
36029 (grub_vbe_bios_get_display_start): ... to this.
36030 (grub_vbe_set_palette_data): Renamed from this...
36031 (grub_vbe_bios_set_palette_data): ... to this.
36032 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36033 getting corrupted after calling it. Added more pushes and pops.
36034 (grub_vbe_bios_set_mode): Likewise.
36035 (grub_vbe_bios_get_mode): Likewise.
36036 (grub_vbe_bios_get_memory_window): Likewise.
36037 (grub_vbe_bios_set_scanline_length): Likewise.
36038 (grub_vbe_bios_get_scanline_length): Likewise.
36039 (grub_vbe_bios_get_display_start): Likewise.
36040 (grub_vbe_bios_set_palette_data): Likewise.
36041
36042 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36043 (cl_insert): Likewise.
36044 (cl_delete): Likewise.
36045
36046 * term/gfxterm.c: New file.
36047
36048 * term/i386/pc/vesafb.c: Removed file.
36049
36050 * video/video.c: New file.
36051
36052 * video/i386/pc/vbe.c (real2pm): Added new function.
36053 (grub_video_vbe_draw_pixel): Likewise.
36054 (grub_video_vbe_get_video_ptr): Likewise.
36055 (grub_video_vbe_get_pixel): Likewise
36056 (grub_video_vbe_init): Likewise.
36057 (grub_video_vbe_fini): Likewise.
36058 (grub_video_vbe_setup): Likewise.
36059 (grub_video_vbe_get_info): Likewise.
36060 (grub_video_vbe_set_palette): Likewise.
36061 (grub_video_vbe_get_palette): Likewise.
36062 (grub_video_vbe_set_viewport): Likewise.
36063 (grub_video_vbe_get_viewport): Likewise.
36064 (grub_video_vbe_map_color): Likewise.
36065 (grub_video_vbe_map_rgb): Likewise.
36066 (grub_video_vbe_map_rgba): Likewise.
36067 (grub_video_vbe_unmap_color): Likewise.
36068 (grub_video_vbe_fill_rect): Likewise.
36069 (grub_video_vbe_blit_glyph): Likewise.
36070 (grub_video_vbe_blit_bitmap): Likewise.
36071 (grub_video_vbe_blit_render_target): Likewise.
36072 (grub_video_vbe_scroll): Likewise.
36073 (grub_video_vbe_swap_buffers): Likewise.
36074 (grub_video_vbe_create_render_target): Likewise.
36075 (grub_video_vbe_delete_render_target): Likewise.
36076 (grub_video_vbe_set_active_render_target): Likewise.
36077 (grub_vbe_set_pixel_rgb): Remove function.
36078 (grub_vbe_set_pixel_index): Likewise.
36079 (index_color_mode): Remove static variable.
36080 (active_mode): Likewise.
36081 (framebuffer): Likewise.
36082 (bytes_per_scan_line): Likewise.
36083 (grub_video_vbe_adapter): Added new static variable.
36084 (framebuffer): Likewise.
36085 (render_target): Likewise.
36086 (initial_mode): Likewise.
36087 (mode_in_use): Likewise.
36088 (mode_list): Likewise.
36089
5f97350b 360902006-03-10 Marco Gerards <marco@gnu.org>
36091
36092 * configure.ac (AC_INIT): Bumped to 1.93.
36093
36094 * DISTLIST: Added `include/grub/hfs.h'.
36095
a3c5c6f8 360962006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36097
36098 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36099 18H, which might help the BIOS falling back to next boot media.
36100
6de53d26 361012006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36102
36103 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36104 Poe Chen <poe.poechen@gmail.com>.
36105
77c4a393 361062006-01-17 Marco Gerards <marco@gnu.org>
36107
36108 * include/grub/normal.h: Include <grub/script.h>.
36109 (grub_command_list): Removed struct.
36110 (grub_command_list_t): Removed type.
36111 (grub_menu_entry): Remove members `num' and `command_list'. Add
36112 members `commands' and `sourcecode'.
36113 * include/grub/script.h: Add inclusion guards.
36114 (grub_script_cmd_menuentry): New struct.
36115 (grub_script_execute_menuentry): New prototype.
36116 (grub_script_lexer_record_start): Likewise.
36117 (grub_script_lexer_record_stop): Likewise.
36118 * normal/execute.c (grub_script_execute_menuentry): New function.
36119 * normal/lexer.c (record, recording, recordpos, recordlen): New
36120 variables.
36121 (grub_script_lexer_record_start): New function.
36122 (grub_script_lexer_record_stop): Likewise.
36123 (recordchar): Likewise.
36124 (nextchar): Likewise.
36125 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36126 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36127 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36128 (current_menu): New variable.
36129 (free_menu): Mainly rewritten.
36130 (grub_normal_menu_addentry): New function.
36131 (read_config_file): Rewritten.
36132 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 36133 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 36134 the menu entry.
36135 (run): Mainly rewritten.
36136 * normal/parser.y (menu_entry): New variable.
36137 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36138 (menuentry): New rule.
36139 (command): Add `menuentry'.
36140 (if_statement): Allow additional returns before `fi'.
36141 * normal/script.c (grub_script_create_cmdmenu): New function.
36142
144f1f98 361432006-01-03 Marco Gerards <marco@gnu.org>
36144
36145 * INSTALL: GNU Bison is required.
36146 * configure.ac: Rewritten the test to detect Bison.
36147 * Makefile.in (YACC): New variable. Reported by Xun Sun
36148 <xun.sun.cn@gmail.com>.
36149
af4b2d89 361502006-01-03 Marco Gerards <marco@gnu.org>
36151
36152 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36153 the HFS+ filesystem to filesystem blocks.
36154 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36155 GCC warning is silenced.
36156
15643b71 361572006-01-03 Marco Gerards <marco@gnu.org>
36158
36159 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36160 read from disk from big endian to host byte order.
36161
00905879 361622006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36163
36164 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36165 documentation.
36166 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36167 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36168 embedded HFS+ filesystem.
36169 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36170 (grub_hfs_sblock): Move from here...
36171 * include/grub/hfs.h: To here... New file.
36172 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36173 documentation.
36174 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36175 New macros.
36176 (grub_hfsplus_volheader): Change type of member `magic' to
36177 `grub_uint16_t'.
36178 (grub_hfsplus_data): Add new member `embedded_offset'.
36179 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36180 returned block.
36181 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36182 Calculate the offset.
36183
8899bc3e 361842005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36185
36186 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36187 Removed.
36188 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36189
ae8c0277 361902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36191
36192 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36193 ENV->NAME is NULL after allocating ENV->VALUE.
36194
07084456 361952005-12-25 Marco Gerards <marco@gnu.org>
36196
36197 * kern/env.c (grub_env_set): Rewritten the error handling code.
36198
4750f5f1 361992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36200
36201 * geninit.sh: Made more robust, and more portable.
36202
50214199 362032005-12-25 Marco Gerards <marco@gnu.org>
36204
36205 Add support for Apple HFS+ filesystems.
f19dbdb7 36206
50214199 36207 * fs/hfsplus.c: New file.
36208
36209 * DISTLIST: Added `fs/hfsplus.c'.
36210
36211 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36212 (hfsplus_mod_SOURCES): New variable.
36213 (hfsplus_mod_CFLAGS): Likewise.
36214 (hfsplus_mod_LDFLAGS): Likewise.
36215 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36216 (grub_setup_SOURCES): Likewise.
36217 (grub_mkdevicemap_SOURCES): Likewise.
36218 (grub_emu_SOURCES): Likewise.
36219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36220
36221 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36222
36223 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36224
befaed6c 362252005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36226
36227 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36228 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36229 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36230 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36231 normal/lexer.c, normal/parser.y, normal/script.c, and
36232 partmap/gpt.c.
36233 Removed kern/sparc64/cache.c.
36234
36235 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36236 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36237 grub_emu_init.c.
36238
36239 * configure.ac (AC_INIT): Bumped to 1.92.
36240
6a124103 362412005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36242
36243 * kern/err.c (grub_error_push): Added new function to support error
36244 stacks.
36245 (grub_error_pop): Likewise.
36246 (grub_error_stack_items): New local variable to support error stacks.
36247 (grub_error_stack_pos): Likewise.
36248 (grub_error_stack_assert): Likewise.
36249 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36250 stack depth.
36251 (grub_print_error): Added support to print errors from error stack.
36252
36253 * include/grub/err.h (grub_error_push): Added function prototype.
36254 (grub_error_pop): Likewise.
36255
be973c1b 362562005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36257
36258 * configure.ac: Accept `powerpc64' as host_cpu.
36259 (amd64): Rename to `biarch32'.
36260
36261 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36262 non-cacheline-aligned addresses.
36263
36264 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36265 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36266 if `size' is non-zero.
36267
b04216ab 362682005-12-03 Marco Gerards <mgerards@xs4all.nl>
36269
36270 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36271 and `cd' to make sure the filename is not prefixed with a
36272 directory name.
36273 (pkgdata_MODULES): Add `gpt.mod'.
36274 (gpt_mod_SOURCES): New variable.
36275 (gpt_mod_CFLAGS): Likewise.
36276 (gpt_mod_LDFLAGS): Likewise.
36277
36278 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36279
36280 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36281 New macro.
36282
36283 * partmap/gpt.c: New file.
36284
36285 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36286 GPT partition map is detected.
36287
41730ed9 362882005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36289
36290 * commands/i386/pc/play.c: New file.
36291 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36292 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36293 macros.
f19dbdb7 36294
95dc3643 362952005-11-27 Marco Gerards <mgerards@xs4all.nl>
36296
36297 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36298 ((unused))' to silence gcc warning.
36299
1569ec51 363002005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36301
36302 * configure.ac: Correct `AC_PROG_YACC' test.
36303
9abde152 363042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36305
36306 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36307 check before installing files.
36308
44b83271 363092005-11-22 Mike Small <smallm@panix.com>
36310
36311 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36312 number regex so multidigit numbers are recognized correctly.
36313
363142005-11-22 Mike Small <smallm@panix.com>
36315
36316 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36317 debugging message before attempting to claim memory.
36318 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36319 multiple addresses in case of failure.
36320
9c12956b 363212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36322
36323 * term/tparm.c (get_space): Remove empty `if' statement.
36324
36325 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36326
36327 * kern/parser.c (check_varstate): Rename `state' to 's'.
36328
aeaf81d9 363292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36330
36331 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36332 variable definitions to the beginning of each function. Sort stack
36333 variables by size.
36334 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36335 `buf' argument to `char *'.
36336
79bbb63f 363372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36338
36339 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36340 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36341 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 36342 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36343 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36344 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36345 configfile.mod, search.mod, gzio.mod and test.mod.
36346 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36347 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36348 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36349 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36350 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36351 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36352 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36353 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36354 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36355 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36356 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36357 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36358 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36359 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36360 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36361 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36362 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36363 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36364 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36365 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36366 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36367 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36368 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36369
36370 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36371 `grep --include'.
36372 (pkgdata_MODULES): Add test.mod.
36373
233b1628 363742005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36375
36376 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36377 appending to variables with "+=".
36378 (PModule): Use full pathname to generate *.lst filenames.
36379
36380 * Makefile.in: Fixed list rules moved from genmk.rb.
36381 (.DELETE_ON_ERROR): New special target.
36382 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36383
36384 * conf/i386-pc.rmk: Include conf/common.mk.
36385 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36386 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 36387 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36388 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36389 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36390 configfile.mod, search.mod, gzio.mod and test.mod.
36391 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36392 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36393 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36394 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36395 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36396 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36397 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36398 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36399 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36400 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36401 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36402 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36403 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36404 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36405 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36406 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36407 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36408 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36409 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36410 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36411 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36412 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36413 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36414 here...
36415 * conf/common.rmk: ... to here. New file.
36416
36417 * conf/common.mk: New file.
36418
16f820c8 364192005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36420
36421 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36422 (grub_script.tab.c): ... here.
36423
36424 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36425 (grub_script.tab.c): ... here.
36426
36427 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36428 (grub_script.tab.c): ... here.
36429
36430 * normal/command.c (grub_command_find): Fixed a memory leak of
36431 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36432
63ba1554 364332005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36434
36435 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36436 "@" which marks the start of a comment on ARM.
36437 (VARIABLE): Likewise.
36438
7f67dc13 364392005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36440
79bbb63f 36441 Add support for Linux/ADFS partition tables.
7f67dc13 36442
36443 * partmap/acorn.c: New file.
36444
36445 * include/grub/acorn_filecore.h: Likewise.
36446
36447 * DISTLIST: Added `partmap/acorn.c' and
36448 `include/grub/acorn_filecore.h'.
f19dbdb7 36449
7f67dc13 36450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36451 `partmap/acorn.c'.
36452 (pkgdata_MODULES): Add `acorn.mod'.
36453 (acorn_mod_SOURCES): New variable.
36454 (acorn_mod_CFLAGS): Likewise.
36455
36456 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36457 `partmap/acorn.c'.
36458 (pkgdata_MODULES): Add `acorn.mod'.
36459 (acorn_mod_SOURCES): New variable.
36460 (acorn_mod_CFLAGS): Likewise.
36461
36462 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36463 (pkgdata_MODULES): Add `acorn.mod'.
36464 (acorn_mod_SOURCES): New variable.
36465 (acorn_mod_CFLAGS): Likewise.
36466 (acorn_mod_LDFLAGS): Likewise.
36467
36468 * include/types.h (grub_disk_addr_t): New typedef.
36469
6d099807 364702005-11-13 Marco Gerards <mgerards@xs4all.nl>
36471
36472 * geninit.sh: New file.
36473
36474 * geninitheader.sh: Likewise.
36475
36476 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36477 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36478 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36479 * commands/configfile.c (grub_configfile_init)
36480 (grub_configfile_fini): Likewise.
36481 * commands/default.c (grub_default_init, grub_default_fini):
36482 Likewise.
36483 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36484 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36485 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36486 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36487 Likewise.
36488 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36489 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36490 Likewise.
36491 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 36492 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 36493 Likewise.
36494 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36495 Likewise.
fe6b695a 36496 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 36497 Likewise.
36498 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36499 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36500 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36501 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36502 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36503 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36504 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36505 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36506 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36507 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36508 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36509 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36510 * partmap/amiga.c (grub_amiga_partition_map_init)
36511 (grub_amiga_partition_map_fini): Likewise.
36512 * partmap/apple.c (grub_apple_partition_map_init)
36513 (grub_apple_partition_map_fini): Likewise.
36514 * partmap/pc.c (grub_pc_partition_map_init)
36515 (grub_pc_partition_map_fini): Likewise.
36516 * partmap/sun.c (grub_sun_partition_map_init,
36517 grub_sun_partition_map_fini): Likewise.
36518 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36519 Likewise.
36520
36521 * util/grub-emu.c: Include <grub_modules_init.h>.
36522 (main): Don't initialize and de-initialize any modules directly,
36523 use `grub_init_all' and `grub_fini_all' instead.
36524
36525 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36526 `grub_vesafb_mod_init'.
36527 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36528 all users.
36529 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36530 `grub_vga_mod_init'. Updated all users.
36531 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 36532
6d099807 36533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36534 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36535 rules.
36536
36537 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36538 Generate a function to initialize the module in utilities.
36539 Updated all callers.
36540 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36541 initialize the module in utilities. Updated all callers.
36542
9046bcf0 365432005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36544
36545 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36546 escape sequence and a literal ^L to clear the screen.
36547
36548 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36549 when returning from Open Firmware.
36550
d13ea639 365512005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36552
36553 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36554 (grub_ofconsole_height): Likewise.
36555 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36556 manually insert a '\n'.
36557 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36558 `grub_ofconsole_height'. Return early if these are already set.
36559
a8fcf206 365602005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36561
36562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36563 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36564 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36565 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36566 and `normal/script.c'.
36567 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36568 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36569 (test_mod_SOURCES): New variable.
36570 (test_mod_CFLAGS): Likewise.
36571 (test_mod_LDFLAGS): Likewise.
36572 (pkgdata_MODULES): Add `test.mod'.
36573 (grub_script.tab.c): New rule.
36574 (grub_script.tab.h): Likewise.
36575
b6b32745 365762005-11-07 Marco Gerards <mgerards@xs4all.nl>
36577
36578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36579 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36580 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36581 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36582 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36583 (test_mod_SOURCES): New variable.
36584 (test_mod_CFLAGS): Likewise.
36585 (pkgdata_MODULES): Add `test.mod'.
36586 (grub_script.tab.c): New rule.
36587 (grub_script.tab.h): Likewise.
36588
daac212a 365892005-11-06 Marco Gerards <mgerards@xs4all.nl>
36590
36591 Add initial scripting support.
36592
36593 * commands/test.c: New file.
36594 * include/grub/script.h: Likewise.
36595 * normal/execute.c: Likewise.
36596 * normal/function.c: Likewise.
36597 * normal/lexer.c: Likewise.
36598 * normal/parser.y: Likewise.
36599 * normal/script.c: Likewise.
36600
36601 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 36602
daac212a 36603 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36604 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36605 `normal/function.c' and `normal/script.c'.
36606 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36607 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 36608 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36609 variables.
daac212a 36610 (pkgdata_MODULES): Add `test.mod'.
36611 (grub_script.tab.c): New rule.
36612 (grub_script.tab.h): Likewise.
36613
36614 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36615
36616 * include/grub/normal.h (grub_test_init): New prototype.
36617 (grub_test_fini): Likewise.
f19dbdb7 36618
daac212a 36619 * normal/command.c: Include <grub/script.h>.
36620 (grub_command_execute): Rewritten.
f19dbdb7 36621
daac212a 36622 * util/grub-emu.c (main): Call `grub_test_init' and
36623 `grub_test_fini'.
36624
77500b2b 366252005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36626
36627 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36628 to 0.
36629 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36630 there are no pending characters.
36631
e45deb9e 366322005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36633
36634 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36635 `grub_strndup' to drop device arguments. Replace unnecessary
36636 `grub_strndup' with `grub_strdup'.
36637
4ce32619 366382005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36639
36640 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36641 `debug' environment variable has been set.
36642
366432005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36644
4ce32619 36645 * Makefile.in (install-local): Use $(DATA).
36646 (uninstall): Likewise.
36647 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36648 (sbin_UTILITIES): ... to here.
36649 (sbin_SCRIPTS): New variable.
36650 (grub_install_SOURCES): New variable.
36651 * util/powerpc/ieee1275/grub-install.in: New file.
36652 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36653 variable.
36654 (add_segments): Call `grub_util_get_path'.
36655
25fe6f03 366562005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36657
36658 From Timothy Baldwin:
36659 * commands/ls.c (grub_ls_list_files): Close FILE with
36660 grub_file_close.
36661 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36662
04ccf3ec 366632005-10-24 Marco Gerards <mgerards@xs4all.nl>
36664
36665 * include/grub/parser.h: New file.
36666
36667 * kern/parser.c: Likewise.
36668
36669 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36670 (grub_setup_SOURCES): Likewise.
36671 (grub_probefs_SOURCES): Likewise.
36672 (grub_emu_SOURCES): Likewise.
36673 (kernel_img_HEADERS): Add `parser.h'.
36674
36675 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36676 (grub_emu_SOURCES): Add `kern/parser.c'.
36677 (grubof_SOURCES): Likewise.
36678
36679 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36680 (grubof_SOURCES): Add `kern/parser.c'.
36681
36682 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36683
36684 * kern/misc.c (grub_split_cmdline): Removed function.
36685
36686 * kern/rescue.c: Include <grub/parser.h>.
36687 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36688 of `grub_split_cmdline'.
36689
36690 * normal/command.c: Include <grub/parser.h>.
36691 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36692 of `grub_split_cmdline'.
36693
36694 * normal/completion.c: Include <grub/parser.h>.
36695 (cmdline_state): New variable.
36696 (iterate_dir): End the filename with a quote depending on the
36697 command line state.
36698 (get_state): new function.
36699 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36700 split the arguments and determine the current argument. When the
36701 argument string is not quoted, escape all spaces.
36702
6d8f4b0e 367032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36704
36705 * normal/sparc64/setjmp.S: New file.
36706
15cf03ed 367072005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36708
36709 * include/grub/sparc64/libgcc.h: New file.
36710 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36711 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36712 normal/sparc64/setjmp.c.
36713
03e8661a 367142005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36715
36716 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36717 * kern/sparc64/cache.S: New file.
36718 * kern/sparc64/cache.c: Removed.
36719 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36720 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36721 -mtune=ultrasparc.
36722 (COMMON_LDFLAGS): Add -melf64_sparc.
36723 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36724 (grubof_SOURCES): Use cache.S instead of cache.c.
36725 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36726 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36727 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36728 commented though.
36729 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36730 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36731 (linux_mod_CFLAGS): Commented out.
36732 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36733 out because module isn't built.
36734 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36735 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36736 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36737 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36738 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36739 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36740 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36741 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36742 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36743 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36744 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36745 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36746 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36747 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36748
34eeec8a 367492005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36750
36751 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36752 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36753 longer, because HFS should not be used on PC.
36754
708367a3 367552005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36756
36757 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36758 consistently within the loop.
36759
6fa1251a 367602005-10-15 Marco Gerards <mgerards@xs4all.nl>
36761
36762 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36763 directory can not be read.
36764
4801580b 367652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36766
36767 * configure.ac (AC_INIT): Increase the version number to 1.91.
36768
36769 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36770 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36771 term/i386/pc/serial.c.
36772
219ad426 367732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36774
36775 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36776 file size must be permitted.
36777
36778 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36779 between %ah and %al.
36780
688e5699 367812005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36782
36783 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36784 grub_uint64_t.
36785 Call the hook with a NUL-terminated filename.
36786 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36787 grub_cpu_to_be32.
36788
36789 * kern/term.c (cursor_state): New variable.
36790 (grub_term_set_current): Reset the cursor state on a new
36791 terminal.
36792 (grub_setcursor): Rewritten to use CURSOR_STATE.
36793 (grub_getcursor): New function.
36794
36795 * include/grub/term.h (grub_getcursor): New prototype.
36796
36797 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36798 integers on ARM. Reported by Timothy Baldwin
36799 <T.E.Baldwin99@members.leeds.ac.uk>.
36800
bb34586c 368012005-10-11 Marco Gerards <mgerards@xs4all.nl>
36802
36803 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36804 allocated.
36805 (grub_sfs_dir): Likewise.
36806
9a909877 368072005-10-09 Marco Gerards <mgerards@xs4all.nl>
36808
36809 Add support for the SFS filesystem.
36810
36811 * fs/sfs.c: New file.
36812
36813 * DISTLIST: Added `fs/sfs.c'.
36814
36815 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36816 (grub_probefs_SOURCES): Likewise.
36817 (grub_emu_SOURCES): Likewise.
36818 (pkgdata_MODULES): Add `sfs.mod'.
36819 (sfs_mod_SOURCES): New variable.
36820 (sfs_mod_CFLAGS): Likewise.
36821 (sfs_mod_LDFLAGS): Likewise.
36822
36823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36824 (pkgdata_MODULES): Add `sfs.mod'.
36825 (sfs_mod_SOURCES): New variable.
36826 (sfs_mod_CFLAGS): Likewise.
36827
36828 * util/grub-emu.c (main): Call `grub_sfs_init' and
36829 `grub_sfs_fini'.
36830
36831 * include/grub/fs.h (grub_sfs_init): New prototype.
36832 (grub_sfs_fini): Likewise.
36833
57bdbde3 368342005-10-07 Marco Gerards <mgerards@xs4all.nl>
36835
36836 Add support for the AFFS filesystem.
36837
36838 * fs/affs.c: New file.
36839
36840 * DISTLIST: Added `fs/affs.c'.
36841
36842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36843 (grub_probefs_SOURCES): Likewise.
36844 (grub_emu_SOURCES): Likewise.
36845 (pkgdata_MODULES): Add `affs.mod'.
36846 (affs_mod_SOURCES): New variable.
36847 (affs_mod_CFLAGS): Likewise.
36848 (affs_mod_LDFLAGS): Likewise.
36849
36850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36851 (pkgdata_MODULES): Add `affs.mod'.
36852 (affs_mod_SOURCES): New variable.
36853 (affs_mod_CFLAGS): Likewise.
36854
36855 * util/grub-emu.c (main): Call `grub_affs_init' and
36856 `grub_affs_fini'.
36857
36858 * include/grub/fs.h (grub_affs_init): New prototype.
36859 (grub_affs_fini): Likewise.
36860
047b67e0 368612005-10-01 Marco Gerards <mgerards@xs4all.nl>
36862
36863 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36864
59b8208a 368652005-10-01 Marco Gerards <mgerards@xs4all.nl>
36866
36867 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36868 `-m32' to CFLAGS.
36869
36870 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36871 linking.
f19dbdb7 36872
59b8208a 36873 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36874 (COMMON_LDFLAGS): New variable.
36875 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36876 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36877 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36878 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36879 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36880 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36881 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
36882 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
36883 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
36884 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
36885 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36886 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36887 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
36888 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
36889 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
36890 variables.
36891 (normal_mod_ASFLAGS): Add `-m32'.
36892
36893 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
36894 (grub_host_size_t, grub_host_ssize_t): New types.
36895 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 36896 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 36897 `GRUB_HOST_SIZEOF_VOID_P'.
36898
36899 * include/grub/kernel.h (struct grub_module_header): Type of
36900 member offset changed to `grub_host_off_t'. Type of member size
36901 changed to `grub_host_size_t'.
36902 (struct grub_module_info): Type of member offset changed to
36903 `grub_host_off_t'. Type of member size changed to
36904 `grub_host_size_t'.
36905
b4093103 369062005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
36907
36908 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 36909
b4093103 36910 * kern/i386/pc/startup.S (multiboot_header): New label.
36911 (multiboot_entry): Likewise.
36912 (multiboot_trampoline): Likewise.
36913
36914 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36915 Increased to 0x4A0.
36916
36917 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
36918 put parentheses after a question mark.
36919 [!GRUB_UTIL] (my_mod): New variable.
36920
36921 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
36922
b2499b29 369232005-09-28 Marco Gerards <mgerards@xs4all.nl>
36924
36925 Adds support for the XFS filesystem. Btrees are not supported
36926 yet.
36927
36928 * fs/xfs.c: New file.
36929
36930 * DISTLIST: Added `fs/xfs.c'.
36931
36932 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
36933 (grub_probefs_SOURCES): Likewise.
36934 (grub_emu_SOURCES): Likewise.
36935 (pkgdata_MODULES): Add `xfs.mod'.
36936 (xfs_mod_SOURCES): New variable.
36937 (xfs_mod_CFLAGS): Likewise.
36938
36939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
36940 (pkgdata_MODULES): Add `xfs.mod'.
36941 (xfs_mod_SOURCES): New variable.
36942 (xfs_mod_CFLAGS): Likewise.
36943
36944 * util/grub-emu.c (main): Call `grub_xfs_init' and
36945 `grub_xfs_fini'.
36946
36947 * include/grub/fs.h (grub_xfs_init): New prototype.
36948 (grub_xfs_fini): Likewise.
36949
f19dbdb7 36950
83d37a62 369512005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
36952
36953 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
36954 color modes, allow greater than 16 colors to be configured as
36955 a default palette.
36956
47d2d65e 369572005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36958
36959 * normal/completion.c (complete_arguments): Add the qualifier
36960 const into OPTIONS.
36961
36962 From Omniflux <omniflux+lists@omniflux.com>:
36963 * include/grub/terminfo.h: New file.
36964 * include/grub/tparm.h: Likewise.
36965 * include/grub/i386/pc/serial.h: Likewise.
36966 * term/terminfo.c: Likewise.
36967 * term/tparm.c: Likewise.
36968 * term/i386/pc/serial.c: Likewise.
36969 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
36970 serial.mod.
36971 (terminfo_mod_SOURCES): New variable.
36972 (terminfo_mod_CFLAGS): Likewise.
36973 (serial_mod_SOURCES): Likewise.
36974 (serial_mod_CFLAGS): Likewise.
36975
48b671ff 369762005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
36977
36978 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
36979 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
36980 and kern/powerpc/ieee1275/cmain.c, respectively.
36981
36982 * boot/powerpc/ieee1275/crt0.S: Moved to ...
36983 * kern/powerpc/ieee1275/crt0.S: ... here.
36984
36985 * boot/powerpc/ieee1275/cmain.c: Moved to ...
36986 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 36987
48b671ff 36988 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
36989 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
36990 instead of boot/powerpc/ieee1275/crt0.S and
36991 boot/powerpc/ieee1275/cmain.c, respectively.
36992
36993 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
36994 sectors. It was not used anyway.
36995
09fc77a7 369962005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36997
36998 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
36999 `unused parameter' warning.
37000
003789c7 370012005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37002
37003 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37004 function.
37005 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37006 getcharwidth.
37007
67f44c86 370082005-08-28 Marco Gerards <metgerards@student.han.nl>
37009
37010 * include/grub/normal.h (enum grub_completion_type): Added
37011 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37012
37013 * normal/cmdline.c (print_completion): Handle
37014 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37015 * normal/menu_entry.c (store_completion): Likewise.
37016
37017 * normal/completion.c (complete_arguments): New function.
37018 (grub_normal_do_completion): Call `complete_arguments' when the
37019 current words start with a dash.
37020
0b5abe02 370212005-08-27 Marco Gerards <metgerards@student.han.nl>
37022
37023 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37024 `gzio.mod' instead of `io.mod').
37025
d9864ee1 370262005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37027
37028 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37029 (DISTDIRS): Added io and video.
37030 Rewrite the search routine to make an output consistently.
37031
37032 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37033 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37034 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37035 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37036 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37037 util/powerpc/ieee1275/misc.c.
f19dbdb7 37038
d9864ee1 37039 * include/grub/gzio.h: New file.
37040 * io/gzio.c: Likewise.
f19dbdb7 37041
d9864ee1 37042 * kern/file.c (grub_file_close): Call grub_device_close only if
37043 FILE->DEVICE is not NULL.
37044
37045 * include/grub/mm.h [!NULL] (NULL): New macro.
37046
37047 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37048
37049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37050 (pkgdata_MODULES): Added gzio.mod.
37051 (gzio_mod_SOURCES): New variable.
37052 (gzio_mod_CFLAGS): Likewise.
37053
37054 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37055 (pkgdata_MODULES): Added gzio.mod.
37056 (gzio_mod_SOURCES): New variable.
37057 (gzio_mod_CFLAGS): Likewise.
37058
37059 * commands/cat.c: Include grub/gzio.h.
37060 (grub_cmd_cat): Use grub_gzfile_open instead of
37061 grub_file_open.
f19dbdb7 37062
d9864ee1 37063 * commands/cmp.c: Include grub/gzio.h.
37064 (grub_cmd_cmp): Use grub_gzfile_open instead of
37065 grub_file_open.
37066
37067 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37068 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37069 grub_file_open.
37070 (grub_rescue_cmd_module): Likewise.
37071
fa46f4b5 370722005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37073
37074 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37075 kern/sparc64/ieee1275/init.c because it contains _start.
37076 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37077
e9211b5d 370782005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37079
37080 * configure.ac: Add support for sparc64 host with ieee1275
37081 firmware.
37082 * configure: Generated from configure.ac.
37083 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37084 instead of int.
37085 (grub_ofdisk_read): Likewise.
37086 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37087 pointers as (void *) to remove a warning.
37088 (grub_ofdisk_close): Likewise.
37089 (grub_ofdisk_read): Likewise.
37090 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37091 returns, so make it return void to remove a warning.
37092 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37093 Corresponding prototype change.
37094 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37095 values, and cast the pointers as (void *) to remove a warning.
37096 (grub_mm_dump): Likewise.
37097 * conf/sparc64-ieee1275.mk: New file.
37098 * conf/sparc64-ieee1275.rmk: Likewise.
37099 * include/grub/sparc64/setjmp.h: Likewise.
37100 * include/grub/sparc64/types.h: Likewise.
37101 * include/grub/sparc64/ieee1275/console.h: Likewise.
37102 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37103 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37104 * include/grub/sparc64/ieee1275/time.h: Likewise.
37105 * kern/sparc64/cache.c: Likewise.
37106 * kern/sparc64/dl.c: Likewise.
37107 * kern/sparc64/ieee1275/init.c: Likewise.
37108 * kern/sparc64/ieee1275/openfw.c: Likewise.
37109
385c6a92 371102005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37111
37112 * util/console.c (grub_ncurses_putchar): If C is greater than
37113 0x7f, set C to a question mark.
37114 (grub_ncurses_getcharwidth): New function.
37115 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37116 getcharwidth.
37117
37118 * normal/menu.c (print_entry): Made aware of Unicode. First,
37119 convert TITLE to UCS-4, and predict the cursor position by
37120 grub_getcharwidth.
37121
37122 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37123 const to SRC.
37124 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37125
16ccb8b1 371262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37127
37128 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37129 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37130 grub_strcat.
37131
37132 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37133 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37134 grub_strcpy and grub_strlen. Take it into account that a space
37135 character is inserted as a delimiter.
37136
6a85ce79 371372005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37138
37139 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 37140 invalid magic in the error.
6a85ce79 37141
37142 * commands/search.c: New file.
f19dbdb7 37143
6a85ce79 37144 * util/grub-emu.c (main): Call grub_search_init and
37145 grub_search_fini.
37146
37147 * kern/rescue.c (grub_rescue_print_disks): Removed.
37148 (grub_rescue_print_devices): New function.
37149 (grub_rescue_cmd_ls): Use grub_device_iterate with
37150 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37151 grub_rescue_print_disks.
37152
37153 * kern/partition.c (grub_partition_iterate): Return the result of
37154 PARTMAP->ITERATE instead of GRUB_ERRNO.
37155
37156 * kern/device.c: Include grub/partition.h.
37157 (grub_device_iterate): New function.
37158
37159 * include/grub/partition.h (grub_partition_iterate): Return int
37160 instead of grub_err_t.
37161
37162 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37163 prototype.
37164 [GRUB_UTIL] (grub_search_fini): Likewise.
37165
37166 * include/grub/device.h (grub_device_iterate): New prototype.
37167
37168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37169 commands/search.c.
37170 (pkgdata_MODULES): Added search.mod.
37171 (search_mod_SOURCES): New variable.
37172 (search_mod_CFLAGS): Likewise.
37173
37174 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37175 (pkgdata_MODULES): Added search.mod.
37176 (search_mod_SOURCES): New variable.
37177 (search_mod_CFLAGS): Likewise.
37178
37179 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37180 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37181 All callers changed.
37182
37183 * DISTLIST: Added commands/search.c.
37184
ef095434 371852005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37186
37187 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37188 conversion.
37189 (grub_getcharwidth): New function.
37190
37191 * kern/misc.c (grub_utf8_to_ucs4): New function.
37192
37193 * include/grub/term.h (struct grub_term): Added a new member
37194 "getcharwidth".
37195 (grub_getcharwidth): New prototype.
37196
37197 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37198
37199 * term/i386/pc/console.c (map_char): New function. Segregated from
37200 grub_console_putchar.
37201 (grub_console_putchar): Use map_char.
37202 (grub_console_getcharwidth): New function.
37203 (grub_console_term): Specified grub_console_getcharwidth as
37204 getcharwidth.
37205
37206 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37207 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37208
37209 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37210 GRUB_ERRNO.
37211 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37212 on grub_strtoul completely.
37213 (write_char): Declare local variables in the beginning of the
37214 function.
37215 (grub_vesafb_getcharwidth): New function.
37216 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37217 getcharwidth.
37218
1f0a95e4 372192005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37220
37221 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37222 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37223 commands/i386/pc/vbetest.c.
37224
37225 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37226 call grub_vbe_get_controller_info again, because the returned
37227 information is volatile.
37228 (grub_vbe_set_video_mode): Mostly rewritten.
37229 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37230 grub_vbe_status_t correctly.
37231 (grub_vbe_get_video_mode_info): Likewise.
37232 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37233 several if statements.
37234
37235 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37236 * commands/i386/pc/vbeinfo.c: ... this.
37237
37238 * commands/i386/pc/vbe_test.c: Renamed to ...
37239 * commands/i386/pc/vbetest.c: ... this.
37240
37241 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37242 ...
37243 (grub_cmd_vbeinfo): ... this. Save video modes before
37244 iterating. Skip a video mode, if it is not available, not enough
37245 information is given or it is monochrome. Show the memory
37246 model. Leave the interpretation of MODEVAR to grub_strtoul
37247 completely.
37248 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37249 (GRUB_MOD_FINI): Likewise.
37250
37251 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37252 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37253 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37254 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37255 grub_strtoul completely.
37256 (real2pm): Removed.
37257 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37258 (GRUB_MOD_FINI): Likewise.
37259
37260 * normal/misc.c: Include grub/mm.h.
37261
37262 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37263 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37264 (vbe_list_modes_mod_SOURCES): Removed.
37265 (vbe_list_modes_mod_CFLAGS): Likewise.
37266 (vbe_test_mod_SOURCES): Likewise.
37267 (vbe_test_mod_CFLAGS): Likewise.
37268 (vbeinfo_mod_SOURCES): New variable.
37269 (vbeinfo_mod_CFLAGS): Likewise.
37270 (vbetest_mod_SOURCES): Likewise.
37271 (vbetest_mod_CFLAGS): Likewise.
37272
992ffbbe 372732005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37274
37275 * normal/misc.c: New file.
37276
37277 * DISTLIST: Added normal/misc.c.
f19dbdb7 37278
992ffbbe 37279 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37280 DISK to HOOK. Call HOOK with DISK.
37281 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37282 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37283 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37284
37285 * normal/menu_entry.c (struct screen): Added a new member
37286 "completion_shown".
37287 (completion_buffer): New global variable.
37288 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37289 (store_completion): New function.
37290 (complete): Likewise.
37291 (clear_completions): Likewise.
37292 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37293 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37294 a tab, call complete.
37295
37296 * normal/completion.c (disk_dev): Removed.
37297 (print_simple_completion): Likewise.
37298 (print_partition_completion): Likewise.
37299 (print_func): New global variable.
37300 (add_completion): Do not take the arguments WHAT or PRINT any
37301 longer. Added a new argument TYPE. Instead of printing directly,
37302 call PRINT_FUNC if not NULL.
37303 All callers changed.
37304 (complete_device): Use a local variable DEV instead of
37305 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37306 (grub_normal_do_completion): Take a new argument HOOK. Do not
37307 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37308 empty string, return NULL instead.
37309 All callers changed.
37310
37311 * normal/cmdline.c (print_completion): New function.
37312
37313 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37314 to HOOK.
37315 All callers changed.
37316
37317 * kern/disk.c (grub_print_partinfo): Removed.
37318
37319 * include/grub/partition.h (struct grub_partition_map): Add a new
37320 argument DISK into HOOK of ITERATE.
37321 (grub_partition_iterate): Add a new argument DISK to HOOK.
37322
37323 * include/grub/normal.h (enum grub_completion_type): New enum.
37324 (grub_completion_type_t): New type.
37325 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37326 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37327 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37328 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37329 (grub_normal_do_completion): Added a new argument HOOK.
37330 (grub_normal_print_device_info): New prototype.
37331
37332 * include/grub/disk.h (grub_print_partinfo): Removed.
37333
37334 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37335 (normal_mod_SOURCES): Likewise.
37336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37337 (normal_mod_SOURCES): Likewise.
37338
37339 * commands/ls.c (grub_ls_list_disks): Use
37340 grub_normal_print_device_info instead of grub_print_partinfo. Free
37341 PNAME.
37342 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37343 duplicating the code.
37344
0bd41162 373452005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37346
37347 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 37348 follow GCS more precisely.
37349 * commands/i386/pc/vbe_test.c: Likewise.
37350 * include/grub/i386/pc/vbe.h: Likewise.
37351 * term/i386/pc/vesafb.c: Likewise.
37352 * video/i386/pc/vbe.c: Likewise.
0bd41162 37353
6323696a 373542005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37355
37356 * DISTLIST: Added term/i386/pc/vesafb.c
37357 DISTLIST: Added video/i386/pc/vbe.c
37358 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37359 DISTLIST: Added commands/i386/pc/vbe_test.c.
37360 * commands/i386/pc/vbe_list_modes.c: New file.
37361 * commands/i386/pc/vbe_test.c: Likewise.
37362 * term/i386/pc/vesafb.c: Likewise.
37363 * video/i386/pc/vbe.c: Likewise.
37364 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37365 (grub_vbe_probe) Added prototype.
37366 (grub_vbe_set_video_mode) Likewise.
37367 (grub_vbe_get_video_mode) Likewise.
37368 (grub_vbe_get_video_mode_info) Likewise.
37369 (grub_vbe_set_pixel_rgb) Likewise.
37370 (grub_vbe_set_pixel_index) Likewise.
37371 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37372 (pkgdata_MODULES): Added vesafb.mod.
37373 (pkgdata_MODULES): Added vbe_list_modes.mod.
37374 (pkgdata_MODULES): Added vbe_test.mod.
37375 (vbe_mod_SOURCES): Added.
37376 (vbe_mod_CFLAGS): Likewise.
37377 (vesafb_mod_SOURCES): Likewise.
37378 (vesafb_mod_CFLAGS): Likewise.
37379 (vbe_list_modes_mod_SOURCES): Likewise.
37380 (vbe_list_modes_mod_CFLAGS): Likewise.
37381 (vbe_test_mod_SOURCES): Likewise.
37382 (vbe_test_mod_CFLAGS): Likewise.
37383
0a74e62f 373842005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37385
0a74e62f 37386 * normal/command.c (grub_command_execute): If INTERACTIVE is
37387 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37388 CMDLINE. Disable the pager if INTERACTIVE is true.
37389 All callers are changed.
37390
37391 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37392 before reading a config file.
37393 * normal/main.c (read_config_file): Even if a command is not
37394 found, register it if it is within an entry.
37395
37396 * util/grub-emu.c: Include sys/types.h and unistd.h.
37397 (options): Added --hold.
37398 (struct arguments): Added a new member "hold".
37399 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37400 missing.
37401 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37402 cleared by a debugger, if it is not zero.
37403
37404 * include/grub/normal.h (grub_command_execute): Add an argument
37405 INTERACTIVE.
37406
e51f85ae 374072005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37408
37409 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37410
e9c6f39b 374112005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37412
37413 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37414 program with another one, because the old one didn't detect a bug
37415 in gcc-3.4. Always use regparm 2, because the new test is still
37416 not enough for gcc-4.0. Someone must investigate a simple test
37417 case which detects a bug in gcc-4.0.
37418
8de3495c 374192005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37420
37421 * DISTLIST: Added normal/completion.c.
37422
37423 * normal/completion.c: New file.
f19dbdb7 37424
8de3495c 37425 * term/i386/pc/console.c (grub_console_getwh): New function.
37426 (grub_console_term): Assign grub_console_getwh to getwh.
37427
37428 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37429 function is defined in normal/completion.c as
37430 grub_normal_do_completion.
37431 (grub_cmdline_get): Use grub_normal_do_completion instead of
37432 grub_tab_complete.
37433
37434 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37435 returns non-zero, otherwise return 0.
37436 (grub_partition_iterate): First, probe the partition map. Then,
37437 call ITERATE only for this partition map.
37438
37439 * kern/misc.c (grub_strncmp): Rewritten.
37440
37441 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37442 returns non-zero. Otherwise return 0.
37443
37444 * include/grub/partition.h (grub_partition_map_iterate): Return
37445 int instead of void.
37446
37447 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37448
37449 * include/grub/misc.h (grub_strncmp): Change the type of N to
37450 grub_size_t.
37451
37452 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37453 of void.
37454
37455 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 37456 unsigned explicitly before comparing it with I.
8de3495c 37457
37458 * kern/main.c (grub_env_write_root): Add the attribute unused into
37459 VAR.
37460
37461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37462 normal/completion.c.
37463 (normal_mod_SOURCES): Likewise.
37464 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37465 (normal_mod_SOURCES): Likewise.
37466
37467 * normal/command.c (grub_iterate_commands): If ITERATE returns
37468 non-zero, return one immediately.
37469
e85e144b 374702005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37471
37472 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37473 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37474 descriptions.
37475 (grub_vbe_get_controller_info): New function.
37476 (grub_vbe_get_mode_info): Likewise.
37477 (grub_vbe_set_mode): Likewise.
37478 (grub_vbe_get_mode): Likewise.
37479 (grub_vbe_set_memory_window): Likewise.
37480 (grub_vbe_get_memory_window): Likewise.
37481 (grub_vbe_set_scanline_length): Likewise.
37482 (grub_vbe_get_scanline_length): Likewise.
37483 (grub_vbe_set_display_start): Likewise.
37484 (grub_vbe_get_display_start): Likewise.
37485 (grub_vbe_set_palette_data): Likewise.
37486 * include/grub/i386/pc/vbe.h: New file.
37487
c46153d2 374882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37489
37490 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37491 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37492 * DISTLIST: Likewise.
37493 * kern/ieee1275/of.c: Moved to ...
37494 * kern/ieee1275/ieee1275.c: ... here.
37495
0cb90c45 374962005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37497
37498 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37499 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37500 Pass 0 as `end' parameter to grub_strtoul().
37501
a19fb360 375022005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37503
37504 * include/grub/powerpc/ieee1275/console.h: Do not include
37505 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37506 ifdef.
37507 (grub_console_cur_color): Remove i386-specific prototype.
37508 (grub_console_real_putchar): Likewise.
37509 (grub_console_checkkey): Likewise.
37510 (grub_console_getkey): Likewise.
37511 (grub_console_getxy): Likewise.
37512 (grub_console_gotoxy): Likewise.
37513 (grub_console_cls): Likewise.
37514 (grub_console_setcursor): Likewise.
37515 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37516 Include <grub/machine/console.h>.
37517 * term/ieee1275/ofconsole.c: Likewise.
37518
4ac9bd04 375192005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37520
37521 * Makefile.in (LIBLZO): New variable.
37522
37523 * configure.ac: Check for LZO version 2.
37524
37525 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37526 lzo/lzo1x.h instead of lzo1x.h.
37527
37528 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37529 of -llzo.
37530
37531 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37532 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37533
37534 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37535 copying the data from PARTITION to P.
37536
f4917dfd 375372005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37538
37539 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37540 negative, unload the module.
37541
37542 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37543 map is "pc_partition_map" but not "pc".
37544 (usage): Fix the description. The options are --boot-image and
37545 --core-image but not --boot-file or --core-file.
37546 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37547 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37548 DEFAULT_DIRECTORY.
37549
37550 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37551 --core-file. Specify INSTALL_DEVICE as an argument.
37552
37553 * util/console.c: Include config.h.
37554 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37555 [HAVE_NCURSES_H]: Include ncurses.h.
37556 [HAVE_CURSES_H]: Include curses.h.
37557 [!A_NORMAL] (A_NORMAL): Defined as zero.
37558 [!A_STANDOUT] (A_STANDOUT): Likewise.
37559
37560 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37561 -lncurses.
37562 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37563
37564 * configure.ac: Check for curses libraries and headers.
37565
37566 * Makefile.in (LIBCURSES): New variable.
37567
37568 * genmk.rb (Script::rule): Set the executable bits.
37569
37570 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37571 name of the PC partition map is "pc_partition_map" but not "pc".
37572
0e143073 375732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37574
37575 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37576 (modules): Likewise.
37577 (usage): Added descriptions for --modules and --grub-probefs.
37578 Handle --modules and --grub-probefs. Save the arguments in MODULES
37579 and GRUB_PROBEFS, respectively.
37580 Auto-detect a filesystem module against GRUBDIR. If the result is
37581 empty and modules are not specified explicitly, abort the
37582 installation. Add the result to MODULES.
37583
37584 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37585 disk/powerpc/ieee1275/ofdisk.c,
37586 include/grub/powerpc/ieee1275/init.h and
37587 term/powerpc/ieee1275/ofconsole.c.
37588 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37589 term/ieee1275/ofconsole.c.
37590
37591 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37592
37593 * COPYING: Upgraded to the latest version. Only the address of the
37594 FSF office has changed.
f19dbdb7 37595
efd6e6d5 375962005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37597
37598 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37599 kern/ieee1275.c with kern/ieee1275/of.c.
37600
37601 * kern/ieee1275.c: Moved to ...
37602 * kern/ieee1275/of.c: ... here.
37603
8ceafda2 376042005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37605
37606 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 37607 readability.
8ceafda2 37608
37609 * config.guess: Updated to the latest version from gnulib.
37610 * config.sub: Likewise.
37611 * install.sh: Likewise.
37612 * mkinstalldirs: Likewise.
37613
37614 * include/grub/console.h: Removed. This file is arch-specific. Do
37615 not put this in include/grub.
37616
37617 * include/grub/i386/pc/console.h: Resurrected.
37618
37619 * util/console.c: Include grub/machine/console.h instead of
37620 grub/console.h.
37621 * util/grub-emu.c: Likewise.
37622
267f6cd9 376232005-08-04 Marco Gerards <metgerards@student.han.nl>
37624
37625 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37626 hardcoded value.
f19dbdb7 37627
267f6cd9 37628 From Vincent Pelletier <subdino2004@yahoo.fr>
37629 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37630 Redefined to use grub_getwh.
37631 (grub_term): New member named getwh.
37632 (grub_getwh): New prototype.
37633 * kern/term.c (grub_getwh): New function.
37634 * term/i386/pc/console.c (grub_console_getwh): New function.
37635 (grub_console_term): New member `getwh'.
37636 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37637 (grub_vga_term): New member `getwh'.
0b5abe02 37638 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 37639 grub_ssize_t.
37640 (grub_ofconsole_getw): New function.
37641 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37642 (grub_ofconsole_term): New field named getwh and new initial
37643 value.
37644
3be7266d 376452005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37646
37647 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37648 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37649 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37650 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37651 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37652 of <grub/machine/ieee1275.h>.
37653 * commands/ieee1275/reboot.c: Likewise.
37654 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37655 * kern/ieee1275.c: ... to here. All users updated. Change all
37656 parameter structs to use new type `grub_ieee1275_cell_t'.
37657 * term/powerpc/ieee1275/ofconsole.c: Move ...
37658 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37659 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37660 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37661 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37662 to return int.
37663 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37664 Remove unused prototypes. All users updated.
37665 * include/grub/powerpc/ieee1275/console.h: Removed.
37666 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37667 `grub_ieee1275_cell_t'.
37668 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37669 Cast comparisons with -1 to the correct type.
37670 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37671 type to match `grub_ieee1275_entry_fn'.
37672
8b5f3938 376732005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37674
37675 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37676
37677 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37678 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37679 partmap/sun.c.
37680 (grub_probefs_SOURCES): New variable.
37681
37682 * util/i386/pc/grub-probefs.c: New file.
37683
37684 * util/i386/pc/grub-setup.c (main): Call
37685 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37686 grub_hfs_init and grub_jfs_init to initialize the system. Call
37687 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37688 grub_pc_partition_map_fini to finish the system.
37689
ea409713 376902005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37691
37692 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37693 function.
37694 (grub_multiboot_load_elf32): Likewise.
37695 (grub_multiboot_is_elf64): Likewise.
37696 (grub_multiboot_load_elf64): Likewise.
37697 (grub_multiboot_load_elf): Likewise.
37698 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37699 an ELF32 or ELF64 file.
37700 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37701
37702 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37703 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37704 NULL before calling FS->LABEL.
37705 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37706 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37707 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37708 before calling FS->LABEL.
37709
141a288b 377102005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37711
37712 * util/i386/pc/grub-install.in (datadir): New variable.
37713 (libdir): Removed.
37714 (pkgdatadir): New variable.
37715 (pkglibdir): Removed.
37716
0d5f8a54 377172005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37718
37719 * DISTLIST: Added util/i386/pc/grub-install.in.
37720
37721 * util/i386/pc/grub-install.in: New file.
37722
37723 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37724 (grub_install_SOURCES): Likewise.
37725
37726 * genmk.rb: Added support for scripts.
37727 (Script): New class.
37728 (scripts): New variable.
37729
37730 * Makefile.in (install-local): Install sbin_SCRIPTS by
37731 INSTALL_SCRIPT.
37732 (uninstall): Remove sbin_SCRIPTS.
37733
37734 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37735 device, try to get a GRUB device by
37736 grub_util_biosdisk_get_grub_dev.
37737 Free DEST_DEV.
37738
37739 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37740 description for --device-map.
37741
5f968e1e 377422005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37743
37744 Change the semantics of variable hooks. They now return strings
37745 instead of error values.
f19dbdb7 37746
5f968e1e 37747 * util/i386/pc/grub-setup.c: Include grub/env.h.
37748 (setup): Use grub_device_set_root instead of grub_env_set.
37749
37750 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37751 grub_env_get instead of grub_device_set_root and
37752 grub_device_get_root, respectively.
37753
37754 * kern/main.c (grub_env_write_root): New function.
37755 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37756 grub_env_set instead of grub_device_set_root.
37757
37758 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37759 many variables.
37760 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37761 rather than calling ENV->WRITE_HOOK afterwards.
37762 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37763 passing a pointer of a pointer.
37764 (grub_register_variable_hook): Change the types of "read_hook" and
37765 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37766 respectively.
37767 Allocate the default empty string on the heap, because this string
37768 may be freed later.
37769
37770 * kern/device.c: Include grub/env.h.
37771 (grub_device_set_root): Removed.
37772 (grub_device_get_root): Likewise.
37773 (grub_device_open): Use grub_env_get instead of
37774 grub_device_get_root.
37775
37776 * include/grub/env.h (grub_env_read_hook_t): New type.
37777 (grub_env_write_hook_t): Likewise.
37778 (grub_env_var): Change the types of "read_hook" and "write_hook"
37779 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37780 (grub_register_variable_hook): Likewise.
37781
37782 * include/grub/device.h (grub_device_set_root): Removed.
37783 (grub_device_set_root): Likewise.
37784
37785 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37786 make sure that DIRNAME terminates with '/', so that
37787 grub_fat_find_dir will fail if PATH is not a directory.
37788
37789 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37790 from DIRNAME.
37791 Use the qualifier auto for print_files and print_files_long.
37792 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37793 as a regular file.
37794 Put a newline only if there is no error.
37795 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37796 used.
37797
896f0afd 377982005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37799
37800 * kern/partition.c (grub_partition_probe): Initialize PART to
37801 NULL. Otherwise, when no partition map is registered, this returns
37802 a garbage.
37803
b28b81b2 378042005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37805
37806 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37807 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37808 valid.
37809
5f3607e0 378102005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37811
37812 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37813 information on each device, if it does not have partitions. Print
37814 "Device" instead of "Disk", because this function is not specific
37815 to disk devices.
37816
37817 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37818 static to ensure that it is put on the memory rather than a
37819 register.
37820
502c87e8 378212005-07-17 Yoshinori Okuji <okuji@enbug.org>
37822
37823 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37824 (grub_cat_init): Likewise.
37825 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37826 (options): Likewise.
37827 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37828 (grub_configfile_init): Likewise.
37829 * font/manager.c (GRUB_MOD_INIT): Likewise.
37830 * commands/help.c (GRUB_MOD_INIT): Likewise.
37831 (grub_help_init): Likewise.
37832 * normal/command.c (grub_command_init): Likewise.
37833 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37834 * disk/loopback.c (grub_loop_init): Likewise.
37835 (GRUB_MOD_INIT): Likewise.
37836 * commands/ls.c (grub_ls_init): Likewise.
37837 (GRUB_MOD_INIT): Likewise.
37838 (options): Likewise.
37839 * commands/boot.c (grub_boot_init): Likewise.
37840 (GRUB_MOD_INIT): Likewise.
37841 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37842 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37843 (GRUB_MOD_INIT): Likewise.
37844 * commands/cmp.c (grub_cmp_init): Likewise.
37845 (GRUB_MOD_INIT): Likewise.
37846
37847 * normal/arg.c: Use <> instead of "" to include header files.
37848 (SHORT_ARG_HELP): New macro.
37849 (SHORT_ARG_USAGE): Likewise.
37850 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37851 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37852 descriptions.
37853 (find_short): Check if C is 'h' or 'u' explicitly.
37854 (grub_arg_show_help): Use space characters instead of tabs. Treat
37855 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37856 are shown with --help and --usage only if they are not used for
37857 the command itself.
37858 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37859 'h' and 'u'.
37860
37861 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37862 const into "longarg". Change the type of "shortarg" to int.
37863
f806d18e 378642005-07-17 Yoshinori Okuji <okuji@enbug.org>
37865
37866 * boot/i386/pc/boot.S (boot_drive_check): New label.
37867
37868 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37869 macro.
37870
37871 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37872 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37873
e293232b 378742005-07-17 Yoshinori Okuji <okuji@enbug.org>
37875
37876 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37877 When turning off Gate A20, skip the check and return immediately,
37878 because this is not fatal usually.
37879
ebedfd00 378802005-07-17 Yoshinori Okuji <okuji@enbug.org>
37881
37882 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
37883 be 0x7C00 instead of 0x8000.
37884
37885 * boot/i386/pc/pxeboot.S: Rewritten.
37886
37887 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
37888 EXT_C.
37889 (gate_a20_check_state): Read a byte from 0x108000. Invert the
37890 result.
37891
654fc59f 378922005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
37893
37894 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
37895 robustness. This routine now supports a BIOS call and System
37896 Control Port A to modify the gate A20.
37897
37898 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37899 Increased to 0x440.
37900
09f9923f 379012005-07-12 Hollis Blanchard <hollis@penguinppc.org>
37902
37903 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
37904 device path and resulting ihandle.
37905 (grub_ofdisk_close): dprintf the ihandle being closed.
37906 (grub_ofdisk_read): dprintf function parameters.
37907 * kern/mm.c (grub_mm_init_region): Likewise.
37908 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
37909 (grub_linux_boot): dprintf the Linux entry point, initrd address and
37910 size, and boot arguments.
37911 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
37912 before loading into memory.
37913 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
37914 before loading into memory.
37915
7ef504d8 379162005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
37917
37918 * kern/mm.c: Added much documentation.
37919 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
37920 8, set to 5 instead of 8.
37921
e0f050c2 379222005-07-10 Yoshinori Okuji <okuji@enbug.org>
37923
37924 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
37925
37926 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
37927 (grub_mkdevicemap_SOURCES): New variable.
37928
37929 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
37930 lib/device.c of GRUB Legacy.
37931
7224189a 379322005-07-10 Yoshinori Okuji <okuji@enbug.org>
37933
37934 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
37935 instead of PATH is NULL.
37936
68c864eb 379372005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
37938
37939 * commands/cmp.c (BUFFER_SIZE): New macro.
37940 (grub_cmd_cmp): Close the right file at the right time. Compare
37941 only data just read. Don't report files of different size as
37942 identical. Dynamically allocate buffers. Move variable
37943 declarations at the beginning of function.
37944
e6f3e614 379452005-07-09 Yoshinori Okuji <okuji@enbug.org>
37946
37947 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
37948 reverse.
37949
f8f1559a 379502004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
37951
37952 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
37953 when backspace is pressed at beginning of line.
37954
39c9d41d 379552005-07-03 Yoshinori Okuji <okuji@enbug.org>
37956
37957 * DISTLIST: Added genfslist.sh.
37958
37959 * normal/main.c (fs_module_list): New variable.
37960 (autoload_fs_module): New function.
37961 (read_fs_list): Likewise.
37962 (grub_normal_execute): Call read_fs_list.
37963
37964 * kern/fs.c (grub_fs_autoload_hook): New variable.
37965 (grub_fs_probe): Added support for auto-loading.
37966
37967 * include/grub/normal.h (struct grub_fs_module_list): New struct.
37968 (grub_fs_module_list_t): New type.
37969
37970 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
37971 (grub_fs_autoload_hook): New prototype.
37972
37973 * genfslist.sh: New file.
f19dbdb7 37974
39c9d41d 37975 * genmk.rb: Added a rule to generate a filesystem list.
37976
121c1d83 379772005-06-30 Marco Gerards <metgerards@student.han.nl>
37978
37979 * configure.ac: Fix the test for cross-compiling.
37980
37981 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
37982 define GRUB_UTIL anymore.
37983
37984 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
37985 so this function works on other systems than just big endian.
37986 (load_modules): Likewise.
37987 (add_segments): Likewise.
37988
e75d76e1 379892005-06-23 Hollis Blanchard <hollis@penguinppc.org>
37990
37991 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
37992 contains `l' modifier, get a long from va_arg().
37993
50b5a0a7 379942005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
37995
37996 * kern/mm.c (grub_free): If the next free block which is being
37997 merged is the first free block, set the first block to the block
37998 being freed.
37999 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38000
89371b20 380012005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38002
38003 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38004 `grub_ieee1275_chosen'.
38005
168d6e58 380062005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38007
38008 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38009 (grub_ieee1275_chosen): New variable.
38010 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38011 `chosen'.
38012 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38013 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38014 Rename first argument to `phandle' for consistency.
38015 (grub_ieee1275_get_property_length): Likewise.
38016 (grub_ieee1275_next_property): Likewise. Change type of first argument
38017 to grub_ieee1275_phandle_t.
38018 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38019 Move export next to declaration.
38020 (grub_ieee1275_chosen): New variable.
38021 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38022 Correct cosmetic typo.
38023 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38024 `grub_ieee1275_chosen'.
38025 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38026 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38027 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38028 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38029 `grub_ieee1275_chosen'.
38030
ca5baa3f 380312005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38032
38033 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38034 /chosen/bootargs.
38035 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38036 /chosen/bootargs as "variable=value" pairs.
38037
708b345f 380382005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38039
38040 * include/grub/misc.h (grub_dprintf): New macro.
38041 (grub_real_dprintf): New prototype.
38042 (grub_strword): Likewise.
38043 (grub_iswordseparator): Likewise.
38044 * kern/misc.c (grub_real_dprintf): New function.
38045 (grub_strword): Likewise.
38046 (grub_iswordseparator): Likewise.
38047
f4c5e67c 380482005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38049
38050 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38051 (roundup): Remove macro.
38052 (grub_ieee1275_flags): Make static.
38053 (grub_ieee1275_realmode): Remove.
38054 (grub_ieee1275_test_flag): New function.
38055 (grub_ieee1275_set_flag): Likewise.
38056 (find_options): Rename to `grub_ieee1275_find_options'; update
38057 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38058 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38059 (cmain): New prototype.
38060 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38061 `grub_ieee1275_flags' directly.
38062 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38063 machine/biosdisk.h.
38064 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38065 Don't include grub/machine/init.h.
38066 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38067 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38068 Remove prototype.
38069 (grub_ieee1275_realmode): Likewise.
38070 (grub_ieee1275_flag): New enum.
38071 (grub_ieee1275_test_flag): New prototype.
38072 (grub_ieee1275_set_flag): New prototype.
38073 * include/grub/powerpc/ieee1275/init.h: Remove file.
38074 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38075 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38076 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38077 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38078 comment.
38079 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38080 `grub_ieee1275_test_flag'.
38081 (grub_ieee1275_encode_devname): Likewise.
38082
ed16607e 380832005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38084
38085 * include/grub/powerpc/ieee1275/ieee1275.h
38086 (grub_ieee1275_encode_devname): New prototype.
38087 (grub_ieee1275_get_filename): Likewise.
38088 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38089 function.
38090 (grub_set_prefix): Likewise.
38091 (grub_machine_init): Call grub_set_prefix.
38092 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38093 (grub_parse_type): New enum.
38094 (grub_ieee1275_get_devargs): New function.
38095 (grub_ieee1275_get_devname): Likewise.
38096 (grub_ieee1275_parse_args): Likewise.
38097 (grub_ieee1275_get_filename): Likewise.
38098 (grub_ieee1275_encode_devname): Likewise.
38099
be369920 381002005-03-30 Marco Gerards <metgerards@student.han.nl>
38101
38102 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38103 `grub_loader_unset'.
38104
a5ce3a4a 381052005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38106
38107 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38108 instead of grub_ieee1275_interpret.
38109 (grub_halt_init): New function.
38110 (grub_halt_fini): Likewise.
38111 (GRUB_MOD_INIT): Correct message grammar.
38112 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38113 instead of grub_ieee1275_interpret.
38114 (grub_reboot_init): New function.
38115 (grub_reboot_fini): Likewise.
38116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38117 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38118 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38119 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38120 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38121 function.
38122 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38123 Add prototype.
38124 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38125 prototype.
38126 (grub_halt): Likewise.
38127 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38128 (cmain): Remove __attribute__((unused)).
38129 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38130 (grub_heap_len): Likewise.
38131 (grub_machine_fini): New function.
38132 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38133 (grub_halt): Likewise.
38134 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38135 function.
38136 * util/powerpc/ieee1275/misc.c: New file.
38137
0058f771 381382005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38139
38140 * DISTLIST: New file.
38141 * gendistlist.sh: Likewise.
f19dbdb7 38142
0058f771 38143 * Makefile.in (COMMON_DISTFILES): Removed.
38144 (BOOT_DISTFILES): Likewise.
38145 (CONF_DISTFILES): Likewise.
38146 (DISK_DISTFILES): Likewise.
38147 (FS_DISTFILES): Likewise.
38148 (INCLUDE_DISTFILES): Likewise.
38149 (KERN_DISTFILES): Likewise.
38150 (LOADER_DISTFILES): Likewise.
38151 (TERM_DISTFILES): Likewise.
38152 (UTIL_DISTFILES): Likewise.
38153 (DISTFILES): Likewise.
38154 (uninstall): Uninstall files in $(pkgdata_DATA).
38155 (DISTLIST): New target.
38156 (distdir): Use the contents of the file DISTLIST to get a list of
38157 distributed files.
38158
46b3b8a5 381592005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38160
38161 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38162 descriptor. This is ported from GRUB Legacy.
38163
38164 * gencmdlist.sh: Added an extra semicolon to make it work with
38165 old sed versions. Reported by Robert Bihlmeyer
38166 <robbe@orcus.priv.at>.
38167
5822ff87 381682005-03-08 Yoshinori Okuji <okuji@enbug.org>
38169
38170 Automatic loading of commands is supported.
f19dbdb7 38171
5822ff87 38172 * normal/main.c (read_command_list): New function.
38173 (grub_normal_execute): Call read_command_list.
38174
38175 * normal/command.c (grub_register_command): Return zero or CMD.
38176 Allocate CMD->NAME from the heap.
38177 Initialize CMD->MODULE_NAME to zero.
38178 Find the same name as well. If the same command is found and it is
38179 a dummy command, overwrite members. If it is not a dummy command,
38180 return zero.
38181 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38182 (grub_command_find): If a dummy command is found, load a module
38183 and retry to find a command only once.
38184
38185 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38186 make sure that each command is loaded.
38187
38188 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38189 macro.
38190 (struct grub_command): Remove const from the member `name'.
38191 Add a new member `module_name'.
38192 (grub_register_command): Return grub_command_t.
38193
38194 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38195 sure that each command is loaded.
38196
38197 * genmk.rb (PModule::rule): Specify a module name without the
38198 suffix ".mod" to gencmdlist.sh.
38199
7b1f4b57 382002005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38201
38202 * gencmdlist.sh: New file.
f19dbdb7 38203
7b1f4b57 38204 * genmk.rb (PModule::rule): Generate a rule for a command list.
38205 Clean command.lst.
38206 Generate command.lst from $(COMMANDFILES).
38207
38208 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38209 (DATA): Added $(pkgdata_DATA).
38210 (install-local): Install files in $(pkgdata_DATA).
38211
062aaf39 382122005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38213
38214 * term/i386/pc/vga.c (debug_command): Removed.
38215 (GRUB_MOD_INIT): Do not register the command "debug".
38216
38217 From Hollis Blanchard:
38218 * commands/configfile.c: New file.
38219 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38220 commands/configfile.c.
38221 (pkgdata_MODULES): Added configfile.mod.
38222 (configfile_mod_SOURCES): New variable.
38223 (configfile_mod_CFLAGS): Likewise.
38224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38225 commands/configfile.c.
38226 (pkgdata_MODULES): Added configfile.mod.
38227 (configfile_mod_SOURCES): New variable.
38228 (configfile_mod_CFLAGS): Likewise.
38229 * util/grub-emu.c (main): Call grub_configfile_init and
38230 grub_configfile_fini.
38231 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38232 prototype.
38233 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 38234
cee01aa6 382352005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38236
38237 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38238 address.
38239
38240 * commands/help.c (grub_cmd_help): Do not print newlines after
38241 the last command in print_command_help.
38242
93f3a1d8 382432005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38244
38245 * commands/default.h: New file.
38246 * commands/timeout.h: Likewise.
38247 * normal/context.c: Likewise.
f19dbdb7 38248
93f3a1d8 38249 * util/misc.c: Do not include sys/times.h.
38250 Include sys/time.h and grub/machine/time.h.
38251 (grub_get_rtc): Rewritten with gettimeofday.
38252
38253 * util/grub-emu.c (main): Call grub_default_init and
38254 grub_timeout_init before grub_normal_init, and call
38255 grub_timeout_fini and grub_default_fini after grub_main.
38256
38257 * util/console.c (grub_ncurses_checkkey): Return the read
38258 character or -1.
38259
38260 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38261 timeouts.
38262
38263 * normal/main.c (read_config_file): Push MENU. If this fails,
38264 print an error and wait for a user input.
38265 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38266 If a menu is empty or an error occurs, pop MENU.
38267 (grub_normal_execute): Pop and free MENU after grub_menu_run
38268 returns.
38269
38270 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38271
38272 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38273 include time.h.
38274 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38275 without GRUB_UTIL.
38276 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38277 time.h.
38278 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38279 without GRUB_UTIL.
38280
38281 * include/grub/normal.h (struct grub_menu_list): New struct.
38282 (grub_menu_list_t): New type.
38283 (struct grub_context): New struct.
38284 (grub_context_t): New type.
38285 (grub_register_command): Got rid of EXPORT_FUNC.
38286 (grub_unregister_command): Likewise.
38287 (grub_context_get): New prototype.
38288 (grub_context_get_current_menu): Likewise.
38289 (grub_context_push_menu): Likewise.
38290 (grub_context_pop_menu): Likewise.
38291 [GRUB_UTIL] (grub_default_init): Likewise.
38292 [GRUB_UTIL] (grub_default_fini): Likewise.
38293 [GRUB_UTIL] (grub_timeout_init): Likewise.
38294 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38295
38296 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38297 commands/timeout.c and normal/context.c.
38298 (pkgdata_MODULES): Added default.mod and timeout.mod.
38299 (normal_mod_SOURCES): Added normal/context.c.
38300 (default_mod_SOURCES): New variable.
38301 (default_mod_CFLAGS): Likewise.
38302 (timeout_mod_SOURCES): Likewise.
38303 (timeout_mod_CFLAGS): Likewise.
38304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38305 conf/i386-pc.rmk.
38306 (pkgdata_MODULES): Added default.mod and timeout.mod.
38307 (normal_mod_SOURCES): Added normal/context.c.
38308 (default_mod_SOURCES): New variable.
38309 (default_mod_CFLAGS): Likewise.
38310 (timeout_mod_SOURCES): Likewise.
38311 (timeout_mod_CFLAGS): Likewise.
38312
38313 * Makefile.in (all-local): Added $(MKFILES).
38314
4ed2e1dd 383152005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38316
38317 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38318 (grub_emu_SOURCES): Likewise.
38319 (pkgdata_MODULES): Add `sun.mod'.
38320 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38322 `partmap/sun.c'.
38323 (pkgdata_MODULES): Add `sun.mod'.
38324 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38325 * include/grub/partition.h (grub_sun_partition_map_init): New
38326 prototype.
38327 (grub_sun_partition_map_fini): Likewise.
38328 * partmap/sun.c: New file.
38329 * util/grub-emu.c (main): Initialize and de-initialize the sun
38330 partitionmap support.
38331
4d4e372e 383322005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38333
38334 This implements an Emacs-like menu entry editor.
f19dbdb7 38335
4d4e372e 38336 * normal/menu_entry.c: New file.
f19dbdb7 38337
4d4e372e 38338 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38339 characters to ASCII.
38340 (saved_char): New variable.
38341 (grub_ncurses_checkkey): Rewritten completely.
38342 (grub_ncurses_getkey): Likewise.
38343 (grub_ncurses_init): Call raw instead of cbreak.
38344
38345 * normal/menu.c (print_entry): Do not put a space.
38346 (init_page): Renamed to ...
38347 (grub_menu_init_page): ... this. All callers changed.
38348 (edit_menu_entry): Removed.
38349 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38350
38351 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38352
38353 * kern/misc.c (grub_vprintf): Call grub_refresh.
38354
38355 * normal/menu.c (DISP_LEFT): Renamed to ...
38356 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38357 * normal/menu.c (DISP_UP): Renamed to ...
38358 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38359 * normal/menu.c (DISP_RIGHT): Renamed to ...
38360 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38361 * normal/menu.c (DISP_DOWN): Renamed to ...
38362 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38363 * normal/menu.c (DISP_HLINE): Renamed to ...
38364 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38365 * normal/menu.c (DISP_VLINE): Renamed to ...
38366 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38367 * normal/menu.c (DISP_UL): Renamed to ...
38368 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38369 * normal/menu.c (DISP_UR): Renamed to ...
38370 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38371 * normal/menu.c (DISP_LL): Renamed to ...
38372 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38373 * normal/menu.c (DISP_LR): Renamed to ...
38374 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38375 * normal/menu.c (TERM_WIDTH): Renamed to ...
38376 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38377 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38378 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38379 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38380 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38381 * normal/menu.c (TERM_MARGIN): Renamed to ...
38382 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38383 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38384 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38385 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38386 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38387 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38388 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38389 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38390 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38391 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38392 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38393 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38394 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38395 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38396 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38397 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38398 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38399 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38400 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38401 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38402 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38403 All callers changed.
38404
38405 * include/grub/normal.h: New prototype.
38406
38407 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38408 normal/menu_entry.c.
38409 (normal_mod_SOURCES): Likewise.
38410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38411 (normal_mod_SOURCES): Likewise.
38412
e6b92c8a 384132005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38414
38415 * include/grub/normal.h (grub_halt_init): New prototype.
38416 (grub_halt_fini): Likewise.
38417 (grub_reboot_init): Likewise.
38418 (grub_reboot_fini): Likewise.
38419
38420 * util/grub-emu.c: Include signal.h.
38421 (main_env): New global variable.
38422 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38423 catch C-c.
38424 (grub_machine_fini): New function.
38425 (main): Call grub_halt_init and grub_reboot_init before
38426 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38427 Call setjmp with MAIN_ENV to go back afterwards.
38428 Call grub_machine_fini right before return.
38429
38430 * include/grub/util/misc.h: Include setjmp.h.
38431 (main_env): New prototype.
38432
38433 * include/grub/kernel.h (grub_machine_fini): New prototype.
38434 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38435 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38436
38437 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38438 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38439 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 38440
e6b92c8a 38441 * util/i386/pc/misc.c: New file.
f19dbdb7 38442
e6b92c8a 38443 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38444 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38445 commands/i386/pc/reboot.c.
38446
c642636f 384472005-02-14 Guillem Jover <guillem@hadrons.org>
38448
38449 * include/grub/dl.h (grub_dl_check_header): New prototype.
38450 (grub_arch_dl_check_header): Change return type to grub_err_t,
38451 remove size parameter and export function. Update all callers.
38452 * kern/dl.c (grub_dl_check_header): New function.
38453 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38454 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38455 are inside the core.
38456 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38457 independent ELF header checks.
38458 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38459 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38460 `grub_dl_check_header' instead of explicit checks. Check for the
38461 ELF type.
38462 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38463 `grub_dl_check_header' instead of explicit checks. Remove arch
38464 specific ELF header checks.
38465
e6b92c8a 38466 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38467 argument SIZE.
38468
5eabe94b 384692005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38470
38471 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38472 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38473
1b14a681 384742005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38475
38476 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 38477 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 38478 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 38479 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 38480 * partmap/amiga.c (amiga_partition_map_iterate): Return
38481 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38482 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38483
aca108aa 384842005-02-01 Guillem Jover <guillem@hadrons.org>
38485
38486 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38487 help info.
38488
c9f9c556 384892005-01-31 Marco Gerards <metgerards@student.han.nl>
38490
38491 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38492 Removed prototype.
38493 (grub_rescue_cmd_linux): New prototype.
38494 (grub_rescue_cmd_initrd): Likewise.
38495 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38496 `bi_rec'.
38497 (grub_linux_release_mem): Release the memory for the initrd.
38498 (grub_load_linux): Renamed from this...
38499 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38500 Changed `entry' not to be static. Loop over memory regions to
38501 find another one when the default fails.
38502 (grub_rescue_cmd_initrd): New function.
38503 (grub_linux_init): Remove function.
38504 (grub_linux_fini): Likewise.
38505 (GRUB_MOD_INIT): Register `initrd'.
38506 (GRUB_MOD_FINI): Unregister `initrd'.
38507 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38508 Function removed.
38509 (grub_linux_normal_fini): Likewise.
38510 (GRUB_MOD_INIT): Register `initrd'.
38511 (GRUB_MOD_FINI): Unregister `initrd'.
38512
990cf3aa 385132005-01-31 Marco Gerards <metgerards@student.han.nl>
38514
38515 * commands/help.c: New file.
38516 * normal/arg.c (show_help): Renamed to...
38517 (grub_arg_show_help): ... this.
38518 * commands/i386/pc/halt.c: New file.
38519 * commands/i386/pc/reboot.c: Likewise.
38520 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38521 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38522 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38523 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38524 variables.
38525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38526 `commands/help.c'.
38527 (pkgdata_MODULES): Add `help.mod'.
38528 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38529 * grub/i386/pc/init.h (grub_reboot): New prototype.
38530 (grub_halt): Likewise.
38531 * include/grub/normal.h (grub_arg_show_help): New prototype.
38532 (grub_help_init): Likewise.
38533 (grub_help_fini): Likewise.
38534 * util/grub-emu.c (main): Initialize and deinitialize the help
38535 command.
38536
38537 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38538
38539 * normal/command.c (grub_command_init): Fixed the description of
38540 the `set' and `unset' commands.
38541
385422005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 38543
38544 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38545 function.
38546 * commands/ieee1275/halt.c: New file.
38547 * commands/ieee1275/reboot.c: Likewise.
38548 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38549 `__attribute__ ((unused))'. Some GCS related fixed.
38550 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38551 (grub_suspend_fini): Likewise.
38552 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38553 and `halt.mod'.
38554 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38555 (halt_mod_CFLAGS): New variables.
38556 * include/grub/powerpc/ieee1275/ieee1275.h
38557 (grub_ieee1275_interpret): New prototype.
38558
1ab09cc7 385592005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38560
38561 * include/grub/misc.h (memmove): New prototype.
38562 (memcpy): Likewise.
38563
8b8cbdb2 385642005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38565
38566 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38567 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38568
e3741a27 385692005-01-22 Marco Gerards <metgerards@student.han.nl>
38570
38571 * kern/misc.c (grub_strndup): Function rewritten.
38572
776bd780 385732005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38574
38575 * normal/menu.c (TERM_WIDTH): Macro redefined.
38576 (TERM_TOP_BORDER_Y): Likewise.
38577 (draw_border): Replaced while-loop by a for-loop. Make the number
38578 of lines consistent with the number of lines displayed in
38579 print_entries. Added a margin below the rectangle.
38580 (print_entry): Make the entry fit in the rectangle.
38581 (print_entries): Display the scroll arrows next to the right
38582 border.
38583
78026bce 385842005-01-21 Marco Gerards <metgerards@student.han.nl>
38585
38586 * fs/minix.c (grub_minix_find_file): Reserve more space for
38587 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38588 `grub_strncpy' to copy `path' into it.
38589
67bbaf0f 385902005-01-21 Marco Gerards <metgerards@student.han.nl>
38591
38592 Add the loopback device, a device via which files can be accessed
38593 as devices.
f19dbdb7 38594
67bbaf0f 38595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38596 (pkgdata_MODULES): Add loopback.mod.
38597 (loopback_mod_SOURCES): New variable.
38598 (loopback_mod_CFLAGS): Likewise.
38599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38600 `disk/loopback.c'.
38601 (pkgdata_MODULES): Add loopback.mod.
38602 (loopback_mod_SOURCES): New variable.
38603 (loopback_mod_CFLAGS): Likewise.
38604 * disk/loopback.c: new file.
38605 * include/grub/normal.h (grub_loop_init): New prototype.
38606 (grub_loop_fini): New prototype.
38607 * util/grub-emu.c (main): Initialize and de-initialize loopback
38608 support.
38609 * include/grub/disk.h (grub_disk_dev_id): Add
38610 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38611
6f1c18bd 386122005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38613
38614 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38615 function.
38616 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38617 (suspend_mod_SOURCES): New variable.
38618 (suspend_mod_CFLAGS): Likewise.
38619 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38620 New prototype.
38621 * commands/ieee1275/suspend.c: New file.
38622
b38551da 386232005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38624
38625 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 38626 ((unused))' to `__attribute__ ((used))'.
b38551da 38627 (GRUB_MOD_FINI): Likewise.
38628 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38629 * genmk.rb (PModule): Assign space to common symbols when linking
38630 modules.
38631
777aff39 386322005-01-20 Marco Gerards <metgerards@student.han.nl>
38633
38634 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38635 `unsigned' arguments to `grub_size_t'.
38636 (grub_malloc): Likewise.
38637 (grub_realloc): Likewise.
38638 (grub_memalign): Likewise.
38639 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38640 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38641 * util/misc.c (grub_malloc): Likewise.
38642 (grub_realloc): Likewise.
38643 * kern/mm.c (get_header_from_pointer): Change the casts to
38644 `unsigned' into a cast to `grub_size_t'.
38645
38646 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38647 point to `currnode' when `currnode' is changed.
38648
38649 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38650 Schottelius <nico-linux@schottelius.org>.
38651
d0ff18e1 386522005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38653
38654 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38655 (note_path): Remove variable.
38656 (GRUB_IEEE1275_NOTE_NAME): New macro.
38657 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38658 (grub_ieee1275_note_hdr): New structure.
38659 (grub_ieee1275_note_desc): Likewise.
38660 (grub_ieee1275_note): Likewise.
38661 (load_note): Remove `dir' argument. All callers updated. Remove
38662 `note_img' and `path'. Do not load a file from `note_path'.
38663 Initialize a struct grub_ieee1275_note and write that to `out'.
38664 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38665
4ca7004c 386662005-01-05 Marco Gerards <metgerards@student.han.nl>
38667
38668 * util/misc.c (grub_util_read_image): Revert last change. It
38669 called `grub_util_read_at', which seeks from the beginning of the
38670 file.
38671
0b412211 386722005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38673
38674 * TODO: Add note about endianness in grub-mkimage.
38675 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38676 section.
38677 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38678 (grub_mkimage_SOURCES): New target.
38679 * include/grub/kernel.h (grub_start_addr): Remove variable.
38680 (grub_end_addr): Likewise.
38681 (grub_total_module_size): Likewise.
38682 (grub_kernel_image_size): Likewise.
38683 (GRUB_MODULE_MAGIC): New constant.
38684 (grub_module_info): New structure.
38685 (grub_arch_modules_addr): New prototype.
38686 (grub_get_end_addr): Remove prototype.
38687 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38688 * include/grub/powerpc/ieee1275/kernel.h: New file.
38689 * include/grub/util/misc.h (grub_util_get_fp_size): New
38690 prototype.
38691 (grub_util_read_at): Likewise.
38692 (grub_util_write_image_at): Likewise.
38693 * kern/main.c (grub_get_end_addr): Remove function.
38694 (grub_load_modules): Call grub_arch_modules_addr instead of using
38695 grub_end_addr. Look for a grub_module_info struct in memory. Use
38696 the grub_module_info fields instead of calling grub_get_end_addr
38697 as loop conditions. Move grub_add_unused_region code here.
38698 (grub_add_unused_region): Remove function.
38699 * kern/i386/pc/init.c: Include grub/cache.h.
38700 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38701 one call to add_mem_region.
38702 (grub_arch_modules_addr): New function.
38703 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38704 (grub_total_module_size): Likewise.
38705 Include grub/machine/kernel.h.
38706 (grub_arch_modules_addr): New function.
38707 * util/grub-emu.c (grub_end_addr): Remove variable.
38708 (grub_total_module_size): Likewise.
38709 (grub_arch_modules_addr): New function.
38710 * util/misc.c: Include unistd.h.
38711 (grub_util_get_fp_size): New function.
38712 (grub_util_read_at): Likewise.
38713 (grub_util_write_image_at): Likewise.
38714 (grub_util_read_image): Call grub_util_read_at.
38715 (grub_util_write_image): Call grub_util_write_image_at.
38716 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38717 additional memory in kernel_img for a struct grub_module_info.
38718 Fill in that grub_module_info.
38719 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38720
458786f8 387212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38722
38723 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38724 New function.
38725 * include/grub/powerpc/ieee1275/ieee1275.h
38726 (grub_ieee1275_milliseconds): New prototype.
38727 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38728 Change to 1000.
38729 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38730 grub_ieee1275_milliseconds.
38731
ac507d1b 387322005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38733
38734 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38735 variable.
38736 (find_options): New function.
38737 (cmain): Call find_options.
38738 * include/grub/powerpc/ieee1275/ieee1275.h
38739 (grub_ieee1275_realmode): New extern variable.
38740 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38741 grub_map if grub_ieee1275_realmode is false.
38742
6b8fd1c4 387432004-12-29 Marco Gerards <metgerards@student.han.nl>
38744
38745 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38746 lines are inserted and make it work like readline. Reported by
38747 Vincent Pelletier <subdino2004@yahoo.fr>.
38748
8514a1e0 387492004-12-28 Marco Gerards <metgerards@student.han.nl>
38750
38751 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38752
38753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38754 `kern/powerpc/cache.S'.
38755
924b6140 387562004-12-27 Marco Gerards <metgerards@student.han.nl>
38757
38758 * genmk.rb: Handle the `Program' class in the main loop. Written
38759 by Johan Rydberg <jrydberg@gnu.org>.
38760 (Program): New class.
38761 (programs): New variable.
38762 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38763 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38764 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38765 (help_arch): Function removed.
38766 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38767 `powerpc/libgcc.h' and `loader.h'.
38768 (pkgdata_PROGRAMS): New variable.
38769 (sbin_UTILITIES): Variable removed.
38770 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38771 (grubof_SOURCES): Variable re-defined so it only includes the
38772 core functionality.
38773 (grubof_CFLAGS): Remove `-DGRUBOF'.
38774 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38775 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38776 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38777 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38778 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38779 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38780 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38781 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38782 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38783 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38784 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38785 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38786 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38787 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38788 (pc_mod_CFLAGS): New variables.
38789 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38790 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38791 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38792 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38793 Moved from here...
38794 * include/grub/i386/pc/init.h (grub_os_area_addr)
38795 (rub_os_area_size): ... to here.
38796 * include/grub/powerpc/ieee1275/ieee1275.h
38797 (grub_ieee1275_entry_fn): Export symbol.
38798 * include/grub/powerpc/ieee1275/init.h: New file.
38799 * include/grub/powerpc/libgcc.h: Likewise.
38800 * include/grub/cache.h: Likewise.
38801 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38802 <hollis@penguinppc.org>.
38803 * kern/dl.c: Include <grub/cache.h>.
38804 (grub_dl_flush_cache): New function.
38805 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38806 for this module.
38807 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38808 (grub_console_init): Removed prototypes.
38809 (grub_machine_init): Don't initialize the modules anymore.
38810 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38811 static.
38812 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38813 Macro undef removed.
38814 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38815 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38816 relocation `R_PPC_REL32'. Return an error when the relocation is
38817 unknown.
38818 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38819 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38820 * util/misc.c (grub_arch_sync_caches): Likewise.
38821
e4b47e0c 388222004-12-19 Marco Gerards <metgerards@student.han.nl>
38823
38824 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38825 `symlist.c', add `grubof_symlist.c'.
38826 (symlist.c): Variable removed.
38827 (grubof_HEADERS): Variable added.
38828 (grubof_symlist.c): New target.
38829 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38830 `kernel_img_HEADERS'.
38831 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38832 * kern/powerpc/dl.c: New file.
38833 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38834 Function removed.
38835 (grub_arch_dl_relocate_symbols): Likewise.
38836 (grub_register_exported_symbols): Likewise.
38837
4ceb3636 388382004-12-13 Marco Gerards <metgerards@student.han.nl>
38839
38840 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38841 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38842 to fail instead. Reported by Vincent Pelletier
38843 <subdino2004@yahoo.fr>.
38844
38845 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38846 it is not allocated. Reported by Vincent Pelletier
38847 <subdino2004@yahoo.fr>.
38848
38849 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38850 output so the output looks better.
f19dbdb7 38851
3f1578fe 388522004-12-04 Marco Gerards <metgerards@student.han.nl>
38853
38854 Modulize the partition map support and add support for the amiga
38855 partition map.
f19dbdb7 38856
3f1578fe 38857 * commands/ls.c: Include <grub/partition.h> instead of
38858 <grub/machine/partition.h>.
38859 * kern/disk.c: Likewise.
38860 * kern/rescue.c: Likewise.
38861 * loader/i386/pc/chainloader.c: Likewise.
38862 * normal/cmdline.c: Likewise.
38863 * kern/powerpc/ieee1275/init.c: Likewise.
38864 (grub_machine_init): Call `grub_pc_partition_map_init',
38865 `grub_amiga_partition_map_init' and
38866 `grub_apple_partition_map_init'.
38867 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38868 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38869 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38870 `partition.h' and `pc_partition.h'.
38871 (grub_setup_SOURCES): Remove
38872 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38873 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38874 (grub_emu_SOURCES): Likewise.
38875 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38876 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38877 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38879 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38880 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38881 (grubof_SOURCES): Likewise.
38882 * disk/i386/pc/partition.c: File removed.
38883 * disk/powerpc/ieee1275/partition.c: Likewise.
38884 * include/grub/powerpc/ieee1275/partition.h: Likewise.
38885 * include/grub/i386/pc/partition.h: Likewise.
38886 * kern/partition.c: New file.
38887 * partmap/amiga.c: Likewise.
38888 * partmap/apple.c: Likewise.
38889 * partmap/pc.c: Likewise.
38890 * include/grub/partition.h: Likewise..
38891 * include/grub/pc_partition.h: Likewise.
38892 * util/grub-emu.c: Include <grub/partition.h> instead of
38893 <grub/machine/partition.h>.
38894 (main): Call `grub_pc_partition_map_init',
38895 `grub_amiga_partition_map_init' and
38896 `grub_apple_partition_map_init' and deinitialize afterwards.
38897 * util/i386/pc/biosdisk.c: Include `#include
38898 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38899 `<grub/machine/partition.h>'.
38900 * util/i386/pc/grub-setup.c: Likewise.
38901 * util/i386/pc/biosdisk.c: Likewise.
38902 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
38903 partition information in case of a PC partition.
38904 * util/i386/pc/grub-setup.c: Include `#include
38905 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38906 `<grub/machine/partition.h>'.
38907 (setup): Only access the PC specific partition information in case
38908 of a PC partition.
38909
0ef4ced9 389102004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38911
0ef4ced9 38912 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
38913 (grub_longjmp): Likewise.
38914 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
38915 20.
38916 * normal/powerpc/setjmp.S: New file.
38917 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38918 `normal/powerpc/setjmp.S'.
38919 (grubof_CFLAGS): Add `-DGRUBOF'.
38920 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
38921 [GRUB_UTIL && !GRUBOF].
f19dbdb7 38922
19950e29 389232004-11-16 Marco Gerards <metgerards@student.han.nl>
38924
38925 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
38926 property named `name'. Correctly handle the error returned by
38927 `grub_ieee1275_finddevice' if a device can not be opened.
38928
a2fea427 389292004-11-02 Hollis Blanchard <hollis@penguinppc.org>
38930
38931 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
38932 `actual' for negativity.
38933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38934 kern/fshelp.c.
38935
41ea0ea3 389362004-11-01 Marco Gerards <metgerards@student.han.nl>
38937
38938 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
38939 (PAGE_OFFSET): New macro.
38940 (CRTC_ADDR_PORT): Likewise.
38941 (CRTC_DATA_PORT): Likewise.
38942 (START_ADDR_HIGH_REGISTER): Likewise.
38943 (START_ADDR_LOW_REGISTER): Likewise.
38944 (GRAPHICS_ADDR_PORT): Likewise.
38945 (GRAPHICS_DATA_PORT): Likewise.
38946 (READ_MAP_REGISTER): Likewise.
38947 (INPUT_STATUS1_REGISTER): Likewise.
38948 (INPUT_STATUS1_VERTR_BIT): Likewise.
38949 (page): New variable.
38950 (wait_vretrace): New function.
38951 (set_read_map): Likewise.
38952 (set_start_address): Likewise.
38953 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
38954 the right page.
38955 (check_vga_mem): Take the page into account.
38956 (write_char): Likewise.
38957 (write_cursor): Likewise.
38958 (scroll_up): Likewise. Copy the page to the page that is not
38959 shown and switch between both pages.
38960 (grub_vga_putchar): Fix off by one error.
38961 (grub_vga_cls): Wait for the vertical retrace. Take the page into
38962 account.
38963
ad0bd20b 389642004-11-01 Marco Gerards <metgerards@student.han.nl>
38965
38966 Add support for iso9660 (including rockridge).
f19dbdb7 38967
ad0bd20b 38968 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38969 (iso9660_mod_SOURCES): New variable.
38970 (iso9660_mod_CFLAGS): Likewise.
38971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38972 * include/grub/fs.h (grub_iso9660_init): New prototype.
38973 * util/grub-emu.c (main): Call `grub_iso9660_init'.
38974 * fs/iso9660.c: New file.
38975
38976 * include/grub/misc.h (grub_strncat): New prototype.
38977 * kern/misc.c (grub_strncat): New function.
f19dbdb7 38978
ad0bd20b 38979 * fs/hfs.c (grub_hfs_mount): Translate the error
38980 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
38981 * fs/jfs.c (grub_jfs_mount): Likewise.
38982 * fs/ufs.c (grub_ufs_mount): Likewise.
38983
a5477a59 389842004-10-28 Hollis Blanchard <hollis@penguinppc.org>
38985
38986 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
38987 which initialized BAT registers.
38988 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
38989 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38990 Move from here...
38991 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
38992 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38993 ... to here.
38994 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
38995 (grub_mapclaim): Likewise.
38996 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
38997 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
38998 hand.
38999
9304c1f8 390002004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39001
39002 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39003 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39004 -ffreestanding and -msoft-float.
39005
86f4ae25 390062004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39007
39008 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39009 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39010 set in grub_ieee1275_flags.
39011
38912228 390122004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39013
39014 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39015 prototype.
39016 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39017 grub_console_init first.
39018 Change the memory range used for grub_ieee1275_claim and
39019 grub_mm_init_region.
39020 Print an error message if the claim fails.
39021 Include <grub/misc.h>.
39022
d1923dc8 390232004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39024
39025 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39026 Call grub_children_iterate for device nodes of type `scsi',
39027 `ide', or `ata'.
39028 (grub_ofdisk_open): Remove manual device alias resolution.
39029 Fix memory leak when device cannot be opened.
f19dbdb7 39030 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 39031 (grub_children_iterate): New prototype.
39032 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39033 New function.
39034 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39035 Return -1 if args.size was -1.
39036
4512e4f3 390372004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39038
39039 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39040 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39041 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39042 Open Firmware's memory for it; claim memory from _start to _end.
39043 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39044 (_end): New extern.
39045 (_start): Zero BSS from __bss_start to _end.
39046 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39047 New extern.
39048 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39049
4d61feb0 390502004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39051
ad0bd20b 39052 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39053 -1 if args.base was -1.
4d61feb0 39054
026fa2f9 390552004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39056
39057 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39058 escape sequence instead of a literal ^L. Also call
39059 grub_ofconsole_gotoxy.
39060
9f2220ef 390612004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39062
39063 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39064 void * arguments to grub_addr_t. All callers updated. Also make
39065 the `result' argument optional.
39066 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39067 All callers updated.
39068
8a572cd7 390692004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39070
39071 * commands/ls.c (grub_ls_list_files): Use the string following the
39072 initial ')', if present, as the filesystem path.
39073 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39074
39075 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39076
18aa81f2 390772004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39078
39079 Make the source code of the menu interface more readable.
f19dbdb7 39080
18aa81f2 39081 * normal/menu.c: Include grub/mm.h.
39082 (TERM_WIDTH): New macro.
39083 (TERM_HEIGHT): Likewise.
39084 (TERM_INFO_HEIGHT): Likewise.
39085 (TERM_MARGIN): Likewise.
39086 (TERM_SCROLL_WIDTH): Likewise.
39087 (TERM_TOP_BORDER_Y): Likewise.
39088 (TERM_LEFT_BORDER_X): Likewise.
39089 (TERM_BORDER_WIDTH): Likewise.
39090 (TERM_MESSAGE_HEIGHT): Likewise.
39091 (TERM_BORDER_HEIGHT): Likewise.
39092 (TERM_NUM_ENTRIES): Likewise.
39093 (TERM_FIRST_ENTRY_Y): Likewise.
39094 (TERM_ENTRY_WIDTH): Likewise.
39095 (TERM_CURSOR_X): Likewise.
39096 (draw_border): Use macros instead of magic numbers.
39097 (print_entry): Likewise.
39098 (print_entries): Likewise.
39099 (run_menu): Likewise. Also, handle the key 'e'.
39100 (run_menu_entry): Ignore empty command lines.
39101 (print_message): Added a new argument EDIT. If EDIT is true,
39102 print a different message.
39103 (init_page): Likewise.
39104 (edit_menu_entry): New function. Not implemented yet.
39105
b47efe30 391062004-09-17 Marco Gerards <metgerards@student.han.nl>
39107
39108 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39109 can be loaded from normal mode.
f19dbdb7 39110
b47efe30 39111 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39112 `multiboot.mod'.
39113 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39114 (multiboot_mod_CFLAGS): New variables.
39115 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 39116 * loader/i386/pc/multiboot_normal.c: Likewise.
39117
b47efe30 39118 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39119 attribute `unused'.
f19dbdb7 39120
b47efe30 39121 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39122 `fdiro' to read the mode information from instead of `diro'.
39123
39124 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39125 looking up a symlink.
39126
39127 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39128 macro.
39129 * normal/command.c (grub_command_execute): Don't parse the
39130 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39131 flags of the command.
39132
39133 * normal/menu.c (grub_menu_run): Fix typo.
39134
da75ac71 391352004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39136
39137 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39138
39139 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39140 `y + 1' instead of `y - 1'.
39141
39142 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 39143
062b24c2 391442004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39145
39146 From Hollis Blanchard <hollis@penguinppc.org>:
39147 * kern/misc.c (memmove): New alias for grub_memmove.
39148 (memcmp): New alias for grub_memcmp.
39149 (memset): New alias for grub_memset.
f19dbdb7 39150 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 39151 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 39152 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 39153 (grub_ieee1275_get_property): Likewise.
f19dbdb7 39154
8ddad845 391552004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39156
39157 Added normal mode command `chainloader' as module chain.mod, which
39158 depends on normal.mod and _chain.mod.
f19dbdb7 39159
8ddad845 39160 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39161 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39162 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39163 Deleted prototype.
39164 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39165 but arguments parsing moved to ...
39166 (grub_chainloader_cmd): ... here. New function.
39167 * include/grub/i386/pc/chainloader.h: New file.
39168 * loader/i386/pc/chainloader_normal.c: Likewise.
39169
2c1f4ce3 391702004-09-11 Marco Gerards <metgerards@student.han.nl>
39171
39172 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39173 (grub_mkimage_LDFLAGS): Likewise.
39174 (grub_emu_SOURCES): Likewise.
39175 (kernel_img_HEADERS): Added fshelp.h.
39176 * fs/ext2.c: Include <grub/fshelp.h>.
39177 (FILETYPE_REG): New macro.
39178 (FILETYPE_INO_REG): Likewise.
39179 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39180 Changed all users.
39181 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39182 all users.
39183 (grub_fshelp_node): New struct.
39184 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39185 to a pointer.
39186 (grub_ext2_get_file_block): Removed function.
39187 (grub_ext2_read_block): New function.
39188 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39189 This function was written.
39190 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39191 (grub_ext2_find_file): Removed function.
39192 (grub_ext2_read_symlink): New function.
39193 (grub_ext2_iterate_dir): Likewise.
39194 (grub_ext2_open): Rewritten.
39195 (grub_ext2_dir): Rewritten.
39196 * include/grub/fshelp.h: New file.
39197 * fs/fshelp.c: Likewise.
39198
3c52136a 391992004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39200
39201 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39202 (print_message): Add a missing newline.
39203 (run_menu): Added timeout support.
39204 (run_menu_entry): New local function.
39205 (grub_menu_run): Added support for booting.
39206
39207 * kern/loader.c (grub_loader_is_loaded): New function.
39208
39209 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39210 (grub_get_rtc): Exported.
39211
39212 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39213 (grub_get_rtc): Exported.
39214
39215 * include/grub/normal.h (struct grub_command_list): Remove
39216 constant from the member `command'.
39217
39218 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39219
39220 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39221
39222 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39223
aa033560 392242004-08-28 Marco Gerards <metgerards@student.han.nl>
39225
39226 Add support for the JFS filesystem.
39227
39228 * fs/jfs.c: New file.
39229 * include/grub/fs.h (grub_jfs_init): New prototype.
39230 (grub_jfs_fini): New prototype.
39231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39232 (grub_emu_SOURCES): Likewise.
39233 (pkgdata_MODULES): Add jfs.mod.
39234 (jfs_mod_SOURCES): New variable.
39235 (jfs_mod_CFLAGS): Likewise.
39236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39237 (grubof_SOURCES): Likewise.
39238 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39239
39240 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39241 endian to the host endian.
39242 (grub_fat_utf16_to_utf8): Move function from there...
39243 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 39244 the endianness of the source string anymore.
aa033560 39245 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39246
94bc45af 392472004-08-24 Marco Gerards <metgerards@student.han.nl>
39248
39249 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39250 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39251 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39252 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 39253
94bc45af 39254 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39255 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39256 for `node_found' and `it_dir'.
39257 (grub_hfs_dir): Add prototype for `dir_hook'.
39258
39259 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39260 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39261 and `indir32' to silence a gcc warning.
39262
39263 * include/grub/fs.h (grub_hfs_init): New prototype.
39264 (grub_hfs_fini): Likewise.
f19dbdb7 39265
39266
97543f08 392672004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39268
39269 Each disk device has its own id now. This is useful to make use
39270 of multiple disk devices.
f19dbdb7 39271
97543f08 39272 * include/grub/disk.h (grub_disk_dev_id): New enum.
39273 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39274 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39275
39276 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39277 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39278
39279 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39280 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39281
39282 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39283 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39284
39285 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39286 "id" which is used by the cache manager.
39287
39288 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39289 of just "GRUB".
39290
64372eb4 392912004-08-18 Marco Gerards <metgerards@student.han.nl>
39292
39293 * fs/hfs.c: New file.
39294 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39295 (grub_emu_SOURCES): Likewise.
39296 (pkgdata_MODULES): Add hfs.mod.
39297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39298 (grubof_SOURCES): Likewise.
39299 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39300
39301 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39302 * kern/misc.c (grub_strncasecmp): Add function.
39303
cc61b58f 393042004-08-14 Marco Gerards <metgerards@student.han.nl>
39305
39306 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39307 with parentheses.
39308
39309 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39310 (grub_ext2_dir): In case the directory entry type is unknown, read
39311 it from the inode.
39312
0ef123f6 393132004-08-02 Peter Bruin <pjbruin@dds.nl>
39314
39315 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39316 grub_load_linux instead of grub_rescue_cmd_linux as second
39317 argument of grub_rescue_register_command.
39318
39319 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39320
a447c5df 393212004-07-27 Marco Gerards <metgerards@student.han.nl>
39322
39323 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39324 function.
39325 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39326 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39327 `loader/powerpc/ieee1275/linux.c',
39328 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39329 * include/grub/powerpc/ieee1275/ieee1275.h
39330 (grub_ieee1275_release): New prototype.
39331 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39332 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39333 normal, boot, linux and linux_normal.
39334 * loader/powerpc/ieee1275/linux.c: New file.
39335 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39336
5a9e3546 393372004-07-12 Marco Gerards <metgerards@student.han.nl>
39338
39339 * normal/arg.c (grub_arg_parse): Correct error handling after
39340 reallocating the argumentlist (check if `argl' is not null instead
39341 of checking if `args' is not null).
39342 * kern/mm.c (grub_realloc): Return the same pointer when using the
39343 same region, instead of returning the header address.
39344
e15199cb 393452004-07-11 Marco Gerards <metgerards@student.han.nl>
39346
39347 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39348 one block instead of two when looking for the initial partition.
39349 (grub_partition_probe): Initialize the local variable `p' with 0.
39350 Use base 10 for the grub_strtoul call.
39351 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39352 need for one local variable.
39353 (grub_strtoul): Don't add the new value to `num', instead of that
39354 just assign it.
39355
020616c2 393562004-07-11 Marco Gerards <metgerards@student.han.nl>
39357
39358 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39359 (pxeboot_img_SOURCES): New variable.
39360 (pxeboot_img_ASFLAGS): Likewise.
39361 (pxeboot_img_LDFLAGS): Likewise.
39362 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39363 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39364 <lode_leroy@hotmail.com>.
39365
6c51eb64 393662004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39367
39368 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39369 there was no input.
39370
cfb12aff 393712004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39372
39373 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39374 the history buffer logic.
39375
6eabba74 393762004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39377
39378 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39379 (FILETYPE_INO_SYMLINK): New macros.
39380 (grub_ext2_find_file): Check if the node is a directory using the
39381 inode stat information instead of using the filetype in the
39382 dirent. Exclude the first character of an absolute symlink.
39383 (grub_ext2_dir): Mask out the filetype part of the mode member of
39384 the inode.
39385
66e19ef8 393862004-05-24 Marco Gerards <metgerards@student.han.nl>
39387
39388 Add support for UFS version 1 and 2. Add support for the minix
39389 filesystem version 1 and 2, both the variants with 14 and 30 long
39390 filenames.
f19dbdb7 39391
66e19ef8 39392 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39393 fs/minix.c.
39394 (grub_emu_SOURCES): Likewise.
39395 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39396 (ufs_mod_SOURCES): New variable.
39397 (ufs_mod_CFLAGS): Likewise.
39398 (minix_mod_SOURCES): Likewise.
39399 (minix_mod_CFLAGS): Likewise.
39400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39401 fs/minix.c.
39402 (grubof_SOURCES): Likewise.
39403 * fs/ufs.c: New file.
39404 * fs/minix.c: New file.
39405 * include/grub/fs.h (grub_ufs_init): New prototype.
39406 (grub_ufs_fini): Likewise.
39407 (grub_minix_init): Likewise.
39408 (grub_minix_fini): Likewise.
39409 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39410 minix fs.
39411
cc2e748a 394122004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39413
39414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39415 commands/ls.c, commands/terminal.c, commands/boot.c,
39416 commands/cmp.c and commands/cat.c.
39417 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39418
39419 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39420 "env.h"
39421
4b13b216 394222004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39423
39424 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39425 and grub_, respectively. Because the conversion is trivial and
39426 mechanical, I omit the details here. Please refer to the CVS
39427 if you need more information.
39428
6a142551 394292004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39430
39431 * include/pupa: Renamed to ...
39432 * include/grub: ... this.
39433 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39434 * util/i386/pc/grub-mkimage.c: ... this.
39435 * util/i386/pc/pupa-setup.c: Renamed to ...
39436 * util/i386/pc/grub-setup.c: ... this.
39437 * util/pupa-emu.c: Renamed to ...
39438 * util/grub-emu.c: ... this.
39439
e56cdf21 394402004-03-29 Marco Gerards <metgerards@student.han.nl>
39441
39442 Add support for the newworld apple macintosh (PPC). This has been
39443 tested on the powerbook 2000 only. It only adds support for
39444 generic ieee1275 functions, console and disk support. This should
39445 be easy to port to other architectures with support for Open
39446 Firmware.
f19dbdb7 39447
e56cdf21 39448 * configure.ac: Accept the powerpc as host_cpu. In the case of
39449 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39450 specific tests are only executed while building for the i386.
39451 Inverse test for crosscompile.
39452 * genmk.rb (Utility): Allow assembler files.
39453 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39454 * conf/powerpc-ieee1275.rmk: New file.
39455 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39456 * disk/powerpc/ieee1275/partition.c: Likewise.
39457 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39458 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39459 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39460 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39461 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39462 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39463 * include/pupa/powerpc/ieee1275/loader.h
39464 * include/pupa/powerpc/setjmp.h: Likewise.
39465 * include/pupa/powerpc/types.h: Likewise.
39466 * kern/powerpc/ieee1275/init.c: Likewise.
39467 * kern/powerpc/ieee1275/openfw.c: Likewise.
39468 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39469
39470 These files were written by Johan Rydberg
39471 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 39472
e56cdf21 39473 * boot/powerpc/ieee1275/cmain.c: New file.
39474 * boot/powerpc/ieee1275/crt0.S: Likewise.
39475 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39476 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39477
8c8cc205 394782004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39479
39480 * Makefile.in: Update copyright.
39481 * genmodsrc.sh: Likewise.
39482 * gensymlist.sh: Likewise.
39483 * term/i386/pc/vga.c: Indent correctly.
39484
39485 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39486 bugreporting address.
39487 * util/i386/pc/pupa-setup.c (usage): Likewise,
39488 (main): Call pupa_ext2_init and pupa_ext2_fini.
39489
f19dbdb7 39490 * fs/fat.c (log2): Renamed to ...
8c8cc205 39491 (fat_log2): ... this.
39492 All callers changed.
39493 * kern/misc.c (memcpy): Alias to pupa_memmove.
39494 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39495 lvalue cast.
39496 * util/console.c (pupa_ncurses_fini): Return 0.
39497
39498 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39499 Move fail label here.
39500 [__GNU__]: Don't warn when using stat.
39501 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39502 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39503 long int. Use strtol instead of strtoul.
f19dbdb7 39504
db1771cf 395052004-03-14 Marco Gerards <metgerards@student.han.nl>
39506
39507 * commands/boot.c: New file.
39508 * commands/cat.c: Likewise.
39509 * commands/cmp.c: Likewise.
39510 * commands/ls.c: Likewise.
39511 * commands/terminal.c: Likewise.
39512 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39513 (pupa_register_command): Changed interface to match the new
39514 argument parser.
39515 (pupa_command_execute): Changed (almost rewritten) so it uses
39516 pupa_split_command. Added support for setting variables using the
39517 syntax `foo=bar'.
39518 (rescue_command): Changed to work with the new argument parser.
39519 (terminal_command): Moved from here to commands/terminal.c.
39520 (set_command): New function.
39521 (unset_command): New function.
39522 (insmod_command): New function.
39523 (rmmod_command): New function.
39524 (lsmod_command): New function.
39525 (pupa_command_init): Don't initialize the command terminal
39526 anymore. Initialize the commands set, unset, insmod, rmmod and
39527 lsmod.
39528 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39529 (kernel_img_HEADERS): Add arg.h and env.h.
39530 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39531 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39532 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39533 normal/arg.c.
39534 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39535 terminal.mod.
39536 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39537 (boot_mod_SOURCES): New variable.
39538 (terminal_mod_SOURCES): Likewise.
39539 (ls_mod_SOURCES): Likewise.
39540 (cmp_mod_SOURCES): Likewise.
39541 (cat_mod_SOURCES): Likewise.
39542
39543 * normal/arg.c: New file.
39544 * kern/env.c: Likewise.
39545 * include/pupa/arg.h: Likewise.
39546 * include/pupa/env.h: Likewise.
39547 * font/manager.c (font_command): Changed to match argument parsing
39548 interface changes.
39549 (PUPA_MOD_INIT): Likewise.
39550 * hello/hello.c (pupa_cmd_hello): Likewise.
39551 (PUPA_MOD_INIT): Likewise.
39552 * include/pupa/disk.h: Include <pupa/device.h>.
39553 (pupa_print_partinfo): New prototype.
39554 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39555 (pupa_dl_get_prefix): Likewise.
39556 * include/pupa/misc.h: Include <pupa/err.h>.
39557 (pupa_isgraph): New prototype.
39558 (pupa_isdigit): Likewise.
39559 (pupa_split_cmdline): Likewise.
39560 * include/pupa/normal.h: Include <pupa/arg.h>.
39561 (pupa_command): Changed the prototype of the member `func' to
39562 match the argument parsing interface. Added member `options'.
39563 (pupa_register_command): Updated to match function.
39564 (pupa_arg_parse): New prototype.
39565 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39566 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39567 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39568 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39569 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39570 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39571 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39572 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39573 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39574 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39575 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39576 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39577 * kern/disk.c: Include <pupa/file.h>.
39578 (pupa_print_partinfo): New function.
39579 * kern/dl.c: Include <pupa/env.h>.
39580 (pupa_dl_dir): Variable removed.
39581 (pupa_dl_load): Use the environment variable `prefix' instead of
39582 the variable pupa_dl_dir.
39583 (pupa_dl_set_prefix): Function removed.
39584 (pupa_dl_get_prefix): Likewise.
39585 * kern/i386/pc/init.c: Include <pupa/env.h>.
39586 (pupa_machine_init): Use the environment variable `prefix' instead of
39587 using pupa_dl_set_prefix to set the prefix.
39588 * kern/main.c: Include <pupa/env.h>.
39589 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39590 using pupa_dl_get_prefix to get the prefix.
39591 * kern/misc.c: Include <pupa/env.h>.
39592 (pupa_isdigit): New function.
39593 (pupa_isgraph): Likewise.
39594 (pupa_ftoa): Likewise.
39595 (pupa_vsprintf): Added support for printing values of the type
39596 `double'. Make it possible to format variable output when using
39597 formatting like `%1.2%f'.
39598 (pupa_split_cmdline): New function.
39599 * kern/rescue.c: Include <pupa/env.h>.
39600 (next_word): Removed function.
39601 (pupa_rescue_cmd_prefix): Likewise.
39602 (pupa_rescue_cmd_set): New function.
39603 (pupa_rescue_cmd_unset): New function.
39604 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39605 split the command line instead of splitting it here. Added
39606 support for setting variables using the syntax `foo=bar'. Don't
39607 initialize the prefix command anymore. Initialized the set and
39608 unset commands.
39609 * normal/cmdline.c: Include <pupa/env.h>.
39610 (pupa_tab_complete): Added prototypes for print_simple_completion,
39611 print_partition_completion, add_completion, iterate_commands,
39612 iterate_dev, iterate_part and iterate_dir. Moved code to print
39613 partition information from here to kern/disk.c.
fe6b695a 39614 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 39615 * normal/main.c: Include <pupa/env.h>.
39616 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39617 instead of using pupa_dl_get_prefix to get the prefix.
39618 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39619 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39620 warning.
39621 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39622 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39623 ((unused))' to silence a gcc warning.
39624 (pupa_vga_setcolor): Likewise.
39625 (debug_command): Changed to match argument parsing
39626 interface changes.
39627 * util/pupa-emu.c: Include <pupa/env.h>.
39628 (options): Added 0's for unused fields to silence a gcc warning.
39629 (argp): Likewise.
39630 (main): Use the environment variable `prefix' instead of using
39631 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39632 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39633 and terminal.
39634
39635 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39636 * util/misc.c: Include <malloc.h>.
39637 (pupa_malloc): Rewritten so errors are correctly reported.
39638 (pupa_realloc): Likewise.
39639 (pupa_memalign): Likewise.
39640 (pupa_mm_init_region): Declare unused variables with
39641 `__attribute__ ((unused))' to silence a gcc warning.
39642 * normal/i386/setjmp.S: Remove tab at the end of the file to
39643 silence a gcc warning.
39644 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39645 variables with `__attribute__ ((unused))' to silence a gcc
39646 warning.
39647 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39648 local variable i unsigned to silence a gcc warning.
39649
39650 * kern/term.c: Include <pupa/misc.h>.
39651 (pupa_more_lines): New variable.
39652 (pupa_more): Likewise.
39653 (pupa_putcode): When the pager is active pause at the end of every
39654 screen.
39655 (pupa_set_more): New function.
39656 * include/pupa/term.h (pupa_set_more): New prototype.
39657
39658
3b1139cb 396592004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39660
39661 Now this project is GRUB 2 rather than PUPA. The location of
39662 the CVS repository was moved to GRUB's.
f19dbdb7 39663
3b1139cb 39664 * configure.ac: Use bug-grub as the reporting address.
39665 Use GRUB instead of PUPA.
39666 Change the version number to 1.90.
39667
8367695c 396682004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39669
39670 * genkernsyms.sh: Updated copyright information.
39671 * genmk.rb: Likewise.
39672 * genmodsrc.sh: Likewise.
39673 * gensymlist.sh: Likewise.
39674 * boot/i386/pc/boot.S: Likewise.
39675 * boot/i386/pc/diskboot.S: Likewise.
39676 * disk/i386/pc/biosdisk.c: Likewise.
39677 * disk/i386/pc/partition.c: Likewise.
39678 * font/manager.c: Likewise.
39679 * fs/ext2.c: Likewise.
39680 * fs/fat.c: Likewise.
39681 * include/pupa/boot.h: Likewise.
39682 * include/pupa/device.h: Likewise.
39683 * include/pupa/disk.h: Likewise.
39684 * include/pupa/dl.h: Likewise.
39685 * include/pupa/elf.h: Likewise.
39686 * include/pupa/err.h: Likewise.
39687 * include/pupa/file.h: Likewise.
39688 * include/pupa/font.h: Likewise.
39689 * include/pupa/fs.h: Likewise.
39690 * include/pupa/kernel.h: Likewise.
39691 * include/pupa/loader.h: Likewise.
39692 * include/pupa/misc.h: Likewise.
39693 * include/pupa/mm.h: Likewise.
39694 * include/pupa/net.h: Likewise.
39695 * include/pupa/normal.h: Likewise.
39696 * include/pupa/rescue.h: Likewise.
39697 * include/pupa/setjmp.h: Likewise.
39698 * include/pupa/symbol.h: Likewise.
39699 * include/pupa/term.h: Likewise.
39700 * include/pupa/types.h: Likewise.
39701 * include/pupa/i386/setjmp.h: Likewise.
39702 * include/pupa/i386/types.h: Likewise.
39703 * include/pupa/i386/pc/biosdisk.h: Likewise.
39704 * include/pupa/i386/pc/boot.h: Likewise.
39705 * include/pupa/i386/pc/console.h: Likewise.
39706 * include/pupa/i386/pc/init.h: Likewise.
39707 * include/pupa/i386/pc/kernel.h: Likewise.
39708 * include/pupa/i386/pc/linux.h: Likewise.
39709 * include/pupa/i386/pc/loader.h: Likewise.
39710 * include/pupa/i386/pc/memory.h: Likewise.
39711 * include/pupa/i386/pc/multiboot.h: Likewise.
39712 * include/pupa/i386/pc/partition.h: Likewise.
39713 * include/pupa/i386/pc/time.h: Likewise.
39714 * include/pupa/i386/pc/vga.h: Likewise.
39715 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39716 * include/pupa/util/getroot.h: Likewise.
39717 * include/pupa/util/misc.h: Likewise.
39718 * include/pupa/util/resolve.h: Likewise.
39719 * kern/device.c: Likewise.
39720 * kern/disk.c: Likewise.
39721 * kern/dl.c: Likewise.
39722 * kern/err.c: Likewise.
39723 * kern/file.c: Likewise.
39724 * kern/fs.c: Likewise.
39725 * kern/loader.c: Likewise.
39726 * kern/main.c: Likewise.
39727 * kern/misc.c: Likewise.
39728 * kern/mm.c: Likewise.
39729 * kern/rescue.c: Likewise.
39730 * kern/term.c: Likewise.
39731 * kern/i386/dl.c: Likewise.
39732 * kern/i386/pc/init.c: Likewise.
39733 * kern/i386/pc/lzo1x.S: Likewise.
39734 * kern/i386/pc/startup.S: Likewise.
39735 * loader/i386/pc/chainloader.c: Likewise.
39736 * loader/i386/pc/linux.c: Likewise.
39737 * loader/i386/pc/multiboot.c: Likewise.
39738 * normal/cmdline.c: Likewise.
39739 * normal/command.c: Likewise.
39740 * normal/main.c: Likewise.
39741 * normal/menu.c: Likewise.
39742 * normal/i386/setjmp.S: Likewise.
39743 * term/i386/pc/console.c: Likewise.
39744 * term/i386/pc/vga.c: Likewise.
39745 * util/console.c: Likewise.
39746 * util/genmoddep.c: Likewise.
39747 * util/misc.c: Likewise.
39748 * util/pupa-emu.c: Likewise.
39749 * util/resolve.c: Likewise.
39750 * util/unifont2pff.rb: Likewise.
39751 * util/i386/pc/biosdisk.c: Likewise.
39752 * util/i386/pc/getroot.c: Likewise.
39753 * util/i386/pc/pupa-mkimage.c: Likewise.
39754 * util/i386/pc/pupa-setup.c: Likewise.
39755
e6eced71 397562004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39757
39758 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39759 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39760 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39761 reading and reset it after reading.
39762 (pupa_ext2_close): Return PUPA_ERR_NONE.
39763
39764 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39765 Correct value.
39766 (struct linux_kernel_header): Add kernel_version and
39767 initrd_addr_max.
39768 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39769 pupa_file_read succeeds.
39770 (pupa_rescue_cmd_initrd): Implement.
39771
5aded270 397722003-12-03 Marco Gerards <metgerards@student.han.nl>
39773
39774 * fs/ext2.c (pupa_ext2_label): New function.
39775 (pupa_ext2_fs): Added label.
39776 * fs/fat.c (pupa_fat_label): New function.
39777 (pupa_fat_fs): Added label.
39778 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39779
39780 * kern/misc.c (pupa_strndup): New function.
39781 * include/pupa/misc.h (pupa_strndup): New prototype.
39782
39783 * include/pupa/normal.h: Include <pupa/err.h>.
39784 (pupa_set_history): New prototype.
39785 (pupa_iterate_commands): New prototype.
39786 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39787 <pupa/disk.h>, <pupa/file.h>.
39788 (hist_size): New variable.
39789 (hist_lines): Likewise.
39790 (hist_end): Likewise.
39791 (hist_used): Likewise.
39792 (pupa_set_history): New function.
39793 (pupa_history_get): Likewise.
39794 (pupa_history_add): Likewise.
39795 (pupa_history_replace): Likewise.
39796 (pupa_tab_complete): Likewise.
39797 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39798 completion shows partitionnames while completing partitions, this
39799 feature was suggested by Jeff Bailey.
39800 * normal/command.c (pupa_iterate_commands): New function.
39801 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39802 (pupa_normal_init): Initialize history buffer.
39803 (PUPA_MOD_INIT): Likewise.
39804 (pupa_normal_fini): Free the history buffer.
39805 (PUPA_MOD_FINI): Likewise.
39806
39807 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39808 key.
39809
39810 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39811 * configure.ac [i386]: Check for regparam bug.
39812 (NESTED_FUNC_ATTR) [! i386]: Defined.
39813
1f7315a3 398142003-11-17 Marco Gerards <metgerards@student.han.nl>
39815
39816 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39817 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39818 (pupa_emu_SOURCES): New variable.
39819 (pupa_emu_LDFLAGS): Likewise.
39820 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39821 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39822 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39823 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39824 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39825 (pupa_jmp_buf): New typedef.
39826 (pupa_setjmp) [PUPA_UTIL]: New macro.
39827 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39828 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39829 (pupa_refresh): New prototype.
39830 * include/pupa/util/getroot.h: New file.
39831 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39832 it.
39833 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39834 (pupa_rescue_cmd_cat): Likewise.
39835 (pupa_rescue_cmd_ls): Likewise.
39836 (pupa_rescue_cmd_testload): Likewise.
39837 (pupa_rescue_cmd_lsmod): Likewise.
39838 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39839 * normal/menu.c (run_menu): Likewise.
39840 * kern/term.c (pupa_cls): Likewise.
39841 (pupa_refresh): New function.
39842 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39843 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39844 * util/console.c: New file.
f19dbdb7 39845
1f7315a3 39846 * util/i386/pc/getroot.c: New file.
39847 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39848 (pupa_putchar): New function.
39849 (pupa_refresh): Likewise.
39850 (xgetcwd): Function moved to ...
39851 (strip_extra_slashes): Likewise.
39852 (get_prefix): Likewise.
f19dbdb7 39853 * util/i386/pc/getroot.c: ... here.
1f7315a3 39854 (find_root_device): Function moved and renamed to...
39855 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39856 Changed all callers.
39857 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39858 and renamed to...
39859 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39860 Changed all callers.
39861 * util/misc.c (pupa_memalign): New function.
39862 (pupa_mm_init_region): Likewise.
39863 (pupa_register_exported_symbols): Likewise.
39864 (pupa_putchar): Function removed.
39865 * util/pupa-emu.c: New file.
39866
9a5c1ade 398672003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39868
39869 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39870 (_multiboot_mod_SOURCES): New variable.
39871 (_multiboot_mod_CFLAGS): Likewise.
39872 * loader/i386/pc/multiboot.c: New file.
39873 * include/pupa/i386/pc/multiboot.h: Likewise.
39874 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39875 (pupa_multiboot_real_boot): New function.
39876 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39877 (pupa_multiboot_real_boot): New prototype.
39878 (pupa_rescue_cmd_multiboot): Likewise
39879 (pupa_rescue_cmd_module): Likewise.
39880
39881 * kern/loader.c (pupa_loader_set): Continue when
39882 pupa_loader_unload_func() fails.
39883 (pupa_loader_unset): New function.
39884 * include/pupa/loader.h (pupa_loader_unset): New prototype.
39885
39886 * kern/misc.c (pupa_stpcpy): New function.
39887 * include/pupa/misc.h (pupa_stpcpy): New prototype.
39888
8e72a9c0 398892003-11-12 Marco Gerards <metgerards@student.han.nl>
39890
39891 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
39892 for available extensions.
39893
39894 * include/pupa/i386/pc/time.h: New file.
39895 * kern/disk.c: Include <pupa/machine/time.h>.
39896 (PUPA_CACHE_TIMEOUT): New macro.
39897 (pupa_last_time): New variable.
39898 (pupa_disk_open): Flush the cache when there was a timeout.
39899 (pupa_disk_close): Reset the timer.
39900 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
39901 pupa_currticks.
39902 * util/misc.c: Include <sys/times.h>
39903 (pupa_get_rtc): New function.
39904
c4adbd32 399052003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39906
39907 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
39908 as blocks.
39909 (pupa_ext2_get_file_block): Use blocks member.
39910
39911 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
39912 first block. Return -1 instead of pupa_errno on error.
39913
bfd30f06 399142003-10-27 Marco Gerards <metgerards@student.han.nl>
39915
39916 * README: In the pupa-mkimage example use _chain instead of chain
39917 and ext2 instead of fat.
39918 * TODO: Replace ext2fs with jfs as an example. Add an item for
39919 adding journal playback for ext2fs.
39920 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
39921 (pkgdata_MODULES): Added ext2.mod.
39922 (ext2_mod_SOURCES): New variable.
39923 (ext2_mod_CFLAGS): Likewise.
39924 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
39925 * include/pupa/misc.h (pupa_strncpy): New prototype.
39926 (pupa_strcat): Likewise.
39927 (pupa_strncmp): Likewise.
39928 * kern/misc.c (pupa_strcat): Enable function.
39929 (pupa_strncpy): New function.
39930 (pupa_strncmp): Likewise.
39931 * fs/ext2.c: New file.
f19dbdb7 39932
bfd30f06 39933 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
39934 when the read failed before retrying.
39935 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
39936 (_FILE_OFFSET_BITS): Likewise.
39937 * configure.ac: Added AC_SYS_LARGEFILE.
39938
98d15063 399392003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39940
39941 * genmk.rb (PModule#rule): Make sure to get only symbol names
39942 from the output of nm.
59cad637 39943 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 39944
18d9c7cd 399452003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39946
39947 I forgot to check in these changes for a long time. This adds
39948 incomplete support for VGA console, and this is still very
39949 buggy. Also, a lot of consideration is required for I18N,
39950 UNICODE, and VGA font issues. Therefore, assume that this is
39951 such that "better than nothing".
f19dbdb7 39952
18d9c7cd 39953 * font/manager.c: New file.
39954 * include/pupa/font.h: Likewise.
39955 * include/pupa/i386/pc/vga.h: Likewise.
39956 * term/i386/pc/vga.c: Likewise.
39957 * util/unifont2pff.rb: Likewise.
39958
39959 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
39960 (pkgdata_MODULES): Added vga.mod and font.mod.
39961 (vga_mod_SOURCES): New variables.
39962 (vga_mod_CFLAGS): Likewise.
39963 (font_mod_SOURCES): Likewise.
39964 (font_mod_CFLAGS): Likewise.
39965
39966 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
39967
39968 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 39969 (struct pupa_term): Added init and fini.
18d9c7cd 39970 Changed the argument of putchar to pupa_uint32_t.
39971
39972 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
39973 (pupa_console_real_putchar): New prototype.
39974 (pupa_console_putchar): Removed.
39975 (pupa_console_checkkey): Exported.
39976 (pupa_console_getkey): Likewise.
39977
39978 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
39979 characters.
39980
39981 * kern/term.c (pupa_term_set_current): Rewritten.
39982 (pupa_putchar): Likewise.
39983 (pupa_putcode): New function.
39984
39985 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
39986 (pupa_console_real_putchar): ... this.
39987 (pupa_vga_set_mode): New function.
39988 (pupa_vga_get_font): Likewise.
39989
39990 * normal/command.c: Include pupa/term.h.
39991 (terminal_command): New function.
39992 (pupa_command_init): Register the command "terminal".
39993
39994 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
39995 (DISP_UP): Likewise.
39996 (DISP_RIGHT): Likewise.
39997 (DISP_DOWN): Likewise.
39998 (DISP_HLINE): Likewise.
39999 (DISP_VLINE): Likewise.
40000 (DISP_UL): Likewise.
40001 (DISP_UR): Likewise.
40002 (DISP_LL): Likewise.
40003 (DISP_LR): Likewise.
40004
40005 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 40006
977329f5 400072003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40008
40009 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40010 FIX. Reverse the path_list.
40011
40012 * include/pupa/normal.h: Export pupa_register_command and
40013 pupa_unregister_command.
40014
40015 * hello/hello.c (pupa_cmd_hello): New module.
40016 * conf/i386-pc.rmk: Added hello.mod.
40017
1f5ab428 400182003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40019
40020 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 40021
1f5ab428 40022 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40023 (compress_kernel): New variable.
40024 (generate_image): Heavily modified to support compressing a
40025 large part of the core image.
40026
40027 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40028 leak.
40029 (pupa_util_load_image): New function.
40030
40031 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40032 (pupa_compressed_size): New variable.
40033 (codestart): Enable Gate A20 here.
40034 Decompress the compressed part of the core image.
40035 Rearrange the code to put functions and variables which are
40036 required for initialization in the non-compressed part.
40037 Include lzo1x.S.
40038
40039 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40040 here.
40041
40042 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40043
f19dbdb7 40044 * include/pupa/i386/pc/kernel.h
1f5ab428 40045 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40046 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40047 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40048 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40049 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40050
40051 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40052
40053 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40054 (Utility#rule): Likewise.
40055
40056 * configure.ac: Check if LZO is available.
40057
ce5bf700 400582003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40059
40060 * include/pupa/normal.h: New file.
40061 * include/pupa/setjmp.h: Likewise.
40062 * include/pupa/i386/setjmp.h: Likewise.
40063 * normal/cmdline.c: Likewise.
40064 * normal/command.c: Likewise.
40065 * normal/main.c: Likewise.
40066 * normal/menu.c: Likewise.
40067 * normal/i386/setjmp.S: Likewise.
f19dbdb7 40068
ce5bf700 40069 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40070 (pupa_rescue_cmd_initrd): Likewise.
40071
40072 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40073 Likewise.
40074
40075 * kern/i386/pc/startup.S (translation_table): New variable.
40076 (translate_keycode): New function.
40077 (pupa_console_getkey): Call translate_keycode.
40078
40079 * kern/rescue.c (attempt_normal_mode): New function.
40080 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40081 it failed, print a message.
40082
40083 * kern/mm.c (pupa_real_malloc): Print more information when a
40084 free magic is broken.
40085 (pupa_free): If the first free header is not free actually, set
40086 it to P.
40087
40088 * kern/main.c (pupa_load_normal_mode): Just load the module
40089 "normal".
40090 (pupa_main): Don't print the message
40091 "Entering into rescue mode..." here.
40092
40093 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40094 Declared.
40095 (pupa_rescue_cmd_initrd): Likewise.
40096 (pupa_rescue_cmd_initrd): Likewise.
40097
40098 * include/pupa/symbol.h (FUNCTION): Specify the type.
40099 (VARIABLE): Likewise.
40100
40101 * include/pupa/err.h (pupa_err_t): Added
40102 PUPA_ERR_UNKNOWN_COMMAND.
40103
40104 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40105 (pupa_dl_get_prefix): Likewise.
40106
40107 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40108 Added _chain.mod and _linux.mod instead of chain.mod and
40109 linux.mod.
40110 (chain_mod_SOURCES): Renamed to ...
40111 (_chain_mod_SOURCES): ... this.
40112 (chain_mod_CFLAGS): Renamed to ...
40113 (_chain_mod_CFLAGS): ... this.
40114 (linux_mod_SOURCES): Renamed to ...
40115 (_linux_mod_SOURCES): ... this.
40116 (linux_mod_CFLAGS): Renamed to ...
40117 (_linux_mod_CFLAGS): ... this.
40118 (normal_mod_SOURCES): New variable.
40119 (normal_mod_CFLAGS): Likewise.
40120 (normal_mod_ASFLAGS): Likewise.
40121
401222003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40123
40124 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40125 possible.
40126
fe6b695a 40127 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 40128 recursively.
40129 (pupa_dl_unref): Unrefer depending modules recursively.
40130 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40131 a module is unloaded before one depending on that module is
40132 unloaded.
40133 (pupa_dl_unload): Unload depending modules explicitly,
40134 if possible.
40135
c04da074 401362003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40137
40138 * include/pupa/i386/pc/linux.h: New file.
40139 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 40140
c04da074 40141 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40142 Removed.
40143 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40144 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40145 of PUPA_CHAINLOADER_BOOT_SECTOR.
40146
40147 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40148 (pupa_linux_prot_size): New variable.
40149 (pupa_linux_tmp_addr): Likewise.
40150 (pupa_linux_real_addr): Likewise.
40151 (pupa_linux_boot_zimage): New function.
40152 (pupa_linux_boot_bzimage): Likewise.
40153
40154 * kern/i386/pc/init.c (struct mem_region): New structure.
40155 (MAX_REGIONS): New macro.
40156 (mem_regions): New variable.
40157 (num_regions): Likewise.
40158 (pupa_os_area_addr): Likewise.
40159 (pupa_os_area_size): Likewise.
40160 (pupa_lower_mem): Likewise.
40161 (pupa_upper_mem): Likewise.
40162 (add_mem_region): New function.
40163 (compact_mem_regions): Likewise.
40164 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40165 the size of the conventional memory and that of so-called upper
40166 memory (before the first memory hole).
40167 Instead of adding each found region to free memory, use
40168 add_mem_region and add them after removing overlaps.
40169 Also, add only 1/4 of the upper memory to free memory. The rest
40170 is used for loading OS images. Maybe this is ad hoc, but this
40171 makes it much easier to relocate OS images when booting.
40172
40173 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40174 (pupa_enter_rescue_mode): Don't register initrd and module.
40175
40176 * kern/mm.c: Include pupa/dl.h.
40177
40178 * kern/main.c: Include pupa/file.h and pupa/device.h.
40179
40180 * kern/loader.c (pupa_loader_load_module_func): Removed.
40181 (pupa_loader_load_module): Likewise.
40182
40183 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40184 ``.o''.
40185
40186 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40187 (pupa_linux_tmp_addr): Likewise.
40188 (pupa_linux_real_addr): Likewise.
40189 (pupa_linux_boot_zimage): Likewise.
40190 (pupa_linux_boot_bzimage): Likewise.
40191
40192 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40193 (pupa_upper_mem): Likewise.
40194 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40195 module is too dangerous.
40196
40197 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40198 (pupa_os_area_size): Likewise.
40199 (pupa_loader_set): Remove the first argument. Loader doesn't
40200 manage modules or initrd any longer.
40201 (pupa_loader_load_module): Removed.
40202
40203 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40204 (linux_mod_SOURCES): New variable.
40205 (linux_mod_CFLAGS): Likewise.
40206
a13f9237 402072003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40208
40209 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40210 the length of a blocklist correctly.
40211
40212 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40213 Use ioctl only if the OS file is a block device.
40214 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40215 not very useful for normal files.
40216
40217 * kern/main.c (pupa_set_root_dev): New function.
40218 (pupa_load_normal_mode): Likewise.
40219 (pupa_main): Call those above.
40220
40221 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40222 pupa_uint16_t.
40223
40224 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40225
a5ffe966 402262003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40227
40228 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40229 (setup): Configure the installed partition information and the
40230 dl prefix.
40231
40232 * loader/i386/pc/chainloader.c (my_mod): New variable.
40233 (pupa_chainloader_unload): New function.
40234 (pupa_rescue_cmd_chainloader): Refer itself.
40235 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40236
40237 * kern/i386/pc/startup.S (install_partition): Removed.
40238 (version_string): Likewise.
40239 (config_file): Likewise.
40240 (pupa_install_dos_part): New variable.
40241 (pupa_install_bsd_part): Likewise.
40242 (pupa_prefix): Likewise.
40243 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40244
40245 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40246 and pupa/misc.h.
40247 (make_install_device): New function.
40248 (pupa_machine_init): Set the dl prefix.
40249
40250 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40251 (buf): Renamed to ...
40252 (linebuf): ... this.
40253 (pupa_rescue_cmd_prefix): New function.
40254 (pupa_rescue_cmd_insmod): Likewise.
40255 (pupa_rescue_cmd_rmmod): Likewise.
40256 (pupa_rescue_cmd_lsmod): Likewise.
40257 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40258 rmmod and lsmod.
40259
40260 * kern/mm.c (pupa_memalign): If failed even after invalidating
40261 disk caches, unload unneeded modules and retry.
40262
40263 * kern/misc.c (pupa_memmove): New function.
40264 (pupa_memcpy): Removed.
40265 (pupa_strcpy): New function.
40266 (pupa_itoa): Made static.
40267
40268 * kern/dl.c (pupa_dl_iterate): New function.
40269 (pupa_dl_ref): Likewise.
40270 (pupa_dl_unref): Likewise.
40271 (pupa_dl_unload): Return if succeeded or not.
40272 (pupa_dl_unload_unneeded): New function.
40273 (pupa_dl_unload_all): Likewise.
40274 (pupa_dl_init): Renamed to ...
40275 (pupa_dl_set_prefix): ... this.
40276 (pupa_dl_get_prefix): New function.
40277
40278 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40279 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40280 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40281 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40282 (pupa_install_dos_part): Declared.
40283 (pupa_install_bsd_part): Likewise.
40284 (pupa_prefix): Likewise.
40285 (pupa_boot_drive): Likewise.
40286
40287 * include/pupa/types.h: Fix a typo.
40288
40289 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40290 pupa_memmove.
40291 (pupa_memmove): Declared.
40292 (pupa_strcpy): Likewise.
40293
40294 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40295 pupa_mod_init takes one argument, its own module.
40296 (pupa_dl_unload_unneeded): Declared.
40297 (pupa_dl_unload_all): Likewise.
40298 (pupa_dl_ref): Likewise.
40299 (pupa_dl_unref): Likewise.
40300 (pupa_dl_iterate): Likewise.
40301 (pupa_dl_init): Renamed to ...
40302 (pupa_dl_set_prefix): ... this.
40303 (pupa_dl_get_prefix): Declared.
40304
40305 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 40306 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 40307 unloaded.
40308 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40309 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40310
40311 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40312 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40313
012d7999 403142003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40315
40316 * util/i386/pc/pupa-setup.c (setup): Define the internal
40317 function find_first_partition_start at the top level, because GCC
40318 3.0.x cannot compile internal functions in deeper scopes
40319 correctly.
40320 (find_root_device): Use lstat instead of stat.
40321 Don't follow symbolic links.
40322 Fix the path-constructing code.
40323
40324 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40325 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40326 by a BLKGETSIZE ioctl first, because block devices don't fill
40327 the member st_mode of the structure stat on Linux.
40328 [__linux__] (linux_find_partition): Use a temporary buffer
40329 REAL_DEV for the working space. Copy it to DEV before returning.
40330 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40331 buffer cache consistent.
40332 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40333 strncmp. The previous value was merely wrong.
40334 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40335
40336 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40337 FAT size is 12. The previous value was merely wrong.
40338
40339 * kern/main.c (pupa_main): Don't split the starting message from
40340 newlines.
40341
40342 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40343 LF, because BIOS goes crazy about character attributes in this
40344 case.
40345
1cc73a62 403462003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40347
40348 * include/i386/pc/util/biosdisk.h: New file.
40349 * util/i386/pc/biosdisk.c: Likewise.
40350 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 40351
1cc73a62 40352 * Makefile.in (INCLUDE_DISTFILES): Added
40353 include/pupa/i386/pc/util/biosdisk.h.
40354 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40355 directory util/i386/pc.
40356 (install-local): Added a rule for sbin_UTILITIES.
40357 (uninstall): Likewise.
40358
40359 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40360
40361 * util/misc.c (xrealloc): New function.
40362 (pupa_malloc): Likewise.
40363 (pupa_free): Likewise.
40364 (pupa_realloc): Likewise.
40365 (pupa_stop): Likewise.
40366 (pupa_putchar): Likewise.
40367
40368 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40369
40370 * include/pupa/util/misc.h (xrealloc): Declared.
40371
40372 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40373 macro.
40374 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40375 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40376
40377 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40378 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40379
40380 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40381 way should be implemented.
40382 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40383
40384 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40385 the size of NAME for safety.
40386 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40387 0x88.
40388
40389 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40390 (pupa_setup_SOURCES): Likewise.
40391
40392 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40393
08b70fe8 403942002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40395
40396 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40397 bunch of pushl's from pusha, because this destroys the return
40398 value.
40399
62ddcc8f 404002002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40401
40402 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40403 This means that any missing prototypes could be fatal. Also, you
40404 must take care when writing assembly code. See the comments at
40405 the beginning of startup.S, for more details.
f19dbdb7 40406
62ddcc8f 40407 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40408 compilation mechanism.
40409 (pupa_chainloader_real_boot): Likewise.
40410 (pupa_biosdisk_rw_int13_extensions): Likewise.
40411 (pupa_biosdisk_rw_standard): Likewise.
40412 (pupa_biosdisk_check_int13_extensions): Likewise.
40413 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40414 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40415 (pupa_get_memsize): Likewise.
40416 (pupa_get_mmap_entry): Likewise.
40417 (pupa_console_putchar): Likewise.
40418 (pupa_console_setcursor): Likewise.
40419 (pupa_getrtsecs): Use pushl instead of push.
40420
40421 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40422 memory instead of the stack for a mmap entry, because some
40423 BIOSes may ignore the maximum size and overflow.
40424
40425 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40426
40427 * genmk.rb (PModule#rule): Compile automatically generated
40428 sources with module-specific CFLAGS as well as other sources.
40429
9962ed99 404302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40431
40432 * configure.ac: Check ld.
40433 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40434 respectively, before checking endianness and sizes.
40435
40436 * Makefile.in (LD): New variable.
f19dbdb7 40437
abdfc3c5 404382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40439
40440 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40441
6a161fa9 404422002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40443
40444 * Changelog: New file.
40445