]> git.proxmox.com Git - grub2.git/blob - ChangeLog
d415a4bcd4afac6e792717ef9f26786014714f06
[grub2.git] / ChangeLog
1 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2
3 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
4 loader.
5
6 2011-09-28 Andreas Born <futur.andy@googlemail.com>
7
8 Fix incorrect identifiers in bash-completion.
9
10 * util/bash-completion.d/grub-completion.bash.in
11 (_grub_mkpasswd-pbkdf2): Rename to ...
12 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13 (_grub_script-check): Rename to ...
14 (_grub_script_check): ... this. All users updated.
15
16 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
19 Return 0 if disk isn't biosdisk.
20
21 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
22
23 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
24 on NetBSD.
25 * Makefile.util.def (grub-fstest): Likewise.
26
27 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
28
29 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
30 Get sector size from disk label.
31
32 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
33
34 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
35 */README* as well as README*.
36 Reported by: Axel Beckert.
37
38 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
41 case of less than 256 MiB of RAM.
42
43 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/commands/wildcard.c (make_regex): Handle @.
46
47 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * util/grub-install.in: Move cryptodisk logic to appropriate place.
50
51 2011-08-21 Szymon Janc <szymon@janc.net.pl>
52
53 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
54 AC_LANG_CONFTEST macros.
55
56 2011-08-20 Szymon Janc <szymon@janc.net.pl>
57
58 Add grub-fstest option to uncompress data for commands.
59
60 * util/grub-fstest.c (uncompress): New var.
61 (options): New option -u.
62
63 2011-08-20 Szymon Janc <szymon@janc.net.pl>
64
65 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
66 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
67
68 2011-08-20 Szymon Janc <szymon@janc.net.pl>
69
70 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
71 file type was not recognized correctly (not gzip or corrupted).
72
73 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
76 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
77
78 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
81 loongson.
82 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
83 video_radeon_fuloong2e.
84 * grub-core/video/radeon_fuloong2e.c: New file.
85 * include/grub/video.h (grub_video_id_t): Add new ID
86 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
87
88 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
91 define.
92 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
93 that PRID matches the detected subplatform and reset the subplatform
94 if it doesn't.
95
96 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
99
100 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Fix PCI iterating on functions >= 4.
103
104 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
105 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
106 Removed.
107 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
108 (grub_pci_read): Fix bitmask.
109 (grub_pci_read_word): Likewise.
110 (grub_pci_read_byte): Likewise.
111 (grub_pci_write): Likewise.
112 (grub_pci_write_word): Likewise.
113 (grub_pci_write_byte): Likewise.
114
115 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
118 can still be specified in TARGET_CFLAGS)
119
120 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
123
124 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
125 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
126 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
127 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
128 (FULOONG): Rename to ...
129 (FULOONG2F): ... this. All users updated.
130 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
131 (machtype_fuloong2f_str): ... this.
132 (machtype_fuloong2e_str): New string.
133 Check for machtype_fuloong2e_str.
134 * grub-core/loader/mips/linux.c (loongson_machtypes)
135 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
136 * grub-core/term/serial.c (loongson_defserial)
137 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
138 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
139 loongson_defserial.
140 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
141 Rename to ...
142 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
143 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
144 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
145 to IMAGE_FULOONG2F_FLASH. All users updated.
146 (image_targets): Rename images.
147 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
148
149 2011-08-19 Szymon Janc <szymon@janc.net.pl>
150
151 Make enable of disk cache statistics code configurable.
152
153 * configure.ac: --enable-cache-stats added.
154 * config.h.in (DISK_CACHE_STATS): New define.
155 * grub-core/Makefile.core.def (cacheinfo): New command.
156 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
157 * grub-core/commands/cacheinfo.c: New file.
158 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
159 moved to cacheinfo.c.
160 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
161 debug code.
162 * include/grub/disk.h: Likewise.
163
164 2011-08-19 Szymon Janc <szymon@janc.net.pl>
165
166 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
167 * grub-core/Makefile.am: Likewise.
168
169 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
172 non-zero pull.
173
174 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
177 All users updated.
178 (grub_jfs_lookup_symlink): Use correct starting inode.
179
180 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * util/grub-setup.c (main): Add missing gcry initialisation.
183
184 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
185
186 Don't accept text modes on EFI when booting Linux.
187
188 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
189 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
190
191 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
192 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
193
194 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
195 use of "/path/.." as in grub-install for EFI as well as handling
196 symlinks correctly.
197 Fixes Debian bug #637768.
198
199 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
200
201 * util/grub-probe.c: Remove duplicate #include.
202
203 2011-08-10 Robert Millan <rmh@gnu.org>
204
205 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
206
207 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
208 function.
209 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
210 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
211
212 2011-08-03 Robert Millan <rmh@gnu.org>
213
214 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
215 la_array as packed.
216 Reported by: Zachary Bedell
217
218 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
219
220 * configure.ac: The Loongson port requires grub-mkfont due to its
221 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
222 be built.
223
224 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
225
226 * util/grub-install.in: Don't source grub-mkconfig_lib until after
227 processing arguments (otherwise help2man fails when GRUB has not yet
228 been installed).
229
230 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
231
232 New script grub-mkstandalone.
233
234 * Makefile.util.def (grub-mkstandalone): New script.
235 * docs/man/grub-mkstandalone.h2m: New file.
236 * util/grub-mkstandalone.in: Likewise.
237
238 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
239
240 Support ATA disks with 4K sectors.
241
242 * include/grub/ata.h (grub_ata): New member log_sector_size.
243 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
244 (grub_ata_identify): Read sector size.
245 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
246
247 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * util/grub-install.in: Don't use uhci outside of x86.
250
251 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * util/grub-mkrescue.in: Add missing quotes.
254
255 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
258 dereference.
259
260 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
263
264 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * include/grub/video.h: add missing EXPORT_FUND on
267 grub_video_edid_checksum and grub_video_edid_preferred_mode.
268
269 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * include/grub/mips/kernel.h: Fix define conflict.
272
273 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
276 all four ways.
277
278 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
279
280 Preferred resolution detection for VBE.
281
282 * grub-core/video/video.c (grub_video_edid_checksum): New function.
283 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
284 the Flat Panel extension, in line with the X.org VESA driver.
285 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
286 New function.
287 (grub_vbe_bios_get_ddc_capabilities): Likewise.
288 (grub_vbe_bios_read_edid): Likewise.
289 (grub_vbe_get_preferred_mode): Likewise.
290 (grub_video_vbe_setup): When the mode is "auto", try to get the
291 preferred mode from VBE, and use the largest mode that is no larger
292 than the preferred mode (some BIOSes expose a preferred mode that is
293 not in their mode list!). If this fails, fall back to 640x480 as a
294 safe conservative choice.
295 (grub_video_vbe_get_edid): New function.
296 (grub_video_vbe_adapter): Add get_edid.
297 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
298 (struct grub_video_adapter): Add get_edid.
299 (grub_video_edid_checksum): Add prototype.
300 (grub_video_edid_preferred_mode): Likewise.
301 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
302 structure.
303
304 * grub-core/commands/videoinfo.c (print_edid): New function.
305 (grub_cmd_videoinfo): Print EDID if available.
306
307 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
308 is more appropriate on a wider range of platforms than 640x480.
309 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
310 documentation.
311
312 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
315
316 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * po/POTFILES.in: Regenerate.
319
320 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
323 incorrect memory usage.
324
325 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * util/grub-install.in: Source grub-mkconfig_lib.
328
329 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
330
331 Remove getroot.c from core on emu platform.
332
333 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
334 kern/emu/raid.c.
335 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
336 useless.
337 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
338 * util/getroot.c (get_win32_path): ... here.
339 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
340 * util/getroot.c (fini_libzfs): ... here.
341 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
342 * util/getroot.c (grub_get_libzfs_handle): ... here.
343 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
344 Moved from here...
345 * util/getroot.c (grub_find_zpool_from_dir): ... here.
346 * grub-core/kern/emu/misc.c
347 (grub_make_system_path_relative_to_its_root): Moved from here...
348 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
349 * grub-core/kern/emu/getroot.c: Moved from here ...
350 * util/getroot.c: ... here. All users updated.
351 * grub-core/kern/emu/raid.c: Moved from here ...
352 * util/raid.c: ... here. All users updated.
353
354 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * po/POTFILES.in: Regenerate.
357
358 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
359
360 Fix compilation on GNU/Linux.
361
362 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
363 Disable geli.
364 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
365 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
366 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
367
368 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
369 2011-07-07 Michael Gorven <michael@gorven.za.net>
370 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
371
372 LUKS and GELI support.
373
374 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
375 grub-core/disk/luks.c, grub-core/disk/geli.c,
376 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
377 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
378 grub-core/lib/arg.c.
379 (libgrubmods.a): Remove gcrypts cflags and cppflags.
380 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
381 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
382 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
383 (grub-bin2h): Add libgcry.a.
384 (grub-mkimage): Likewise.
385 (grub-mkrelpath): Likewise.
386 (grub-script-check): Likewise.
387 (grub-editenv): Likewise.
388 (grub-mkpasswd-pbkdf2): Likewise.
389 (grub-pe2elf): Likewise.
390 (grub-fstest): Likewise.
391 (grub-mkfont): Likewise.
392 (grub-mkdevicemap): Likewise.
393 (grub-probe): Likewise.
394 (grub-ofpath): Likewise.
395 (grub-mklayout): Likewise.
396 (example_unit_test): Likewise.
397 (grub-menulst2cfg): Likewise.
398 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
399 * grub-core/Makefile.core.def (cryptodisk): New module.
400 (luks): Likewise.
401 (geli): Likewise.
402 * grub-core/disk/AFSplitter.c: New file.
403 * grub-core/disk/cryptodisk.c: Likewise.
404 * grub-core/disk/geli.c: Likewise.
405 * grub-core/disk/luks.c: Likewise.
406 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
407 grub_util_is_lvm.
408 (grub_util_get_dm_abstraction): New function.
409 (grub_util_follow_gpart_up): Likewise.
410 (grub_util_get_geom_abstraction): Likewise.
411 (grub_util_get_dev_abstraction): Use new functions.
412 (grub_util_pull_device): Pull GELI and LUKS.
413 (grub_util_get_grub_dev): Handle LUKS and GELI.
414 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
415 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
416 (follow_geom_up): Removed.
417 (grub_util_fd_seek): New function.
418 (open_device): Use grub_util_fd_seek.
419 (nread): Rename to ..
420 (grub_util_fd_read): ... this. All users updated.
421 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
422 (grub_crypto_cbc_decrypt): Likewise.
423 (grub_crypto_hmac_write): Likewise.
424 (grub_crypto_hmac_buffer): Likewise.
425 (grub_password_get): Extend to util.
426 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
427 New member modname.
428 (gcry_md_spec) [GRUB_UTIL]: Likewise.
429 * include/grub/cryptodisk.h: New file.
430 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
431 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
432 LUKS and GELI.
433 (grub_util_follow_gpart_up): New proto.
434 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
435 (grub_util_fd_read): Likewise.
436 (grub_cryptodisk_cheat_mount): Likewise.
437 (grub_util_cryptodisk_print_uuid): Likewise.
438 (grub_util_get_fd_sectors): Likewise.
439 * util/grub-fstest.c (mount_crypt): New var.
440 (fstest): Mount crypto if requested.
441 (options): New option -C.
442 (argp_parser): Parse -C.
443 (main): Init and fini gcry.
444 * util/grub-install.in: Support cryptodisk install.
445 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
446 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
447 cryptodisk.
448 (prepare_grub_to_access_device): Likewise.
449 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
450 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
451 (probe_cryptodisk_uuid): New function.
452 (probe_abstraction): Likewise.
453 (probe): Use new functions.
454 * util/import_gcry.py: Create Makefile.utilgcry.def.
455 Add modname member.
456
457 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
458
459 Lazy device scanning.
460
461 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
462 (grub-setup): Remove util/raid.c.
463 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
464 * grub-core/disk/lvm.c (scan_depth): New variable.
465 (grub_lvm_iterate): Rescan if necessary.
466 (find_lv): New function based on grub_lvm_open.
467 (grub_lvm_open): Use find_lv. Rescan on error.
468 (is_node_readable): New function.
469 (is_lv_readable): Likewise.
470 (grub_lvm_scan_device): Skip already found disks.
471 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
472 Stop if searched device is found and readable.
473 * grub-core/disk/raid.c (inscnt): New variable.
474 (scan_depth): Likewise.
475 (scan_devices): New function based on grub_raid_register. Abort if
476 looked for device is found.
477 (grub_raid_iterate): Rescan if needed.
478 (find_array): NEw function based on -grub_raid_open.
479 (grub_raid_open): Use find_array and rescan.
480 (insert_array): Set became_readable_at.
481 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
482 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
483 New function.
484 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
485 (grub_util_pull_device): New function.
486 (grub_util_get_grub_dev): Call grub_util_pull_device.
487 * util/raid.c: Moved to ..
488 * grub-core/kern/emu/raid.c: ... here.
489 (grub_util_raid_getmembers): New parameter "bootable".
490 All users updated. Support 1.x.
491 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
492 All users updated.
493 * include/grub/disk.h (grub_disk_pull_t): New enum.
494 (grub_disk_dev): Change iterate prototype.
495 All users updated.
496 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
497 New proto.
498 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
499 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
500 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
501 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
502 All users updated.
503 * include/grub/util/raid.h: Removed.
504
505 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * po/POTFILES.in: Regenerate.
508
509 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
510
511 Unify sparc init with other ieee1275.
512
513 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
514 instead of kern/sparc64/ieee1275/init.c.
515 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
516 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
517 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
518 grub/machine/kernel.h.
519 (grub_ieee1275_original_stack) [__sparc__]: New variable.
520 (grub_claim_heap) [__sparc__]: Use sparc version.
521 (grub_machine_init): Moved args parsing to
522 (grub_parse_cmdline): ...this.
523 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
524 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
525 New definition.
526 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
527
528 Move BOOTP to separate file.
529
530 * grub-core/Makefile.core.def (net): Add net/bootp.c.
531 * grub-core/net/net.c: Move all BOOTP functions to
532 * grub-core/net/bootp.c: ... here.
533
534 Use frame interface on PXE.
535
536 * grub-core/Makefile.core.def (pxecmd): Removed.
537 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
538 * grub-core/commands/i386/pc/pxecmd.c: Removed.
539 * grub-core/i386/pc/pxe.c: Moved from here ...
540 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
541 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
542 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
543
544 EFI network support.
545
546 * grub-core/Makefile.core.def (efinet): New module.
547 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
548 here...
549 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
550 All users updated.
551 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
552 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
553 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
554 * grub-core/net/drivers/efi/efinet.c: New file.
555 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
556 (grub_efi_net_config): New extern var.
557
558 Various cleanups and bugfixes.
559
560 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
561 error.
562 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
563 disk declared as partition.
564 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
565 leak on failure.
566 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
567 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
568 (grub_debug_zalloc): Likewise.
569 (grub_debug_realloc): Likewise.
570 (grub_debug_memalign): Likewise.
571 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
572 Check that target is IPv4.
573 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
574 local-mac-address as fallback.
575 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
576 memory leak.
577 * grub-core/net/ip.c (ipchksum): Rename to ...
578 (grub_net_ip_chksum): ... this. All users updated.
579 (grub_net_recv_ip_packets): Special handling for DHCP.
580 * util/grub-mkimage.c (generate_image): Zero-out aout header.
581
582 Unify prefix handling
583
584 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
585 (grub_machine_get_bootlocation): ... this.
586 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
587 (grub_machine_get_bootlocation): ... this.
588 (grub_prefix): New variable.
589 (prefix): Removed.
590 (root_dev): New variable.
591 (dir): Likewise.
592 (main): Use new variables.
593 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
594 Revamped into ...
595 (grub_machine_get_bootlocation): ... this.
596 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
597 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
598 (grub_machine_get_bootlocation): ... this.
599 (grub_machine_set_prefix): Removed.
600 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
601 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
602 Revamped into ...
603 (grub_machine_get_bootlocation): ... this.
604 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
605 (grub_set_prefix_and_root): ... this. All users updated.
606 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
607 Revamped into ...
608 (grub_machine_get_bootlocation): ... this.
609 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
610 (grub_machine_get_bootlocation): New proto.
611 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
612
613 Less intrusive and more reliable seek on network implementation.
614
615 * grub-core/kern/file.c (grub_file_net_seek): Removed.
616 (grub_file_seek): Don't call grub_file_net_seek.
617 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
618 (grub_net_fs_read_real): .. this.
619 (grub_net_seek_real): Use net->offset.
620 (grub_net_fs_read): Seek if necessary.
621
622 Unify IEEE1275 netwotk config with the other platforms.
623
624 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
625 New variable.
626 (grub_machine_get_bootlocation): Support network.
627 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
628 Support type and device parsing.
629 (grub_ieee1275_get_device_type): New function.
630 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
631 into ...
632 (grub_ieee1275_net_config_real): ... this.
633 (grub_ofnet_probecards): Removed.
634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
635 * include/grub/ieee1275/ofnet.h: Removed.
636 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
637 extern var.
638 (grub_ieee1275_get_device_type): New function.
639
640 Unify network device closing across platforms and make more robust.
641
642 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
643 grub_grubnet_fini.
644 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
645 already.
646 * grub-core/net/net.c (grub_net_network_level_interface_register):
647 Update num_ifaces.
648 (grub_net_card_unregister): Close all interfaces.
649 (receive_packets): Don't poll if no iterfaces are registered.
650 Open if necessary.
651 (grub_net_fini_hw): New function.
652 (grub_net_restore_hw): Likewise.
653 (fini_hnd): New variable.
654 (GRUB_MOD_INIT): Register preboot hook.
655 (GRUB_MOD_FINI): Run and unregister preboot hook.
656
657 Poll network cards when idle.
658
659 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
660 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
661 * grub-core/net/net.c (receive_packets): Save last poll time.
662 (grub_net_poll_cards_idle_real): New function.
663 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
664 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
665 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
666
667 Rename ofnet interfaces.
668
669 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
670 (grub_ofnet_findcards): Use ofnet_%s names.
671
672 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
673
674 Cleanup socket opening.
675
676 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
677 (grub_net_fs_close): Likewise.
678 (grub_net_fs_read_real): Use eof member.
679 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
680 (+grub_net_udp_close): New inline function.
681
682 * include/grub/net/tftp.h: Moved to the top of ...
683 * grub-core/net/tftp.c: ... here.
684 * include/grub/net/ip.h: Moved mostly to the top of ...
685 * grub-core/net/ip.c: ... here.
686 * include/grub/net/ethernet.h: Moved mostly to the top of ...
687 * grub-core/net/ethernet.c: ... here.
688
689 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
690
691 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
692 FS name.
693
694 * include/grub/net/ip.h (ipv4_ini): Removed.
695 (ipv4_fini): Likewise.
696
697 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
698 (grub_net_send_ip_packets): Likewise.
699
700 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
703 grub_read_cmos prototype.
704
705 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
706
707 VGA text support in qemu-mips
708
709 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
710 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
711 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
712 text.
713 * grub-core/kern/i386/qemu/init.c: Renamed to ...
714 * grub-core/kern/vga_init.c: ... this.
715 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
716 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
717 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
718 Adjust.
719 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
720 GRUB_MACHINE_PCI_IO_BASE.
721
722 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
723
724 MIPS qemu flash support.
725
726 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
727 magic.
728 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
729 (grub_machine_init): Probe memory if its size isn't known.
730 * util/grub-mkimage.c (image_targets): Add flash targets.
731 (generate_image): Handle flash targets.
732
733 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
734
735 MIPS qemu at_keyboard support.
736
737 * gentpl.py (videoinkernel): Add qemu-mips.
738 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
739 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
740 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
741 modules.
742 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
743 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
744 * grub-core/term/serial.c (grub_serial_register)
745 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
746
747 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
748
749 CMOS support on sparc.
750
751 * gentpl.py (cmos): Add powerpc and sparc.
752 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
753 powerpc and sparc.
754 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
755 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
756 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
757 grub_set_datetime_cmos.
758 * grub-core/lib/ieee1275/cmos.c: New file.
759 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
760 (find_rtc): Set no_ieee1275_rtc on error.
761 (grub_get_datetime): Call grub_get_datetime_cmos on error.
762 (grub_set_datetime): Call grub_set_datetime_cmos on error.
763 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
764 fail. Move value to argument. All users updated
765 (grub_cmos_write): Likewise.
766 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
767 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
768 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
769 grub_get_datetime_cmos and grub_set_datetime_cmos.
770
771 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
772
773 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
774 sourcing grub-mkconfig_lib.
775 * util/update-grub_lib.in: Likewise.
776 * util/grub.d/00_header.in: Likewise.
777 * util/grub.d/10_hurd.in: Likewise.
778 * util/grub.d/10_kfreebsd.in: Likewise.
779 * util/grub.d/10_linux.in: Likewise.
780 * util/grub.d/10_netbsd.in: Likewise.
781 * util/grub.d/10_windows.in: Likewise.
782 * util/grub.d/20_linux_xen.in: Likewise.
783 * util/grub.d/30_os-prober.in: Likewise.
784
785 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
786
787 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
788 default_bg_color rather than black.
789 (grub_gfxterm_fullscreen): Likewise.
790 (grub_gfxterm_background_color_cmd): Save new background color in
791 default_bg_color.
792
793 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
796
797 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
800 mismerge.
801
802 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
803
804 Chainloading on coreboot support.
805
806 * grub-core/Makefile.core.def (chain): Add coreboot.
807 * grub-core/loader/i386/coreboot/chainloader.c: New file.
808
809 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
812 if it happens.
813
814 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Implement time command.
817
818 * grub-core/Makefile.core.def (time): New module.
819 * grub-core/commands/time.c: New file.
820 * grub-core/script/parser.y: Remove "time" keyword.
821 * grub-core/script/yylex.l: Likewise.
822
823 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
826
827 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
830 when handling leftovers.
831
832 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
835 so that help2man doesn't fail.
836
837 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
840 type in pointers on sparc64.
841 (get_card_packet): Likewise.
842
843 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
844
845 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
846 with `*'.
847 (grub_cmd_videoinfo): Fetch current video mode.
848
849 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
852 because of underlying system restrictions.
853
854 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
857 necessary.
858
859 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
860
861 Coreboot video support.
862
863 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
864 (vbe): Likewise.
865 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
866 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
867 here ...
868 * grub-core/kern/i386/int.S: ... here.
869 * grub-core/video/i386/pc/vbe.c: Updated includes.
870 * grub-core/video/i386/pc/vga.c: Likewise.
871 * include/grub/i386/coreboot/memory.h
872 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
873 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
874 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
875 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
876 Disable interrupts.
877 * include/grub/i386/pc/vga.h: Removed. All users updated.
878
879 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
882 definitions for dprintf.
883 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
884
885 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
888 prototype.
889 (get_card_packet): Likewise.
890
891 2011-06-26 Yves Blusseau <blusseau@zetam.org>
892
893 Display the path of the file when file is not found
894
895 * grub-core/fs/fat.c: Display the filename when file is not found.
896 * grub-core/fs/fshelp.c: Likewise.
897 * grub-core/fs/hfs.c: Likewise.
898 * grub-core/fs/jfs.c: Likewise.
899 * grub-core/fs/minix.c: Likewise.
900 * grub-core/fs/ufs.c: Likewise.
901 * grub-core/fs/btrfs.c: Likewise.
902 * grub-core/commands/i386/pc/play.c: Likewise.
903
904 2011-06-26 Szymon Janc <szymon@janc.net.pl>
905
906 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
907 pointer checks before calling grub_free().
908 * grub-core/commands/wildcard.c (match_devices): Likewise.
909 * grub-core/commands/wildcard.c (match_files): Likewise.
910 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
911 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
912 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
913 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
914 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
915 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
916 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
917 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
918 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
919
920 2011-06-25 Patrick <p55@mailinator.com>
921
922 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
923
924 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
927 (grub_pxe_send): Likewise.
928 (GRUB_MOD_INIT): Fix types.
929
930 2011-06-24 Szymon Janc <szymon@janc.net.pl>
931
932 * grub-core/io/xzio.c: Fix code style issues
933
934 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
935 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
936
937 Network infrastructure.
938 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
939
940 * include/grub/net/arp.h: New file.
941 * include/grub/net/device.h: Likewise.
942 * include/grub/net/ethernet.h: Likewise.
943 * include/grub/net/ip.h: Likewise.
944 * include/grub/net/netbuff.h: Likewise.
945 * include/grub/net/tftp.h: Likewise.
946 * include/grub/net/udp.h: Likewise.
947 * include/grub/ieee1275/ofnet.h: Likewise.
948 * include/grub/emu/export.h: Likewise.
949 * include/grub/net.h: Likewise.
950 * grub-core/net/arp.c: Likewise.
951 * grub-core/net/ethernet.c: Likewise.
952 * grub-core/net/ip.c: Likewise.
953 * grub-core/net/udp.c: Likewise.
954 * grub-core/net/tftp.c: Likewise.
955 * grub-core/net/netbuff.c: Likewise.
956 * grub-core/net/net.c: Likewise.
957 * grub-core/net/drivers/emu/emunet.c: Likewise.
958 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
959 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
960 export.h.
961 * grub-core/Makefile.core.def (net): New module.
962 (tftp): Likewise.
963 (ofnet): Likewise.
964 (emunet): Likewise.
965 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
966 network protocols.
967 * grub-core/kern/device.c (grub_net_open) : New variable.
968 (grub_device_open): Handle network device.
969 (grub_device_close): Likewise.
970 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
971 (grub_grubnet_fini): Likewise.
972 (grub_file_seek): Seek in network device.
973 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
974 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
975 network root.
976 (grub_machine_fini): Call grub_grubnet_fini.
977 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
978 network.
979 (grub_ieee1275_get_aliasdevname): New function.
980 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
981 Add unofficial Solaris network info.
982 (grub_multiboot_make_mbi): Likewise.
983 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
984 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
985 * include/grub/device.h (grub_fs): Removed.
986 * include/grub/err.h (grub_err_t): Add network-related values.
987 * include/grub/i386/pc/pxe.h: Removed bootp parts.
988 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
989 (grub_ieee1275_get_aliasdevname): New proto.
990 * include/grub/net.h: Rewritten.
991
992 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
995 names.
996
997 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
1000 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
1001 it truncates the output.
1002 Reported by: Ximin Luo.
1003
1004 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
1007
1008 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1011 partmap before abstraction.
1012
1013 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
1014
1015 * util/grub-mkconfig_lib.in: Add missing quotes.
1016
1017 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
1020 old method if mountinfo would return /dev/root and /dev/root doesn't
1021 exist.
1022
1023 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 ZFS zlib support
1026
1027 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
1028 (decomp_table): Add zlib entries.
1029 (zio_read): USe 8 bits for compression function rather than 3.
1030 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
1031
1032 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/disk/ahci.c: Add missing license statements.
1035 * grub-core/fs/romfs.c: Likewise.
1036 * grub-core/lib/ia64/setjmp.S: Likewise.
1037 * grub-core/loader/i386/pc/freedos.c: Likewise.
1038 * grub-core/loader/ia64/efi/linux.c: Likewise.
1039 * grub-core/video/colors.c: Likewise.
1040 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
1041
1042 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 AHCI support.
1045
1046 * grub-core/Makefile.core.def (ata_pthru): Removed.
1047 (ahci): New module.
1048 (pata): Likewise.
1049 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
1050 on unload.
1051 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
1052 readwrite.
1053 (grub_hdparm_do_check_powermode_cmd): Likewise.
1054 (grub_hdparm_do_smart_cmd): Likewise.
1055 (grub_hdparm_set_val_cmd): Likewise.
1056 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
1057 * grub-core/disk/ahci.c: New file.
1058 * grub-core/disk/ata.c: Factor out the low-level part into ...
1059 * grub-core/disk/pata.c: ... here.
1060 * grub-core/disk/ata_pthru.c: Contents moved to ...
1061 * grub-core/disk/pata.c: ... here.
1062 * grub-core/disk/scsi.c (grub_scsi_names): New array.
1063 (grub_scsi_iterate): Use grub_scsi_names.
1064 (grub_scsi_open): Likewise.
1065 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
1066 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
1067 (grub_ata_regs_t): New struct.
1068 (grub_disk_ata_pass_through_parms): Likewise.
1069 (grub_ata_device): Renamed to ...
1070 (grub_ata): ... this.
1071 (grub_ata_dev): New struct.
1072 Removed all low-level inline functions.
1073 * include/grub/scsi.h: Add PATA and AHCI subsystems.
1074 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
1075 iterate hooks and open. All users updated.
1076 * util/grub-install.in: Handle AHCI disk module.
1077
1078 2011-06-23 Szymon Janc <szymon@janc.net.pl>
1079
1080 Add support for DRI and RSTn markers in JPEG files.
1081
1082 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
1083 (JPEG_MARKER_RST0): Likewise.
1084 (JPEG_MARKER_RST1): Likewise.
1085 (JPEG_MARKER_RST2): Likewise.
1086 (JPEG_MARKER_RST3): Likewise.
1087 (JPEG_MARKER_RST4): Likewise.
1088 (JPEG_MARKER_RST5): Likewise.
1089 (JPEG_MARKER_RST6): Likewise.
1090 (JPEG_MARKER_RST7): Likewise.
1091 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
1092 (grub_jpeg_decode_dri): New function.
1093 (grub_jpeg_decode_sos): Move image data related part into
1094 grub_jpeg_decode_data function.
1095 (grub_jpeg_decode_data): New function.
1096 (grub_jpeg_reset): New function.
1097 (grub_jpeg_decode_jpeg): Handle new markers.
1098
1099 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * util/ieee1275/ofpath.c (check_sas): Close fd.
1102 (main): Free of_path.
1103 Reported by: David Volgyes <dvolgyes>.
1104
1105 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
1108 Reported by: David Volgyes <dvolgyes>.
1109
1110 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
1113 file after stat.
1114 Reported by: David Volgyes <dvolgyes>.
1115
1116 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
1119
1120 Reported by: David Volgyes <dvolgyes>.
1121
1122 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
1125 Prevent memory leak.
1126
1127 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
1130 (main): Close file.
1131 Reported by: David Volgyes <dvolgyes>.
1132
1133 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
1136 to continue if allocation is failed.
1137
1138 Reported by: David Volgyes <dvolgyes>.
1139
1140 2011-06-23 David Volgyes <dvolgyes>
1141
1142 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
1143 dereference.
1144
1145 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Fix spurious warning.
1148
1149 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
1150 (acorn_partition_map_find): Use .bin member.
1151
1152 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
1155 /dev/root as a valid device.
1156
1157 2011-06-23 Jim Meyering <meyering@redhat.com>
1158
1159 Avoid NULL deref in grub_device_open.
1160
1161 * grub-core/kern/device.c (grub_device_open): Don't dereference
1162 a NULL pointer upon failed grub_env_get.
1163
1164 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Support non-512B sectors and agglomerate reads.
1167
1168 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
1169 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
1170 (disk_io_guid): Removed.
1171 (make_devices): Locate solely by BlockIO.
1172 (grub_efidisk_open): Fill log_sector_size and total_sectors.
1173 (grub_efidisk_read): Use read_blocks.
1174 (grub_efidisk_write): Use write_blocks.
1175 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
1176 log_sector_size.
1177 (get_safe_sectors): Handle non-512B sectors.
1178 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
1179 sectors.
1180 (grub_biosdisk_write): Handle non-512B sectors.
1181 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
1182 (grub_scsi_read): Remove special non-512B block handling (now handled
1183 one level up).
1184 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
1185 and do sanity checks.
1186 (grub_disk_adjust_range): Handle non-512B sectors.
1187 (transform_sector): New function.
1188 (grub_disk_read_small): Likewise.
1189 (grub_disk_read): Rewritten.
1190 (grub_disk_write): Handle non-512B sectors.
1191 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
1192 log_sector_size.
1193 (open_device): Use log_sector_size.
1194 (grub_util_biosdisk_read): Likewise.
1195 (grub_util_biosdisk_write): Likewise.
1196 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
1197 non-512B sectors.
1198 (pc_partition_map_embed): Likewise.
1199 * include/grub/disk.h (grub_disk): New field log_sector_size.
1200 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
1201 (GRUB_DISK_CACHE_BITS): Increased to 6.
1202 * util/grub-fstest.c (fstest): New command testload.
1203 (argp_parser): Likewise.
1204
1205 2011-06-16 Robert Millan <rmh@gnu.org>
1206
1207 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
1208 `ata' driver on kernel of FreeBSD 9.
1209
1210 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
1211 (get_ataraid_disk_name): New functions.
1212 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
1213 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
1214 get_ataraid_disk_name() and get_ada_disk_name().
1215
1216 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
1217
1218 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
1219 input format.
1220
1221 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
1222
1223 * docs/grub.texi (Obtaining and Building GRUB): Substitute
1224 `ftp.gnu.org' for `alpha.gnu.org'.
1225
1226 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1227
1228 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
1229 partitions under /dev/disk/by-id/.
1230
1231 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1232
1233 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
1234 after ten consecutive open failures. Scanning all the way up to
1235 10000 is excessive and can cause serious performance problems in
1236 some configurations.
1237 Fixes Ubuntu bug #787461.
1238
1239 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
1242 opening new one.
1243
1244 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
1245 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 Don't stat devices unless we have to.
1248
1249 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
1250 dir == /dev/mapper.
1251 (grub_guess_root_device): Use already known os_dev if possible.
1252 * grub-core/kern/emu/hostdisk.c
1253 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
1254 if device is known to be a dm one.
1255
1256 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
1257
1258 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
1259 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
1260 Reported by: Pawel Tecza.
1261
1262 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
1265 (lsefisystab): Likewise.
1266 (lssal): Likewise.
1267 (lsefimmap): Likewise.
1268 (hdparm): Enable on qemu-mips.
1269 (setjmp): Add ia64 nodist.
1270 (serial): Simplify tags.
1271
1272 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1273
1274 * Makefile.util.def (grub-ofpathname): Install manual page.
1275
1276 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1277
1278 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
1279
1280 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1281
1282 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
1283
1284 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
1287 into dprintf.
1288
1289 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 Use full 64-bit division.
1292
1293 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
1294 (grub_divmod64): ... this.
1295 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
1296 version.
1297
1298 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1299
1300 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
1301 `source'.
1302
1303 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1304
1305 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
1306 to avoid accidents when debugging with 'sh -x'.
1307 * grub-core/gensyminfo.sh.in: Likewise.
1308 * tests/example_scripted_test.in: Likewise.
1309 * tests/grub_cmd_regexp.in: Likewise.
1310 * tests/grub_script_blanklines.in: Likewise.
1311 * tests/grub_script_dollar.in: Likewise.
1312 * tests/grub_script_expansion.in: Likewise.
1313 * tests/grub_script_final_semicolon.in: Likewise.
1314 * tests/partmap_test.in: Likewise.
1315 * tests/util/grub-shell-tester.in: Likewise.
1316 * tests/util/grub-shell.in: Likewise.
1317
1318 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1319
1320 Move gfxmenu color handling to video, so that gfxterm can use it
1321 too.
1322
1323 * grub-core/gfxmenu/named_colors.c: Move to ...
1324 * grub-core/video/colors.c: ... here. Rename
1325 grub_gui_get_named_color to grub_video_get_named_color.
1326 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
1327 * grub-core/video/colors.c (my_isxdigit): ... here.
1328 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
1329 Move to ...
1330 * grub-core/video/colors.c (parse_hex_color_component): ... here.
1331 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
1332 to ...
1333 * grub-core/video/colors.c (grub_video_parse_color): ... here.
1334
1335 * include/grub/gui.h (grub_gui_color_t): Move to ...
1336 * include/grub/video.h (grub_video_rgba_color_t): ... here.
1337 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
1338 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
1339 * include/grub/gui.h (grub_gui_map_color): Move to ...
1340 * include/grub/video.h (grub_video_map_rgba_color): ... here.
1341 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
1342 to ...
1343 * include/grub/video.h (grub_video_get_named_color): ... here.
1344 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
1345 * include/grub/video.h (grub_video_parse_color): ... here.
1346
1347 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
1348 video/colors.c.
1349 (gfxmenu): Remove gfxmenu/named_colors.c.
1350 (video) [videomodules]: Add video/colors.c.
1351
1352 Add a background_color command.
1353
1354 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1355 function.
1356 (GRUB_MOD_INIT): Register background_color command.
1357 (GRUB_MOD_FINI): Unregister background_color command.
1358 (redraw_screen_rect): Allow blend/replace of text layer to be
1359 controlled independently from whether there is a background bitmap.
1360 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1361 changing bitmap.
1362
1363 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 Patch BPB in ntldr and chainloader --bpb.
1366
1367 * grub-core/fs/fat.c: Include grub/fat.h.
1368 (grub_fat_bpb): Moved to ...
1369 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1370 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1371 grub/ntfs.h.
1372 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1373 Moved from here...
1374 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1375 here.
1376 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1377 New function.
1378 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1379 (GRUB_MOD_INIT): Show --bpb.
1380 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1381 * grub-core/normal/main.c (features): New variable.
1382 (GRUB_MOD_INIT): Set feature_* variables.
1383 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1384 proto.
1385 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1386
1387 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1390 for cleanness.
1391
1392 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 FreeDOS direct loading support.
1395
1396 * docs/grub.texi (Supported OS): Add FreeDOS.
1397 * grub-core/Makefile.core.def (freedos): New module.
1398 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1399 variable.
1400 (grub_relocator16_boot): Handle %ebx.
1401 * grub-core/lib/i386/relocator16.S: Likewise.
1402 * grub-core/loader/i386/pc/freedos.c: New file.
1403
1404 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 Long Linux command line support.
1407
1408 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1409 (maximal_cmdline_size): New variable.
1410 (allocate_pages): Use maximal_cmdline_size.
1411 (grub_cmd_linux): Set and use maximal_cmdline_size.
1412 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1413 (allocate_pages): Use maximal_cmdline_size.
1414 (grub_cmd_linux): Set and use maximal_cmdline_size.
1415 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1416 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1417 and cmdline_size.
1418
1419 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1420 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1421
1422 Improve devmapper support
1423
1424 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1425 (grub_util_is_lvm): New function.
1426 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1427 than lvm if not dmraid.
1428 Handle mapped md nodes.
1429 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1430 (grub_util_device_is_mapped): ... this. Make always available. All users
1431 updated.
1432 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1433 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1434 dmraid nodes.
1435 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1436
1437 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1440
1441 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1442 * grub-core/modinfo.sh.in: New file.
1443 * grub-core/Makefile.core.def (modinfo.sh): New script.
1444 * util/grub-mknetdir.in: Use modinfo.sh.
1445 * util/grub-mkrescue.in: Likewise.
1446
1447 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1450 Fix potential usage of Elf32 instead of Elf64 when compiling on
1451 32-bit architecture. Add endianness macros while on it.
1452
1453 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 Use mipsel- rather than mips- in directories involving mipsel ports to
1456 allow both endiannesses coexist.
1457
1458 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1459 mips. All conditions adjusted.
1460 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1461 variable.
1462 * util/grub-install.in: Adjust conditions to take renaming into account.
1463 * util/grub-mkimage.c (image_targets): Likewise. New target
1464 mips-qemu_mips-elf for bigendian mips.
1465
1466 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 Avoid unnecessary copying on MIPS.
1469
1470 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1471 early if src == dest.
1472 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1473 compression is none.
1474
1475 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 Reduce memory footprint on SGI by putting modules before the kernel
1478 as opposed to after.
1479
1480 * grub-core/Makefile.core.def (kernel): Increase linking address.
1481 (none_decompress): Likewise.
1482 (xz_decompress): Likewise.
1483 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1484 address.
1485 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1486 layout change.
1487 (grub_arch_modules_addr): New function.
1488 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1489 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1490 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1491 here.
1492 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1493 (grub_total_modules_size): ... this. Make global.
1494 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1495 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1496 New definition.
1497 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1498 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1499 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1500 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1501 * util/grub-mkimage.c (image_target_desc): New flag
1502 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1503 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1504 (generate_image): Handle images with modules before kernel.
1505
1506 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 Prevent potential loss of memory map by overwrite on qemu-mips.
1509
1510 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1511 Save ram size in $s4.
1512 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1513 All users changed to grub_arch_memsize.
1514 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1515 Loongson.
1516 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1517 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1518 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1519 external variable.
1520
1521 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1522
1523 * .bzrignore: Remove grub-dumpbios.
1524
1525 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1526
1527 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1528 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1529 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1530 existing options which append).
1531 * docs/grub.texi (Simple configuration): Document new options.
1532 Reported by: Ian Jackson. Fixes Debian bug #617538.
1533
1534 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1535
1536 * util/grub-fstest.c (cmd_cat): New function.
1537 (fstest): Handle CMD_CAT.
1538 (options): Add cat.
1539 (argp_parser): Handle cat.
1540
1541 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1542
1543 * Makefile.util.def (grub-bin2h): Don't install.
1544 * docs/man/grub-bin2h.h2m: Remove.
1545
1546 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1549 place.
1550
1551 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 Reenable qemu-mips port.
1554
1555 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1556 Fix small arc bug while on it.
1557 * gentpl.py: Handle qemu_mips.
1558 * grub-core/Makefile.am: Likewise.
1559 * grub-core/Makefile.core.def: Likewise.
1560 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1561 inappropriate includes.
1562 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1563 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1564 * grub-core/kern/main.c (grub_modules_get_end)
1565 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1566 * grub-core/kern/mips/qemu-mips: Moved to ..
1567 * grub-core/kern/mips/qemu_mips: ... this.
1568 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1569 (grub_machine_init): Call terminfo_init and serial_init.
1570 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1571 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1572 New variable.
1573 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1574 parameter passing.
1575 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1576 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1577 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1578 * include/grub/mips/qemu_mips/cmos.h: New file.
1579 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1580 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1581 Removed.
1582 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1583 Use correct mips-style address.
1584 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1585 (GRUB_TICKS_PER_SECOND): Removed.
1586 (grub_get_rtc): Likewise.
1587 (grub_cpu_idle): Likewise.
1588 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1589 New definition.
1590 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1591 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1592 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1593 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1594 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1595 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1596 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1597 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1598
1599 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 SGI ARCS port.
1602
1603 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1604 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1605 platforms.
1606 * configure.ac: New target mips-arc.
1607 * gentpl.py: Likewise.
1608 * grub-core/Makefile.am: Likewise.
1609 * grub-core/Makefile.core.def: Likewise.
1610 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1611 (none_decompress): Likewise.
1612 (lsdev): New module.
1613 (datetime): Use lib/arc/datetime.c on ARC.
1614 (part_dvh): New module.
1615 * grub-core/commands/arc/lsdev.c: New file.
1616 * grub-core/disk/arc/arcdisk.c: Likewise.
1617 * grub-core/kern/mips/arc/init.c: Likewise.
1618 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
1619 aligned addresses.
1620 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
1621 support.
1622 (grub_arch_dl_relocate_symbols): Likewise.
1623 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
1624 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
1625 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
1626 platforms.
1627 * grub-core/lib/arc/datetime.c: New file.
1628 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
1629 pci.h on non-loongson.
1630 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
1631 (grub_linux_boot): Set unused registers to 0.
1632 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
1633 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
1634 * grub-core/mmap/mips/uppermem.c: ...here.
1635 * grub-core/partmap/dvh.c: New file.
1636 * grub-core/term/arc/console.c: Likewise.
1637 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
1638 (grub_terminfo_set_current): Add terminal "arc".
1639 (grub_terminfo_readkey): Support ARC sequences.
1640 * include/grub/arc/arc.h: New file.
1641 * include/grub/arc/console.h: Likewise.
1642 * include/grub/disk.h (grub_disk_dev_id): Add
1643 GRUB_DISK_DEVICE_ARCDISK_ID.
1644 * include/grub/mips/arc/kernel.h: New file.
1645 * include/grub/mips/arc/memory.h: Likewise.
1646 * include/grub/mips/arc/time.h: Likewise.
1647 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
1648 * include/grub/mips/kernel.h (grub_halt): ... here.
1649 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
1650 here...
1651 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
1652 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
1653 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
1654 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
1655 proto.
1656 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
1657 from here ...
1658 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
1659 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
1660 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
1661 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
1662 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
1663 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
1664 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
1665 (grub_phys_addr_t): Moved from here ...
1666 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
1667 (grub_vtop): Moved from here ...
1668 * include/grub/mips/memory.h (grub_vtop): ... here.
1669 (grub_map_memory): Moved from here ...
1670 * include/grub/mips/memory.h (grub_map_memory): ... here.
1671 (grub_unmap_memory): Moved from here ...
1672 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
1673 (grub_machine_mmap_iterate): Moved from here ...
1674 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
1675 (grub_mmap_get_lower): Moved from here ...
1676 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
1677 (grub_mmap_get_upper): Moved from here ...
1678 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
1679 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1680 here ...
1681 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1682 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
1683 here ...
1684 * include/grub/mips/time.h (grub_get_rtc): ... here.
1685 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1686 here ...
1687 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1688 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
1689 here ...
1690 * include/grub/mips/time.h (grub_cpu_idle): ... here.
1691 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
1692 definition.
1693 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
1694 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
1695 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
1696 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
1697 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1698 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1699 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
1700 (GRUB_MACHINE_LINK_ADDR): Likewise.
1701 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
1702 to 6.
1703 * util/grub-install.in: Run dvhtool on ARC.
1704 * util/grub-mkimage.c (image_targets): Add mips-arc.
1705 (generate_image): Handle ECOFF output for mips-arc.
1706
1707 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
1710 blocks.
1711
1712 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
1715 after enabling port.
1716
1717 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 Skip incorrect USB devices.
1720
1721 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
1722 configcnt == 0.
1723 * include/grub/usb.h (grub_usb_err_t): New enum value
1724 GRUB_USB_ERR_BADDEVICE.
1725
1726 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 Fuloong video init support.
1729
1730 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
1731 well.
1732 (grub_vga_read_arx): New function.
1733 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
1734 definition.
1735 (framebuffer): New members io, mmioptr and mmiobase.
1736 (read_sis_cmd): New function.
1737 (write_sis_cmd): Likewise.
1738 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
1739 rather than 640x400.
1740 * grub-core/video/sis315_init.c: New file.
1741
1742 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
1745 non-loongson.
1746 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
1747 to grub_dl_register_symbol.
1748
1749 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 Fix compilation errors.
1752
1753 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
1754 potentially unused.
1755 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
1756 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
1757 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
1758 to loongson machines.
1759
1760 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Several FS mtime support.
1763
1764 * grub-core/fs/affs.c (grub_affs_time): New struct.
1765 (grub_affs_file): New field mtime.
1766 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
1767 type. Removed 'size'. New field 'di'. All users updated.
1768 (grub_affs_mount): Simplify checsum checking.
1769 (grub_affs_iterate_dir): New helper grub_affs_create_node.
1770 (grub_affs_dir): Handle mtime.
1771 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
1772 (grub_cpio_dir): Likewise.
1773 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
1774 (grub_hfs_filerec): New field mtime.
1775 (grub_hfs_dir): Handle mtime.
1776 (grub_hfs_mtime): New function.
1777 (grub_hfs_fs): Register grub_hfs_mtime.
1778 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
1779 (grub_iso9660_dir): New field mtime.
1780 (grub_fshelp_node): New field dirent.
1781 (iso9660_to_unixtime): New function.
1782 (iso9660_to_unixtime2): Likewise.
1783 (grub_iso9660_read_symlink): Use node->dirent.
1784 (grub_iso9660_iterate_dir): Likewise.
1785 (grub_iso9660_dir): Set mtime.
1786 (grub_iso9660_mtime): New function.
1787 (grub_iso9660_fs): Register grub_iso9660_mtime.
1788 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
1789 (grub_jfs_inode): New fields atime, ctime and mtime.
1790 (grub_jfs_dir): Set mtime.
1791 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1792 * grub-core/fs/ntfs.c (list_file): Set mtime.
1793 (grub_ntfs_dir): Likewise.
1794 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
1795 (grub_reiserfs_iterate_dir): Set mtime.
1796 (grub_reiserfs_dir): Likewise.
1797 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
1798 (grub_fshelp_node): Likewise.
1799 (grub_sfs_iterate_dir): Set mtime.
1800 (grub_sfs_dir): Likewise.
1801 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
1802 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
1803 (grub_xfs_inode): New fields atime, mtime, ctime.
1804 (grub_xfs_dir): Set mtime.
1805 * include/grub/datetime.h (grub_datetime2unixtime): New function.
1806 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
1807 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
1808
1809 Support UDF symlinks.
1810
1811 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
1812 (grub_ufs_read_symlink): New function. All users updated.
1813
1814 Check amiga partmap checksum.
1815
1816 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
1817 (grub_amiga_partition): Likewise.
1818 (amiga_partition_map_checksum): New function.
1819 (amiga_partition_map_iterate): Check checksum.
1820
1821 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 ROMFS support.
1824
1825 * Makefile.util.def (libgrubmods.a): Add romfs.
1826 * grub-core/Makefile.core.def (romfs): New module.
1827 * grub-core/fs/romfs.c: New file.
1828
1829 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Squashfs v4 support.
1832
1833 * Makefile.util.def (libgrubmods.a): Add squash4.
1834 * grub-core/Makefile.core.def (squash4): New module.
1835 * grub-core/fs/squash4.c: New file.
1836 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
1837 disk_input_start, disk_input.
1838 (get_byte): Handle disk_input.
1839 (grub_zlib_disk_read): New function.
1840 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
1841
1842 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1843 2011-05-15 Feiran Zheng <famcool@gmail.com>
1844
1845 * Makefile.util.def (libgrubmods.a): Add minix3.
1846 * grub-core/Makefile.core.def (minix3): New module.
1847 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
1848 (GRUB_MINIX_BSIZE): Removed.
1849 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
1850 (grub_minix_ino_t): New type.
1851 (grub_minix_le_to_cpu_ino): New macro.
1852 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
1853 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
1854 (grub_minix_data): New field block_size.
1855 (grub_minix_read_file): Handle 64-bit correctly.
1856 * grub-core/fs/minix3.c: New file.
1857
1858 2011-05-15 Tristan Gingold <gingold@free.fr>
1859 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
1860 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 IA64 support.
1863
1864 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
1865 * configure.ac: Add ia64-efi target.
1866 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
1867 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
1868 * gentpl.py: Add ia64_efi platform.
1869 Rename x86_efi to efi and Add ia64-efi. All users updated.
1870 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
1871 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
1872 Remove kern/generic/rtc_get_time_ms.c on EFI.
1873 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
1874 kern/ia64/dl_helper.c on ia64-efi.
1875 Add kern/emu/cache.c on emu.
1876 (linux): Use on loader/ia64/efi/linux.c on ia64.
1877 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
1878 whether symbol is a function.
1879 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
1880 (grub_symbol): New field 'isfunc'.
1881 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
1882 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
1883 (grub_dl_load_segments): Place all sections into the same region.
1884 [__ia64__]: Create trampolines and got.
1885 [GRUB_MACHINE_EMU]: Call mprotect.
1886 (grub_dl_resolve_symbols): Resolve symbol type as well.
1887 [__ia64__]: Create function descriptors.
1888 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
1889 (grub_rtc_get_time_ms): ... this. Expressions simplified.
1890 (grub_get_rtc): New function.
1891 * grub-core/kern/emu/cache.c [__ia64__]: New file.
1892 * grub-core/kern/emu/cache.S: Renamed to ...
1893 * grub-core/kern/emu/cache_s.S: ... this.
1894 [__ia64__]: Add a nop.
1895 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
1896 [__ia64__]: New function.
1897 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
1898 * grub-core/kern/ia64/dl.c: New file.
1899 * grub-core/kern/ia64/dl_helper.c: Likewise.
1900 * grub-core/kern/ia64/efi/init.c: New file.
1901 * grub-core/kern/ia64/efi/startup.S: Likewise.
1902 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
1903 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
1904 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
1905 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
1906 * grub-core/loader/ia64/efi/linux.c: New file.
1907 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
1908 (GRUB_MOD_DEP): Likewise.
1909 (grub_dl) [__ia64__]: New fields got and tramp.
1910 (grub_dl): New field 'base'.
1911 (grub_dl_register_symbol): New argument isfunc. All users updated.
1912 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
1913 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
1914 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
1915 (grub_ia64_dl_get_tramp_got_size): New proto.
1916 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
1917 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
1918 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
1919 * include/grub/efi/api.h: Skip call wrappers on ia64.
1920 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
1921 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
1922 * include/grub/elf.h (ELF_ST_INFO): New definition.
1923 * include/grub/ia64/efi/kernel.h: New file.
1924 * include/grub/ia64/efi/memory.h: Likewise.
1925 * include/grub/ia64/efi/time.h: Likewise.
1926 * include/grub/ia64/kernel.h: Likewise.
1927 * include/grub/ia64/setjmp.h: Likewise (from glibc).
1928 * include/grub/ia64/time.h: New file.
1929 * include/grub/ia64/types.h: Likewise.
1930 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
1931 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
1932 New protos.
1933 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
1934 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1935 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
1936 * util/grub-mkimage.c (image_target_desc): New field pe_target.
1937 All users updated.
1938 (EFI64_HEADER_SIZE): New definition. All users updated.
1939 (image_targets): Add ia64-efi.
1940 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
1941 jumpers_addr. All users updated.
1942 Create function descriptors.
1943 (count_funcs): New function.
1944 (unaligned_uint32): New struct.
1945 (MASK20): New definition.
1946 (MASK19): Likewise.
1947 (MASKF21): Likewise.
1948 (add_value_to_slot_20b): New function.
1949 (add_value_to_slot_21_real): Likewise.
1950 (add_value_to_slot_21): Likewise.
1951 (ia64_kernel_trampoline): New struct.
1952 (nopm): New variable.
1953 (jump): Likewise.
1954 (make_trampoline): New function.
1955 (relocate_addresses): Handle ia64.
1956 (make_reloc_section): Likewise.
1957 (load_image): Likewise.
1958
1959 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
1962 warning. Move variables before code while on it.
1963
1964 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Fuloong support.
1967
1968 * configure.ac: Rename yeeloong platform to loongson. All users updated.
1969 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
1970 * grub-core/boot/mips/loongson/fuloong.S: New file.
1971 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
1972 Explicitly init CS5536.
1973 [FULOONG]: Don't use serial until CS5536 is available.
1974 Set GPIO based on dumps.
1975 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
1976 [FULOONG]: Handle GPIO and memory controller differences.
1977 Parse machine type in $a2.
1978 * grub-core/boot/mips/startup_raw.S: Determine and save the
1979 architecture.
1980 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
1981 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
1982 init on architecture type.
1983 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1984 SIS315E. Don't init at_keyboard on fuloong.
1985 (grub_halt): Support Fuloong.
1986 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
1987 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
1988 (loongson_machtypes): New array.
1989 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
1990 type.
1991 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
1992 config. All users updated. Handle CS5536 serial.
1993 * grub-core/term/serial.c (grub_serial_register): Conditionalise
1994 default port on machine type. Register serial as inactive.
1995 * grub-core/video/sis315pro.c: New file.
1996 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
1997 definition.
1998 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
1999 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
2000 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
2001 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
2002 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
2003 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
2004 to ...
2005 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
2006 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
2007 definition.
2008 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
2009 (grub_arch_machine): New extern var.
2010 * include/grub/mips/loongson/serial.h
2011 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
2012 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
2013 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
2014 (GRUB_MACHINE_SERIAL_PORT0): ... this.
2015 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
2016 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
2017 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
2018 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
2019 * include/grub/term.h (grub_term_register_input_inactive): New inline
2020 function.
2021 (grub_term_register_output_inactive): Likewise.
2022 * include/grub/video.h (grub_video_driver_id): New value
2023 GRUB_VIDEO_DRIVER_SIS315PRO.
2024 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
2025 New field "names". All users updated.
2026 New field value IMAGE_FULOONG_FLASH.
2027 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2028
2029 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
2030
2031 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
2032 and add some clarification.
2033
2034 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
2037 platforms if kernel is compressed.
2038
2039 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
2042 unused modules since currently referrence counter isn't reliable and
2043 there isn't much memory to recover there anyway.
2044
2045 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
2048 rather than resetting it to allow modules to reference themselves
2049 in init.
2050
2051 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
2054 counter on dependencies since grub_dl_unref already handles this.
2055
2056 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
2059 on error if not already done.
2060
2061 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 Fix few potential memory misusage.
2064
2065 * grub-core/font/font.c (load_font_index): Don't free char_index to
2066 avoid double free.
2067 (grub_font_load): Zero-fill font at alloc for safety.
2068 Close file on error.
2069 (free_font): Free bmp_idx.
2070
2071 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * docs/grub.texi (Installation): Fix several outdated claims.
2074
2075 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 Handle module_license on windows.
2078
2079 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
2080 sections shifted.
2081 (insert_string): Make argument const char * instead of char *.
2082 (write_section_data): Handle long section names.
2083 Handle module_license.
2084
2085 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
2088 handle class-free menuentries.
2089 (grub_normal_add_menu_entry): Add a check to be sure.
2090
2091 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
2094 PgUp and PgDown.
2095
2096 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * configure.ac: Bump version to 1.99.
2099
2100 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 Give ATA device a bit more time on first try in order to allow disks
2103 to spin up.
2104
2105 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
2106 if dev->present is 1. Reset dev->present on failure.
2107 (grub_ata_device_initialize): Set dev->present to 1.
2108 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
2109 (grub_ata_device): New member 'present'.
2110
2111 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * util/grub-mkimage.c (generate_image): Update hash.
2114
2115 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Flush caches on DMA memory.
2118
2119 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
2120 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
2121 (grub_dma_free): Likewise.
2122 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
2123
2124 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
2127 to avoid asm treating ld and sd as macros.
2128
2129 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
2132 decompressor.
2133
2134 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
2137 grub_decompress_core since later would fail if grub_decompress_core
2138 is too far.
2139
2140 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
2143 R_MIPS_JALR since it's used by newer compiler.
2144
2145 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
2148
2149 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
2152 file_path to 0 for surety.
2153 (grub_chainloader_boot): Set exit_data to NULL.
2154 Unset the loader once done.
2155 (grub_cmd_chainloader): Fix confusing error message if file is empty.
2156
2157 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
2160 unknown key into a dprintf.
2161
2162 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
2165 on first non-existant partition.
2166
2167 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
2170 openning fails.
2171 Reported by: Mark Korenberg.
2172
2173 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
2176 overflow.
2177
2178 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * util/grub-mkimage.c (main): Explicitely flush and sync the output
2181 before closing to ensure that it will be readable by grub-setup.
2182
2183 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
2186 (devpath_1): Use MAKE_PIWG_PATH.
2187 (devpath_2): Likewise.
2188 (devpath_3): Likewise.
2189 (devpath_4): Likewise.
2190 (devpath_5): Likewise.
2191 (devpath_6): Likewise.
2192
2193 The appleldr.mod was checked that to be binary identical to previous
2194 version.
2195
2196 2011-05-05 Zach <mikezackles>
2197
2198 Support 2010 Macbooks.
2199
2200 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
2201 (devs): Add devpath_6.
2202
2203 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
2206 /dev/random. /dev/urandom is good enough for our purposes (salting).
2207
2208 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
2211
2212 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
2215 hexadecimal.
2216
2217 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
2220 and not 0 on failure.
2221
2222 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2223
2224 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
2225 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
2226 disk; otherwise grub_fs_probe will not fall back to the next
2227 filesystem.
2228 (grub_pxefs_open): Likewise, for consistency.
2229 Reported and tested by: Ezekiel Grave.
2230
2231 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2232
2233 * tests/partmap_test.in: Don't hardcode path to parted.
2234 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
2235
2236 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
2237
2238 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
2239 of `ls' to find out which devices are available.
2240
2241 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
2244 than source address for efi mmap buffer.
2245
2246 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
2249 wrong action on non-detecting the magic.
2250
2251 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
2254 already supplied by another part of the module (fixes compilation on
2255 FreeBSD).
2256
2257 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
2260 match the one used by mdadm.
2261
2262 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2263
2264 * po/README: Add instructions for creating po/LINGUAS.
2265
2266 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2267
2268 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
2269 #551428.
2270
2271 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
2272 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
2273 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
2274 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2275 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
2276 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
2277 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
2278 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
2279 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
2280 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2281 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
2282 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
2283 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
2284 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
2285 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
2286 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
2287 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
2288 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
2289 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
2290 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
2291 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
2292 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
2293
2294 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2295
2296 * grub-core/kern/emu/getroot.c
2297 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
2298 test that was incorrectly reintroduced in r3214.
2299 Reported by: Ian Dall. Fixes Savannah bug #33133.
2300
2301 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2302
2303 Fix stack pointer handling in 16-bit relocator.
2304
2305 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
2306 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
2307 Fixes Ubuntu bug #683904.
2308
2309 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * configure.ac: Bump version to 1.99~rc2.
2312
2313 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
2316 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
2317 * grub-core/lib/x86_64/setjmp.S: Likewise.
2318 * grub-core/lib/mips/setjmp.S: Likewise.
2319 * grub-core/lib/powerpc/setjmp.S: Likewise.
2320 * grub-core/lib/sparc64/setjmp.S: Likewise.
2321
2322 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
2325 * grub-core/lib/efi/datetime.c: Likewise.
2326
2327 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
2330 New function.
2331 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
2332 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
2333 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
2334
2335 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
2338 bitmap.
2339 (grub_gfxterm_term_init): Likewise.
2340
2341 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 Take into account the decorations the computing menu entry width.
2344
2345 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
2346 (grub_gfxmenu_create_box): Register get_border_width.
2347 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
2348 if available.
2349 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
2350 get_border_width.
2351
2352 2011-04-18 Endres Puschner <code@e7p.de>
2353
2354 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2355 Don't skip first class.
2356
2357 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2360 chunks.
2361 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2362
2363 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 Complete 64-bit division support.
2366
2367 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2368 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2369 * include/grub/misc.h (grub_divmod64): Rename to ...
2370 (grub_divmod64_full): ... this.
2371 (grub_divmod64): New inline function.
2372
2373 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2376
2377 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2380 performing the necessary test.
2381
2382 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2385 (kfreebsd.elf): Likewise.
2386 (pc-chainloader.elf): Likewise.
2387 (ntldr.elf): Likewise.
2388
2389 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 Identify RAID by its UUID rather than (guessed) name.
2392
2393 * grub-core/disk/raid.c (ascii2hex): New function.
2394 (grub_raid_open): Accept mduuid/%s specification.
2395 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2396 (get_mdadm_uuid): ... this.
2397 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2398
2399 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2402 to negative size.
2403
2404 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2405
2406 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2407 btrfs subvolume.
2408 * util/grub.d/20_linux_xen.in: Likewise.
2409
2410 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2411
2412 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2413 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2414
2415 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2416 Build a list of relevant visible mounts using the mnt_id and
2417 parent_mnt_id fields, and then scan that list at the end.
2418
2419 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2420
2421 * docs/grub.texi (normal): New section.
2422 (normal_exit): New section.
2423 (Embedded configuration): Add reference to normal.
2424 (GRUB only offers a rescue shell): Likewise.
2425 * docs/grub-dev.texi (Error Handling): Fix typo.
2426
2427 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2428
2429 * NEWS: Drop obsolete entry about probe-only btrfs support.
2430
2431 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2432
2433 * util/import_gcry.py: Fix typo.
2434
2435 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * NEWS: Add btrfs support.
2438
2439 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2440 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2441
2442 BtrFS support. Written by me (Vladimir) with important bugfixes and
2443 even more important testing by Colin.
2444
2445 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2446 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2447 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2448 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2449 mem_input_off and mem_input. All users updated to accept in-RAM input.
2450 (gzio_seek): New function.
2451 (test_zlib_header): Likewise.
2452 (grub_gzio_read): Likewise.
2453 (grub_zlib_decompress): Likewise.
2454 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2455 Accept partial and non-virtual mounts.
2456 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2457 avoid receiving /dev/dm-X as device.
2458 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2459 Handle bind and partial mounts.
2460 * grub-core/lib/crc.c: New file.
2461 * include/grub/deflate.h: Likewise.
2462 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2463 proto.
2464 * include/grub/lib/crc.h: New file.
2465
2466 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Implement automatic module license checking according to new GNU
2469 guidelines.
2470
2471 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2472 (grub_dl_load_core): Use grub_dl_check_license.
2473 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2474 (GRUB_MOD_LICENSE): Likewise.
2475 (GRUB_MOD_DUAL_LICENSE): Likewise.
2476 All modules updated.
2477
2478 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2479
2480 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2481 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2482 loaders.
2483 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2484
2485 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2488
2489 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2492 failed.
2493
2494 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2497 parenthesis in the middle of the filename.
2498
2499 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2502 rather than trying to put initrd way too high.
2503 Reported by: Ryan Lortie <desrt@desrt.ca>
2504
2505 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2508 improperly removed string.
2509
2510 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2513 is_disk.
2514 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2515 (open_device) Likewise.
2516 (grub_util_biosdisk_close): Likewise.
2517 Reported by: Mark Korenberg.
2518
2519 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2520
2521 * util/grub-mkconfig_lib.in: Add missing quotes.
2522
2523 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
2524
2525 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2526 is NULL.
2527
2528 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Dynamically count the number of lines for the lower banner.
2531
2532 * grub-core/normal/menu_entry.c (per_term_screen): New member
2533 num_entries.
2534 (print_down): Use num_entries.
2535 (update_screen): Likewise.
2536 (grub_menu_entry_run): Set num_entries.
2537 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2538 num_entries.
2539 (grub_print_message_indented): Move real part to ...
2540 (grub_print_message_indented_real): ... here. Additional argument
2541 dry_run.
2542 (draw_border): Additional argument num_entries.
2543 (print_message): Additional argument dry_run.
2544 (print_entries): Receive menu viewer data.
2545 (grub_menu_init_page): New argment num_entries.
2546 (menu_text_set_chosen_entry): Use num_entries.
2547 (grub_menu_try_text): Likewise.
2548 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2549 All users updated.
2550 (grub_ucs4_count_lines): New function.
2551 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2552 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2553 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2554 (grub_term_border_height): Likewise.
2555 (grub_term_num_entries): Likewise.
2556
2557 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2560 Remove now unused string.
2561
2562 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2563
2564 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2565 build system.
2566 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2567
2568 (Comment): Fix typo.
2569 (Getting started): General copy-editing.
2570 (Typical Development Experience): Likewise.
2571 (Error Handling): Likewise.
2572 (Video API): Likewise.
2573
2574 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2575
2576 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2577 throughout.
2578
2579 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2582 directory.
2583
2584 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2585
2586 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2587 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2588 "development".
2589
2590 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2593 grub_strcpy since the lines aren't necessarily 0-terminated.
2594
2595 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2598 root on legacy.
2599
2600 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2603 (GRUB_MOD_INIT): DEVICE isn't optional.
2604
2605 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2608 word on new line if it's too long anyway. Fixes a hang.
2609
2610 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2613 const.
2614 * util/grub-setup.c (main): Reuse md device name if available.
2615 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2616 not GRUB name as argument.
2617 Based on patch by: Florian Wagner <fwagner>.
2618
2619 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2622 Place mbi on low memory for better compatibility.
2623
2624 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
2627
2628 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2629 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2630
2631 * autogen.sh: Ensure that collate and ctype locale is C.
2632 * conf/Makefile.common: Likewise.
2633
2634 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/normal/menu.c: Add missing include.
2637
2638 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
2641
2642 2011-04-08 Martin Zuther <mzuther@mzuther.de>
2643
2644 * util/grub-mkconfig.in: Ignore emacsen backup.
2645
2646 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
2649 on open.
2650 (grub_util_biosdisk_close): Likewise.
2651
2652 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
2655 const attribute and use grub_isdigit.
2656
2657 2011-04-06 Andrey <dev_null@ukr.net>
2658
2659 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
2660 gcc warning.
2661
2662 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
2665 useful grub_dprintf's.
2666
2667 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
2670
2671 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
2674
2675 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Output errors if theme loading failed.
2678
2679 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
2680 grub_gfxterm_fullscreen on error paths to ...
2681 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
2682 theme loading error.
2683
2684 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
2687 space for older compilers.
2688 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2689
2690 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
2693 and report them as not RAID members since they are useless for GRUB.
2694 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2695
2696 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 Increase LVM implementation robustness in order not to crash on
2699 configurations like pvmove. Previously code assumed that in some places
2700 only lvs or only pvs are used whereas it seems that they are used
2701 interchangeably.
2702
2703 * grub-core/disk/lvm.c (read_node): New function.
2704 (read_lv): Use read_node.
2705 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
2706 Match volumes only at the end when all lvs are found. Take both
2707 pvs (first) and lvs (second) into account.
2708 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
2709 mirror_* into node_*. All users updated.
2710 (grub_lvm_stripe): Merge this ...
2711 (grub_lvm_mirror): ... and this ...
2712 (grub_lvm_node): ... into this. All users updated.
2713
2714 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
2717 of function to allow further scanning for LVMs.
2718
2719 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
2722 on failed seek as it breaks open fd reusage.
2723
2724 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * util/grub-install.in: Add a recommendation to use --recheck before
2727 reporting bugs.
2728
2729 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
2732 are obtained.
2733
2734 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 GRUB developper manual based on existing Internals section and
2737 contributions by the various authors with active copyright assignment.
2738
2739 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
2740 * docs/font_char_metrics.png: New file.
2741 * docs/font_char_metrics.txt: Likewise.
2742 * docs/grub-dev.texi: Likewise.
2743 * docs/grub.texi (Internals): Move from here ...
2744 * docs/grub-dev.texi: ... here.
2745
2746 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2747
2748 Store the loopback device as data on loopback grub_disk structures,
2749 rather than the file it points to. This fixes use of freed memory
2750 if an existing loopback device is replaced.
2751
2752 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
2753 disk->data, not dev->file.
2754 (grub_loopback_read): Adjust file assignment to match.
2755 Fixes Ubuntu bug #742967.
2756
2757 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2758
2759 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
2760 when replacing an existing device.
2761
2762 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
2765 memory corruptions.
2766
2767 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
2768 unsigned.
2769 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
2770 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
2771 (grub_jfs_read_inode): Likewise.
2772 (grub_jfs_opendir): Likewise. Remove now useless casts.
2773 (grub_jfs_getent): Likewise.
2774 Make ino a grub_uint32_t rather than int.
2775 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
2776 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
2777 division and module with bit operations.
2778 (grub_jfs_find_file): Make ino a grub_uint32_t.
2779 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
2780
2781 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2782
2783 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
2784 warning. (This was in fact always initialised before use, but GCC
2785 wasn't smart enough to prove that.)
2786 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2787
2788 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
2791 stack alignment.
2792 (efi_wrap_1): Likewise.
2793 (efi_wrap_2): Likewise.
2794 (efi_wrap_3): Likewise.
2795 (efi_wrap_4): Likewise.
2796 (efi_wrap_5): Likewise.
2797 (efi_wrap_6): Likewise.
2798 (efi_wrap_10): Likewise.
2799 Based on information by: Red Hat/Peter Jones.
2800
2801 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
2802
2803 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
2804 set-but-not-used variable.
2805
2806 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
2807
2808 * docs/grub.texi (Simple configuration): Be more explicit about
2809 GRUB_DEFAULT, and add an example.
2810 Reported by: Leslie Rhorer.
2811
2812 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2813
2814 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
2815 shell".
2816
2817 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2818
2819 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
2820 * util/grub.d/20_linux_xen.in: Likewise.
2821
2822 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * util/grub.d/10_linux.in: Try alternative config filenames where
2825 we parse config file.
2826 * util/grub.d/20_linux_xen.in: Likewise.
2827
2828 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2829
2830 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
2831 * util/grub.d/20_linux_xen.in: Likewise.
2832
2833 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * grub-core/disk/raid.c (insert_array): Add few potentially
2836 useful grub_util_info.
2837 (grub_raid_register): Likewise.
2838
2839 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
2842 Preserve partition number in mdadm code path.
2843
2844 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
2847 few potentially useful grub_util_info.
2848
2849 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
2852
2853 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2854
2855 * docs/grub.texi (default): Use @example rather than nested
2856 itemized lists to avoid breaking gendocs.
2857
2858 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2859
2860 * docs/grub.texi (Future): Update.
2861
2862 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2863
2864 * docs/grub.texi (Environment): New chapter.
2865 (Changes from GRUB Legacy): Link to "Environment block" section for
2866 details of limitations.
2867 (Simple configuration): Likewise. Link to documentation of gfxmode
2868 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
2869 respectively.
2870 (Shell-like scripting): Note that normal variables are stored in the
2871 environment.
2872 (gettext): Link to documentation of lang and locale_dir.
2873 (list_env): New section.
2874 (load_env): New section.
2875 (save_env): New section.
2876
2877 (Reporting bugs): Fix typo.
2878
2879 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
2882 the example.
2883
2884 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/term/at_keyboard.c (set_scancodes)
2887 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
2888
2889 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2890
2891 * docs/grub.texi (Menu-specific commands): Remove some semantics
2892 that were true in GRUB Legacy but not in GRUB 2.
2893 (submenu): New section.
2894 (false): New section.
2895 (read): New section.
2896 (true): New section.
2897
2898 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2899
2900 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
2901
2902 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2903
2904 * docs/grub.texi (Simple configuration): Explain some of the
2905 current limitations of grub-mkconfig.
2906 Reported by: Leslie Rhorer.
2907
2908 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 Old macs search for boot.efi rather than for bootia32.efi.
2911
2912 * util/grub-install.in: Copy bootia32.efi to boot.efi.
2913 * util/grub-mkrescue.in: Likewise.
2914 Suggested by: Peter Jones.
2915
2916 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
2919
2920 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
2923 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
2924 (grub_lvm_mirror): New struct.
2925 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
2926 (grub_lvm_iterate): Iterate only visible volumes.
2927 (grub_lvm_read): Factor out to ..
2928 (read_lv): ... this. Support mirrors.
2929 (grub_lvm_read): New wrapper function.
2930 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
2931 stripped or mirrored.
2932
2933 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
2936
2937 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2938
2939 * docs/grub.texi (loopback): New section.
2940
2941 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2942
2943 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
2944 removed -p option.
2945
2946 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2947
2948 * docs/grub.texi (BIOS installation): New section, partly based on
2949 previous text in other sections.
2950 (Installing GRUB using grub-install): Replace BIOS discussion with a
2951 cross-reference.
2952 (Images): Likewise.
2953
2954 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/kern/emu/hostdisk.c (find_partition_start)
2957 [HAVE_DIOCGDINFO]: Add safety checks.
2958
2959 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
2962 per default compiled in kernel and prior to 8.0 isn't shipped at all.
2963
2964 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2965
2966 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
2967 real_sb->size is zero (e.g. RAID-0), get the disk size from
2968 real_sb->data_size instead.
2969 Fixes Ubuntu bug #743136.
2970
2971 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
2974 printf clauses for printing size and start.
2975
2976 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
2979 Reported and tested by: Timothy Nikkel.
2980
2981 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
2984 (dirty_region_add_real): ... this.
2985 (dirty_region_add): Don't discard margin refresh when performing
2986 scheduled repaint.
2987
2988 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/lib/relocator.c (allocate_regstart)
2991 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
2992 terminals are capabple of malloc-free operation.
2993 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2994 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2995
2996 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
2997
2998 * util/grub-setup.c: Copy the partition table zone if floppy support
2999 is disabled, even if no partition table is found.
3000
3001 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
3002 during POST if an invalid partition table is contained in the PBR
3003 of the active partition when GRUB is installed to a partition.
3004
3005 2011-03-28 Colin Watson <cjwatson@debian.org>
3006
3007 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
3008 comment.
3009
3010 2011-03-28 Colin Watson <cjwatson@debian.org>
3011
3012 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
3013 to be specific about what kind of RAID device we're scanning for.
3014
3015 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
3016
3017 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
3018 return freed string.
3019
3020 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
3023
3024 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Use libgeom on FreeBSD to detect partitions.
3027
3028 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
3029 (grub-mkrelpath): Likewise.
3030 (grub-script-check): Likewise.
3031 (grub-editenv): Likewise.
3032 (grub-mkpasswd-pbkdf2): Likewise.
3033 (grub-fstest): Likewise.
3034 (grub-mkfont): Likewise.
3035 (grub-mkdevicemap): Likewise.
3036 (grub-probe): Likewise.
3037 (grub-setup): Likewise.
3038 (grub-ofpathname): Likewise.
3039 (grub-mklayout): Likewise.
3040 (example_unit_test): Likewise.
3041 (grub-menulst2cfg): Likewise.
3042 * grub-core/Makefile.core.def (grub-emu): Likewise.
3043 (grub-emu-lite): Likewise.
3044 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
3045 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
3046 define HAVE_DIOCGDINFO.
3047 (follow_geom_up) [FreeBSD]: New function.
3048 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
3049 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
3050 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
3051 unconditionally of HAVE_DIOCGDINFO.
3052
3053 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 Fix FreeBSD compilation problem.
3056
3057 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
3058 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
3059
3060 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
3061
3062 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
3063 Switch back to page zero before loading a kernel, since some kernel
3064 drivers expect that.
3065 Thanks to: Felix Kuehling.
3066
3067 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
3070 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
3071 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
3072
3073 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
3076 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
3077
3078 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
3081 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
3082 malloc is disabled.
3083
3084 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
3087 for modules headers when counting the needed allocation size.
3088
3089 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
3092 if no ASCII character is found to prevent crash.
3093
3094 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
3095
3096 * grub-core/video/bitmap.c (match_extension): Ignore case.
3097
3098 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
3101
3102 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/script/parser.y: Declare "time" as valid argument.
3105
3106 2011-03-23 Peter Jones <pjones@redhat.com>
3107
3108 Fix incorrect assert failure reporting.
3109
3110 * grub-core/tests/example_functional_test.c (example_test): Add
3111 a failure comment.
3112 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
3113 (failure_start): ...this. Check that malloc succeeded.
3114 Don't call xvasprintf. Return failure struct.
3115 (failure_append_vtext): New function.
3116 (failure_append_text): Likewise.
3117 (add_failure): Likewise.
3118 (grub_test_assert_helper): Likewise.
3119 * include/grub/test.h (grub_test_assert_helper): New declaration.
3120 (grub_test_assert): Macro rewritten.
3121
3122 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
3125
3126 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
3129
3130 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
3133 into GRUB-style one.
3134
3135 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
3138 error and not grub_errno.
3139 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3140
3141 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
3144 GRUB_USB_SPEED_NONE in case of failure and not the error code.
3145
3146 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/efiemu/i386/pc/cfgtables.c
3149 (grub_machine_efiemu_init_tables): Make declaration a prototype.
3150 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
3151 (grub_xnu_unlock): Likewise.
3152 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
3153
3154 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
3157 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
3158 * grub-core/commands/hashsum.c (aliases): Likewise.
3159 * grub-core/commands/setpci.c (pci_registers): Likewise.
3160 * grub-core/disk/usbms.c (attach_hook): Likewise.
3161 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
3162 (zio_checksum_table): Likewise.
3163 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
3164 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
3165 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
3166 * grub-core/lib/relocator.c (leftovers): Likewise.
3167 (extra_blocks): Likewise.
3168 * grub-core/loader/i386/bsd.c (relocator): Likewise.
3169 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
3170 (modules_last): Likewise.
3171 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
3172 (devices): Likewise.
3173 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
3174 (modules_last): Likewise.
3175 * grub-core/normal/auth.c (users): Likewise.
3176 * grub-core/normal/context.c (initial_menu): Likewise.
3177 (current_menu): Likewise.
3178 * grub-core/normal/crypto.c (crypto_specs): Likewise.
3179 * grub-core/term/serial.c (grub_serial_ports): Likewise.
3180 (grub_serial_terminfo_input_template): Likewise.
3181 (grub_serial_terminfo_output_template): Likewise.
3182 (grub_serial_terminfo_input): Likewise.
3183 (grub_serial_terminfo_output): Likewise.
3184 (registered): Likewise.
3185 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
3186
3187 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
3190 grub_video_mode_type_t.
3191 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
3192 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
3193 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
3194
3195 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * util/grub-install.in: Correct the x86-64 name as x86_64.
3198
3199 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
3200
3201 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
3202 initial chunk read from the kernel always includes GRUB's multiboot
3203 header, which is now outside the first sector.
3204
3205 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3206
3207 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
3208 cached mmap_size, so that this works correctly when called multiple
3209 times.
3210 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
3211
3212 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3213
3214 * docs/grub.texi (Simple configuration): Tidy up formatting.
3215
3216 2011-03-07 Szymon Janc <szymon@janc.net.pl>
3217
3218 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
3219 Set-but-not-used variable removed.
3220
3221 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 Workaround yet another IEEE1275 bug.
3224
3225 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3226 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
3227 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
3228 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
3229 is set.
3230 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3231 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
3232
3233 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
3236 error.
3237
3238 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
3239
3240 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
3241 empty, since in that case we can only generate either nothing or a
3242 syntactically invalid configuration file.
3243 Reported by: Michal Suchanek. Fixes Debian bug #612898.
3244
3245 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3246
3247 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
3248 (Making a GRUB bootable CD-ROM): Likewise.
3249 (Invoking grub-mkrescue): New section.
3250 Reported by: Yann Dirson. Fixes Debian bug #612585.
3251
3252 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3253
3254 * util/grub-install.in: Remove unnecessary brackets from tr
3255 arguments.
3256 * util/grub.d/10_hurd.in: Likewise.
3257 * util/grub.d/10_kfreebsd.in: Likewise.
3258 * util/grub.d/10_linux.in: Likewise.
3259 * util/grub.d/20_linux_xen.in: Likewise.
3260 Reported by: Jamie Heilman. Fixes Debian bug #612564.
3261
3262 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
3263
3264 * include/grub/file.h (not_easly_seekable): Rename to ...
3265 (not_easily_seekable): ... this. Update all users.
3266
3267 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
3268
3269 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
3270 grub-mkrescue.
3271
3272 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * util/grub-mkimage.c (generate_image): Refuse to create the images
3275 bigger than the actual flash (512K) in Loongson machines. 512K is also
3276 the biggest chip supported by them.
3277
3278 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
3281
3282 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
3283
3284 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
3285 super_offset field.
3286
3287 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * util/grub-install.in: Ignore install device on platforms
3290 where it doesn't make sense. Always use UUIDs except on pc, efi and
3291 sparc64.
3292 Reported by: Daniel Kahn Gillmor.
3293
3294 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
3297
3298 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
3301 (iterate_real): Don't rely on partition being non-NULL.
3302
3303 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
3306 supported platforms. Put a compile time assert for this rather than
3307 generate a warning with 32-bit shift.
3308
3309 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
3312 logical expression more readable.
3313
3314 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
3317 even if some elements have a name.
3318 Reported by: Alexander GQ Gerasiov.
3319
3320 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3321
3322 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
3323 path unreadable if `grub-probe -t abstraction' fails, for example if
3324 memberlist fails on an LVM volume group.
3325 Reported by: Darius Jahandarie.
3326
3327 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3328
3329 * docs/grub.texi (Simple configuration): Document
3330 GRUB_PRELOAD_MODULES.
3331
3332 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
3333
3334 * .bzrignore: Remove nonexistent grub-pbkdf2.
3335
3336 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * configure.ac: Bump version to 1.99~rc1.
3339
3340 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
3343 for safety.
3344
3345 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
3348 module.
3349
3350 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3353
3354 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3357 diskdevid.
3358
3359 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 Fix compilation on cygwin.
3362
3363 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3364 -R .drectve on cygwin.
3365 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3366 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3367 (COND_CYGWIN): New condition.
3368 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3369 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3370 not @TARGET_OBJ2ELF@.
3371 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3372 type to determine whether aux is to be used.
3373
3374 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3377 realpath'ed device string.
3378 Handle floppy (somewhat).
3379 Issue error in unknown case rather than garbage.
3380 Reported by: Axel Beckert.
3381
3382 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * util/grub.d/00_header.in (load_video): Handle the case when no video
3385 drivers available.
3386 Thanks to: Axel Beckert.
3387
3388 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3391 variable. Fixes problem on big endian platforms.
3392
3393 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3396 It doesn't work well there.
3397
3398 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3401 warning.
3402 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3403 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3404 counter.
3405
3406 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 Use alias->path rather than buggy "canon".
3409
3410 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3411 (ofdisk_hash_add): New argument curcan. All users updated.
3412
3413 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3414
3415 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3416
3417 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3420 loadmask before doing any calculations. Use correct type for offset.
3421 (grub_linux_load64): Likewise.
3422
3423 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3424
3425 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3426 with NULL.
3427 (console_grub_equivalences_unshift): Likewise.
3428 Reported by: Daniel Dehennin.
3429
3430 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3433 (set_env_limn_ro): Likewise.
3434 (GRUB_MOD_INIT): Likewise.
3435 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3436 ARRAY_SIZE while on it.
3437 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3438 * grub-core/normal/context.c (grub_env_export): Move from here ...
3439 * grub-core/kern/env.c (grub_env_export): ... here.
3440 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3441 prefix.
3442 * grub-core/kern/main.c (grub_main): Export root and prefix.
3443 * include/grub/env.h (grub_env_export): Export.
3444 Reported by: Seth Goldberg.
3445
3446 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3449 Take into account space used by ELF sections and multiboot palette.
3450 Reported by: Grégoire Sutre.
3451
3452 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * BUGS: New file.
3455
3456 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 Pass more appropriate video id to Linux.
3459
3460 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3461 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3462 fill have_vga.
3463 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3464 shift params->lfb_size.
3465 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3466
3467 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3470
3471 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3474 separator and pass bootpath/devid even if only one of them is available.
3475 Reported by: Seth Goldberg.
3476
3477 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3480 implementations bug on them.
3481
3482 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3483 memory.
3484 (filter_memory_map): Likewise.
3485
3486 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3489 Reported by: nebuchadnezzar.
3490
3491 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3494 Reported by: nebuchadnezzar.
3495
3496 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Submenu default support.
3499
3500 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3501 auto_boot. All users updated.
3502 Declared static.
3503 Handle chosen and default with submenus.
3504 (grub_menu_execute_with_fallback): Declared static.
3505 Don't notify failure if autobooted. Upper level does it.
3506 (menuentry_eq): New function.
3507 (get_entry_number): Use menuentry_eq.
3508 (show_menu): New parameter "autobooted". All users updated.
3509 (grub_show_menu): Likewise.
3510 * include/grub/normal.h (grub_show_menu): Likewise.
3511 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3512 (grub_menu_execute_with_fallback): Likewise.
3513
3514 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * util/grub-mklayout.c (usage): Update help text.
3517
3518 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3521
3522 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * util/grub-menulst2cfg.c (main): Trim the line.
3525
3526 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3529 (grub_machine_init): Don't check amount of low memory as reportedly
3530 INT 12h can be broken and if low memory is too low we wouldn't have
3531 gotten into grub_machine_init anyway.
3532
3533 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3536 (grub_machine_mmap_iterate): Take low memory into account
3537
3538 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3541 badfs.
3542 Reported by: TiCPU.
3543
3544 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3547 members errors.
3548
3549 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3550
3551 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3552 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3553
3554 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3555
3556 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3557 openbsd and netbsd types being in part_bsd module.
3558
3559 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3562 (_FILE_OFFSET_BITS): Likewise.
3563 Reported by: Seth Goldberg.
3564
3565 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3566
3567 * configure.ac: Check for libdevmapper header.
3568
3569 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3572 avoid aliasing.
3573 (fzap_lookup): Likewise.
3574 (dnode_get): Likewise.
3575 (make_mdn): Likewise.
3576 (zfs_mount): Likewise.
3577 (fzap_iterate): Use temporary pointer to avoid aliasing.
3578 (grub_zfs_read): Likewise.
3579 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3580 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3581 pointers to avoid aliasing.
3582 (grub_cmd_xnu_kernel64): Likewise.
3583 (grub_xnu_load_driver): Likewise.
3584
3585 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3588 aliasing warning.
3589 (grub_cmd_terminal_output): Likewise.
3590 Reported and tested by: Grégoire Sutre.
3591
3592 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3595 warning.
3596 Reported and tested by: Grégoire Sutre.
3597
3598 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * configure.ac: Do CPU substitution even if it's specified explicitly.
3601 Reported and tested by: Alain Greppin.
3602
3603 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3606 Reported and tested by: Alain Greppin.
3607
3608 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 Satisfy some bison versions need for inttypes.h.
3611
3612 * grub-core/lib/posix_wrap/inttypes.h: New file.
3613 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3614 (int16_t): Likewise.
3615 (int32_t): Likewise.
3616 (int64_t): Likewise.
3617 Reported and tested by: Alain Greppin.
3618
3619 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
3622 Silence spurious warning.
3623 Reported and tested by: Alain Greppin.
3624
3625 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3626
3627 * docs/grub.texi (Support automatic decompression): Update with xz
3628 decompression support.
3629
3630 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3631
3632 Improve loaders' kernel command line handling.
3633
3634 * grub-core/lib/cmdline.c: New file.
3635 * include/grub/lib/cmdline.h: Likewise.
3636 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
3637 grub_create_loader_cmdline to create kernel command line.
3638 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3639 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
3640 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
3641 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
3642 (linux): Add lib/cmdline.c on common.
3643
3644 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
3647 inopos might be unaligned.
3648
3649 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3652 endian transformations.
3653 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3654 Based on report by: Doug Nazar.
3655
3656 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
3657
3658 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
3659 array->members[i].start_sector.
3660 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3661
3662 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
3665 Reported and tested by: Grégoire Sutre.
3666
3667 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
3668
3669 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
3670 avoid causing test failures by clearing the screen.
3671
3672 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
3673
3674 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3675 Fix prefix check to handle the case where dir ends with a slash
3676 (most significantly, "/" itself).
3677 Reported by: Michael Vogt.
3678
3679 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Run terminfo_cls on initing terminfo output to clear the screen and
3682 move the cursor to (0,0).
3683
3684 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
3685 Call grub_terminfo_output_init.
3686 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
3687 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
3688 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
3689
3690 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
3693 only when needed.
3694
3695 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
3698 CTRL.
3699
3700 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 The E820 type 5 is BADRAM, not EXEC_CODE.
3703
3704 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3705 (GRUB_E820_BADRAM): New define.
3706 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
3707 into reserved. Propagate BADRAM.
3708 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3709 (GRUB_E820_BADRAM): New define.
3710
3711 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
3714 Ignore the memory post-4G.
3715 (grub_relocator_firmware_alloc_region): Additional debug statement.
3716
3717 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
3720 names.
3721 Reported by: David Pravec.
3722
3723 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
3726 BIOSes.
3727
3728 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
3731 Prevent overflow.
3732 (grub_reed_solomon_recover): Likewise.
3733
3734 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
3737
3738 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
3741 variable.
3742
3743 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
3744
3745 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
3746 descriptions of extract_legacy_entries_source and
3747 extract_legacy_entries_configfile.
3748 Reported by: Seung Soo, Ha.
3749
3750 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
3751
3752 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
3753 on devices that do not implement function 0.
3754
3755 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
3756
3757 * grub-core/fs/hfsplus.c: Make parent unsigned.
3758 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
3759 overflows.
3760 (grub_hfsplus_cmp_extkey): Likewise
3761
3762 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * util/grub-install.in: Correctly use bootloader_id and not
3765 GRUB_DISTRIBUTOR on efibootmgr line.
3766
3767 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
3770
3771 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
3772
3773 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
3774 Xen and reorder menu item wording to make it clearer that this entry
3775 will launch Xen. Print separate messages when loading Xen and
3776 Linux.
3777
3778 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
3781 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
3782 loop in case of incorrect amiga partmap.
3783
3784 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
3787 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
3788 Reported by:EHeM.
3789
3790 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
3793 spurious warning.
3794 Reported by: crocket
3795
3796 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
3799 Preload EFIemu.
3800 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
3801
3802 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
3805 is loaded
3806 (grub_cmd_xnu_kextdir): Likewise.
3807 (grub_cmd_xnu_splash): Likewise.
3808
3809 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 Avoid using Reed-Solomon with 0 redundancy.
3812
3813 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
3814 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
3815 or 0 redundancy.
3816 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
3817 (grub_reed_solomon_recover): Likewise.
3818
3819 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 Don't use disk subsystem in freebsd_boot.
3822
3823 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
3824 (freebsd_biosdev): Likewise.
3825 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
3826 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
3827
3828 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 Handling of files of unknown size is currently limited. They can't be
3831 used e.g. for initrd or modules. Moreover gzip handling of not
3832 easily seekable files is buggy. Disable unknown file size for now. May
3833 be inefficient but works.
3834
3835 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
3836 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3837
3838 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
3839
3840 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
3841 floppy probe.
3842
3843 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
3844
3845 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
3846
3847 2010-12-25 Shea Levy <shlevy>
3848
3849 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
3850
3851 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
3854 Windows Server 2008.
3855 Reported by: Devin Giddings.
3856
3857 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
3860 writing an error message because of async power management.
3861 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
3862 (grub_reboot): Likewise.
3863
3864 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
3865
3866 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
3867 keep unit tests from failing when they shouldn't.
3868
3869 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3870
3871 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
3872 previous patch increased the size of the RS code by 20 bytes (at
3873 least with gcc-4.4), so increase this by 20 bytes to match.
3874 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3875
3876 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3877
3878 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
3879 scratch area. Make sure to initialise chosen in standalone mode as
3880 well as non-standalone.
3881 Reported by: Robert Hooker and Andy Whitcroft.
3882 Tested by: Andy Whitcroft.
3883
3884 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3885
3886 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
3887 constructing a new unescaped string and passing it to grub_xputs in
3888 one go, rather than passing characters to grub_printf one at a time.
3889
3890 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3891
3892 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
3893 initialising utf16.
3894
3895 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3896
3897 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
3898 comment. Add an extra layer of quotation, requiring the output of
3899 this function to be used in a printf format string.
3900 (gettext_printf): New function.
3901 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
3902 Extract translatable strings from here-documents and use a temporary
3903 variable instead, so that xgettext can find them.
3904 * util/grub.d/10_kfreebsd.in: Likewise.
3905 * util/grub.d/10_linux.in: Likewise.
3906 * util/grub.d/20_linux_xen.in: Likewise.
3907
3908 * po/grub.d.sed: New file.
3909 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
3910 arguments. Set c-format flags on all strings extracted from
3911 util/grub.d/ (xgettext refuses to include these itself for strings
3912 it extracted from a shell file, but these really are c-format).
3913
3914 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
3917 Avoid next pointing to nowhere.
3918
3919 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
3922 rather than assuming than rootblock is exactly in the middle.
3923 (grub_affs_label): Likewise.
3924
3925 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
3928 reserved_first_sector to 0.
3929 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
3930 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
3931 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
3932
3933 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 Fix handling of UTF-16 UDF labels.
3936
3937 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
3938 (read_string): .. here.
3939 (grub_udf_label): Use read_string.
3940
3941 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
3942
3943 * grub-core/normal/menu_entry.c (run): Execute commands from menu
3944 editor under argument scope.
3945 Reported by: Jordan Uggla
3946
3947 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
3950
3951 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
3952
3953 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
3954 line, and other keys scroll an entire page (previous handling was
3955 for \r and \n to scroll a page and other keys to scroll two lines).
3956
3957 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3960 Set ptrdest to correct get_physical_target_address rather than
3961 incorrect get_virtual_current_address.
3962
3963 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
3964
3965 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
3966 correct cat to grub_uint8_t * rather than grub_uint32_t *.
3967
3968 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
3969
3970 * .bzrignore: Ignore grub-core/rs_decoder.S.
3971
3972 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
3973
3974 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
3975 .mo/.mo.gz opening sequence to ...
3976 (grub_mofile_open_lang): ... here.
3977 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
3978 * util/grub.d/00_header.in (grub_lang): Include country part of
3979 locale.
3980 Reported by: Mario Limonciello.
3981
3982 2010-12-09 Robert Millan <rmh@gnu.org>
3983
3984 * NEWS: Document addition of ZFS support.
3985
3986 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
3987
3988 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
3989 rather than `/ 2', as the latter requires -Wa,--divide which would
3990 require bumping our minimum binutils version.
3991
3992 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
3993
3994 * util/grub-script-check.c (main): Print script line number on
3995 error.
3996
3997 2010-12-01 Robert Millan <rmh@gnu.org>
3998
3999 * grub-core/fs/zfs/zfs.c: New file.
4000 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
4001 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
4002 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
4003 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4004
4005 * include/grub/zfs/dmu.h: Likewise.
4006 * include/grub/zfs/dmu_objset.h: Likewise.
4007 * include/grub/zfs/dnode.h: Likewise.
4008 * include/grub/zfs/dsl_dataset.h: Likewise.
4009 * include/grub/zfs/dsl_dir.h: Likewise.
4010 * include/grub/zfs/sa_impl.h: Likewise.
4011 * include/grub/zfs/spa.h: Likewise.
4012 * include/grub/zfs/uberblock_impl.h: Likewise.
4013 * include/grub/zfs/vdev_impl.h: Likewise.
4014 * include/grub/zfs/zap_impl.h: Likewise.
4015 * include/grub/zfs/zap_leaf.h: Likewise.
4016 * include/grub/zfs/zfs.h: Likewise.
4017 * include/grub/zfs/zfs_acl.h: Likewise.
4018 * include/grub/zfs/zfs_znode.h: Likewise.
4019 * include/grub/zfs/zil.h: Likewise.
4020 * include/grub/zfs/zio.h: Likewise.
4021 * include/grub/zfs/zio_checksum.h: Likewise.
4022
4023 * Makefile.util.def: Build ZFS into libgrubmods.
4024 * grub-core/Makefile.core.def: Build zfs.mod.
4025
4026 2010-11-30 Szymon Janc <szymon@janc.net.pl>
4027
4028 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
4029 variable.
4030 * grub-core/commands/wildcard.c (match_files): Likewise.
4031
4032 2010-11-30 Robert Millan <rmh@gnu.org>
4033
4034 * grub-core/loader/i386/bsd.c
4035 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
4036 whether kernel is loaded using grub_loader_is_loaded(), rather
4037 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
4038 certain error conditions.
4039
4040 2010-11-30 Robert Millan <rmh@gnu.org>
4041
4042 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4043 (grub_cmd_echo): Call grub_refresh() after printing a message.
4044
4045 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 Avoid using tricks for initialising endian variables.
4048
4049 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
4050 Make const.
4051 (GRUB_MOD_INIT): Don't byte-swap.
4052 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4053 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
4054 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
4055 (grub_swap_bytes32_compile_time): Likewise.
4056 (grub_cpu_to_le32_compile_time): Likewise.
4057 (grub_cpu_to_le16_compile_time): Likewise.
4058
4059 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * util/grub-setup.c (setup): Stop recommending --force. People who
4062 understand the dangers of blocklists are able to find this option
4063 anyway and the ones who don't shouldn't use it anyway.
4064
4065 2010-11-26 Robert Millan <rmh@gnu.org>
4066
4067 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
4068 Update all users.
4069
4070 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
4071
4072 Fix LVM-on-RAID probing.
4073
4074 * util/grub-probe.c (probe): Remember which disk was detected as
4075 RAID (perhaps an LVM physical volume). Use that disk's raidname
4076 rather than that of the top-level disk.
4077
4078 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
4079
4080 Fix cmdline argument quotes for setparams command of menuentry
4081 definitions.
4082
4083 * grub-core/commands/menuentry.c (setparams_prefix): Use single
4084 quotes for arguments.
4085 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
4086 grub_strchrsub function instead.
4087
4088 * include/grub/misc.h (grub_strchrsub): New function.
4089
4090 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4091
4092 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
4093 effort by skipping "." and ".." entries up-front.
4094 Suggested by: Michael Lazarev.
4095
4096 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4097
4098 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
4099 ldflags to ldadd, to fix link line ordering.
4100 (none_decompress): Likewise.
4101
4102 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4103
4104 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
4105 platforms.
4106 (grub-emu-lite): Remove kern/emu/cache.S.
4107
4108 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4109
4110 * util/deviceiter.c (compare_devices): If the by-id link for a
4111 device couldn't be resolved, fall back to sorting by the by-id link
4112 rather than segfaulting.
4113 Reported and tested by: Daniel Mierswa.
4114
4115 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4116
4117 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
4118 ldflags, to fix link line ordering.
4119
4120 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4121
4122 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
4123 linkers are picky about this.
4124
4125 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4126
4127 * grub-core/Makefile.am (command.lst): Adjust sed expression
4128 ordering so that extended and priority commands aren't treated as
4129 ordinary commands.
4130
4131 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4132
4133 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4134 Remove byte-swapping function calls, which are not valid in
4135 structure initialisers.
4136 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
4137 non-const.
4138 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
4139 grub_gpt_partition_type_bios_boot.
4140
4141 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4142
4143 Fix test program build on GNU/kFreeBSD.
4144
4145 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
4146 $(LIBNVPAIR)' library dependencies.
4147
4148 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4149
4150 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
4151
4152 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4153
4154 * util/grub-install.in: Remove excessive quoting that broke
4155 installations to RAID devices.
4156
4157 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
4160 bootloader version instead of 0.
4161
4162 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
4165 warning.
4166
4167 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
4170 retrieve the metadat sector if size isn't known.
4171 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4172
4173 2010-11-18 Robert Millan <rmh@gnu.org>
4174
4175 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
4176 with grub_memcmp().
4177
4178 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
4181 arrow.
4182 Reported by: Jordan Uggla.
4183
4184 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 Make better UTF compliant.
4187
4188 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
4189 sequences as incorrect.
4190 (grub_is_valid_utf8): Likewise.
4191 (grub_utf8_to_ucs4): Likewise.
4192 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
4193 (grub_ucs4_to_utf8_alloc): Likewise.
4194 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
4195
4196 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Make legacy_source behave like source.
4199
4200 * grub-core/commands/legacycfg.c (legacy_file): Don't call
4201 grub_show_menu.
4202 (grub_cmd_legacy_source): Call grub_show_menu if needed.
4203
4204 2010-11-16 Colin Watson <cjwatson@debian.org>
4205
4206 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
4207 (-Wunused implies -Wunused-parameter, but not vice versa).
4208
4209 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
4210
4211 * configure.ac: Make error messages less confusing by testing for
4212 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
4213 accepted, but produces a diagnostic if something else is wrong).
4214
4215 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4218 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
4219 (now unused).
4220 (grub_keyboard_controller_init)
4221 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
4222 read the initial state since controller isn't inited yet.
4223
4224 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
4227 allocate_regbeg may need to create new chunk header.
4228
4229 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 Fix quoting in legacy parser.
4232
4233 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
4234 single quotes.
4235 (grub_legacy_parse): Likewise.
4236 Reported by: Jordan Uggla.
4237 Tested by: Jordan Uggla.
4238
4239 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Don't add -lgcc on i386 and x86_64.
4242
4243 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
4244 * conf/Makefile.common (LDADD_KERNEL): Likewise.
4245 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
4246
4247 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * configure.ac: Add -Wno-trampolines when supported.
4250
4251 2010-11-14 Modestas Vainius <modax@debian.org>
4252
4253 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
4254 fakeraid.
4255
4256 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4257
4258 Add generic logical block size support for UDF.
4259
4260 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
4261 (GRUB_UDF_BLKSZ): Removed.
4262 (struct grub_udf_data): New field "lbshift" to hold the logical block
4263 size of the file system in log2 format. All users updated.
4264 (sblocklist): Change type to unsigned.
4265 (grub_udf_mount): Change type of "sblklist" to unsigned.
4266 Move AVDP search before VRS recognition, because the latter requires
4267 knowledge of the logical block size, which is detected during the
4268 former.
4269 Detect and validate logical block size during AVDP search, adding
4270 support for block sizes 512, 1024 and 4096.
4271 Make VRS recognition independent of block size.
4272
4273 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4274
4275 Properly handle deleted files on UDF.
4276
4277 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
4278 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
4279 set.
4280
4281 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4282
4283 Support reading files larger than 2 GiB.
4284
4285 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
4286 "offset" to grub_off_t.
4287 (grub_udf_read_file): Likewise for parameter "pos".
4288
4289 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
4292 unavailable.
4293 (Simple configuration): Refer to Changes from GRUB Legacy about
4294 save_env availability.
4295
4296 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * util/grub-install.in: Ignore empty partition table detection
4299 instead of trying to include part_ module.
4300
4301 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
4304 LVM on RAID support.
4305
4306 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 Properly define WORDS_BIGENDIAN in wrapped environments.
4309
4310 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
4311 definition.
4312 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
4313
4314 Reported by: Manoel Rebelo Abranches.
4315 Tested by: Manoel Rebelo Abranches.
4316
4317 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * util/grub-mkconfig.in: Fix quoting.
4320
4321 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 Support big ext2 files.
4324
4325 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
4326 (grub_ext2_read_block): Support triple indirect blocks.
4327 (grub_ext2_read_file): Use 64-bit types and read size_high.
4328 (grub_ext2_open): Read size_high.
4329 Reported by: Ximin Luo.
4330 Tested by: Manoel Rebelo Abranches.
4331
4332 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * util/grub-install.in: Handle filenames containing spaces.
4335 Reported by: Jordan Uggla.
4336 Tested by: Jordan Uggla.
4337
4338 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * util/grub-mkconfig.in (grub_script_check): New variable.
4341 Use grub_script_check instead of grub-script-check.
4342 Reported by: Barry Jackson.
4343
4344 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * docs/grub.texi (menu): Correct the order.
4347 Reported by: D. Hugh Redelmeier.
4348
4349 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
4352 jump.
4353
4354 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4355
4356 * include/grub/elfload.h (grub_elf32_size): New parameter.
4357 All users updated.
4358 Return maximum segments alignment.
4359 (grub_elf64_size): Likewise.
4360 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4361 Return maximum segments alignment.
4362 (grub_elf64_size): Likewise.
4363 * grub-core/loader/powerpc/ieee1275/linux.c:
4364 (grub_linux_claimmap_iterate): New function. Uses the
4365 "available" property in the "memory" node for memory allocation
4366 for kernel in the PowerPC loader.
4367 (grub_linux_load32): Correctly find linux entry point offset.
4368 (grub_linux_load64): Likewise.
4369
4370 2010-11-07 Robert Millan <rmh@gnu.org>
4371
4372 On mips-yeeloong, build with -march=loongson2f when this flag is
4373 available (GCC >= 4.4).
4374 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4375 `-march=mips3'.
4376 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4377 or otherwise add -march=mips3.
4378
4379 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4380
4381 Suppress shell expansion on echo '*' and echo "*" like cases.
4382 Reported by: Jordan Uggla.
4383
4384 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4385 string arguments before shell expansion.
4386 * tests/grub_cmd_echo.in: New testcases.
4387
4388 2010-11-07 Robert Millan <rmh@gnu.org>
4389
4390 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4391 transition.
4392
4393 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/kern/emu/hostdisk.c
4396 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4397
4398 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4401 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4402 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4403
4404 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4407
4408 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * util/grub-install.in: Replace useless recomendation to pass
4411 --modules with a recomendation to report a bug.
4412
4413 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Properly register serial terminfo.
4416 Reported by: Jordan Uggla
4417
4418 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4419 const.
4420 (grub_serial_terminfo_output_template): Likewise.
4421 (grub_cmd_serial): Register "serial" with terminfo.
4422 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4423 grub_serial_terminfo_output.
4424
4425 2010-11-05 Robert Millan <rmh@gnu.org>
4426
4427 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4428 needed).
4429
4430 2010-11-05 Robert Millan <rmh@gnu.org>
4431
4432 On Yeeloong, pass machine type information to Linux.
4433
4434 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4435 (LOONGSON_MACHTYPE): New macro, set to
4436 "machtype=lemote-yeeloong-2f-8.9inches".
4437 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4438 additional argument to Linux.
4439
4440 2010-11-04 Robert Millan <rmh@gnu.org>
4441
4442 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4443 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4444 (its SATA disks are detected as slaveless IDE master drives on
4445 kFreeBSD).
4446 Reported by Carsten Aulbert.
4447
4448 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
4449
4450 * util/bin2h.c (main): Fix spelling error in generated output.
4451
4452 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4453
4454 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4455
4456 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4459 vga= option is supplied.
4460
4461 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4464 * util/grub.d/10_kfreebsd.in: Likewise.
4465 * util/grub.d/10_linux.in: Likewise.
4466 * util/grub.d/20_linux_xen.in: Likewise.
4467
4468 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4471 argument as an argument to no-argument option.
4472
4473 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * util/grub.d/10_linux.in: Add missing load_video with explicit
4476 GRUB_GFXPAYLOAD_LINUX.
4477
4478 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4481
4482 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4485 elements with invlid index.
4486 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4487 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4488 members.
4489 * include/grub/raid.h (grub_raid_member): New struct.
4490 (grub_raid_array): Transform devices and start_sector into usage of
4491 grub_raid_member. All users updated
4492 (allocated_devs): New member.
4493
4494 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4497 is modified
4498
4499 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4500
4501 NetBSD build fix for getline function conflict from gnulib.
4502
4503 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4504 components that depend on gnulib headers.
4505 (libgrubmods.a): Renamed from earlier libgrub.a.
4506 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4507
4508 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4511 install rather than creating a broken install.
4512
4513 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * util/grub-setup.c (argp): Remove misleading example of installing to
4516 a partition.
4517
4518 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * util/grub-setup.c (setup): Clarify the error message.
4521
4522 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4525
4526 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * grub-core/kern/emu/misc.c
4529 (grub_make_system_path_relative_to_its_root)
4530 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4531
4532 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/kern/emu/misc.c
4535 (grub_make_system_path_relative_to_its_root): Revert r2882.
4536
4537 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4540 useless field head. All users updated.
4541 (free_subchunk): Correct handling of IN_REGION subchunk.
4542
4543 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
4544
4545 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4546 (Supported kernels): Likewise.
4547
4548 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4549
4550 Make mktemp invocations portable.
4551
4552 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4553 exit if mktemp fails.
4554 * tests/grub_script_blockarg.in: Likewise.
4555 * tests/partmap_test.in: Likewise.
4556 * tests/util/grub-shell-tester.in: Likewise.
4557 * tests/util/grub-shell.in: Likewise.
4558 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4559 * Makefile.am: Likewise, and chain shell commands with `&&'
4560 instead of ';'.
4561 * util/grub-mkrescue.in: Use the same explicit template as above, and
4562 exit if mktemp fails.
4563
4564 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4565
4566 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4567 Linux kernel, reported by Dennis Schridde.
4568
4569 2010-10-17 Szymon Janc <szymon@janc.net.pl>
4570
4571 * grub-core/normal/auth.c (grub_auth_check_authentication):
4572 Set-but-not-used variable removed.
4573
4574 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4577 32-bit linux protocol.
4578
4579 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4582 cursor shape for sanity.
4583
4584 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * docs/grub.texi (Installation): Document buggy BIOS install.
4587
4588 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * docs/grub.texi (Installation): Indent.
4591
4592 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * util/grub-setup.c (setup): New parameter allow_floppy.
4595 (arguments): New member allow_floppy.
4596 (argp_parser): Handle --allow-floppy.
4597 (main): Pass allow_floppy.
4598 * util/grub-install.in: New option --allow-floppy passed though to
4599 grub-setup.
4600
4601 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * util/grub-install.in: Handle partitionless disks.
4604
4605 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * util/grub-setup.c (setup): Don't clean blocklists before readability
4608 verfification.
4609
4610 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * docs/grub.texi (Installation): Document embedding zone. Remove
4613 obsolete grub-install example.
4614
4615 2010-10-16 Szymon Janc <szymon@janc.net.pl>
4616
4617 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4618 Set-but-not-used variable ifdef'ed.
4619 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
4620 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
4621 variable removed.
4622 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
4623 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
4624 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4625 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
4626 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
4627 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4628 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
4629 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
4630 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4631 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
4632 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
4633 Likewise.
4634
4635 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
4638 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
4639 enum value.
4640
4641 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4644 synonym to _S5_. Needed for some DSDTs.
4645
4646 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 Userspace ACPI parser debugging.
4649
4650 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
4651 headers and add relevant defines. Don't include standard headers.
4652 (main) [GRUB_DSDT_TEST]: New function.
4653 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
4654 Don't declare functions.
4655
4656 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Remove dead grub_efi_mm_fini.
4659
4660 * grub-core/kern/efi/mm.c (allocated_page): Removed.
4661 (ALLOCATED_PAGES_SIZE): Likewise.
4662 (MAX_ALLOCATED_PAGES): Likewise.
4663 (allocated_pages): Likewise.
4664 (grub_efi_allocate_pages): Don't record allocated pages.
4665 (grub_efi_free_pages): Likewise.
4666 (grub_efi_mm_init): Likewise.
4667 (grub_efi_mm_fini): Removed.
4668
4669 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
4672 (grub_efi_mm_init): Take into account the memory map size increase.
4673
4674 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
4677 (serial_hw_put): Wait based on real time rather than port reads. Don't
4678 roken ports.
4679 * include/grub/serial.h (grub_serial_port): New field broken.
4680
4681 2010-10-16 Robert Millan <rmh@gnu.org>
4682
4683 * grub-core/kern/emu/misc.c
4684 (grub_make_system_path_relative_to_its_root): Fix premature return
4685 when processing non-root ZFS filesystems.
4686 Reported by Sergio Talens-Oliag.
4687
4688 2010-10-15 Robert Millan <rmh@gnu.org>
4689
4690 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
4691 guarantee compressed ones are processed first.
4692
4693 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
4696 grub_efiemu_autocore.
4697
4698 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
4701 rather than 0x1b.
4702 (grub_console_getkey): Use correct jae opcode rather than ja.
4703
4704 2010-10-12 Robert Millan <rmh@gnu.org>
4705
4706 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
4707 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
4708 variable. All references updated.
4709
4710 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
4711
4712 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 Correctly distinguish mdraid flavours.
4715
4716 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
4717 (insert_array): New argument raid.
4718 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
4719 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
4720 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
4721
4722 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
4725 handling of special keys.
4726
4727 2010-10-02 Aleš Nesrsta <starous@volny.cz>
4728
4729 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
4730 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
4731
4732 2010-10-02 Aleš Nesrsta <starous@volny.cz>
4733
4734 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
4735 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
4736 users updated.
4737 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
4738 Use right endpoint when querying descriptor.
4739
4740 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Clear out 0x80 color bit on EFI.
4743 Tested by: decoder
4744 Reported by: decoder and meta tech.
4745
4746 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
4747 (grub_console_setcolorstate): Clear out 0x80 bit.
4748 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
4749 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
4750 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
4751
4752 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
4755 Set to "auto".
4756
4757 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
4760 mo_file after freeing.
4761
4762 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
4765
4766 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
4769 flags.
4770
4771 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
4774 usage.
4775
4776 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 Put terminfo into core on ieee1275 and yeeloong (needed for console).
4779
4780 * gentpl.py: New groups terminfoinkernel and terminfomodule.
4781 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
4782 and terminfo.h when needed.
4783 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
4784 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
4785 (terminfo): Enable only on terminfokernel.
4786 (extcmd): Likewise.
4787 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
4788 * include/grub/lib/arg.h: Likewise.
4789 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
4790 incorrect usage of ->.
4791
4792 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
4795 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
4796
4797 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 Fix coreboot compilation.
4800
4801 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4802 Take VBE info into account even if only text is supported.
4803 (fill_vbe_info): Take into account the case when only VGA text
4804 is supported.
4805 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
4806 on coreboot, multiboot and qemu.
4807
4808 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
4811 debug messages.
4812 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
4813
4814 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
4817 parameters.
4818
4819 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
4822 if they were BSD-style.
4823
4824 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/boot/i386/pc/lnxboot.S: Replace
4827 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
4828 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
4829
4830 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 Write embedding zone using Reed-Solomon.
4833
4834 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
4835 * grub-core/Makefile.am (rs_decoder.S): New target.
4836 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
4837 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
4838 (multiboot): Move to RS part.
4839 (post_reed_solomon): New label.
4840 (grub_boot_drive): Move to non-RS part since it's modified in memory
4841 on boot.
4842 Include rs_decoder.S.
4843 * grub-core/lib/reed_solomon.c: New file.
4844 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
4845 New definition.
4846 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
4847 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
4848 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
4849 * include/grub/partition.h (grub_partition_map): Change prototype of
4850 embed to allow returning additional sectors.
4851 * include/grub/reed_solomon.h: New file.
4852 * util/grub-setup.c (setup): Handle Reed-Solomon.
4853
4854 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
4855
4856 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4857 i386 and x86-64 definedness tests.
4858
4859 2010-09-27 Yves Blusseau <blusseau@zetam.org>
4860
4861 Fix generation of kernel_syms.lst
4862
4863 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
4864 ASM_PREFIX
4865
4866 2010-09-26 Robert Millan <rmh@gnu.org>
4867
4868 Support degraded ZFS arrays in "grub-probe -t device" resolution.
4869
4870 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
4871 the pool is an array of devices, iterate through it and return the
4872 first device that passes a stat() test (instead of blindly returning
4873 the first one).
4874
4875 2010-09-26 Robert Millan <rmh@gnu.org>
4876
4877 Build fixes for GNU/kFreeBSD.
4878
4879 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
4880 to programs that require ZFS conversion.
4881 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
4882 kernels that don't have FLOPPY_MAJOR.
4883
4884 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4885
4886 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
4887
4888 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4889
4890 Fix grub-emu build.
4891
4892 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
4893 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
4894 mdraid09 and mdraid1x.
4895
4896 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
4897
4898 Re-enable grub-extras.
4899
4900 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
4901 avoid confusing Automake. Run autogen only twice, once for the top
4902 level and once for grub-core. Add Makefile.util.def and
4903 Makefile.core.def from extra modules to the appropriate autogen
4904 invocations. If Makefile.common exists in an extra module, include
4905 it in both Makefile.util.am and grub-core/Makefile.core.am;
4906 similarly, include any Makefile.util.common file in Makefile.util.am
4907 and any Makefile.core.common file in grub-core/Makefile.core.am.
4908 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
4909 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
4910 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
4911 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
4912
4913 * gentpl.py (gvar_add): Turn GVARS into a set.
4914 (global_variable_initializers): Sort global variables on output.
4915 (vars_init): New function.
4916 (first_time): Likewise.
4917 (library): Ensure that non-global variable initialisations are
4918 emitted before the first time we emit code for a library block.
4919 Append to variables rather than setting them. Only emit
4920 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
4921 each conditional path.
4922 (program): installdir() emits an Autogen macro, so must be passed to
4923 var_add rather than gvar_add.
4924 (data): Likewise.
4925 (script): Likewise.
4926 (rules): New function, centralising handling for different target
4927 types. Set up Guile association lists for first_time and vars_init,
4928 and send most output to a diversion so that variable initialisations
4929 can be emitted first.
4930 (module_rules): Use new rules function.
4931 (kernel_rules): Likewise.
4932 (image_rules): Likewise.
4933 (library_rules): Likewise.
4934 (program_rules): Likewise.
4935 (script_rules): Likewise.
4936 (data_rules): Likewise.
4937
4938 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
4939
4940 * .bzrignore: Add contrib and grub-core/contrib. Remove
4941 grub-core/Makefile.gcry.am.
4942
4943 2010-09-24 Yves Blusseau <blusseau@zetam.org>
4944
4945 * grub-core/lib/LzFind.c: Add missing include.
4946 * grub-core/lib/LzmaEnc.c: Likewise.
4947 * grub-core/script/lexer.c: Likewise.
4948 * grub-core/script/yylex.l: Likewise.
4949 * util/grub-macho2img.c: Likewise.
4950 * util/grub-menulst2cfg.c: Likewise.
4951 * util/grub-mklayout.c: Likewise.
4952 * util/grub-mkpasswd-pbkdf2.c
4953 * util/grub-mkrelpath.c: Likewise.
4954 * util/resolve.c: Likewise.
4955
4956 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
4957
4958 * Makefile.util.def (example_unit_test): Add
4959 grub-core/gnulib/libgnu.a.
4960
4961 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
4962
4963 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
4964
4965 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 Support xz compression on yeeloong.
4968
4969 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
4970 * configure.ac: Check for LZMA.
4971 * grub-core/Makefile.core.def (xz_decompress): New target.
4972 (none_decompress): Likewise.
4973 * grub-core/boot/decompressor/minilib.c: New file.
4974 * grub-core/boot/decompressor/none.c: Likewise.
4975 * grub-core/boot/decompressor/xz.c: Likewise.
4976 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
4977 * grub-core/kern/mips/cache_flush.S: Likewise.
4978 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
4979 * grub-core/kern/mips/startup.S: Move first stage to ...
4980 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
4981 nomacro.
4982 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
4983 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
4984 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
4985 Allocate statically.
4986 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
4987 Allocate statically or use scratch. Don't check CRC32.
4988 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
4989 Allocate statically. Don't check CRC32.
4990 * include/grub/decompressor.h: New file.
4991 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
4992 Removed.
4993 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
4994 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
4995 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
4996 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
4997 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
4998 * util/grub-mkimage.c (grub_compression_t): New type.
4999 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
5000 (image_target_desc): New field default_compression.
5001 (image_targets): Adjust yeeloong targets.
5002 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
5003 (compress_kernel): New parameter comp.
5004 (generate_image): Likewise. Handle new compression case.
5005 (options): New option --compression
5006 (help): Likewise.
5007 (main): Handle new option.
5008
5009 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
5010
5011 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
5012
5013 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
5014
5015 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5016 typo in __i386__ conditional.
5017
5018 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
5021 include.
5022
5023 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 Implement EFI and ACPI multiboot2 extensions.
5026
5027 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
5028 new tags as supported.
5029 (acpiv2_size): New function.
5030 (grub_multiboot_get_mbi_size): Take new tags into account.
5031 (grub_multiboot_make_mbi): Add new tags.
5032 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
5033
5034 2010-09-21 Aleš Nesrsta <starous@volny.cz>
5035
5036 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
5037 Added missing configuration of USB device.
5038
5039 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5040
5041 * grub-core/normal/menu_entry.c (run): Make sure we always return
5042 a value.
5043
5044 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5045
5046 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
5047 NumberOfPages is UINT64 according to the UEFI specification, not
5048 UINTN. Fix printf format.
5049
5050 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5051
5052 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
5053 `err' to grub_usb_err_t.
5054 Reported and tested by: KESHAV P.R.
5055
5056 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5057
5058 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
5059 tpart non-const, so that we can assign to it. (Since this is a
5060 typedef, the constness refers to the pointer rather than what it
5061 points to.)
5062
5063 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5064
5065 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
5066 $(top_srcdir)/grub-core/gnulib as well as
5067 $(top_builddir)/grub-core/gnulib.
5068 Reported by: KESHAV P.R.
5069
5070 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5071
5072 * util/grub-install.in: Fix the bootloader ID option to be
5073 consistently --bootloader-id, not --bootloader_id.
5074 Reported by: KESHAV P.R.
5075
5076 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5077
5078 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
5079 check hash checksum." consistently translatable.
5080
5081 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5082
5083 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
5084 $(top_builddir).
5085
5086 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5087
5088 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
5089 (GRUB_MOD_INIT): Register sha1sum command.
5090 (GRUB_MOD_FINI): Unregister sha1sum command.
5091
5092 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5093
5094 Keep boot and grub directory names in sync with utils scripts
5095
5096 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
5097 * config.h.in: Add previous macros.
5098 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
5099 * util/grub-install.in: Use $bootdir and $grubdir variables.
5100
5101 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5102
5103 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
5104 convert partition names to disk names if the new `convert' parameter
5105 is set.
5106 (grub_util_biosdisk_get_grub_dev): If opening the disk device
5107 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
5108 disk in its own right. This can happen with Xen disk images.
5109
5110 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5111
5112 * util/grub-editenv.c: Update strings to avoid warnings when generating
5113 grub.pot file.
5114 * util/grub-setup.c: Likewise.
5115
5116 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * configure.ac: Change version to 1.99~beta0.
5119
5120 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5123 Add BADRAM.
5124 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
5125 Likewise.
5126 * include/multiboot.h: Resynced with specification.
5127 * include/multiboot2.h: Likewise.
5128
5129 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5130
5131 Fix po directory handling.
5132
5133 * configure.ac: Create po/Makefile.in rather than po/Makefile.
5134 * grub-core/gnulib/Makefile.am: Import gettext module.
5135 * m4/gnulib-cache.m4: Likewise.
5136 * m4/gnulib-comp.m4: Likewise.
5137 * m4/gettext.m4: New file, from gnulib.
5138 * m4/glibc2.m4: Likewise.
5139 * m4/iconv.m4: Likewise.
5140 * m4/intdiv0.m4: Likewise.
5141 * m4/intl.m4: Likewise.
5142 * m4/intldir.m4: Likewise.
5143 * m4/intlmacosx.m4: Likewise.
5144 * m4/intmax.m4: Likewise.
5145 * m4/inttypes-pri.m4: Likewise.
5146 * m4/lcmessage.m4: Likewise.
5147 * m4/lib-ld.m4: Likewise.
5148 * m4/lib-link.m4: Likewise.
5149 * m4/lib-prefix.m4: Likewise.
5150 * m4/lock.m4: Likewise.
5151 * m4/nls.m4: Likewise.
5152 * m4/po.m4: Likewise.
5153 * m4/printf-posix.m4: Likewise.
5154 * m4/progtest.m4: Likewise.
5155 * m4/threadlib.m4: Likewise.
5156 * m4/uintmax_t.m4: Likewise.
5157 * m4/visibility.m4: Likewise.
5158 * po/Makefile.am: Remove.
5159 * po/Makefile.in.in: New file, from gettext.
5160 ($(DOMAIN).pot-update): Support POTFILES-shell.
5161 * po/Makevars: New file.
5162 * po/POTFILES-shell: Rename to ...
5163 * po/POTFILES-shell.in: ... this. Update.
5164 * po/POTFILES: Rename to ...
5165 * po/POTFILES.in: ... this. Update.
5166 * po/Rules-quot: New file, from gettext.
5167 * po/boldquot.sed: Likewise.
5168 * po/en@boldquot.header: Likewise.
5169 * po/en@quot.header: Likewise.
5170 * po/insert-header.sin: Likewise.
5171 * po/quot.sed: Likewise.
5172 * po/remove-potcdate.sin: Likewise.
5173
5174 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
5177
5178 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * util/grub.d/20_linux_xen.in: Use submenus.
5181
5182 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 Support submenus.
5185
5186 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
5187 parameter submenu. All users updated.
5188 * grub-core/normal/main.c (free_menu): Rename to ...
5189 (grub_normal_free_menu): ... this. Made global.
5190 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
5191 if requested.
5192 * grub-core/normal/menu_entry.c (screen): New field submenu.
5193 (make_screen): Set submenu.
5194 (run): Open new context if requested.
5195 * include/grub/menu.h (grub_menu_entry): New field submenu.
5196 * include/grub/normal.h (grub_normal_free_menu): New proto.
5197
5198 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Menu entries extractor.
5201
5202 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
5203 variants.
5204 (GRUB_MOD_INIT): Register new variants.
5205 (GRUB_MOD_FINI): Unregister new variants.
5206 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
5207 into grub_cmd_legacy_source.
5208 (grub_cmd_legacy_source): Implement extractor variants.
5209 (GRUB_MOD_INIT): Register new variants.
5210 (GRUB_MOD_FINI): Unregister new variants.
5211 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
5212 as an extractor.
5213 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
5214 search as an extractor.
5215 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
5216 test as an extractor.
5217 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
5218 as an extractor.
5219 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
5220 (grub_env_new_context): New function.
5221 (grub_env_context_open): Likewise.
5222 (grub_env_extractor_open): Likewise.
5223 (grub_env_extractor_close): Likewise.
5224 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5225 grub_extractor_level.
5226 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
5227 * include/grub/env.h (grub_env_extractor_open): New proto.
5228 (grub_env_extractor_close): Likewise.
5229 * include/grub/normal.h (grub_extractor_level): New external variable.
5230
5231 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 Make cutmem accept a region specification.
5234 Suggested by: Samuel Thibault
5235
5236 * grub-core/mmap/mmap.c (parsemem): New function.
5237 (grub_cmd_cutmem): Handle new arguments.
5238
5239 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 New command cutmem.
5242
5243 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
5244 (GRUB_MOD_INIT): Register new command.
5245 (GRUB_MOD_FINI): Unregister new command.
5246
5247 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 Support some annoying BSD and Minix subpartitions.
5250
5251 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
5252 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
5253 Properly handle concatenation.
5254 * grub-core/kern/device.c (grub_device_iterate): Likewise.
5255 * grub-core/normal/completion.c (iterate_partition): Likewise.
5256 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
5257 contain partition. All users updated.
5258 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
5259 struct.
5260 (grub_openbsdlabel_partition_map): Likewise.
5261 (bsdlabel_partition_map_iterate): Rename to ..
5262 (iterate_real): ... this. New arguments sector, freebsd and pmap.
5263 (bsdlabel_partition_map_iterate): New function.
5264 (netopenbsdlabel_partition_map_iterate): Likewise.
5265 (netbsdlabel_partition_map_iterate): Likewise.
5266 (openbsdlabel_partition_map_iterate): Likewise.
5267 (GRUB_MOD_INIT): Register new partmaps.
5268 (GRUB_MOD_FINI): Unregister new partmaps.
5269 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
5270 (grub_partition_msdos_iterate): ... this. All users updated.
5271 Don't support embedding other than in a minix partition.
5272 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
5273 proto.
5274 * include/grub/partition.h (grub_partition): New field msdostype.
5275 * util/grub-install.in: Handle openbsd and netbsd types being in
5276 part_bsd module.
5277
5278 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
5281
5282 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
5283 * grub-core/Makefile.core.def (mdraid): Renamed to ...
5284 (mdraid09): ... this.
5285 (mdraid1x): New module.
5286 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
5287 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
5288
5289 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
5292 vsprintf.
5293
5294 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * grub-core/commands/efi/lsefimmap.c: Correct header.
5297 * NEWS: Update.
5298
5299 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5300
5301 * util/grub-editenv.c (argp_parser): Don't pass translated strings
5302 as printf format strings; the translations might contain '%' which
5303 could cause a crash.
5304 (main): Likewise.
5305 * util/grub-fstest.c (argp_parser): Likewise.
5306 * util/grub-setup.c (argp_parser): Likewise.
5307 (main): Likewise.
5308
5309 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 Use argp in grub-fstest.
5312
5313 * util/grub-fstest.c: Don't include getopt.h.
5314 Include argp.h.
5315 (root): New variable.
5316 (args_count): Likewise.
5317 (nparm): Likewise.
5318 (num_disks): Likewise.
5319 (images): Likewise.
5320 (cmd): Likewise.
5321 (debug_str): Likewise.
5322 (args): Likewise.
5323 (options): Transformed to argp.
5324 (usage): Removed.
5325 (main): Split argument parsing into ...
5326 (argp_parser): ... this. Changed to argp format.
5327 (argp): New variable.
5328 (main): Use argp_parse.
5329
5330 2010-09-20 Tristan Gingold <gingold@free.fr>
5331 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
5332 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/commands/efi/lsefimmap.c: New file.
5335 * grub-core/Makefile.core.def (lsefimmap): New module.
5336 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
5337
5338 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 Pause the execution (10s max) if any errors are displayed so the user
5341 has a chance to see them.
5342
5343 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
5344 (grub_print_error): Increment grub_err_printed_errors.
5345 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
5346 execution if any errors were displayed.
5347 (show_menu): Remove old code for pause.
5348 * grub-core/normal/menu_entry.c (run): Likewise.
5349 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
5350 users updated.
5351 (grub_normal_get_char_counter): Likewise.
5352 * include/grub/err.h (grub_err_printed_errors): New external variable.
5353 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5354
5355 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 Support multiboot VBE info.
5358
5359 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5360 Take VBE info into account.
5361 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5362 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5363 Call fill_vbe_info when appropriate.
5364 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5365 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5366 as supported.
5367 (grub_multiboot_get_mbi_size): Take new tags into account.
5368 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5369 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5370 Call fill_vbe_tag when appropriate.
5371 (grub_multiboot_make_mbi): Properly align tags.
5372 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5373 function.
5374 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5375 proto.
5376 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5377
5378 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 Suport manual terminal geometry specification.
5381
5382 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5383 Save state in grub_ofconsole_terminfo_output.
5384 (grub_ofconsole_term): Use grub_terminfo_getwh.
5385 (grub_ofconsole_getwh): Removed.
5386 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5387 (grub_serial_term): Use grub_terminfo_getwh.
5388 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5389 (options): New struct.
5390 (OPTION_*): New enum.
5391 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5392 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5393 width and height.
5394 (grub_terminfo_getwh): New proto.
5395 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5396
5397 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 Handle legacy "terminal" command.
5400
5401 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5402 and FLAG_TERMINAL.
5403 (legacy_commands): Add terminal and title.
5404 (grub_legacy_parse): Handle terminal. Simplify title handling.
5405
5406 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5409 parameters overflow.
5410
5411 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5412
5413 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5414 widthspec.h.
5415
5416 * docs/grub.texi (Shell-like scripting): Document `!'.
5417 (Network): Simplify using new i386-pc-pxe format. Mention
5418 grub-mknetdir.
5419
5420 * NEWS: Update.
5421
5422 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5423
5424 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5425 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5426 when needed.
5427
5428 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5429
5430 * grub-core/commands/efi/lsefisystab.c: Correct header.
5431 * grub-core/commands/efi/lssal.c: Likewise.
5432 * grub-core/commands/testload.c: Likewise.
5433
5434 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5435
5436 * util/grub-mkrescue.in: Add explicit root argument to --set to
5437 prevent the UUID being interpreted as an argument to --set (matches
5438 previous change to prepare_grub_to_access_device).
5439
5440 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5441
5442 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5443 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5444 the verbosity of later #ifs.
5445 (find_partition_start): Define this function on FreeBSD too.
5446 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5447 function.
5448 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5449 on FreeBSD.
5450
5451 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5452
5453 * util/grub-editenv.c: Use argp instead of getopt.
5454
5455 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5456
5457 * util/grub-setup.c: Use argp instead of getopt.
5458
5459 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5460
5461 Use gnulib-tool to create gnulib source files.
5462
5463 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5464 grub-core/gnulib directories
5465 * .bzignore: Add **/.deps and autogenerated gnulib files
5466 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5467 of gnulib macros, add grub-core/gnulib/Makefile
5468 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5469 include m4 directory to aclocal.
5470 * Makefile.util.def: Remove direct compilation of gnulib source files
5471 and use the new grub-core/gnulib/libgnu.a.
5472 * build-aux/config.rpath: move config.rpath from top directory to
5473 build-aux
5474 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5475 in gnulib headers
5476 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5477 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5478 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5479 header.
5480 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5481 string.
5482
5483 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5484
5485 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5486 grub-core/genmod.sh and grub-core/gensyminfo.sh
5487
5488 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5489
5490 Add a test for echo command options.
5491
5492 * tests/grub_cmd_echo.in: New test.
5493 * Makefile.util.def: Rules for new test.
5494
5495 2010-09-20 Szymon Janc <szymon@janc.net.pl>
5496
5497 Remove crc.mod and move crc command to hashsum.mod.
5498 Remove lib/crc.c - users updated to use gcrypt implementation.
5499
5500 * grub-core/commands/crc.c: Removed.
5501 * grub-core/Makefile.core.def (crc): Module removed.
5502 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5503 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5504 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5505 * grub-core/lib/crc.c: Removed.
5506 * include/grub/lib/crc.h: Removed.
5507 * Makefile.util.def (crc): Remove lib/crc.c
5508 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5509 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5510 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5511 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5512 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5513 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5514
5515 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5518
5519 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 Split config.h for util and core.
5522
5523 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5524 (ADDR32): Likewise.
5525 (DATA32): Likewise.
5526 (BSS_START_SYMBOL): Likewise.
5527 (END_SYMBOL): Likewise.
5528 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5529 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5530 * config.h.in: New file.
5531 * configure.ac: Use config-util.h as config define file.
5532 Rename MACHINE into GRUB_MACHINE. All users updated.
5533 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5534 updated.
5535 (NESTED_FUNC_ATTR): Likewise.
5536 Substitue new variables.
5537 (COND_HAVE_ASM_USCORE): New conditional.
5538 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5539 (kernel_syms.lst): Use ASM_PREFIX.
5540 * grub-core/kern/emu/console.c: Include config-util.h.
5541 * grub-core/kern/emu/misc.c: Likewise.
5542 * grub-core/kern/emu/mm.c: Likewise.
5543 * include/grub/emu/misc.h: Likewise.
5544 * include/grub/libgcc.h: Likewise.
5545
5546 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5549 constants usage.
5550 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5551 Fix GRUB_TERM_KEY_* constants usage.
5552 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5553
5554 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5557 print pointer.
5558 * grub-core/bus/usb/uhci.c: Remove empty define.
5559 (grub_uhci_check_transfer): Add missing cast.
5560 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5561 print pointer.
5562 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5563 PRIuGRUB_SIZE.
5564 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5565
5566 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * grub-core/Makefile.core.def (legacycfg): Add
5569 lib/i386/pc/vesa_modes_table.c on emu.
5570
5571 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5572
5573 Reduce number of temporary files generated by build system.
5574
5575 * grub-core/gencmdlist.sh: Removed.
5576 * grub-core/genfslist.sh: Removed.
5577 * grub-core/genhandlerlist.sh: Removed.
5578 * grub-core/genmodsrc.sh: Removed.
5579 * grub-core/genpartmaplist.sh: Removed.
5580 * grub-core/genparttoollist.sh: Removed.
5581 * grub-core/gentermiinallist.sh: Removed.
5582 * grub-core/genvideolist.sh: Removed.
5583
5584 * grub-core/genmod.sh.in: New file.
5585 * grub-core/gensyminfo.sh.in: New file.
5586
5587 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5588 * conf/Makefile.extra-dist: Update with new files.
5589 * gentpl.py: Remove rules related to unnecessary temporary files.
5590 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5591 and und-* files.
5592 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5593 genmod.sh scripts.
5594 * grub-core/bus/usb/uhci.c: Remove empty #define.
5595 * grub-core/genmoddep.awk: Updated with new syminfo format.
5596 * util/bash-completion.d/Makefile.am: Add config.log to
5597 CLEANFILES.
5598
5599 2010-09-19 Yves Blusseau <blusseau@zetam.org>
5600
5601 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5602
5603 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5604
5605 * util/grub-mkconfig.in: Check the config script for syntax errors
5606 before saving.
5607
5608 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
5609 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5612 platforms.
5613 * util/grub-install.in: Add EFI and IEEE1275 support.
5614 * util/i386/efi/grub-install.in: Removed.
5615 * util/ieee1275/grub-install.in: Likewise.
5616
5617 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
5620 (grub_cmd_cmosclean): Likewise.
5621 (GRUB_MOD_INIT): Register command cmosclean.
5622 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
5623 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
5624
5625 2010-09-18 Carles Pina i Estany <carles@pina.cat>
5626 2010-09-18 Aleš Nesrsta <starous@volny.cz>
5627 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 Add keyboard layouts support.
5630
5631 * Makefile.util.def (grub-mklayout): New file.
5632 (grub-kbdcomp): New script.
5633 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
5634 Add keyboard_layouts.h.
5635 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
5636 commands/boot.c on yeeloong.
5637 (keylayouts): New module.
5638 * grub-core/bus/usb/ohci.c
5639 * grub-core/bus/usb/uhci.c
5640 * grub-core/bus/usb/usbhub.c (rescan): New variable.
5641 (grub_usb_add_hub): Poll interrupt pipe for device handling.
5642 (attach_root_port): Likewise.
5643 (poll_nonroot_hub): Likewise.
5644 (grub_usb_poll_devices): Likewise.
5645 (detach_device): Close transfer.
5646 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
5647 function.
5648 (grub_usb_bulk_setup_readwrite): Likewise.
5649 (grub_usb_bulk_finish_readwrite): Likewise.
5650 * grub-core/commands/keylayouts.c: New file.
5651 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
5652 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
5653 aliases.
5654 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
5655 support scancode 2.
5656 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
5657 * include/grub/keyboard_layouts.h: New file.
5658 * util/grub-mklayout.c: New file.
5659 * util/grub-kbdcomp.in: Likewise.
5660
5661 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 Unify memory types.
5664
5665 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
5666 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
5667 types.
5668 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
5669 (grub_upper_mem): Likewise.
5670 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
5671 * include/grub/memory.h (grub_memory_type_t): New enum.
5672 All users updated.
5673
5674 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/Makefile.core.def (lsapm): New module.
5677 * grub-core/commands/i386/pc/lsapm.c: New file.
5678 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
5679 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
5680 Likewise.
5681 * include/grub/i386/pc/apm.h: New file.
5682 * include/multiboot.h (multiboot_apm_info): New struct.
5683
5684 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 GRUB-legacy configuration file support.
5687
5688 * Makefile.util.def (grub-menulst2cfg): New util.
5689 * docs/man/grub-menulst2cfg.h2m: New file.
5690 * grub-core/Makefile.core.def (legacycfg): New module.
5691 * grub-core/commands/legacycfg.c: New file.
5692 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
5693 (grub_normal_add_menu_entry): ... this.
5694 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
5695 (grub_normal_set_password): ...this.
5696 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
5697 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
5698 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
5699 * grub-core/lib/legacy_parse.c: New file.
5700 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
5701 * include/grub/i386/pc/vesa_modes_table.h: New file.
5702 * include/grub/legacy_parse.h: Likewise.
5703 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
5704 * util/grub-menulst2cfg.c: New file.
5705
5706 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5707
5708 * grub-core/kern/emu/hostdisk.c
5709 (convert_system_partition_to_system_disk): Initialise node.
5710
5711 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5712
5713 * grub-core/kern/emu/hostdisk.c
5714 (convert_system_partition_to_system_disk): Fix devmapper memory pool
5715 leak.
5716 Reported and based on patch by: Modestas Vainius.
5717
5718 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5719
5720 Fix DM-RAID probing with recent versions of device-mapper udev
5721 rules.
5722
5723 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
5724 canonicalise device paths under /dev/mapper/.
5725 (convert_system_partition_to_system_disk): Compare the
5726 uncanonicalised path to /dev/mapper/ rather than the canonicalised
5727 path, since device nodes under /dev/mapper/ are often symlinks.
5728
5729 2010-09-17 Yves Blusseau <blusseau@zetam.org>
5730
5731 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
5732
5733 2010-09-16 Yves Blusseau <blusseau@zetam.org>
5734
5735 * configure.ac: Avoid some annoying error messages if freetype-config
5736 program is not found.
5737
5738 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5739
5740 Support RAID on virtio devices, and others.
5741
5742 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
5743 Rename to ...
5744 [__MINGW32__] (grub_find_device): ... this.
5745 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
5746 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
5747 reasonable default if dir is NULL.
5748 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
5749 ...
5750 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
5751 (grub_guess_root_device): Update callers.
5752 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
5753
5754 * util/raid.c (grub_util_getdiskname): Remove.
5755 (grub_util_raid_getmembers): Use grub_find_device rather than
5756 grub_util_getdiskname.
5757
5758 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5759
5760 * docs/grub.texi (serial): Remove obsolete comment about GRUB
5761 needing to be compiled with serial support.
5762 (ls): Indicate that multiple files are accepted.
5763 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
5764 indicate that multiple files are accepted.
5765
5766 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5767
5768 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
5769 libgrub_a_init.c, and util/bash-completion.d/grub.
5770
5771 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * util/grub-setup.c (setup): Fix incorrect container semantics.
5774
5775 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
5778 misusage.
5779 Reported by: J. Nick Terry
5780
5781 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 Move embedding routines to partmap sources files.
5784
5785 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
5786 [GRUB_UTIL]: New variable.
5787 (gpt_partition_map_iterate): Set part.parent.
5788 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
5789 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
5790 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
5791 New function.
5792 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
5793 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
5794 (grub_partition_map) [GRUB_UTIL]: New field embed.
5795 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
5796 (setup): Use ->embed.
5797
5798 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
5801 function.
5802 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
5803 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
5804
5805 2010-09-15 Yves Blusseau <blusseau@zetam.org>
5806
5807 Add function to get completions from usage.
5808
5809 * util/bash-completion.d/grub-completion.bash.in: Add function to get
5810 completions from usage. Use LC_ALL=C to get options properly.
5811
5812 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/gnulib/basename-lgpl.c: Imported.
5815 * grub-core/gnulib/basename.c: Likewise.
5816 * grub-core/gnulib/dirname-lgpl.c: Likewise.
5817 * grub-core/gnulib/dirname.c: Likewise.
5818 * grub-core/gnulib/dirname.h: Likewise.
5819 * grub-core/gnulib/stripslash.c: Likewise.
5820
5821 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/gnulib/error.c: Resynced.
5824 * grub-core/gnulib/getopt.c: Likewise.
5825 * grub-core/gnulib/getopt_int.h: Likewise.
5826 * grub-core/gnulib/regex.h: Likewise.
5827 * grub-core/gnulib/regex_internal.c: Likewise.
5828 * grub-core/gnulib/regex_internal.h: Likewise.
5829
5830 2010-09-15 Szymon Janc <szymon@janc.net.pl>
5831
5832 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
5833 CRC calculations and validity checks.
5834 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
5835 calculations.
5836
5837 2010-09-15 Szymon Janc <szymon@janc.net.pl>
5838
5839 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
5840
5841 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 Fix incorrect echo options handling.
5844 Reported by: Yves Blusseau.
5845
5846 * include/grub/command.h (grub_command_flags_t): New flags
5847 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
5848 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
5849 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
5850
5851 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
5854 users updated.
5855 (GRUB_COMMAND_FLAG_MENU): Likewise.
5856 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5857 (GRUB_COMMAND_FLAG_TITLE): Removed.
5858 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5859 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
5860 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
5861 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
5862 (grub_command_flags_t): New enum. All users updated.
5863
5864 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
5865
5866 Fix solaris compilation.
5867
5868 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
5869 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
5870 (grub-emu-list): Likewise.
5871
5872 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 Remove deprecated root command.
5875
5876 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
5877 updated.
5878
5879 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * util/i386/pc/grub-setup.c: Merge this ...
5882 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
5883 * util/grub-setup.c: ... into this.
5884 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
5885 New struct.
5886
5887 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
5890 possible.
5891
5892 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
5895 allocate p.
5896
5897 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5900 explicit root argument to set to prevent UUID to be interpreted as
5901 argument to set.
5902
5903 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
5906
5907 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 Don't export grub_gate_a20.
5910
5911 * grub-core/kern/i386/pc/init.c: Remove leftovers.
5912 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
5913 to ...
5914 (grub_gate_a20): ... this. All users updated.
5915 * include/grub/i386/pc/init.h: Removed. All users updated.
5916
5917 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 Create euro.pf2 which supports most European languages.
5920
5921 * Makefile.am (grubdata_DATA): Add euro.pf2.
5922 (euro.pf2): New target.
5923 (CLEANFILES): Add euro.pf2.
5924
5925 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * configure.ac: Disable emu-usb by default to prevent inadvertent
5928 device takeover.
5929
5930 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 Disable usbserial on grub-emu since our libusb code isn't good enough
5933 yet.
5934
5935 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
5936 (usbserial_pl2303): Likewise.
5937 (usbserial_ftdi): Likewise.
5938
5939 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * include/grub/disk.h (grub_disk): Remove has_partitions.
5942 All users updated.
5943 * disk/loopback.c (grub_loopback): Remove has_partitions.
5944 All users updated.
5945 (options): Remove partitions. All users updated.
5946 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
5947 * util/i386/pc/grub-setup.c (setup): copy partition table only when
5948 actual partition table is found.
5949
5950 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 Remove readability checks (too many false negatives).
5953
5954 * util/grub-install.in: Remove readability checks.
5955 * util/grub-mkconfig.in: Likewise.
5956 * util/grub.d/10_hurd.in: Likewise.
5957 * util/grub.d/10_kfreebsd.in: Likewise.
5958 * util/grub.d/10_linux.in: Likewise.
5959 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
5960 way.
5961
5962 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 Enable acpi shutdown on all ACPI platforms.
5965
5966 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
5967 on coreboo, multiboot and EFI.
5968 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
5969 (grub_acpi_halt): Likewise.
5970 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
5971 (grub_cmd_halt): Don't call grub_acpi_halt directly.
5972 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
5973 * grub-core/lib/i386/halt.c (grub_halt)
5974 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
5975
5976 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
5979 context.
5980
5981 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/video/efi_gop.c: Fix over-80-chars line.
5984 * grub-core/video/efi_uga.c: Likewise.
5985
5986 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 Filter devaliases and never open same device twice.
5989
5990 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
5991 (last_ihandle): Likewise.
5992 (ofdisk_hash_ent): New member shortest.
5993 (ofdisk_hash_add): Add canonical path too.
5994 (scan): New function.
5995 (grub_ofdisk_iterate): Iterate over hashed entries.
5996 (compute_dev_path): Don't add :0.
5997 (grub_ofdisk_open): Don't really open the disk.
5998 (grub_ofdisk_close): Avoid closing unrelated disk.
5999 (grub_ofdisk_read): Implement reopen logic.
6000 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
6001 New function.
6002 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
6003 New proto.
6004
6005 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Fix sparc64.
6008
6009 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
6010 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
6011 right address. Add sparc64_ieee1275_ldflags.
6012 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
6013 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
6014 to grub_host_to_target_addr
6015 (load_image): Likewise.
6016
6017 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/normal/completion.c (complete_file): Handle device
6020 containing slash.
6021 Fix based on patch by Doug Nazar.
6022
6023 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 grub-mknetdir script.
6026
6027 * Makefile.util.def (grub-mknetdir): New module.
6028 * tests/util/grub-shell.in: Support boot=net
6029 * util/grub-mknetdir.in: New file.
6030
6031 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 videoinfo on non-vbe.
6034
6035 * grub-core/Makefile.core.def (vbeinfo): Removed.
6036 (vbetest): Removed.
6037 (videoinfo): New module.
6038 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
6039 * grub-core/commands/i386/pc/vbetest.c: Removed.
6040 * grub-core/commands/videoinfo.c: New file.
6041 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
6042 specification.
6043 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
6044 as vbetest.
6045 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
6046 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
6047 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
6048 mode_number. New parameter mode. All users updated.
6049 (grub_video_gop_iterate): New function.
6050 (grub_video_efi_gop): New member iterate.
6051 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
6052 (grub_vbe_set_video_mode): Remove setting useless fields.
6053 (vbe2videoinfo): New function.
6054 (grub_video_vbe_iterate): Likewise.
6055 (grub_video_vbe_setup): Use vbe2videoinfo.
6056 (grub_video_vbe_print_adapter_specific_info): New function.
6057 (grub_video_vbe_adapter): New fields iterate and
6058 print_adapter_specific_info.
6059 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
6060 All users updated.
6061 (grub_video_mode_info): New field mode_number.
6062 (grub_video_adapter): New fields iterate and
6063 print_adapter_specific_info.
6064
6065 2010-09-13 Tristan Gingold <gingold@free.fr>
6066 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
6067 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * grub-core/commands/efi/lsefisystab.c: New file.
6070 * grub-core/commands/efi/lssal.c: Likewise.
6071 * grub-core/Makefile.core.def (lsacpi): New module.
6072 (lsefisystab): Likewise.
6073 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
6074 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
6075 (grub_efi_sal_system_table): New struct.
6076 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
6077 (grub_efi_sal_system_table_memory_descriptor): Likewise.
6078 (grub_efi_sal_system_table_platform_features): Likewise.
6079 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
6080 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
6081 (grub_efi_sal_system_table_ap_wakeup): Likewise.
6082 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
6083
6084 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 Support explicit user claim that a device is BIOS-visible.
6087
6088 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
6089 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
6090 * grub-core/kern/emu/hostdisk.c
6091 (convert_system_partition_to_system_disk): Support mdX.
6092 (find_system_device): New parameter add. All users updated.
6093 (grub_util_biosdisk_is_present): New function.
6094 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
6095 proto.
6096
6097 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 Search hints support.
6100
6101 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
6102 All users updated.
6103
6104 2010-09-13 Yves Blusseau <blusseau@zetam.org>
6105
6106 Bash completion script for util commands
6107
6108 * Makefile.am: Add util/bash-completion.d directory
6109 * configure.ac: Likewise.
6110 * util/bash-completion.d/Makefile.am: New file.
6111 * util/bash-completion.d/grub-completion.bash.in: Likewise.
6112
6113 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
6116 (print_backlog): set backlog_ucs4 and backlog_glyphs.
6117 Reported by: Yves Blusseau.
6118
6119 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
6122 partition size and offset.
6123
6124 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
6127
6128 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
6131
6132 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
6135 (grub_xvasprintf): Likewise.
6136
6137 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
6140
6141 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
6144 args ending with NULL.
6145
6146 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
6149 pointer.
6150
6151 2010-09-11 Szymon Janc <szymon@janc.net.pl>
6152
6153 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
6154
6155 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Shutdown using ACPI.
6158
6159 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
6160 * grub-core/commands/acpihalt.c: New file.
6161 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
6162 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
6163 (grub_acpi_halt): New proto.
6164 (GRUB_ACPI_SLP_EN): New const.
6165 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
6166 (GRUB_ACPI_OPCODE_*): New enum.
6167 (GRUB_ACPI_EXTOPCODE_*): Likewise.
6168
6169 2010-09-11 Tristan Gingold <gingold@free.fr>
6170 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
6171 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * commands/lsacpi.c: New file.
6174 * grub-core/Makefile.core.def (lsacpi): New module.
6175 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
6176 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
6177 (grub_acpi_madt_entry_header): New struct.
6178 (grub_acpi_madt): Likewise.
6179 (grub_acpi_madt_entry_interrupt_override): Likewise.
6180 (grub_acpi_madt_entry_sapic): Likewise.
6181 (grub_acpi_madt_entry_lsapic): Likewise.
6182 (grub_acpi_madt_entry_platform_int_source): Likewise.
6183 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
6184 (PRIuGRUB_UINT32_T): Likewise.
6185 (PRIxGRUB_UINT64_T): Likewise.
6186
6187 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 Implement loading palette on ieee1275_fb.
6190
6191 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
6192 (have_setcolors): Likewise.
6193 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
6194 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
6195 (grub_video_ieee1275_set_palette): Implement.
6196
6197 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6198 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
6199
6200 * util/grub-install.in (grub_partition): New variable.
6201 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
6202 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
6203 Fixes a bug reported by Yves Blusseau.
6204
6205 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 Fix emu on mipsel.
6208
6209 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
6210 =grub_cpu_flush_cache on all mips and not only yeeloong.
6211 * configure.ac (COND_mips): New conditional.
6212 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
6213 platforms.
6214 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
6215 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
6216 [GRUB_LINKER_HAVE_INIT]: New function.
6217 (grub_emu_post_init): Likewise.
6218 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
6219 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
6220 * include/grub/cache.h (_mips): Include mips/cache.h.
6221 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
6222 LVM and RAID prototypes.
6223 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
6224 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
6225 function.
6226
6227 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6228
6229 * util/grub-install.in: Don't try to verify core.img until after
6230 running grub-mkimage to create it.
6231
6232 2010-09-10 Robert Millan <rmh@gnu.org>
6233
6234 * util/grub.d/10_hurd.in: Add misc readability checks.
6235 * util/grub.d/10_kfreebsd.in: Likewise.
6236 * util/grub.d/10_linux.in: Likewise.
6237
6238 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6239
6240 * util/grub-install.in: ${imgext} won't be defined here until the
6241 install branch is merged. For the meantime, only verify core.img on
6242 i386-pc and sparc64-ieee1275 platforms.
6243
6244 2010-09-10 Robert Millan <rmh@gnu.org>
6245
6246 Solaris support in grub_find_zpool_from_dir(). Thanks
6247 Seth Goldberg for referring to getextmntent() facility.
6248
6249 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
6250 `sys/mkdev.h'.
6251 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
6252 `<sys/mnttab.h>'.
6253 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
6254 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
6255 method for finding zpool name.
6256
6257 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6258
6259 grub-fstest needs the host and hostfs modules while other utilities
6260 actively require those modules to be absent, so grub-fstest needs
6261 its own initialisation and finalisation code.
6262
6263 * Makefile.am (grub_fstest.pp): New target.
6264 (grub_fstest_init.lst): Likewise.
6265 (grub_fstest_init.c): Likewise.
6266 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
6267
6268 2010-09-10 Robert Millan <rmh@gnu.org>
6269
6270 * configure.ac: Check for `struct statfs.f_fstypename' and
6271 `struct statfs.f_mntfromname'.
6272
6273 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
6274 kFreeBSD-specific code.
6275
6276 2010-09-10 Robert Millan <rmh@gnu.org>
6277
6278 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
6279 on ZFS. Now non-main filesystems are supported as / too.
6280
6281 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
6282
6283 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
6284 and grub-core/disk/host.c to ...
6285 (grub-fstest): ... here. Having the host disk implementation
6286 present confuses grub-probe and other utility programs.
6287
6288 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
6289 when writing to a file, not when writing to stdout.
6290
6291 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
6292
6293 * tests/partmap_test.in: New test for partitions.
6294 * Makefile.util.def: Rules for new test.
6295
6296 2010-09-09 Robert Millan <rmh@gnu.org>
6297
6298 * util/grub-probe.c (probe): Fix a pair of unhandled error
6299 conditions.
6300
6301 2010-09-09 Robert Millan <rmh@gnu.org>
6302
6303 Basic Btrfs support (detection and UUID).
6304
6305 * grub-core/fs/btrfs.c: New file.
6306 * Makefile.util.def (library): Register btrfs.c.
6307 * grub-core/Makefile.core.def: Likewise.
6308
6309 2010-09-08 Robert Millan <rmh@gnu.org>
6310
6311 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
6312 with (optional) parameters to specify device and relative path.
6313 * util/grub-install.in: Use is_path_readable_by_grub() to
6314 verify readability of a few critical files.
6315 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
6316 verify readability of grub.cfg.new.
6317
6318 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 Split minix.mod into minix.mod and minix2.mod.
6321
6322 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6323 * grub-core/Makefile.core.def (minix2): New module.
6324 * grub-core/fs/minix.c: Use definitions instead of runtime version
6325 checking.
6326 * grub-core/fs/minix2.c: New file.
6327
6328 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6329
6330 Add new --boot-directory option to replace --root-directory
6331
6332 * util/grub-install.in: Add new --boot-directory option
6333 * util/grub-reboot.in: Likewise.
6334 * util/grub-set-default.in: Likewise.
6335
6336 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6337
6338 * util/grub-mkconfig.in: Use new variable.
6339
6340 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6341
6342 * configure.ac: Define some useful variables.
6343
6344 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6347 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
6348 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
6349 Use terminfo and don't use cursor-on/cursor-off unless it's known
6350 to work.
6351 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
6352 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6353
6354 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6357 starts with "(,", fill the drive containing the loaded image in
6358 between those two characters, but expect that a full partition
6359 specification including partition map names will follow.
6360
6361 2010-09-08 Robert Millan <rmh@gnu.org>
6362
6363 * configure.ac: Remove `--enable-grub-fstest' option.
6364 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6365
6366 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6367 `grub-fstest' instead of `grub-probe' for readability verification.
6368 * util/grub-probe.c (probe): Remove readability verification kludge.
6369
6370 2010-09-08 Robert Millan <rmh@gnu.org>
6371
6372 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6373 initializing `GRUB_FS'.
6374
6375 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6376
6377 Not command (!) support to GRUB script.
6378
6379 * tests/grub_script_not.in: New test.
6380 * Makefile.util.def: Rules for new test.
6381
6382 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6383 ! command as a special case.
6384 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6385
6386 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6387
6388 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6389 grub_free.
6390
6391 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6392
6393 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6394
6395 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6396
6397 * docs/grub.texi (Shell-like scripting): Documentation for break,
6398 continue, shift and return commands.
6399
6400 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 Rename CD-ROM to cd on BIOS.
6403
6404 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6405 "cd".
6406 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6407
6408 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6411 * util/grub-probe.c (main): Likewise.
6412 * util/i386/pc/grub-setup.c (main): Likewise.
6413 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6414 Reported and debugged by: alexxy
6415
6416 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6419 diagnostic info.
6420
6421 2010-09-05 Jo Shields <directhex@apebox.org>
6422
6423 * util/grub.d/30_os-prober.in: Add missing classes.
6424
6425 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * docs/grub.texi (Theme file format): Document new position format.
6428
6429 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6432 a table. Use @code instead of @verbatim.
6433
6434 2010-09-05 Colin D Bennett <colin@gibibit.com>
6435
6436 Gfxmenu documentation.
6437
6438 * docs/grub.texi (Theme file format): New chapter.
6439
6440 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6441
6442 * grub-core/Makefile.core.def (xzio): New module.
6443 * grub-core/io/xzio.c: New file.
6444 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6445 * grub-core/lib/xzembed/xz_config.h: Likewise.
6446 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6447 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6448 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6449 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6450 * grub-core/lib/xzembed/xz_private.h: Likewise.
6451 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6452 * include/grub/file.h (grub_file_filter_id): New compression filter
6453 GRUB_FILE_FILTER_XZIO.
6454
6455 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6458 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6459 size.
6460
6461 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6464 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6465
6466 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 Uncompressed checksum support.
6469
6470 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6471 (check_list): New parameter uncompress.
6472 (grub_cmd_hashsum): Handle --uncompress.
6473
6474 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 Reintroduce testload.
6477
6478 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6479 from here ...
6480 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6481 (GRUB_MOD_INIT): New function.
6482 (GRUB_MOD_FINI): Likewise.
6483 * grub-core/Makefile.core.def (testload): New module.
6484
6485 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6486
6487 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6488 (uint8_t): New type.
6489 (uint16_t): Likewise.
6490 (uint32_t): Likewise.
6491 (uint64_t): Likewise.
6492
6493 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6494
6495 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6496
6497 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6500 Made static.
6501 (grub_gzfile_open): Removed. All users updated.
6502 (GRUB_MOD_INIT): New function.
6503 (GRUB_MOD_FINI): Likewise.
6504 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6505 (grub_file_filters_enabled): Likewise.
6506 (grub_file_open): Handle filters.
6507 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6508 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6509 * include/grub/file.h (grub_file_filter_id_t): New type.
6510 (grub_file_filter_t): Likewise.
6511 (grub_file_filters_all): New extern variable.
6512 (grub_file_filters_enabled): Likewise.
6513 (grub_file_filter_register): New inline function.
6514 (grub_file_filter_unregister): Likewise.
6515 (grub_file_filter_disable): Likewise.
6516 (grub_file_filter_disable_compression): Likewise.
6517 * include/grub/gzio.h: Removed.
6518
6519 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6520
6521 Filename expansion support for wildcards in GRUB script.
6522
6523 * tests/grub_script_expansion.in: New test.
6524 * Makefile.util.def: Rule for new test.
6525
6526 * grub-core/commands/wildcard.c: New file, implements filename
6527 expansion support for GRUB script.
6528 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6529 * grub-core/script/argv.c: Cosmetic changes.
6530 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6531 Refactored to perform wildcard expansion on arguments.
6532 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6533 struct.
6534
6535 * tests/util/grub-shell.in: Fix quoting for read input.
6536
6537 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6538
6539 Support for updating environment variables with matched substrings
6540 of regexp.
6541
6542 * tests/grub_cmd_regexp.in: New test.
6543 * Makefile.util.def: Rule for new test.
6544
6545 * grub-core/commands/regexp.c: New option -s to update environment
6546 variables with regexp matches.
6547
6548 2010-09-04 Szymon Janc <szymon@janc.net.pl>
6549
6550 * include/grub/file.h (grub_file): New member not_easly_seekable.
6551 (grub_file_seekable): New inline function.
6552 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6553 easily seekable.
6554 (grub_gzio_open): Set not_easly_seekable.
6555 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6556 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6557
6558 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6559
6560 Support for options to appear multiple times on cmdline.
6561
6562 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6563 * grub-core/commands/extcmd.c: Support for repeatable option.
6564 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6565 repeatable option support.
6566
6567 Refactor menuentry into a regular command.
6568
6569 * grub-core/commands/menuentry.c: New file, menuentry command
6570 implementation.
6571 * grub-core/Makefile.core.def: Rule update for normal.mod.
6572 * grub-core/normal/main.c: Moved menuentry creation to
6573 grub-core/commands/menuentry.c.
6574 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6575 (grub_menu_execute_entry_real): Removed.
6576 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6577 function.
6578 (grub_script_execute_menuentry): Removed.
6579 * grub-core/script/parser.y (menuentry): Removed.
6580 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6581 * grub-core/script/yylex.l (menuentry): Removed.
6582 * include/grub/menu.h (grub_menu_init): New prototype.
6583 (grub_menu_fini): New prototype.
6584 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6585 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6586 (grub_script_execute_sourcecode): New prototype.
6587
6588 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6589
6590 "return" command for GRUB script functions.
6591
6592 * tests/grub_script_return.in: New test.
6593 * Makefile.util.def: Rules for new test.
6594
6595 * grub-core/script/execute.c (grub_script_return): New function.
6596 * grub-core/script/main.c: Register/unregister return commaond.
6597 * include/grub/script_sh.h (grub_script_return): New prototype.
6598
6599 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6600
6601 "setparams" command to update positional parameters.
6602
6603 * tests/grub_script_setparams.in: New test.
6604 * Makefile.util.def: Rules for new test.
6605
6606 * grub-core/script/argv.c (grub_script_argv_make): New function.
6607 * grub-core/script/execute.c (replace_scope): New function.
6608 (grub_script_setparams): New function.
6609 * grub-core/script/lexer.c: Remove unused variables.
6610 * grub-core/script/main.c: Register/unregister setparams command.
6611 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6612 (grub_script_setparams): New prototype.
6613
6614 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6615
6616 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6617 grub_free order.
6618
6619 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6620
6621 Support for passing block of commands as an argument to extcmds.
6622
6623 * Makefile.util.def: Rules for new test.
6624 * tests/grub_script_blockarg.in: New test.
6625 * grub-core/tests/test_blockarg.c: New file, block argument
6626 command used in the test.
6627
6628 * include/grub/extcmd.h (grub_extcmd_context): New struct.
6629 (grub_register_extcmd_prio): New function prototype.
6630 (grub_extcmd_dispatcher): New function prototype.
6631 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
6632 type.
6633 * include/grub/script_sh.h (struct grub_script): New members
6634 `children', `next_siblings' and `refcnt' for block arguments and
6635 reference counting.
6636 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
6637 (grub_script_arg): New member `script' for block argument.
6638 (grub_script_argv): New member `script' for block argument.
6639 (grub_parser_param): New member `scripts' for block argument.
6640 (grub_script_mem_free): New extern function prototype.
6641 (grub_script_ref): New function prototype.
6642 (grub_script_unref): New function prototype.
6643
6644 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
6645 extcmd form to support block arguments.
6646 * grub-core/script/argv.c: Block arguments support.
6647 * grub-core/script/execute.c: Likewise.
6648 * grub-core/script/lexer.c: Likewise.
6649 * grub-core/script/main.c: Likewise.
6650 * grub-core/script/script.c: Likewise.
6651 * grub-core/script/parser.y: Likewise. New `block' and `block0'
6652 non-terminals.
6653
6654 * grub-core/commands/acpi.c: Update extcmd implementations with
6655 grub_extcmd_context_t.
6656 * grub-core/commands/cat.c: Likewise.
6657 * grub-core/commands/echo.c: Likewise.
6658 * grub-core/commands/extcmd.c: Likewise.
6659 * grub-core/commands/hashsum.c: Likewise.
6660 * grub-core/commands/hdparm.c: Likewise.
6661 * grub-core/commands/help.c: Likewise.
6662 * grub-core/commands/hexdump.c: Likewise.
6663 * grub-core/commands/i386/cpuid.c: Likewise.
6664 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6665 * grub-core/commands/i386/pc/halt.c: Likewise.
6666 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6667 * grub-core/commands/iorw.c: Likewise.
6668 * grub-core/commands/keystatus.c: Likewise.
6669 * grub-core/commands/loadenv.c: Likewise.
6670 * grub-core/commands/ls.c: Likewise.
6671 * grub-core/commands/lspci.c: Likewise.
6672 * grub-core/commands/memrw.c: Likewise.
6673 * grub-core/commands/probe.c: Likewise.
6674 * grub-core/commands/search_wrap.c: Likewise.
6675 * grub-core/commands/setpci.c: Likewise.
6676 * grub-core/commands/sleep.c: Likewise.
6677 * grub-core/disk/loopback.c: Likewise.
6678 * grub-core/hello/hello.c: Likewise.
6679 * grub-core/loader/i386/bsd.c: Likewise.
6680 * grub-core/loader/xnu.c: Likewise.
6681 * grub-core/term/gfxterm.c: Likewise.
6682 * grub-core/term/serial.c: Likewise.
6683 * grub-core/tests/lib/functional_test.c: Likewise.
6684
6685 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6686
6687 Multi-line quoted strings support.
6688
6689 * grub-core/script/lexer.c (append_newline): Removed.
6690 (grub_script_lexer_yywrap): Refactored.
6691 (grub_script_lexer_init): Refactored.
6692 * grub-core/script/yylex.l (yywrap): New function.
6693 (grub_lexer_resplit): New function.
6694 (grub_lexer_unput): New function.
6695 * include/grub/script_sh.h (grub_lexer_param): New members, unput
6696 and resplit.
6697 * tests/grub_script_echo1.in: Added few more testcases.
6698
6699 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/kern/misc.c: Don't add abort alias in utils.
6702 Reported by: echoline.
6703
6704 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
6705
6706 Add missing files into "make dist" tarball for other platforms.
6707
6708 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
6709 * conf/Makefile.common (dist_noinst_DATA): New variable.
6710 * conf/Makefile.extra-dist: Added missing make dist files.
6711 * grub-core/Makefile.core.def: Likewise.
6712
6713 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 Compress grub_prefix.
6716
6717 * grub-core/boot/i386/pc/lnxboot.S: Use
6718 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
6719 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
6720 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
6721 GRUB_MACHINE_PREFIX_END. All users updated.
6722 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
6723 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
6724 + 0x40.
6725 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6726 * util/grub-mkimage.c (image_target_desc): Change data_end to
6727 prefix_end. All users updated.
6728
6729 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
6732 value.
6733 (grub_openbsd_boot): Likewise.
6734 (grub_netbsd_boot): Likewise.
6735 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
6736 (grub_xnu_boot): Likewise.
6737
6738 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * configure.ac: Clean LIBS variable after tests.
6741
6742 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6743
6744 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
6745
6746 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
6749 echo if libdevmapper will be used.
6750
6751 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
6752
6753 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
6754 constant for the same file.
6755
6756 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
6759
6760 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6761
6762 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
6763 grub-core/*.pp.
6764
6765 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6766
6767 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
6768 required by the boot protocol.
6769
6770 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
6771 ebp and edi members.
6772 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
6773 state.ebp and state.edi.
6774 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
6775 %ebp and %edi according to grub_relocator32_ebp and
6776 grub_relocator32_edi respectively.
6777 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
6778 and state.edi.
6779
6780 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Add i386-pc-pxe image target.
6783
6784 * util/grub-mkimage.c (image_target_desc): New enum value
6785 IMAGE_I386_PC_PXE.
6786 (image_targets): New target i386-pc-pxe.
6787 (generate_image): Handle i386-pc-pxe image.
6788
6789 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 Fix grub_pxe_scan.
6792
6793 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
6794 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
6795 All users updated.
6796 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
6797 (grub_pxe_pxenv): Correct type.
6798
6799 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6800
6801 * NEWS: Document most of the important changes since 1.98.
6802
6803 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6804
6805 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
6806 generated manual page) a little.
6807
6808 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6809
6810 * docs/grub.texi: Add myself as an author.
6811
6812 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * Makefile.util.def (libgrub.a): Add missing sunpc.
6815 Reported by: Seth Goldberg.
6816
6817 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Interrupt wrapping and code simplifications.
6820
6821 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
6822 x86_noieee1275 which are functionaly equivalent in this case.
6823 (grub-install): Make source on each platform explicit. Enable on
6824 all noemu.
6825 * gentpl.py (x86_efi_pc): Removed group.
6826 (x86_noefi): Likewise.
6827 (i386_noefi): Likewise.
6828 (x86_noieee1275): Likewise.
6829 (i386_noieee1275): Likewise.
6830 (i386_noefi_noieee1275): Likewise.
6831 (i386_pc_qemu_coreboot): Likewise.
6832 (i386_coreboot_multiboot): Likewise.
6833 (i386_pc_coreboot_multiboot_qemu): Likewise.
6834 (x86_noefi_mips): Likewise.
6835 (noieee1275): Likewise.
6836 (ieee1275_mips): Likewise.
6837 (noemu_noieee1275): Likewise.
6838 (cmos): New group.
6839 (usb): Likewise.
6840 (videoinkernel): Likewise.
6841 (videomodules): Likewise.
6842 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
6843 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
6844 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
6845 include/grub/loader.h, include/grub/msdos_partition.h,
6846 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
6847 include/grub/machine/console.h, include/grub/machine/vga.h,
6848 include/grub/machine/vbe.h, include/grub/machine/init.h,
6849 include/grub/machine/kernel.h, include/grub/cpu/time.h,
6850 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
6851 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
6852 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
6853 * grub-core/Makefile.core.def (kernel): Explicit the source for
6854 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
6855 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
6856 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
6857 Use videoinkernel tag.
6858 (usb): Enable on all usb.
6859 (usbserial_common): Likewise.
6860 (usbserial_pl2303): Likewise.
6861 (usbserial_ftdi): Likewise.
6862 (uhci): Enable on all x86.
6863 (ohci): Enable on all pci.
6864 (cmostest): Enable on all CMOS.
6865 (acpi): Include commands/acpi.c on all platforms.
6866 (halt): Add relevant lib/*/halt.c.
6867 (hdparm): Enable on all pci.
6868 (lspci): Likewise.
6869 (usbtest): Enable on all usb.
6870 (ata): Enable on all pci.
6871 (ata_pthru): Likewise.
6872 (usbms): Enable on all usb.
6873 (usb_keyboard): Likewise.
6874 (font): Use tag videomodules.
6875 (bufio): Likewise.
6876 (datetime): Use tag cmos. Enable on all noemu.
6877 (mmap): Use tags common and x86.
6878 (gfxterm): Use tag videomodules.
6879 (bitmap): Likewise.
6880 (bitmap_scale): Likewise.
6881 (video_fb): Likewise.
6882 (video): Likewise.
6883 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
6884 adjust padding accordingly. All users updated.
6885 (grub_ohci_transaction): Fix bad format specification.
6886 (GRUB_MOD_INIT): Add asserts for struct size.
6887 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
6888 (grub_alloc_td): Likewise.
6889 (grub_free_queue): Likewise.
6890 (grub_uhci_transfer): Likewise.
6891 (grub_uhci_transaction): Fix bad format specification.
6892 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6893 (grub_usb_bulk_readwrite): Likewise.
6894 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
6895 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
6896 Made static.
6897 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
6898 Made static.
6899 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
6900 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
6901 Transformed into C.
6902 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
6903 Moved from here ...
6904 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
6905 ... here. Transformed into C. Made static.
6906 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
6907 Moved from here ...
6908 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
6909 ... here. Transformed into C. Made static.
6910 * grub-core/kern/i386/pc/startup.S
6911 (grub_biosdisk_check_int13_extensions): Moved from here ...
6912 * grub-core/disk/i386/pc/biosdisk.c
6913 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
6914 Made static.
6915 * grub-core/kern/i386/pc/startup.S
6916 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
6917 * grub-core/disk/i386/pc/biosdisk.c
6918 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
6919 Transformed into C. Made static.
6920 * grub-core/kern/i386/pc/startup.S
6921 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
6922 * grub-core/disk/i386/pc/biosdisk.c
6923 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
6924 Transformed into C. Made static.
6925 * grub-core/kern/i386/pc/startup.S
6926 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
6927 * grub-core/disk/i386/pc/biosdisk.c
6928 (grub_biosdisk_get_diskinfo_standard): ... here.
6929 Transformed into C. Made static.
6930 * grub-core/kern/i386/pc/startup.S
6931 (grub_biosdisk_get_num_floppies): Moved from here ...
6932 * grub-core/disk/i386/pc/biosdisk.c
6933 (grub_biosdisk_get_num_floppies): ... here.
6934 Transformed into C. Made static.
6935 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
6936 New function.
6937 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
6938 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
6939 Transformed into C. Made static.
6940 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
6941 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
6942 Transformed into C. Made static.
6943 * grub-core/kern/i386/ieee1275/init.c: Removed.
6944 * grub-core/kern/i386/misc.S: Likewise.
6945 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
6946 Splitted from here ...
6947 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
6948 Transformed into C. Made static. All users updated.
6949 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
6950 Transformed into C. Made static. All users updated.
6951 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
6952 Moved from here...
6953 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
6954 Transformed into C. Made static. All users updated.
6955 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
6956 Moved from here...
6957 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
6958 Transformed into C. Made static. All users updated.
6959 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
6960 Removed (replaced by C version).
6961 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
6962 Moved from here...
6963 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
6964 Transformed into C. Made static.
6965 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
6966 Moved from here...
6967 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
6968 ... here. Transformed into C.
6969 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
6970 Moved from here...
6971 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
6972 ... here. Transformed into C.
6973 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
6974 Moved from here...
6975 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
6976 ... here. Transformed into C. Made static.
6977 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
6978 Moved from here...
6979 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
6980 ... here. Transformed into C.
6981 * grub-core/kern/i386/pc/startup.S
6982 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
6983 * grub-core/video/i386/pc/vbe.c
6984 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
6985 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
6986 Moved from here...
6987 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
6988 ... here. Transformed into C.
6989 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
6990 Moved from here...
6991 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
6992 ... here. Transformed into C.
6993 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
6994 Moved from here...
6995 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
6996 ... here. Transformed into C.
6997 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
6998 Moved from here...
6999 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
7000 ... here. Transformed into C.
7001 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
7002 Moved from here...
7003 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
7004 ... here. Transformed into C. Made static.
7005 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
7006 Moved from here...
7007 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
7008 ... here. Transformed into C. Made static.
7009 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
7010 Moved from here...
7011 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
7012 ... here. Transformed into C. Made static.
7013 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
7014 pxe_rm_entry as third argument.
7015 (grub_bios_interrupt): New function.
7016 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
7017 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
7018 of calling grub_stop.
7019 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
7020 * grub-core/lib/efi/halt.c (grub_halt): ...here.
7021 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
7022 * grub-core/lib/emu/halt.c (grub_halt): ... here.
7023 * grub-core/lib/i386/halt.c: Moved from here ...
7024 * grub-core/lib/i386/halt.c: ... here.
7025 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
7026 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
7027 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
7028 grub_stop_floppy.
7029 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
7030 * include/grub/i386/coreboot/init.h: Removed.
7031 * include/grub/i386/multiboot/init.h: Likewise.
7032 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
7033 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
7034 * include/grub/i386/pc/int.h: New file.
7035 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
7036 (grub_pxe_scan): Removed.
7037 (grub_pxe_call): Update prototype.
7038 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
7039 prototypes.
7040 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
7041 * include/grub/i386/qemu/init.h: Removed.
7042 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
7043 noreturn.
7044 (grub_halt): Likewise.
7045 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
7046 (grub_reboot): Likewise.
7047 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
7048 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
7049 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
7050
7051 2010-08-30 Robert Millan <rmh@gnu.org>
7052
7053 * NEWS: Document addition of ZFS support in `grub-install' and
7054 `grub-mkconfig'.
7055
7056 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
7057
7058 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
7059 dprintf output.
7060
7061 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 Remove leftover embedding of font objects.
7064
7065 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7066 * util/grub-install.in (font): Removed.
7067 * util/grub-mkimage.c (generate_image): Remove font support. All users
7068 updated.
7069
7070 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 Remove leftover embedding of font objects.
7073
7074 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7075 * util/grub-install.in (font): Removed.
7076 * util/grub-mkimage.c (generate_image): Remove font support. All users
7077 updated.
7078
7079 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * docs/grub.texi (Network): Fix reference to pxe_blksize.
7082 Reported by: Ian Turner
7083
7084 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
7087 timeout to avoid indefinite boot stalling.
7088
7089 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
7092 (grub_env_write_color_highlight): Likewise.
7093
7094 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/normal/term.c (print_more): Return to normal and not
7097 to standard state after printing "---MORE---".
7098
7099 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
7102 Mask out the bit 0x80 since it has other meaning that specifiing color.
7103
7104 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 New relocator. Allows for more kernel support and more straightforward
7107 loader writing.
7108
7109 * Makefile.am (BOOTTARGET): New variable.
7110 (QEMU32): Likewise.
7111 (linux.init.x86_64): New target.
7112 (linux.init.i386): Likewise.
7113 (multiboot.elf): Likewise.
7114 (kfreebsd.elf): Likewise.
7115 (kfreebsd.aout): Likewise.
7116 (pc-chainloader.elf): Likewise.
7117 (pc-chainloader.bin): Likewise.
7118 (ntldr.elf): Likewise.
7119 (ntldr.bin): Likewise.
7120 (multiboot2.elf): Likewise.
7121 (kfreebsd.init.x86_64): Likewise.
7122 (kfreebsd.init.i386): Likewise.
7123 (knetbsd.init.i386): Likewise.
7124 (kopenbsd.init.i386): Likewise.
7125 (knetbsd.init.x86_64): Likewise.
7126 (kopenbsd.init.x86_64): Likewise.
7127 (linux-initramfs.i386): Likewise.
7128 (linux-initramfs.x86_64): Likewise.
7129 (kfreebsd-mfsroot.i386.img): Likewise.
7130 (knetbsd.image.i386): Likewise.
7131 (kopenbsd.image.i386): Likewise.
7132 (kopenbsd.image.x86_64): Likewise.
7133 (knetbsd.miniroot-image.i386.img): Likewise.
7134 (kfreebsd-mfsroot.x86_64.img): Likewise.
7135 (knetbsd.image.x86_64): Likewise.
7136 (knetbsd.miniroot-image.x86_64.img): Likewise.
7137 (kfreebsd-mfsroot.i386.gz): Likewise.
7138 (bootcheck-kfreebsd-i386): Likewise.
7139 (kfreebsd-mfsroot.x86_64.gz): Likewise.
7140 (bootcheck-kfreebsd-x86_64): Likewise.
7141 (knetbsd.miniroot-image.i386.gz): Likewise.
7142 (bootcheck-knetbsd-i386): Likewise.
7143 (bootcheck-kopenbsd-i386): Likewise.
7144 (bootcheck-kopenbsd-x86_64): Likewise.
7145 (knetbsd.miniroot-image.x86_64.gz): Likewise.
7146 (bootcheck-knetbsd-x86_64): Likewise.
7147 (bootcheck-linux-i386): Likewise.
7148 (bootcheck-linux-x86_64): Likewise.
7149 (bootcheck-linux16-i386): Likewise.
7150 (bootcheck-linux16-x86_64): Likewise.
7151 (bootcheck-multiboot): Likewise.
7152 (bootcheck-multiboot2): Likewise.
7153 (bootcheck-kfreebsd-aout): Likewise.
7154 (bootcheck-pc-chainloader): Likewise.
7155 (bootcheck-ntldr): Likewise.
7156 (CLEANFILES): Add new targets.
7157 (BOOTCHECKS): New variable.
7158 (.PHONY): Add bootchecks.
7159 (SUCCESSFUL_BOOT_STRING): New variable.
7160 (BOOTCHECK_TIMEOUT): Likewise.
7161 (bootcheck): New target
7162 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
7163 * configure.ac: Correct efiemu excuse.
7164 * docs/grub.texi (Supported kernels): New chapter.
7165 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
7166 include/grub/mm_private.h. Simplify inclusion of
7167 include/grub/boot.h, include/grub/loader.h
7168 and include/grub/msdos_partition.h
7169 (KERNEL_HEADER_FILES) [i386_coreboot]:
7170 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
7171 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
7172 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
7173 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
7174 include/grub/machine/loader.h.
7175 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
7176 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
7177 extra_dist.
7178 (pci.mod): Enable on i386-multiboot.
7179 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
7180 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
7181 i386-qemu.
7182 (relocator.mod): Rewritten.
7183 (aout.mod): Enable on all x86.
7184 (bsd.mod): Likewise.
7185 (ntldr.mod): New module.
7186 (linux.mod): Use loader/i386/linux.c on all x86.
7187 (xnu.mod): Enable on all x86.
7188 (vga_text.mod): disable on EFI and QEMU.
7189 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
7190 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
7191 * grub-core/efiemu/loadcore.c: Likewise.
7192 * grub-core/efiemu/main.c: Likewise.
7193 (grub_efiemu_exit_boot_services): Removed.
7194 (grub_efiemu_finish_boot_services): Likewise.
7195 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
7196 function.
7197 * grub-core/efiemu/i386/nocfgtables.c: New file.
7198 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
7199 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
7200 (grub_efi_finish_boot_services): Moved from here ...
7201 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
7202 Fille finish memory map and related data.
7203 (finish_mmap_buf): New variable.
7204 (grub_efi_uintn_t finish_mmap_size): Likewise.
7205 (grub_efi_uintn_t finish_key): Likewise.
7206 (grub_efi_uintn_t finish_desc_size): Likewise.
7207 (grub_efi_uint32_t finish_desc_version): Likewise.
7208 (grub_efi_is_finished): Likewise.
7209 (grub_efi_get_memory_map): Use saved memory map if EFI is already
7210 finished.
7211 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
7212 (grub_elf64_phdr_iterate): Likewise.
7213 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
7214 (grub_os_area_size): Likewise.
7215 (grub_machine_init): Don't reserve os area.
7216 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
7217 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7218 * grub-core/kern/i386/loader.S: Removed.
7219 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
7220 (grub_os_area_size): Likewise.
7221 (grub_machine_init): Don't reserve os area.
7222 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7223 Don't call grub_dl_unload_all.
7224 Don't include loader.S.
7225 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7226 Declare the memory after _end as available.
7227 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
7228 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
7229 (GRUB_MM_ALLOC_MAGIC): Moved from here...
7230 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
7231 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
7232 * include/grub/mm_private.h (grub_mm_header): ... here.
7233 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
7234 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
7235 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
7236 (grub_mm_region): ..here. Removed addr. Added pre_size.
7237 All users updated.
7238 * grub-core/kern/mm.c (base): Renamed to ...
7239 (grub_mm_base): ... this. Made global.
7240 (grub_real_malloc): Alloc from end of region.
7241 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
7242 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
7243 * grub-core/kern/powerpc/cache_flush.S: ... here.
7244 * grub-core/lib/efi/relocator.c: New file.
7245 * grub-core/lib/i386/relocator.c: Rewritten.
7246 * grub-core/lib/i386/relocator16.S: New file.
7247 * grub-core/lib/i386/relocator32.S: Likewise.
7248 * grub-core/lib/i386/relocator64.S: Likewise.
7249 * grub-core/lib/i386/relocator_asm.S: Rewritten.
7250 * grub-core/lib/i386/relocator_common.S: New file.
7251 * grub-core/lib/ieee1275/relocator.c: Likewise.
7252 * grub-core/lib/mips/relocator.c: Rewritten.
7253 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
7254 stylistic adjustments.
7255 * grub-core/lib/powerpc/relocator.c: New file.
7256 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
7257 * grub-core/lib/relocator.c: Rewritten.
7258 * grub-core/lib/x86_64/relocator_asm.S: New file.
7259 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
7260 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
7261 (bsd_tag): New struct.
7262 (tags): New variable.
7263 (tags_last): Likewise.
7264 (netbsd_module): New struct.
7265 (netbsd_mods): New variable.
7266 (netbsd_mods_last): Likewise.
7267 (openbsd_opts): New parameter "serial".
7268 (OPENBSD_SERIAL_ARG): New definition.
7269 (netbsd_opts): New parameter "serial".
7270 (NETBSD_SERIAL_ARG): New definition.
7271 (grub_freebsd_add_meta): Reorganised into ...
7272 (grub_bsd_add_meta): ...this. All users updated.
7273 (grub_freebsd_add_mmap): Reorganised into ...
7274 (generate_e820_mmap): ...this...
7275 (grub_bsd_add_mmap): ...and this. All users updated.
7276 (grub_freebsd_list_modules): Use tags.
7277 (grub_netbsd_add_meta_module): New function.
7278 (grub_netbsd_list_modules): Likewise.
7279 (grub_freebsd_boot): Use relocator and finish EFI.
7280 (grub_openbsd_boot): Likewise.
7281 (grub_netbsd_setup_video): New function.
7282 (grub_netbsd_add_modules): Likewise.
7283 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
7284 and finish EFI.
7285 (grub_bsd_unload): Unload tags.
7286 (grub_bsd_load_aout): Use relocator.
7287 (grub_bsd_elf32_size_hook): New function.
7288 (grub_bsd_elf32_hook): Use relocator.
7289 (grub_bsd_elf64_size_hook): New function.
7290 (grub_bsd_elf64_hook): Use relocator.
7291 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
7292 (grub_bsd_load): Zero-out openbsd_ramdisk.
7293 (grub_bsd_load): Use relocator.
7294 (grub_cmd_openbsd): Support serial.
7295 (grub_cmd_netbsd): Support modules.
7296 (grub_cmd_freebsd_module): Use relocator.
7297 (grub_netbsd_module_load): New function.
7298 (grub_cmd_netbsd_module): Likewise.
7299 (grub_cmd_openbsd_ramdisk): Likewise.
7300 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
7301 kopenbsd_ramdisk.
7302 (GRUB_MOD_FINI): Unregister new commands.
7303 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
7304 (grub_freebsd_load_elfmodule_obj): Use relocator.
7305 (grub_freebsd_load_elfmodule): Likewise.
7306 (grub_freebsd_load_elf_meta): Likewise.
7307 (grub_netbsd_load_elf_meta): New function.
7308 (grub_openbsd_find_ramdisk): Likewise.
7309 * grub-core/loader/i386/bsd_helper.S: Removed.
7310 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
7311 * grub-core/loader/i386/bsd_trampoline.S: Removed.
7312 * grub-core/loader/i386/efi/linux.c: Likewise.
7313 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
7314 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
7315 (DEFAULT_VIDEO_MODE): Likewise.
7316 (real_mode_target): New variable.
7317 (prot_mode_target): Likewise.
7318 (initrd_mem_target): Likewise.
7319 (relocator): Likewise.
7320 (efi_mmap_buf): Likewise.
7321 (efi_mmap_size): Likewise.
7322 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
7323 (free_pages): Use relocator.
7324 (allocate_pages): Account for efi_mmap and use relocator. Return error.
7325 (grub_linux_setup_video): Return error.
7326 (grub_linux_trampoline_start): Removed.
7327 (grub_linux_trampoline_end): Likewise.
7328 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
7329 andd video parameters depending on firmware.
7330 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
7331 [GRUB_MACHINE_EFI]: Pass EFI parameters.
7332 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
7333 (grub_cmd_initrd): Use relocator.
7334 * grub-core/loader/i386/linux_trampoline.S: Removed.
7335 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
7336 (elf_sec_entsize): Likewise.
7337 (elf_sec_shstrndx): Likewise.
7338 (elf_sections): Likewise.
7339 (grub_multiboot_load): Use relocator.
7340 (grub_multiboot_get_mbi_size): Account for sections.
7341 (grub_multiboot_make_mbi): Use relocator and support sections.
7342 (grub_multiboot_add_elfsyms): New function.
7343 (grub_multiboot_free_mbi): Free sections.
7344 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
7345 (grub_linux_real_target): Likewise.
7346 (grub_linux_real_chunk): Likewise.
7347 (grub_linux16_prot_size): Likewise.
7348 (grub_linux16_boot): Use relocator.
7349 (grub_linux_unload): Unload relocator.
7350 (grub_cmd_linux): Use relocator.
7351 (grub_cmd_initrd): Likewise.
7352 * grub-core/loader/i386/pc/ntldr.c: New file.
7353 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7354 Don't try to guess CPU frequency.
7355 (grub_xnu_set_video): Stretch bitmap.
7356 (grub_xnu_boot): Use relocator.
7357 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7358 (grub_linux_unload): Free relocator.
7359 (grub_linux_load32): Use relocator.
7360 (grub_linux_load64): Likewise.
7361 (grub_cmd_initrd): Likewise.
7362 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7363 (grub_multiboot_unload): Unload relocator.
7364 (grub_cmd_multiboot): Use relocator.
7365 (grub_cmd_module): Likewise.
7366 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7367 Use relocator and support sections.
7368 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7369 (elf_sec_entsize): Likewise.
7370 (elf_sec_shstrndx): Likewise.
7371 (elf_sections): Likewise.
7372 (grub_multiboot_load): Use relocator.
7373 (grub_multiboot_get_mbi_size): Account for sections.
7374 (grub_multiboot_make_mbi): Use relocator and support sections.
7375 (grub_multiboot_add_elfsyms): New function.
7376 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7377 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7378 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7379 Prototype changed. All users updated.
7380 (grub_xnu_align_heap): Simplified.
7381 (grub_xnu_writetree_toheap): Likewise.
7382 (grub_xnu_unload): Unload relocator.
7383 (grub_cmd_xnu_kernel): Use relocator.
7384 (grub_cmd_xnu_kernel64): Likewise.
7385 (grub_xnu_register_memory): Simplified.
7386 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
7387 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7388 EFI is finished.
7389 (grub_console_checkkey): Likewise.
7390 (grub_console_getkey): Likewise.
7391 (grub_console_getwh): Likewise.
7392 (grub_console_getxy): Likewise.
7393 (grub_console_gotoxy): Likewise.
7394 (grub_console_cls): Likewise.
7395 (grub_console_setcolorstate): Likewise.
7396 (grub_console_setcursor): Likewise.
7397 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7398 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7399 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7400 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7401 * grub-core/tests/boot/kernel-8086.S: Likewise.
7402 * grub-core/tests/boot/kernel-i386.S: Likewise.
7403 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7404 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7405 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7406 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7407 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7408 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7409 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7410 * grub-core/tests/boot/linux.cfg: Likewise.
7411 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7412 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7413 * grub-core/tests/boot/linux16.cfg: Likewise.
7414 * grub-core/tests/boot/multiboot.cfg: Likewise.
7415 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7416 * grub-core/tests/boot/ntldr.cfg: Likewise.
7417 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7418 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7419 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7420 New definition.
7421 * include/grub/dl.h (grub_dl_unload_all): Removed.
7422 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7423 (grub_efi_finish_boot_services): Change prototype.
7424 (grub_efi_is_finished): New variable.
7425 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7426 Changed prototype.
7427 (grub_efiemu_finish_boot_services): Removed.
7428 (grub_machine_efiemu_init_tables): New prototype.
7429 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7430 (grub_elf64_phdr_iterate): Likewise.
7431 * include/grub/i386/bsd.h: Include relocator.h.
7432 (freebsd_tag_header): New struct.
7433 (grub_openbsd_bios_mmap): Removed.
7434 (grub_unix_real_boot): Removed.
7435 (grub_freebsd_load_elfmodule32): Changed prototype.
7436 (grub_freebsd_load_elfmodule_obj64): Likewise.
7437 (grub_freebsd_load_elf_meta32): Likewise.
7438 (grub_freebsd_load_elf_meta64): Likewise.
7439 (grub_freebsd_add_meta): Removed.
7440 (grub_netbsd_load_elf_meta32): New prototype.
7441 (grub_netbsd_load_elf_meta64): Likewise.
7442 (grub_bsd_add_meta): Likewise.
7443 (grub_openbsd_ramdisk_descriptor): New struct.
7444 (grub_openbsd_find_ramdisk32): New prototype.
7445 (grub_openbsd_find_ramdisk64): Likewise.
7446 * include/grub/i386/coreboot/loader.h: Removed.
7447 * include/grub/i386/efi/loader.h: Likewise.
7448 * include/grub/i386/ieee1275/loader.h: Likewise.
7449 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7450 to grub_uint32_t.
7451 * include/grub/i386/loader.h: Removed.
7452 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7453 value.
7454 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7455 (grub_phys_addr_t): New type.
7456 (grub_vtop): New inline function.
7457 (grub_map_memory): Likewise.
7458 (grub_unmap_memory): Likewise.
7459 * include/grub/i386/multiboot/loader.h: Removed.
7460 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7461 (NETBSD_BTINFO_CONSOLE): New definition.
7462 (NETBSD_BTINFO_SYMTAB): Likewise.
7463 (NETBSD_BTINFO_MODULES): Likewise.
7464 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7465 (grub_netbsd_bootinfo): New struct.
7466 (grub_netbsd_btinfo_common): Use explicit bitsize.
7467 (grub_netbsd_btinfo_mmap_entry): Removed.
7468 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7469 (grub_netbsd_btinfo_bootdisk): New struct.
7470 (grub_netbsd_btinfo_symtab): Likewise.
7471 (grub_netbsd_btinfo_serial): Likewise.
7472 (grub_netbsd_btinfo_modules): Likewise.
7473 (grub_netbsd_btinfo_framebuf): Likewise.
7474 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7475 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7476 Likewise.
7477 (grub_openbsd_bootargs): Use explicit bitsize.
7478 (grub_openbsd_bootarg_console): New struct.
7479 (GRUB_OPENBSD_COM_MAJOR): New definition.
7480 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7481 * include/grub/i386/pc/efiemu.h: Removed.
7482 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7483 * include/grub/i386/qemu/loader.h: Removed.
7484 * include/grub/i386/relocator.h: Rewritten.
7485 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7486 * include/grub/mips/memory.h: New file.
7487 * include/grub/mips/multiboot.h: Rewritten.
7488 * include/grub/mips/relocator.h: Rewritten.
7489 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7490 (grub_vtop): New function.
7491 (grub_map_memory): Likewise.
7492 (grub_unmap_memory): Likewise.
7493 * include/grub/misc.h (ALIGN_DOWN): New definition.
7494 * include/grub/mm.h (grub_mm_check_real): New proto.
7495 (GRUB_MM_CHECK): New definition.
7496 * include/grub/mm_private.h: New file.
7497 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7498 (grub_multiboot_get_mbi_size): Removed.
7499 (grub_multiboot_make_mbi): Change prottype.
7500 (grub_multiboot_set_accepts_video): New proto.
7501 (grub_multiboot_add_elfsyms): Likewise.
7502 (grub_multiboot_payload_eip): New variable.
7503 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7504 New prototype.
7505 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7506 New definition.
7507 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7508 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7509 * include/grub/powerpc/ieee1275/loader.h: Removed.
7510 * include/grub/powerpc/memory.h: New file.
7511 * include/grub/powerpc/relocator.h: Likewise.
7512 * include/grub/relocator.h: Likewise.
7513 * include/grub/relocator_private.h: Likewise.
7514 * include/grub/sparc64/ieee1275/loader.h: Removed.
7515 * include/grub/x86_64/memory.h: New file.
7516 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7517 (grub_xnu_heap_malloc): Likewise.
7518 (grub_xnu_heap_real_start): Removed.
7519 (grub_xnu_heap_start): Likewise.
7520 (grub_xnu_relocator): New variable.
7521 (grub_xnu_heap_target_start): Likewise.
7522 * tests/util/grub-shell.in: Support non-pc.
7523 * util/grub-mkimage.c (image_targets): Fix multiboot target.
7524
7525 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7528 on malloc error.
7529 (grub_bidi_logical_to_visual): Check that malloc succeded.
7530 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7531 puts.
7532 (grub_xputs_normal): Likewise.
7533
7534 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7537 extra_dist.
7538
7539 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7542
7543 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7546
7547 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7550 dprintf.
7551
7552 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7553
7554 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7555
7556 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/normal/term.c (print_more): Fix a memory leak.
7559 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7560 (grub_xputs_normal): Likewise.
7561
7562 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7565 the begining of the string
7566
7567 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/script/script.c (grub_script_parse): Free parsed on
7570 failure.
7571
7572 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7575 on failure.
7576
7577 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7580 return.
7581
7582 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7585 (scroll_up): Fix a memory leak.
7586
7587 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7590 errors.
7591
7592 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 Handle USB pendrives exposed as floppies.
7595
7596 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7597 floppy.
7598 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7599 Check for partitions on all devices.
7600
7601 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7604 (readkey): Likewise.
7605
7606 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7607
7608 Multiple variable names support to "export" command.
7609
7610 * normal/context.c (grub_cmd_export): "export" command supports
7611 multiple variable names.
7612
7613 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7614
7615 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7616 --target=drive output to Mach device name.
7617
7618 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7619
7620 New Automake based build system for GRUB.
7621
7622 * ABOUT-NLS: New file.
7623 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
7624 in Makefile.util.def file.
7625 * Makefile.util.def: New file. Autogen build definitions file for
7626 GRUB host utils.
7627 * conf/Makefile.common: New file. Common variables for GRUB host
7628 utils and target modules.
7629 * conf/Makefile.extra-dist: New file. Extra files for make dist.
7630 * docs/Makefile.am: New file. Automake file for docs.
7631 * gentpl.py: New file. Python script to generate Autogen
7632 template.
7633 * grub-core/Makefile.am: New file. GRUB target modules' rules
7634 that doesn't fit in Makefile.core.def file.
7635 * grub-core/Makefile.core.def: New file. Autogen build
7636 definitions file for GRUB target modules.
7637 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
7638 specific setjmp.S file.
7639 * po/Makefile.am: New file.
7640
7641 * .bzrignore: New ignores.
7642 * INSTALL: New requirements, without Ruby.
7643 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
7644 * autogen.sh: Updated to invoke autogen as necessary.
7645 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
7646 and defines for Automake conditionals.
7647 * geninit.sh: Refactoring.
7648
7649 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
7650 necessary.
7651 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
7652 New prototype.
7653
7654 * include/grub/test.h: Fix functional test modules' naming.
7655 * grub-core/tests/example_functional_test.c: Fix test module name.
7656
7657 * util/misc.c: Hosted versions' of grub functions for libgrub.a
7658 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
7659 * util/grub-editenv.c: Likewise.
7660 * util/grub-fstest.c: Likewise.
7661 * util/grub-mkdevicemap.c: Likewise.
7662 * util/grub-mkfont.c: Likewise.
7663 * util/grub-mkimage.c: Likewise.
7664 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7665 * util/grub-probe.c: Likewise.
7666 * util/grub-script-check.c: Likewise.
7667 * util/i386/pc/grub-setup.c: Likewise.
7668 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7669
7670 * tests/util/grub-shell.in: Fix override directory path.
7671 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
7672 * util/import_gcry.py: Create Makefile.gcry.def file instead.
7673
7674 * util/lvm.c: Update #includes.
7675 * util/raid.c: Likewise.
7676 * util/resolve.c: Likewise.
7677 * grub-core/bus/emu/pci.c: Likewise.
7678 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
7679 * grub-core/lib/posix_wrap/string.h: Likewise.
7680 * grub-core/kern/emu/main.c: Likewise.
7681
7682 * grub-core/gensymlist.sh: New file. Script for generating kernel
7683 symbols file.
7684 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
7685
7686 * grub-core/gentrigtables.c: Fix unused variable warnings.
7687
7688 * Makefile.in: Removed.
7689 * conf/any-emu.rmk: Removed.
7690 * conf/common.rmk: Removed.
7691 * conf/i386-coreboot.rmk: Removed.
7692 * conf/i386-efi.rmk: Removed.
7693 * conf/i386-ieee1275.rmk: Removed.
7694 * conf/i386-multiboot.rmk: Removed.
7695 * conf/i386-pc.rmk: Removed.
7696 * conf/i386-qemu.rmk: Removed.
7697 * conf/i386.rmk: Removed.
7698 * conf/mips-yeeloong.rmk: Removed.
7699 * conf/mips.rmk: Removed.
7700 * conf/powerpc-ieee1275.rmk: Removed.
7701 * conf/sparc64-ieee1275.rmk: Removed.
7702 * conf/tests.rmk: Removed.
7703 * conf/x86-efi.rmk: Removed.
7704 * conf/x86_64-efi.rmk: Removed.
7705 * gendistlist.sh: Removed.
7706 * geninitheader.sh: Removed.
7707 * genkernsyms.sh.in: Removed.
7708 * genmk.rb: Removed.
7709 * gensymlist.sh.in: Removed.
7710 * mkinstalldirs: Removed.
7711 * boot: Moved ...
7712 * grub-core/boot: ... to here.
7713 * bus: Moved ...
7714 * grub-core/bus: ... to here.
7715 * commands: Moved ...
7716 * grub-core/commands: ... to here.
7717 * disk: Moved ...
7718 * grub-core/disk: ... to here.
7719 * efiemu: Moved ...
7720 * grub-core/efiemu: ... to here.
7721 * font: Moved ...
7722 * grub-core/font: ... to here.
7723 * fs: Moved ...
7724 * grub-core/fs: ... to here.
7725 * gencmdlist.sh: Moved ...
7726 * grub-core/gencmdlist.sh: ... to here.
7727 * genemuinit.sh: Moved ...
7728 * grub-core/genemuinit.sh: ... to here.
7729 * genemuinitheader.sh: Moved ...
7730 * grub-core/genemuinitheader.sh: ... to here.
7731 * genfslist.sh: Moved ...
7732 * grub-core/genfslist.sh: ... to here.
7733 * genhandlerlist.sh: Moved ...
7734 * grub-core/genhandlerlist.sh: ... to here.
7735 * genmoddep.awk: Moved ...
7736 * grub-core/genmoddep.awk: ... to here.
7737 * genmodsrc.sh: Moved ...
7738 * grub-core/genmodsrc.sh: ... to here.
7739 * genpartmaplist.sh: Moved ...
7740 * grub-core/genpartmaplist.sh: ... to here.
7741 * genparttoollist.sh: Moved ...
7742 * grub-core/genparttoollist.sh: ... to here.
7743 * genterminallist.sh: Moved ...
7744 * grub-core/genterminallist.sh: ... to here.
7745 * gentrigtables.c: Moved ...
7746 * grub-core/gentrigtables.c: ... to here.
7747 * genvideolist.sh: Moved ...
7748 * grub-core/genvideolist.sh: ... to here.
7749 * gettext: Moved ...
7750 * grub-core/gettext: ... to here.
7751 * gfxmenu: Moved ...
7752 * grub-core/gfxmenu: ... to here.
7753 * gnulib: Moved ...
7754 * grub-core/gnulib: ... to here.
7755 * hello: Moved ...
7756 * grub-core/hello: ... to here.
7757 * hook: Moved ...
7758 * grub-core/hook: ... to here.
7759 * io: Moved ...
7760 * grub-core/io: ... to here.
7761 * kern: Moved ...
7762 * grub-core/kern: ... to here.
7763 * lib: Moved ...
7764 * grub-core/lib: ... to here.
7765 * loader: Moved ...
7766 * grub-core/loader: ... to here.
7767 * mmap: Moved ...
7768 * grub-core/mmap: ... to here.
7769 * normal: Moved ...
7770 * grub-core/normal: ... to here.
7771 * partmap: Moved ...
7772 * grub-core/partmap: ... to here.
7773 * parttool: Moved ...
7774 * grub-core/parttool: ... to here.
7775 * script: Moved ...
7776 * grub-core/script: ... to here.
7777 * term: Moved ...
7778 * grub-core/term: ... to here
7779 * tests/example_functional_test.c: Moved ...
7780 * grub-core/tests/example_functional_test.c: ... to here.
7781 * tests/lib/functional_test.c: Moved ...
7782 * grub-core/tests/lib/functional_test.c: ... to here.
7783 * tests/lib/test.c: Moved ...
7784 * grub-core/tests/lib/test.c: ... to here.
7785 * video: Moved ...
7786 * grub-core/video: ... to here.
7787
7788 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7789
7790 Replace --enable-grub-emu-modules with grub-emu-lite.
7791
7792 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
7793 cache.S.
7794
7795 * include/grub/emu/misc.h (grub_emu_init): New prototype.
7796 * kern/emu/full.c: New file. For grub-emu specific initialization.
7797 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
7798 * kern/emu/main.c: Call initialization function grub_emu_init.
7799
7800 * Makefile.in: Include grub-emu-lite in install.
7801 * commands/parttool.c: Use grub_no_autoload to differentiate
7802 between grub-emu and grub-emu-lite.
7803 * include/grub/misc.h: New variable grub_no_autoload.
7804
7805 * conf/any-emu.rmk: New rules for grub-emu-lite.
7806 * configure.ac: Remove --enable-grub-emu-modules.
7807 * genmk.rb: Cleanup unnecessary rules.
7808 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
7809
7810 * normal/main.c: Don't load list files on grub-emu-lite.
7811 * util/misc.c (grub_arch_sync_caches): Removed.
7812
7813 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
7814
7815 * kern/mips/startup.S (grub_prefix): Update comment to refer to
7816 grub-mkimage rather than grub-mkelfimage.
7817 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7818
7819 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
7822 a key after CapsLock or NumLock. It's just a qemu bug.
7823
7824 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
7827 needed by libusb wrapper.
7828
7829 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7830
7831 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
7832
7833 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
7836 --nounzip is passed.
7837
7838 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 USB hotunplugging and USB serial support.
7841
7842 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
7843 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
7844 (grub_uhci_transfer): Respect timeout and set *actual.
7845 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
7846 non-standard length.
7847 (grub_usb_device_attach): Autoload modules.
7848 (GRUB_MOD_INIT): Set grub_term_poll_usb.
7849 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
7850 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
7851 users updated.
7852 (grub_usb_add_hub): Fill nports and children.
7853 (attach_root_port): Receive hub instead of controller.
7854 All users updated. Fill hub->devices.
7855 (grub_usb_root_hub): Allocate hub->devices.
7856 (detach_device): New function.
7857 (poll_nonroot_hub): Fill children and detach devices.
7858 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
7859 actual arguments. All users updated.
7860 (grub_usb_bulk_read_extended): New function.
7861 * bus/usb/serial/common.c: New file.
7862 * bus/usb/serial/ftdi.c: Likewise.
7863 * bus/usb/serial/pl2303.c: Likewise.
7864 * commands/terminal.c (handle_command): Support wildcard.
7865 * commands/usbtest.c: Output "Unknown" instead of empty string.
7866 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
7867 (usbserial_common_mod_SOURCES): New variable.
7868 (usbserial_common_mod_CFLAGS): Likewise.
7869 (usbserial_common_mod_LDFLAGS): Likewise.
7870 (pkglib_MODULES): Add usbserial_pl2303.mod.
7871 (usbserial_pl2303_mod_SOURCES): New variable.
7872 (usbserial_pl2303_mod_CFLAGS): Likewise.
7873 (usbserial_pl2303_mod_LDFLAGS): Likewise.
7874 (pkglib_MODULES): Add usbserial_ftdi.mod.
7875 (usbserial_ftdi_mod_SOURCES): New variable.
7876 (usbserial_ftdi_mod_CFLAGS): Likewise.
7877 (usbserial_ftdi_mod_LDFLAGS): Likewise.
7878 (pkglib_MODULES): Add serial.mod.
7879 (serial_mod_SOURCES): New variable.
7880 (serial_mod_CFLAGS): Likewise.
7881 (serial_mod_LDFLAGS): Likewise.
7882 * conf/i386-pc.rmk: Likewise.
7883 * conf/mips-yeeloong.rmk: Likewise.
7884 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
7885 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7886 * disk/usbms.c (first_available_slot): New variable.
7887 (grub_usbms_attach): Don't reuse free slots due to potential cache
7888 problems.
7889 * include/grub/serial.h: Moved to ..
7890 * include/grub/ns8250.h: ...this.
7891 * include/grub/serial.h: New file.
7892 * include/grub/term.h (grub_term_poll_usb): New variable.
7893 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
7894 readkey. All users updated.
7895 (grub_terminfo_output_state): Pass term to put.
7896 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
7897 (grub_usb_controller_dev): Add timeout and actual arguments to
7898 transfer. All users updated.
7899 (grub_usb_interface): New field detach_data.
7900 (grub_usb_device): New fields children and nports.
7901 (grub_usb_ep_type_t): New type.
7902 (grub_usb_get_ep_type): New function.
7903 (grub_usb_bulk_read_extended): Likewise.
7904 * include/grub/usbdesc.h (grub_usb_desc): New type.
7905 * include/grub/usbserial.h: New file.
7906 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
7907 * kern/term.c (grub_term_poll_usb): New variable.
7908 (grub_getkey): Call grub_term_poll_usb if set.
7909 (grub_checkkey): Likewise.
7910 (grub_getkeystatus): Likewise.
7911 * term/serial.c: Moved controller-specific parts to ...
7912 * term/ns8250.c: ... here.
7913 * term/serial.c: Mostly rewritten.
7914 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
7915 according to spec.
7916
7917 2010-08-20 Robert Millan <rmh@gnu.org>
7918
7919 Make kFreeBSD code more generic to support ext2fs as root, ufs as
7920 a separate module and maybe other interesting combinations.
7921
7922 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
7923 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
7924 (kfreebsd_entry): Add generic filesystem module load routine.
7925 Map GRUB `ext2' to kFreeBSD `ext2fs'.
7926
7927 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
7928
7929 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
7930 "numcenter" (I misunderstood the purpose of this entry).
7931 * docs/grub.texi (sendkey): Likewise.
7932
7933 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
7934
7935 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
7936 status flag options; simply omitting the option is equivalent and
7937 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
7938 (keysym_table): Rename "num5numlock" to "numlock".
7939 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
7940 can uniformly say that only the last of multiple `sendkey'
7941 invocations has any effect.
7942 * docs/grub.texi (sendkey): New section.
7943
7944 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
7945
7946 * commands/i386/pc/sendkey.c (options): Fix three typos.
7947
7948 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 Implement sendkey support.
7951
7952 * commands/i386/pc/sendkey.c: New file.
7953 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
7954 (sendkey_mod_SOURCES): New variable.
7955 (sendkey_mod_CFLAGS): Likewise.
7956 (sendkey_mod_LDFLAGS): Likewise.
7957
7958 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
7959
7960 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
7961 fix warnings from Autoconf.
7962
7963 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
7964
7965 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
7966 to avoid false positives with some assemblers that output things
7967 like "someprefix_func" as part of their output.
7968
7969 2010-08-15 Robert Millan <rmh@gnu.org>
7970
7971 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
7972 errors.
7973 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
7974 grub_get_libzfs_handle() errors.
7975
7976 2010-08-14 Robert Millan <rmh@gnu.org>
7977
7978 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
7979 filesystem is not ZFS.
7980
7981 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7982
7983 Fix for misspelled color names defaulting to black/black (bug
7984 reported by Doug Nazar)
7985
7986 * include/grub/normal.h (grub_parse_color_name_pair): Add return
7987 status to prototype.
7988 * normal/color.c (grub_parse_color_name_pair): Return failure
7989 status.
7990 (grub_env_write_color_normal): Ignore bad color names.
7991 (grub_env_write_color_highlight): Likewise.
7992 * normal/main.c (GRUB_MOD_INIT): Set default color names.
7993
7994 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7995
7996 "shift" command support to GRUB script.
7997
7998 * include/grub/script_sh.h (grub_script_shift): New prototype.
7999 * script/execute.c (grub_script_shift): New function.
8000 * script/main.c (grub_script_init): Register shift command.
8001 (grub_script_fini): Unregister shift command.
8002 * util/grub-script-check.c (grub_script_cmd_shift): New function.
8003
8004 * tests/grub_script_shift.in: New testcase.
8005 * conf/tests.rmk: Rules for new testcase.
8006
8007 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8008
8009 "continue" command support to GRUB script.
8010
8011 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
8012 (grub_script_break): Continue support.
8013 * script/main.c (grub_script_init): Register continue command.
8014 (grub_script_fini): Unregister continue command.
8015
8016 * tests/grub_script_continue.in: New testcase.
8017 * conf/tests.rmk: Rules for new testcase.
8018
8019 2010-08-12 BVK Chaitanya <bvk@dbook>
8020
8021 "break" command support to GRUB script.
8022
8023 * conf/common.rmk: Rule updates to grub-script-check.
8024 * include/grub/misc.h (grub_min): New function.
8025 * include/grub/script_sh.h (grub_script_init): New prototype.
8026 (grub_script_fini): New prototype.
8027 (grub_script_break): New prototype.
8028 * script/main.c (grub_script_init): New function.
8029 (grub_script_fini): New function.
8030 * script/execute.c (grub_script_break): New function.
8031 * normal/main.c: Calls to grub_script_{init,fini}.
8032 * util/grub-script-check.c (grub_script_break): New function.
8033
8034 * tests/grub_script_break.in: New testcase.
8035 * conf/tests.rmk: Rules for new test case.
8036
8037 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8038
8039 Function parameters support to GRUB script.
8040
8041 * script/yylex.l (VARIABLE): Regular expression update.
8042 * script/function.c (grub_script_function_call): Moved ...
8043 * script/execute.c (grub_script_function_call): ... to here.
8044 (grub_script_execute_arglist_to_argv): Removed.
8045 (grub_script_arglist_to_argv): New function.
8046 * script/argv.c: New file.
8047 (grub_script_argv_free): New function.
8048 (grub_script_argv_next): Likewise.
8049 (grub_script_argv_append): Likewise.
8050 (grub_script_argv_split_append): Likewise.
8051 * include/grub/script_sh.h (grub_script_argv): New struct.
8052 (grub_script_argv_free): New function.
8053 (grub_script_argv_next): Likewise.
8054 (grub_script_argv_append): Likewise.
8055 (grub_script_argv_split_append): Likewise.
8056
8057 * conf/common.rmk (normal.mod): New source script/argv.c.
8058
8059 * tests/grub_script_echo1.in: More tests.
8060 * tests/grub_script_vars1.in: Likewise.
8061 * tests/grub_script_functions.in: New test case.
8062 * conf/tests.rmk: Rules for new testcase.
8063
8064 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8065
8066 Remove grub_script_cmdblock struct.
8067
8068 * include/grub/script_sh.h: Remove grub_script_cmdblock.
8069 * script/parser.y: Likewise.
8070 * script/execute.c: Rename cmdblock suffix to cmdlist.
8071 * script/script.c: Likewise.
8072 * util/grub-script-check.c: Likewise.
8073
8074 2010-08-11 Yves Blusseau <blusseau@zetam.org>
8075
8076 * .bzrignore: add grub-macho2img
8077
8078 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
8081
8082 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Remove the dump of sm712 initialisation sequence.
8085
8086 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
8087 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
8088 (GRUB_VGA_IO_MISC_WRITE): Likewise.
8089 (GRUB_VGA_CR_*): Added many registers.
8090 (GRUB_VGA_SR_*): Likewise.
8091 (GRUB_VGA_GR_*): Likewise.
8092 (grub_vga_write_arx): New function.
8093 (grub_video_hw_config): New struct.
8094 (grub_vga_set_geometry): New function.
8095 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
8096 GRUB_PCI_CLASS_SUBCLASS_VGA.
8097 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
8098 * video/sm712.c (grub_sm712_write_reg): New function
8099 (grub_sm712_read_reg): Likewise.
8100 (grub_sm712_sr_write): Likewise.
8101 (grub_sm712_gr_write): Likewise.
8102 (grub_sm712_cr_write): Likewise.
8103 (grub_sm712_write_arx): Likewise.
8104 (grub_sm712_cr_shadow_write): Likewise.
8105 (grub_sm712_write_dda_lookup): Likewise.
8106 (grub_video_sm712_setup): Initialise the video rather then
8107 blindly replay the dump.
8108 (main) [TEST]: Add a routine to be able to compile as standalone for
8109 tests.
8110 * video/sm712_init.c (sm712_init): Removed.
8111 (sm712_sr_seq1): New array.
8112 (sm712_sr_seq2): Likewise.
8113
8114 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * include/grub/vga.h: Add missing grub/pci.h include.
8117
8118 2010-08-10 Yves Blusseau <blusseau@zetam.org>
8119
8120 * util/grub-macho2img.c (main): fix typo
8121
8122 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
8125 (grub_vga_gr_read): Likewise.
8126 (grub_vga_cr_write): Likewise.
8127 (grub_vga_cr_read): Likewise.
8128 (grub_vga_sr_write): Likewise.
8129 (grub_vga_sr_read): Likewise.
8130 (grub_vga_palette_read): Likewise.
8131 (grub_vga_palette_write): Likewise.
8132 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
8133 (grub_sm712_sr_read): New function.
8134 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
8135 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
8136
8137 2010-08-09 Robert Millan <rmh@gnu.org>
8138
8139 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
8140 out unused variables on non-ZFS build.
8141
8142 2010-08-08 Robert Millan <rmh@gnu.org>
8143
8144 Fix path generation for sub-filesystems in ZFS.
8145
8146 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
8147 missing slash.
8148
8149 2010-08-08 Robert Millan <rmh@gnu.org>
8150
8151 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
8152
8153 2010-08-08 Robert Millan <rmh@gnu.org>
8154
8155 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
8156 exist, issue a proper error message (rely on `ls' for translated
8157 strings).
8158
8159 2010-08-08 Robert Millan <rmh@gnu.org>
8160
8161 Fix grub-probe invocation.
8162
8163 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
8164
8165 2010-08-04 Robert Millan <rmh@gnu.org>
8166
8167 * configure.ac: Remove checks for getfsstat() and getmntany().
8168 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
8169 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
8170 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
8171 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
8172 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
8173 function.
8174 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
8175 via find_mount_point_from_dir() and getfsstat() / getmntany().
8176
8177 2010-08-04 Robert Millan <rmh@gnu.org>
8178
8179 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8180 (grub_find_zpool_from_mount_point): Merge into ...
8181 (grub_find_zpool_from_dir): ... this.
8182 * kern/emu/misc.c: Likewise.
8183
8184 * kern/emu/misc.c
8185 (grub_make_system_path_relative_to_its_root): Replace
8186 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
8187 with grub_find_zpool_from_dir().
8188 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
8189
8190 2010-08-04 Robert Millan <rmh@gnu.org>
8191
8192 Support OpenSolaris in ZFS device resolution.
8193
8194 * configure.ac: Check for getmntany().
8195 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
8196 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
8197 support.
8198
8199 2010-08-03 Robert Millan <rmh@gnu.org>
8200
8201 Fix grub-emu build.
8202
8203 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
8204 * include/grub/emu/misc.h: ... here.
8205
8206 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
8207 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
8208
8209 * util/misc.c: Remove `<grub/util/libzfs.h>'.
8210 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
8211 (grub_get_libzfs_handle): Move to ...
8212 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
8213 (grub_get_libzfs_handle): ... here.
8214
8215 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
8216
8217 * script/execute.c (grub_script_execute_cmdline): Check for NULL
8218 as command name case.
8219
8220 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
8221
8222 * disk/raid.c (insert_array): Select unique numbers for named arrays
8223 as well, for use as keys in the disk cache.
8224
8225 2010-08-01 Robert Millan <rmh@gnu.org>
8226
8227 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
8228 kFreeBSD device name, except on ZFS where the filesystem label is
8229 used.
8230 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
8231 `/boot/zfs/zpool.cache'.
8232 Set mountfrom kernel variable using ${kfreebsd_device}.
8233
8234 2010-08-01 Robert Millan <rmh@gnu.org>
8235
8236 Make it even harder to use uninitialized `libzfs_handle' (and
8237 make the interface a bit simpler).
8238
8239 * include/grub/util/misc.h (grub_util_init_libzfs)
8240 (libzfs_handle): Remove.
8241 (grub_get_libzfs_handle): New prototype.
8242
8243 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
8244 attribute.
8245 (grub_util_init_libzfs): Remove.
8246 (grub_get_libzfs_handle): New function.
8247
8248 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
8249 grub_get_libzfs_handle() to obtain a libzfs handle instead of
8250 accessing `libzfs_handle' directly.
8251
8252 2010-08-01 Robert Millan <rmh@gnu.org>
8253
8254 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8255 (grub_find_zpool_from_mount_point): New function prototypes.
8256
8257 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8258 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8259
8260 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8261 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8262 `static' attribute.
8263
8264 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8265 finding zpool from mount point into ...
8266 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8267
8268 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8269 requested path is part of a ZFS pool, use
8270 grub_find_zpool_from_mount_point() to detect its filesystem name,
8271 and generate a path with `/fsname@path' syntax.
8272
8273 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8274
8275 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
8276 (void) rather than () so that this is a proper prototype.
8277
8278 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
8281
8282 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
8285 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
8286
8287 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8288
8289 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
8290
8291 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8292
8293 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
8294
8295 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8296
8297 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
8298 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
8299 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
8300 disable gfxpayload.
8301 (Shell-like scripting): Add real content.
8302 (Serial terminal): Suggest `terminal_input serial; terminal_output
8303 serial' rather than putting the two commands on separate lines,
8304 since console input will be inoperative after the first command.
8305 (menuentry): Document --class, --users, and --hotkey options.
8306 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
8307 Vladimir Serbinenko).
8308
8309 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8310 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8311
8312 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
8313
8314 2010-08-01 Robert Millan <rmh@gnu.org>
8315
8316 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8317 (grub_find_zpool_from_mount_point): New function prototypes.
8318
8319 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8320 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8321
8322 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8323 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8324 `static' attribute.
8325
8326 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8327 finding zpool from mount point into ...
8328 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8329
8330 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8331 requested path is part of a ZFS pool, use
8332 grub_find_zpool_from_mount_point() to detect its filesystem name,
8333 and generate a path with `/fsname@path' syntax.
8334
8335 2010-08-01 Robert Millan <rmh@gnu.org>
8336
8337 Prevent accidental use of uninitialized libzfs_handle.
8338
8339 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
8340 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
8341 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
8342
8343 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8344
8345 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
8346 util/grub.d/10_linux.in). Fixes Debian bug #591093.
8347
8348 2010-08-01 Robert Millan <rmh@gnu.org>
8349
8350 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8351
8352 2010-07-31 Robert Millan <rmh@gnu.org>
8353
8354 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8355
8356 2010-07-31 Robert Millan <rmh@gnu.org>
8357
8358 * kern/emu/misc.c: Add missing license header.
8359
8360 2010-07-31 Robert Millan <rmh@gnu.org>
8361
8362 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8363
8364 * include/grub/util/libnvpair.h: Include `<config.h>'.
8365 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8366 declaring libnvpair prototypes ourselves.
8367 * include/grub/util/libzfs.h: Include `<config.h>'.
8368 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8369 declaring libzfs prototypes ourselves.
8370
8371 (libzfs_handle): Moved to ...
8372 * include/grub/util/misc.h (libzfs_handle): ... here.
8373 Include `<grub/util/libzfs.h>'.
8374
8375 2010-07-30 Robert Millan <rmh@gnu.org>
8376
8377 * include/grub/emu/misc.h: Add missing license header.
8378
8379 2010-07-30 Robert Millan <rmh@gnu.org>
8380
8381 Enable `grub-probe -t device' resolution on ZFS.
8382
8383 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8384 * include/grub/util/libnvpair.h: New file.
8385 * include/grub/util/libzfs.h: New file.
8386
8387 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8388 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8389 `<grub/util/libnvpair.h>'.
8390 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8391
8392 (find_mount_point_from_dir): New static function.
8393 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8394 function.
8395 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8396 find_root_device_from_libzfs() before ressorting to find_root_device().
8397
8398 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8399 prototype.
8400 * util/misc.c: Include `<grub/util/libzfs.h>'.
8401 (grub_util_init_libzfs): New function.
8402 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8403 [HAVE_LIBZFS] (fini_libzfs): New static function.
8404 (grub_util_init_libzfs): New function.
8405 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8406
8407 2010-07-30 Robert Millan <rmh@gnu.org>
8408
8409 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8410 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8411 `warn_unused_result' attribute.
8412 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8413 (grub_xasprintf, grub_xvasprintf): Likewise.
8414 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8415
8416 2010-07-29 Robert Millan <rmh@gnu.org>
8417
8418 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8419 (probe): Handle `PRINT_FS_LABEL'.
8420 (main): Handle `-t fs_label'.
8421
8422 2010-07-29 Robert Millan <rmh@gnu.org>
8423
8424 * configure.ac: Remove grub-mkisofs checks.
8425
8426 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8429 Reported by: Lennart Sorensen.
8430
8431 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8434 prior to terminal_input/terminal_output separation. It's been over 1.5
8435 years and those versions weren't widely deployed.
8436
8437 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * disk/raid.c (insert_array): Don't count named arrays when looking
8440 for unused array numbers.
8441 Reported and tested by: Michael Guntsche.
8442
8443 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8444
8445 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8446 implementation of this so that grub-emu links again, with a note
8447 that this should support hotplugging in the future.
8448
8449 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8450
8451 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8452
8453 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8454
8455 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8456 handle on failure.
8457 (grub_loopback_close): Remove empty function.
8458 (grub_loopback_dev): Remove close method.
8459
8460 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8461
8462 Disable EFI cursor when the EFI console becomes inactive.
8463
8464 * term/efi/console.c (grub_efi_console_init): New function.
8465 (grub_efi_console_fini): New function.
8466 (grub_console_term_output): Register init and fini methods.
8467
8468 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8471 sh script.
8472
8473 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * disk/loopback.c (grub_loopback): Replace filename with file.
8476 (delete_loopback): Handle new semantics.
8477 (grub_cmd_loopback): Likewise.
8478 (grub_loopback_iterate): Likewise.
8479 (grub_loopback_close): Likewise.
8480
8481 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8484 with -p "".
8485 Reported by: Tito Keitel.
8486
8487 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * docs/grub.texi (Naming convention): Document new naming convention.
8490
8491 2010-07-20 Vadim Solomin <vadic052@gmail.com>
8492 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8493
8494 Generate device.map in something closer to the old ordering.
8495
8496 * util/deviceiter.c (struct device): New declaration.
8497 (compare_file_names): Rename to ...
8498 (compare_devices): ... this. Sort by kernel name in preference to
8499 the stable by-id name, but keep the latter as a fallback comparison.
8500 Update header comment.
8501 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8502 of `struct device' rather than of plain file names.
8503
8504 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8505
8506 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8507 on i386.
8508
8509 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8512 hardcoding size.
8513 (setv1table): Likewise.
8514
8515 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8516
8517 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8518 removing the homehost if present.
8519 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8520 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8521 removing the homehost if present.
8522 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8523 if possible.
8524 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8525
8526 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8527 parameter. Set its pointer target to 0.
8528 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8529 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8530 `data_offset' value from the superblock for 1.x metadata.
8531 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8532 data on the device.
8533 (insert_array): Record the start sector of data on the device.
8534 (grub_raid_register): Pass start_sector parameters to
8535 grub_raid_list->detect and insert_array.
8536 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8537 member.
8538 (struct grub_raid): Add start_sector parameter to `detect'.
8539
8540 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8541 __attribute__ ((packed)), leaving a comment.
8542 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8543 (grub_mdraid_detect_09): ... here and ...
8544 (grub_mdraid_detect_1x): ... here.
8545
8546 2010-07-20 Peter Henn <peter.henn@web.de>
8547
8548 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8549 chunk size and disk size, which are already given as sector counts
8550 as distinct from the 0.90 units. Fetch the correct device number
8551 from the role table instead of using the table index.
8552
8553 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
8554
8555 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8556 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8557 (WriteMostly1): New macro.
8558 Set array->name to NULL for metadata format 0.90. Add support for
8559 metadata 1.x. Fix some comments.
8560 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8561 few comments.
8562 * util/getroot.c (grub_util_get_grub_dev): Add support for
8563 /dev/md/name style devices.
8564
8565 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8566
8567 * .bzrignore: Ignore 20_linux_xen.
8568
8569 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
8570
8571 * util/import_unicode.py: Remove unnecessary imports.
8572
8573 2010-07-17 Aleš Nesrsta <starous@volny.cz>
8574
8575 Hotplugging and USB hub support.
8576
8577 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8578 (grub_ohci): Likewise.
8579 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8580 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8581 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8582 (GRUB_OHCI_CTRL_EDS): Likewise.
8583 (GRUB_OHCI_BULK_EDS): Likewise.
8584 (GRUB_OHCI_TDS): Likewise.
8585 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8586 (grub_ohci_ed_phys2virt): New function.
8587 (grub_ohci_virt_to_phys): Likewise.
8588 (grub_ohci_td_phys2virt): Likewise.
8589 (grub_ohci_td_virt2phys): Likewise.
8590 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8591 attachment.
8592 (grub_ohci_find_ed): New function.
8593 (grub_ohci_alloc_td): Likewise.
8594 (grub_ohci_free_td): Likewise.
8595 (grub_ohci_free_tds): Likewise.
8596 (grub_ohci_transfer): Use previously allocated memory.
8597 (grub_ohci_portstatus): Reset status changed bit.
8598 (grub_ohci_detect_dev): Supply status changed.
8599 (grub_ohci_fini_hw): Free memory.
8600 (grub_ohci_restore_hw): Reallocate memory.
8601 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8602 Reset status change.
8603 (grub_uhci_detect_dev): Supply status_change.
8604 * bus/usb/usb.c (attach_hooks): New var.
8605 (grub_usb_device_attach): New function.
8606 (grub_usb_register_attach_hook_class): Likewise.
8607 (grub_usb_unregister_attach_hook_class): Likewise.
8608 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8609 (grub_usb_add_hub): Reset connection changed bit.
8610 (attach_root_port): New function.
8611 (grub_usb_root_hub): Likewise.
8612 (poll_nonroot_hub): Likewise.
8613 (grub_usb_poll_devices): Likewise.
8614 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8615 * disk/usbms.c (grub_usbms_open): Use device hooks.
8616 (grub_usbms_iterate) :Poll devices.
8617 (grub_usbms_finddevs): Split into ...
8618 (grub_usbms_attach): ... this ...
8619 (grub_usbms_attach): ... and this.
8620 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
8621 in detect_dev.
8622 (grub_usb_interface): New fields attached and detach_hook.
8623 (grub_usb_attach_hook_class): New type.
8624 (grub_usb_attach_desc): New struct.
8625 (grub_usb_register_attach_hook_class): New function.
8626 (grub_usb_unregister_attach_hook_class): Likewise.
8627 (grub_usb_poll_devices): Likewise.
8628 (grub_usb_device_attach): Likewise.
8629 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
8630 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
8631
8632 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
8635 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
8636 delta determination style. Works with most NetBSD partitions too.
8637
8638 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
8641 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
8642
8643 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
8646
8647 2010-07-14 Anton Blanchard <anton@samba.org>
8648
8649 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
8650 ET_DYN files.
8651
8652 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8653
8654 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
8655
8656 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8657
8658 * kern/partition.c (grub_partition_check_containment): New function to
8659 check that a partition is physically contained in a parent. Since
8660 offsets are relative (and non-negative), this reduces to checking that
8661 the partition ends before its parent.
8662 (grub_partition_map_probe): Discard out-of-range sub-partitions.
8663 (grub_partition_iterate): Likewise.
8664 * include/grub/partition.h (grub_partition_map): Slightly more detailed
8665 comments.
8666 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
8667 partitions that start before their parent, and add debug printfs.
8668
8669 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
8670
8671 * Makefile.in (.SUFFIX): Spell correctly, as ...
8672 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
8673 bare module name without `.mod', e.g. `test') tried to invoke a
8674 Modula-2 compiler.
8675
8676 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
8677
8678 * README: Point to the Info manual.
8679
8680 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
8681
8682 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
8683 2nd superblock position from partition size.
8684
8685 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
8686
8687 * Makefile.in (MAINTAINER_CLEANFILES): Remove
8688 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
8689 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
8690 outputs.
8691
8692 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 Restructure SCSI .id handling.
8695 Reported and tested by: Aleš Nesrsta.
8696
8697 * disk/ata.c (grub_atapi_close): Removed. All users updated.
8698 (grub_atapi_dev): Changed .name to "ata". New field .id.
8699 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
8700 (grub_usbms_dev): New field .id.
8701 * disk/scsi.c (grub_scsi_iterate): Generate name.
8702 (grub_scsi_open): Parse name.
8703 * include/grub/scsi.h (grub_make_scsi_id): New function.
8704 (grub_scsi_dev): Change iterate and open to number instead of naming
8705 busses. All users updated.
8706 (grub_scsi): Remove name. Add .bus.
8707
8708 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * commands/help.c (grub_cmd_help): Fix a typo.
8711
8712 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
8715 Reported and tested by: Colin Watson.
8716
8717 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
8720 in this context.
8721
8722 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
8725
8726 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
8727
8728 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
8729 indentation.
8730
8731 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8732
8733 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
8734 and disk/raid6_recover.c.
8735 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8736 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8737
8738 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8739
8740 * term/gfxterm.c (repaint_schedulded): Rename to ...
8741 (repaint_scheduled): ... this. Update all callers.
8742 (repaint_was_schedulded): Rename to ...
8743 (repaint_was_scheduled): ... this. Update all callers.
8744
8745 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8746
8747 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
8748 which we expect to be handled by upper layers.
8749
8750 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
8751
8752 * bus/usb/usbhub.c: #include time.h header.
8753
8754 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8755
8756 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
8757 entry_name also for entries without stat blocks (e.g. ".."); fixes
8758 corruption of the first entry in a directory.
8759
8760 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8761
8762 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
8763 after setting gfxterm as the active terminal. GRUB_BACKGROUND
8764 doesn't work otherwise.
8765
8766 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8767
8768 * docs/grub.texi (Features): Update list of supported file systems.
8769 (GNU/Linux): Update for GRUB 2.
8770 (Serial terminal): Remove mention of --disable-serial, which was a
8771 GRUB Legacy configure option. Update instructions to use
8772 `terminal_input' and `terminal_output' rather than `terminal'.
8773 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
8774 configuration' and `Installing GRUB using grub-install'.
8775 (Menu entry editor): Update for GRUB 2.
8776 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
8777 Document new -a, -u, and -v options.
8778 (initrd): New section.
8779 (initrd16): New section.
8780 (linux): New section.
8781 (linux16): New section.
8782 (search): The `var' argument to `--set' is optional.
8783 (GRUB only offers a rescue shell): Go into a little more detail on
8784 drive ordering.
8785
8786 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8787
8788 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
8789
8790 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8791
8792 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
8793 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
8794
8795 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8796
8797 * util/i386/pc/grub-setup.c (setup): Rename prefix to
8798 install_prefix, in line with install_dos_part and install_bsd_part.
8799 Add new prefix variable, which is copied to install_prefix after
8800 comparing core.img in memory with the one read from disk in the
8801 no-embedding case, and use that rather than overwriting
8802 install_prefix immediately when installing to a partition.
8803 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
8804 Bicakci.
8805
8806 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8807
8808 * configure.ac: Avoid == in test command, it's not portable.
8809 * util/grub.d/30_os-prober.in: Likewise.
8810
8811 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
8812
8813 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
8814
8815 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8816
8817 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
8818 multiple (top-level) partmaps.
8819
8820 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * util/i386/efi/grub-install.in: Don't use empty grub_device.
8823 Reported by: Tino Keitel.
8824
8825 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Bidi and diacritics support.
8828
8829 * Makefile.in (widthspec.bin): New target.
8830 (widthspec.h): Likewise.
8831 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
8832 * autogen.sh: Generate unidata.c.
8833 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
8834 * commands/ls.c (grub_ls_list_devices): Likewise.
8835 (grub_ls_list_files): Likewise.
8836 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
8837 (grub_mini_cmd_lsmod): Likewise.
8838 * commands/read.c: Likewise.
8839 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
8840 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
8841 * lib/arg.c (grub_arg_show_help): Likewise.
8842 * lib/crypto.c (grub_password_get): Likewise.
8843 * normal/auth.c (grub_username_get): Likewise.
8844 * normal/misc.c (grub_normal_print_device_info): Likewise.
8845 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
8846 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
8847 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
8848 (normal/charset.c_DEPENDENCIES): New variable.
8849 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
8850 (pkglib_MODULES): Remove charset.mod.
8851 (charset_mod_SOURCES): Removed.
8852 (charset_mod_CFLAGS): Likewise.
8853 (charset_mod_LDFLAGS): Likewise.
8854 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
8855 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
8856 and term/tparm.c.
8857 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8858 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8859 (kernel_img_HEADERS): Add terminfo.h.
8860 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
8861 Fill ->font. Reverse ascii bitmaps.
8862 (grub_font_get_xheight): New function.
8863 * font/font.c (grub_font_get_string_width): Moved from here ...
8864 * gfxmenu/font.c (grub_font_get_string_width): ... here.
8865 * font/font.c (grub_font_draw_string): Moved from here ...
8866 * gfxmenu/font.c (grub_font_draw_string): ... here.
8867 * font/font.c (grub_font_dup_glyph): New function.
8868 (grub_font_blit_glyph): Likewise.
8869 (grub_font_blit_glyph_mirror): Likewise.
8870 (blit_comb): Likewise.
8871 (grub_font_construct_dry_run): Likewise.
8872 (grub_font_get_constructed_device_width): Likewise.
8873 (grub_font_construct_glyph): Likewise.
8874 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
8875 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
8876 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
8877 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
8878 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
8879 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
8880 (grub_font_get_xheight): New proto.
8881 (grub_font_get_constructed_device_width): Likewise.
8882 (grub_font_construct_glyph): Likewise.
8883 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
8884 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
8885 * include/grub/font.h (grub_font_draw_string): Moved from here ...
8886 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
8887 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
8888 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
8889 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
8890 (grub_console_getcharwidth): Likewise.
8891 * include/grub/misc.h (grub_xputs): New proto.
8892 (grub_puts): Inlined.
8893 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
8894 (grub_normal_get_line_counter): Removed.
8895 (grub_install_newline_hook): Likewise.
8896 (grub_normal_get_char_counter): New proto.
8897 (grub_normal_reset_more): Likewise.
8898 (grub_xputs_normal): Likewise.
8899 * include/grub/powerpc/ieee1275/console.h: Removed.
8900 * include/grub/sparc64/ieee1275/console.h: Likewise.
8901 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
8902 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
8903 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
8904 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
8905 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
8906 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
8907 (grub_term_input): Pass reference to self. All users updated.
8908 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
8909 Pass reference to self. New fields normal_color, highlight_color and
8910 data. All users updated.
8911 (grub_putchar): Removed.
8912 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
8913 (grub_unicode_estimate_width): New function.
8914 (grub_term_getcharwidth): Add defaults.
8915 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
8916 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
8917 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
8918 (grub_cls): Remove EXPORT_FUNC.
8919 (grub_setcolorstate): Inline.
8920 (grub_newline_hook): Removed.
8921 * include/grub/terminfo.h: Rewritten. All users updated.
8922 * include/grub/unicode.h: New file.
8923 * include/grub/video.h (grub_video_signed_rect): New type.
8924 * kern/emu/console.c (grub_console_highlight_color): Removed.
8925 (grub_console_normal_color): Likewise.
8926 (grub_console_standard_color): Made static.
8927 (grub_ncurses_putchar): Remove mapping.
8928 (grub_ncurses_getcharwidth): Removed.
8929 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
8930 (grub_ncurses_setcolor): Removed.
8931 (grub_ncurses_getcolor): Likewise.
8932 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
8933 (grub_console_putchar): ... this.
8934 (grub_console_putchar): Handle argument difference.
8935 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
8936 console_init_early and console_init_lately.
8937 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
8938 * kern/misc.c (grub_puts): Removed.
8939 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
8940 (grub_vsnprintf_real): Remove str = NULL support.
8941 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
8942 * normal/charset.c (grub_utf8_to_ucs4): ... here.
8943 * kern/term.c (grub_putcode): Renamed to ...
8944 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
8945 (grub_putchar): Removed.
8946 (grub_xputs_dumb): New function.
8947 (grub_xputs): New variable.
8948 * lib/charset.c: Move from here ...
8949 * normal/charset.c: ... to here.
8950 (grub_ucs4_to_utf8): New function.
8951 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
8952 (join_types): New variable.
8953 (unpack_join): New function.
8954 (bidi_types): New variable.
8955 (unpack_bidi): New function.
8956 (get_bidi_type): Likewise.
8957 (get_join_type): Likewise.
8958 (is_mirrored): Likewise.
8959 (grub_unicode_get_comb_type): Likewise.
8960 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
8961 (is_type_after): Likewise.
8962 (grub_unicode_aglomerate_comb): Likewise.
8963 (bidi_line_wrap): Likewise.
8964 (grub_bidi_line_logical_to_visual): Likewise.
8965 (grub_bidi_logical_to_visual): Likewise.
8966 (grub_unicode_mirror_code): Likewise.
8967 (grub_unicode_shape_code): Likewise.
8968 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
8969 Don't use grub_putchar.
8970 * normal/main.c (grub_normal_init_page): Use grub_putcode.
8971 (grub_normal_reader_init): Likewise.
8972 (grub_xputs_saved): New variable.
8973 (GRUB_MOD_INIT): Set grub_xputs.
8974 (GRUB_MOD_FINI): Restore grub_xputs.
8975 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
8976 (menu_init): Avoid printing gfxmenu error.
8977 (show_menu): Use grub_normal_get_char_counter.
8978 * normal/menu_entry.c (update_screen): Fix out-of-array.
8979 (complete): Avoid NULL dereferencing.
8980 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
8981 * normal/menu_text.c (print_spaces): Removed.
8982 (grub_print_ucs4): Likewise.
8983 (grub_print_message_indented): Use grub_print_ucs4.
8984 (print_message): Use grub_putcode.
8985 (print_entry): Hanlde diacritics.
8986 * normal/term.c (term_state): New type.
8987 (grub_more_lines): Removed.
8988 (term_states): New variable.
8989 (grub_normal_line_counter): Renamed to ..
8990 (grub_normal_char_counter): ...this. All users updated.
8991 (grub_normal_get_line_counter): Renamed to ...
8992 (grub_normal_get_char_counter): ... this.
8993 (grub_normal_reset_more): New function.
8994 (process_newline): Removed.
8995 (print_more): New function.
8996 (grub_install_newline_hook): Removed.
8997 (map_code): New function.
8998 (grub_puts_terminal): Use grub_print_ucs4.
8999 (putglyph): New function.
9000 (putcode_real): Likewise.
9001 (grub_putcode): Use putcode_real.
9002 (get_maxwidth): New function.
9003 (get_startwidth): Likewise.
9004 (print_ucs4_terminal): Likewise.
9005 (find_term_state): Likewise.
9006 (put_glyphs_terminal): Likewise.
9007 (print_backlog): Likewise.
9008 (print_ucs4_real): Likewise.
9009 (grub_print_ucs4): Likewise.
9010 (grub_xputs_normal): Likewise.
9011 * term/efi/console.c (grub_console_putchar): Output diacritics.
9012 (grub_console_getcharwidth): Removed.
9013 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9014 * term/gfxterm.c (clear_char): Free chars.
9015 (scroll_up): Avoid leaking memory.
9016 (grub_gfxterm_putchar): Support diacritics.
9017 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9018 * term/i386/pc/console.c (grub_console_term_output): Declare as
9019 GRUB_TERM_CODE_TYPE_VGA.
9020 * term/i386/pc/vga.c (grub_vga_term): Declare as
9021 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
9022 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
9023 GRUB_TERM_CODE_TYPE_VGA.
9024 * term/i386/vga_common.c (map_char): Removed.
9025 (grub_console_putchar): Likewise.
9026 (grub_console_getcharwidth): Likewise.
9027 * term/ieee1275/ofconsole.c: Simplify using terminfo.
9028 (colors): Reordered to match terminfo.
9029 (grub_ofconsole_normal_color): Removed.
9030 (grub_ofconsole_writeesc): Likewise.
9031 (grub_ofconsole_highlight_color): Likewise.
9032 (grub_ofconsole_getcharwidth): Likewise.
9033 (grub_ofconsole_setcolorstate): Likewise.
9034 (grub_ofconsole_setcolor): Likewise.
9035 (grub_ofconsole_getcolor): Likewise.
9036 (grub_ofconsole_readkey): Renamed to ...
9037 (readkey): ... this. Remove escape sequence handling. Return -1 on no
9038 key.
9039 (grub_ofconsole_checkkey): Removed.
9040 (grub_ofconsole_getkey): Likewise.
9041 (grub_ofconsole_getxy): Likewise.
9042 (grub_ofconsole_gotoxy): Likewise.
9043 (grub_ofconsole_cls): Likewise.
9044 (grub_ofconsole_refresh): Likewise.
9045 (grub_ofconsole_terminfo_input): New struct.
9046 (grub_ofconsole_terminfo_output): Likewise.
9047 (grub_ofconsole_term_input): Use terminfo.
9048 (grub_ofconsole_term_output): Likewise.
9049 (grub_console_init): Split into ...
9050 (grub_console_init_early): ...this and ...
9051 (grub_console_init_lately): ...this. Use terminfo.
9052 (grub_ofconsole_putchar): Renamed to ...
9053 (put): ... this. Remove mapping.
9054 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9055 * term/serial.c: Simplify using terminfo.
9056 (xpos): Removed.
9057 (ypos): Likewise.
9058 (keep_track): Likewise.
9059 (registered): Likewise.
9060 (input_buf): Likewise.
9061 (npending): Likewise.
9062 (serial_translate_key_sequence): Likewise.
9063 (fill_input_buf): Likewise.
9064 (grub_serial_checkkey): Likewise.
9065 (grub_serial_getkey): Likewise.
9066 (grub_serial_getxy): Likewise.
9067 (grub_serial_gotoxy): Likewise.
9068 (grub_serial_putchar): Likewise.
9069 (grub_serial_cls): Likewise.
9070 (grub_serial_setcolorstate): Likewise.
9071 (grub_serial_setcursor): Likewise.
9072 (serial_hw_init): Use serial_hw_fetch.
9073 (grub_serial_terminfo_input): New variable.
9074 (grub_serial_terminfo_output): Likewise.
9075 (grub_serial_term_input): Use terminfo.
9076 (grub_serial_term_output): Likewise.
9077 * term/terminfo.c (putstr): Use put.
9078 (grub_terminfo_all_free): New function
9079 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
9080 (grub_terminfo_output_register): New function.
9081 (grub_terminfo_output_unregister): Likewise.
9082 (grub_terminfo_getxy): Likewise.
9083 (grub_terminfo_readkey): Likewise.
9084 (grub_terminfo_checkkey): Likewise.
9085 (grub_terminfo_getkey): Likewise.
9086 (grub_terminfo_input_init): Likewise.
9087 (print_terminfo): Likewise.
9088 (grub_cmd_terminfo): Handle encoding.
9089 (grub_terminfo_gotoxy): Track position.
9090 (grub_terminfo_cls): Likewise.
9091 (grub_terminfo_putchar): Likewise.
9092 (grub_terminfo_setcolorstate): Handle colors
9093 (grub_terminfo_cursor_on): This ...
9094 (grub_terminfo_cursor_off): ... and this merged into ...
9095 (grub_terminfo_setcursor): ... this.
9096 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
9097 * unicode/ArabicShaping.txt: New file (imported from Unicode).
9098 * unicode/BidiMirroring.txt: Likewise.
9099 * unicode/UnicodeData.txt: Likewise.
9100 * unicode/COPYING: Likewise.
9101 * util/grub-editenv.c (grub_putchar): Removed.
9102 (grub_xputs_real): New function.
9103 (grub_xputs): New variable.
9104 * util/grub-fstest.c (grub_putchar): Removed.
9105 (grub_xputs_real): New function.
9106 (grub_xputs): New variable.
9107 * util/grub-mkdevicemap.c (grub_putchar): Removed.
9108 (grub_xputs_real): New function.
9109 (grub_xputs): New variable.
9110 * util/grub-probe.c (grub_putchar): Removed.
9111 (grub_xputs_real): New function.
9112 (grub_xputs): New variable.
9113 * util/grub-script-check.c (grub_putchar): Removed.
9114 (grub_xputs_real): New function.
9115 (grub_xputs): New variable.
9116 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
9117 (grub_xputs_real): New function.
9118 (grub_xputs): New variable.
9119 * util/import_unicode.py: New file.
9120 * util/grub-mkfont.c (ft_errmsgs): New array.
9121 (grub_glyph_info): Make bitmap a pointer.
9122 (file_formats): New type WIDTH_SPEC.
9123 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
9124 (options): Add width-spec.
9125 (help): Likewise.
9126 (add_char): Renamed to ...
9127 (add_glyph): ... this.
9128 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
9129 (glyph_replace): New type.
9130 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
9131 (add_char): New function.
9132 (add_subst): Likewise.
9133 (process_cursive): Likewise.
9134 (add_font): Handle GSUB.
9135 (write_font_width_spec): New function.
9136 (main): Sort glyphs.
9137 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
9138 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
9139 * kern/term.c (grub_cls): Moved from here...
9140 * normal/term.c (grub_cls): ... here.
9141
9142 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9143
9144 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
9145 suitable for using within the format argument of printf when
9146 converting grub_size_t.
9147 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
9148 "x" to convert grub_size_t arguments.
9149
9150 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
9153 too long captions.
9154 (list_get_minimal_size): Take selection box into account.
9155
9156 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
9159 NULL font.
9160
9161 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9162
9163 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
9164 devices when iterating over /dev/disk/by-id; they will be handled
9165 later if appropriate, which they aren't always (e.g. LVM).
9166
9167 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9168
9169 * include/grub/misc.h (grub_reboot): Declare as noreturn.
9170 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
9171 fails.
9172 (grub_halt): Likewise.
9173 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
9174 reset-all fails.
9175 (grub_halt): Don't return, even if all of shut-down, power-off, and
9176 poweroff fail.
9177
9178 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9179
9180 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
9181 arguments, not three.
9182
9183 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9184
9185 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
9186 * util/grub.d/10_linux.in: Use it to check for LVM, so that
9187 LVM-on-RAID is handled correctly.
9188
9189 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9190
9191 * docs/grub.texi (Changes from GRUB Legacy): New section.
9192 (Future): Fix typo.
9193
9194 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9195
9196 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
9197 grub.d/README accidentally ends up executable for one reason or
9198 another. Ignore it.
9199
9200 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
9203 (gpt_partition_map_iterate): Support non-512B sectors.
9204
9205 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * kern/efi/init.c (grub_efi_init): Disable watchdog.
9208 Tested by: Seth Goldberg.
9209
9210 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
9213 Properly align mbi.
9214 Reported by: Seth Goldberg.
9215
9216 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * util/grub-mkrescue.in: Avoid module duplication.
9219
9220 2010-07-01 Sean Finney <seanius@seanius.net>
9221
9222 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
9223
9224 2010-07-01 Sean Finney <seanius@seanius.net>
9225
9226 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
9227
9228 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * disk/lvm.c (grub_lvm_checkvalue): New function.
9231 (grub_lvm_check_flag): Likewise.
9232
9233 2010-07-01 Robert Millan <rmh@gnu.org>
9234
9235 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
9236 Support 'p' as partition separator on kernel of FreeBSD (used
9237 with GPT labels).
9238 (grub_util_biosdisk_get_grub_dev): Likewise.
9239
9240 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 Yeeloong firmware port.
9243
9244 * boot/mips/yeeloong/fwstart.S: New file.
9245 * bus/cs5536.c (gpiodump): New const.
9246 (set_io_space): New function.
9247 (set_iod): Likewise.
9248 (set_p2d): Likewise.
9249 (grub_cs5536_init_geode): Likewise.
9250 * commands/mips/yeeloong/lsspd.c: New file.
9251 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
9252 (serial_mod_SOURCES): New variable.
9253 (serial_mod_CFLAGS): Likewise.
9254 (serial_mod_LDFLAGS): Likewise.
9255 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
9256 term/terminfo.c and term/tparm.c.
9257 (pkglib_IMAGES): Add fwstart.img.
9258 (fwstart_img_SOURCES): New variable.
9259 (fwstart_img_CFLAGS): Likewise.
9260 (fwstart_img_ASFLAGS): Likewise.
9261 (fwstart_img_LDFLAGS): Likewise.
9262 (fwstart_img_FORMAT): Likewise.
9263 (pkglib_MODULES): Add lsspd.mod.
9264 (lsspd_mod_SOURCES): New variable.
9265 (lsspd_mod_CFLAGS): Likewise.
9266 (lsspd_mod_LDFLAGS): Likewise.
9267 (pkglib_MODULES): Add halt.mod.
9268 (halt_mod_SOURCES): New variable.
9269 (halt_mod_CFLAGS): Likewise.
9270 (halt_mod_LDFLAGS): Likewise.
9271 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
9272 (serial_mod_SOURCES): Removed.
9273 (serial_mod_CFLAGS): Likewise.
9274 (serial_mod_LDFLAGS): Likewise.
9275 * disk/ata.c (check_device): New function.
9276 (grub_ata_device_initialize): Use check_device.
9277 (grub_ata_iterate): Recheck devices.
9278 (grub_ata_open): Likewise.
9279 (grub_atapi_iterate): Likewise.
9280 (grub_atapi_open): Likewise.
9281 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
9282 (GRUB_ATA_CH1_PORT1): Likewise.
9283 (GRUB_ATA_CH0_PORT2): Likewise.
9284 (GRUB_ATA_CH1_PORT2): Likewise.
9285 * include/grub/mips/loongson.h: New file.
9286 * include/grub/mips/yeeloong/ec.h: Likewise.
9287 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
9288 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
9289 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
9290 * include/grub/misc.h (grub_halt): Declare as noreturn.
9291 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
9292 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
9293 (UART_ENABLE_FIFO_TRIGGER1): New definition.
9294 (UART_ENABLE_DTRRTS): Likewise.
9295 (UART_ENABLE_MODEM): Removed.
9296 (UART_ENABLE_OUT2): New const.
9297 * include/grub/term.h (grub_term_register_input_active): New function.
9298 (grub_term_register_output_active): Likewise.
9299 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
9300 argument.
9301 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
9302 (init_pci): New function.
9303 (grub_machine_init): Execute platform init when firmware. Init serial.
9304 (grub_halt): Implement.
9305 (grub_exit): Likewise.
9306 (grub_reboot): Likewise.
9307 * term/serial.c (serial_hw_init): Update macros.
9308 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
9309 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
9310 (image_targets): New target mipsel-yeeloong-flash.
9311 (generate_image): Support IMAGE_YEELOONG_FLASH.
9312 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
9313 (grub_video_sm712_setup): Init card.
9314 (grub_video_sm712_set_palette): Removed.
9315 * video/sm712_init.c: New file.
9316
9317 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
9318
9319 * Makefile.in (install-local): Temporarily prepend $(builddir) to
9320 PATH when running help2man and then run it on the unadorned
9321 executable names, rather than passing $(builddir)/* paths to
9322 help2man. This avoids the build directory ending up in generated
9323 manual pages.
9324
9325 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9326
9327 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
9328 to avoid accidents when debugging with 'sh -x'.
9329 * util/grub-mkrescue.in: Likewise.
9330 * util/grub.d/00_header.in: Likewise.
9331 * util/grub.d/10_hurd.in: Likewise.
9332 * util/grub.d/10_kfreebsd.in: Likewise.
9333 * util/grub.d/10_linux.in: Likewise.
9334 * util/grub.d/10_netbsd.in: Likewise.
9335 * util/grub.d/10_windows.in: Likewise.
9336 * util/grub.d/20_linux_xen.in: Likewise.
9337 * util/grub.d/30_os-prober.in: Likewise.
9338 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9339
9340 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9341
9342 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
9343 last character in the buffer.
9344 Reported by: Vladimir Serbinenko.
9345
9346 2010-06-29 Robert Millan <rmh@gnu.org>
9347
9348 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
9349 (Command-line and menu entry commands): Document `badram' command.
9350
9351 2010-06-28 Robert Millan <rmh@gnu.org>
9352
9353 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9354 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9355 command using ${GRUB_BADRAM} as parameter.
9356
9357 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9358
9359 * docs/grub.texi (Device map): New section.
9360 (Themes): New section (stub).
9361 * Makefile.in (docs/grub.info): The info documentation now builds
9362 without errors. Make sure it stays that way.
9363
9364 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 Use normal parser for menu entries.
9367 Reported by: Thomas Frauendorfer
9368
9369 * include/grub/parser.h (grub_parser_execute): Don't export.
9370 * normal/menu.c (grub_menu_execute_entry_real): New function.
9371 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9372
9373 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9374
9375 * docs/grub.texi (Embedded configuration): New section (replacing
9376 old "Preset Menu" stub).
9377 (Images): New section.
9378 (configfile): Note that any menu entries defined in `file' are shown
9379 immediately.
9380
9381 2010-06-28 Josh Triplett <josh@joshtriplett.org>
9382
9383 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9384
9385 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9386
9387 * util/grub-install.in: Add --debug-image= option.
9388
9389 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9390
9391 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9392 possible on Linux.
9393
9394 * util/deviceiter.c (check_device): Rename to ...
9395 (check_device_readable_unique): ... this. Update all callers.
9396 Maintain and check a list of which devices (by canonicalized name)
9397 have already been seen.
9398 (clear_seen_devices): New function.
9399 (compare_file_names) [__linux__]: New function.
9400 (grub_util_iterate_devices): Clear the list of seen devices on exit
9401 and (just in case) on entry.
9402 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9403 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9404 seen-devices list, superseded by general code in check_device.
9405
9406 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9407
9408 * commands/cat.c (options): New variable.
9409 (grub_cmd_cat): Parse options. If the --dos option is given, print
9410 DOS-style "\r\n" line endings as simple newlines (Debian bug
9411 #586358).
9412 (GRUB_MOD_INIT): Use extcmd.
9413 (GRUB_MOD_FINI): Likewise.
9414 * docs/grub.texi (cat): Document --dos.
9415
9416 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 XEN with Linux grub-mkconfig support.
9419
9420 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9421 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9422 GRUB_CMDLINE_XEN_DEFAULT.
9423 * util/grub.d/20_linux_xen.in: New file.
9424
9425 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 Initialise VGA video on qemu ourselves.
9428
9429 * boot/i386/qemu/boot.S: Don't call 0xc000.
9430 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9431 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9432 (kernel_img_HEADERS): Add pci.h.
9433 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9434 * configure.ac: Force unifont on qemu and yeeloong.
9435 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9436 (grub_vga_palette_write): Use correct register.
9437 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9438 Call grub_qemu_init_cirrus.
9439 * kern/i386/qemu/init.c: New file.
9440 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9441
9442 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9443
9444 2010-06-26 Pavel Roskin <proski@gnu.org>
9445
9446 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9447 13.
9448
9449 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9450
9451 * docs/grub.texi (Simple configuration): Explain that
9452 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9453 set to `true' to disable their respective recovery entries, not
9454 merely set.
9455
9456 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9457
9458 Make the `source' command slightly faster.
9459
9460 * normal/main.c (grub_normal_execute): Don't re-read list files when
9461 nested.
9462
9463 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9464
9465 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9466 field position and mask size to red fields from mode_info, not
9467 green.
9468 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9469 Remove redundant tag->common.framebuffer_type assignment.
9470 Reported by: Seth Goldberg.
9471
9472 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9473
9474 Sync up other versions of the Linux loader with Robert Millan's
9475 change of 2010-01-09, "Make loader output a bit more user-friendly".
9476
9477 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9478 grub_dprintf().
9479 (grub_cmd_linux): Likewise.
9480 (grub_cmd_initrd): Likewise.
9481 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9482 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9483
9484 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
9485
9486 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9487 larger than MEMORY_MAP_SIZE.
9488
9489 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9490
9491 Fix parallel build.
9492
9493 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9494 dependency.
9495 * script/parser.y: #include grub_script.tab.h header.
9496
9497 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 Support >3GiB and <16MiB RAM in i386-qemu.
9500
9501 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9502 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9503 (grub_lower_mem): Removed.
9504 (grub_upper_mem): Likewise.
9505 (mem_size): Made static.
9506 (above_4g): New variable.
9507 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9508 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9509 support.
9510
9511 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 Cirrus 5446 and Bochs video cards support.
9514
9515 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9516 video_bochs.mod
9517 (video_cirrus_mod_SOURCES): New variable.
9518 (video_cirrus_mod_CFLAGS): Likewise.
9519 (video_cirrus_mod_LDFLAGS): Likewise.
9520 (video_bochs_mod_SOURCES): Likewise.
9521 (video_bochs_mod_CFLAGS): Likewise.
9522 (video_bochs_mod_LDFLAGS): Likewise.
9523 * include/grub/vga.h: New file.
9524 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9525 (grub_video_fb_set_page_t): New type.
9526 (grub_video_fb_setup): New prototype.
9527 (grub_video_fb_swap_buffers): Likewise.
9528 (grub_video_fb_get_info_and_fini): Likewise.
9529 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9530 (CRTC_DATA_PORT): Likewise.
9531 (CRTC_CURSOR): Likewise.
9532 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9533 (CRTC_CURSOR_ADDR_LOW): Likewise.
9534 (CRTC_CURSOR_DISABLE): Likewise.
9535 (update_cursor): Use grub_vga_cr_write.
9536 (grub_vga_text_setcursor): Likewise.
9537 * video/bochs.c: New file.
9538 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9539 (palette): Likewise.
9540 (palette_size): Likewise.
9541 (framebuffer): New variable.
9542 (grub_video_fb_init): Use 'framebuffer'.
9543 (grub_video_fb_fini): Likewise.
9544 (grub_video_fb_get_info): Likewise.
9545 (grub_video_fb_get_palette): Likewise.
9546 (grub_video_fb_set_palette): Likewise.
9547 (grub_video_fb_set_viewport): Likewise.
9548 (grub_video_fb_get_viewport): Likewise.
9549 (grub_video_fb_map_color): Likewise.
9550 (grub_video_fb_map_rgb): Likewise.
9551 (grub_video_fb_map_rgba): Likewise.
9552 (grub_video_fb_unmap_color): Likewise.
9553 (grub_video_fb_unmap_color_int): Likewise.
9554 (grub_video_fb_fill_rect): Likewise.
9555 (grub_video_fb_blit_bitmap): Likewise.
9556 (grub_video_fb_blit_render_target): Likewise.
9557 (grub_video_fb_scroll): Likewise.
9558 (grub_video_fb_create_render_target): Likewise.
9559 (grub_video_fb_doublebuf_blit_init): Likewise.
9560 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9561 (doublebuf_pageflipping_update_screen): New function.
9562 (doublebuf_pageflipping_init): Likewise.
9563 (grub_video_fb_setup): Likewise.
9564 (grub_video_fb_swap_buffers): Likewise.
9565 (grub_video_fb_get_info_and_fini): Likewise.
9566 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9567 All users updated.
9568 (doublebuf_pageflipping_commit): Restructured into ...
9569 (doublebuf_pageflipping_set_page): ... this.
9570 (doublebuf_pageflipping_update_screen): Removed.
9571 (doublebuf_pageflipping_init): Likewise.
9572 (double_buffering_init): Likewise.
9573 (grub_video_vbe_setup): Use grub_video_fb_setup.
9574 (grub_video_vbe_swap_buffers): Removed.
9575 (grub_video_vbe_set_active_render_target): Likewise.
9576 (grub_video_vbe_get_active_render_target): Likewise.
9577 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9578 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9579 grub_video_fb_set_active_render_target and
9580 grub_video_fb_get_active_render_target.
9581 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9582 (SEQUENCER_DATA_PORT): Likewise.
9583 (MAP_MASK_REGISTER): Likewise.
9584 (CRTC_ADDR_PORT): Likewise.
9585 (CRTC_DATA_PORT): Likewise.
9586 (START_ADDR_HIGH_REGISTER): Likewise.
9587 (START_ADDR_LOW_REGISTER): Likewise.
9588 (GRAPHICS_ADDR_PORT): Likewise.
9589 (GRAPHICS_DATA_PORT): Likewise.
9590 (READ_MAP_REGISTER): Likewise.
9591 (INPUT_STATUS1_REGISTER): Likewise.
9592 (INPUT_STATUS1_VERTR_BIT): Likewise.
9593 (get_map_mask): Use grub_vga_sr_read.
9594 (set_map_mask): Use grub_vga_sr_write.
9595 (set_read_map): Use grub_vga_gr_write.
9596 (set_start_address): Use grub_vga_cr_write.
9597 * video/sm712.c (framebuffer): Remove leftover fields.
9598
9599 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
9600
9601 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9602 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9603 instead. Replace the gfxterm backend check with a check that
9604 ${GRUB_PREFIX}/video.lst is non-empty.
9605 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9606 again.
9607 (load_video): New generated function. Call it before loading
9608 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9609 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9610 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9611 * docs/grub.texi (Simple configuration): Document
9612 GRUB_VIDEO_BACKEND.
9613
9614 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 Use video functions in linux and xnu loaders.
9617
9618 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
9619 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
9620 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
9621 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
9622 loader/i386/pc/linux.c.
9623 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
9624 (find_line_len): Removed.
9625 (find_framebuf): Likewise.
9626 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
9627 * loader/i386/efi/xnu.c: Removed.
9628 * loader/i386/pc/xnu.c: Moved from here...
9629 * loader/i386/xnu.c: ...here.
9630
9631 Enable priorities in video drivers.
9632
9633 * include/grub/video.h (grub_video_adapter_prio_t): New type.
9634 (grub_video_adapter): New field prio.
9635 (grub_video_register): Respect prio when inserting.
9636 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
9637 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
9638 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
9639 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
9640 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
9641 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
9642 * video/sm712.c (grub_video_sm712_adapter): Likewise.
9643
9644 Fix SDL driver ID.
9645
9646 * include/grub/video.h (grub_video_driver_id_t): New value
9647 GRUB_VIDEO_DRIVER_SDL.
9648 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
9649
9650 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9651
9652 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
9653 argument to printf.
9654 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9655
9656 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9657
9658 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
9659 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9660
9661 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9662
9663 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
9664 directly, and recommend grub-install instead.
9665 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9666
9667 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9668
9669 Fix i386-pc prefix handling with nested partitions (Debian bug
9670 #585068). Note that the case where the core image is booted using
9671 multiboot and relocated from its original location still requires
9672 more work.
9673
9674 * kern/i386/pc/init.c (make_install_device): If the prefix starts
9675 with "(,", fill the boot drive in between those two characters, but
9676 expect that a full partition specification including partition map
9677 names will follow.
9678 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
9679 specified, write a prefix without the drive name but including a
9680 full partition specification.
9681
9682 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
9683
9684 * util/grub-mkconfig.in: Ignore non-option arguments, for
9685 compatibility with older versions (before 2010-06-12) which did the
9686 same. In particular, this makes it easier to ship an update-grub
9687 wrapper which is compatible with that used with GRUB Legacy (Debian
9688 bug #586056).
9689
9690 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9691
9692 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
9693 for manual page generation.
9694
9695 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9696
9697 * po/POTFILES: Remove leftover commands/handler.c.
9698
9699 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
9700
9701 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
9702 left this script non-functional.
9703
9704 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
9705
9706 * docs/man/grub-emu.h2m: New file.
9707
9708 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
9709
9710 * docs/grub.texi (Commands): Document reduced command set in rescue
9711 mode.
9712 (cpuid): New section.
9713
9714 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
9715
9716 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
9717 new partition naming style.
9718 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
9719
9720 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
9721
9722 Add "-o grub.iso" like cmdline options support.
9723
9724 * util/grub-install.in: Improve cmdline option parsing.
9725 * util/grub-mkconfig.in: Likewise.
9726 * util/grub-mkrescue.in: Likewise.
9727 * util/grub-reboot.in: Likewise.
9728 * util/grub-set-default.in: Likewise.
9729 * util/i386/efi/grub-install.in: Likewise.
9730 * util/ieee1275/grub-install.in: Likewise.
9731 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9732
9733 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9734
9735 * .bzrignore: Ignore 41_custom.
9736
9737 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9738
9739 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
9740
9741 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9742
9743 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
9744 prototype declarations.
9745
9746 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
9747 generating fs, partmap, and video lists.
9748 * include/grub/fs.h (grub_fs_register): Omit prototype if
9749 GRUB_LST_GENERATOR is defined.
9750 * include/grub/partition.h (grub_partition_map_register): Likewise.
9751 * include/grub/video.h (grub_video_register): Likewise.
9752
9753 2010-06-12 Javier Martín <lordhabbit@gmail.com>
9754
9755 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
9756
9757 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9758
9759 * util/grub-mkrescue.in: Support --xorriso argument.
9760
9761 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
9764 Suggested by: Thomas Schmitt.
9765
9766 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
9769 Suggested by: Thomas Schmitt.
9770
9771 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 custom.cfg support.
9774
9775 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
9776 * util/grub.d/41_custom.in: New file.
9777
9778 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9779
9780 * util/grub-mkrescue.in (make_image): Remove sh module, which has
9781 been merged back into normal.
9782
9783 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
9784
9785 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
9786 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
9787
9788 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
9789
9790 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
9791 when generating manual pages.
9792 * docs/man/grub-bin2h.h2m: New file.
9793 * docs/man/grub-editenv.h2m: New file.
9794 * docs/man/grub-fstest.h2m: New file.
9795 * docs/man/grub-install.h2m: New file.
9796 * docs/man/grub-macho2img.h2m: New file.
9797 * docs/man/grub-mkconfig.h2m: New file.
9798 * docs/man/grub-mkdevicemap.h2m: New file.
9799 * docs/man/grub-mkfont.h2m: New file.
9800 * docs/man/grub-mkimage.h2m: New file.
9801 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
9802 * docs/man/grub-mkrelpath.h2m: New file.
9803 * docs/man/grub-mkrescue.h2m: New file.
9804 * docs/man/grub-ofpathname.h2m: New file.
9805 * docs/man/grub-pe2elf.h2m: New file.
9806 * docs/man/grub-probe.h2m: New file.
9807 * docs/man/grub-reboot.h2m: New file.
9808 * docs/man/grub-script-check.h2m: New file.
9809 * docs/man/grub-set-default.h2m: New file.
9810 * docs/man/grub-setup.h2m: New file.
9811
9812 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 Use FOR_* macros instead of *_iterate whenever possible.
9815
9816 * commands/handler.c: Removed.
9817 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
9818 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
9819 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9820 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
9821 (grub_probe_SOURCES): Remove kern/parser.c.
9822 (util/grub-script-check.c_DEPENDENCIES): Removed.
9823 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
9824 and grub_script_check_init.c.
9825 (grub_script_check_init.lst): Removed.
9826 (grub_script_check_init.h): Likewise.
9827 (grub_script_check_init.c): Likewise.
9828 (pkglib_MODULES): Remove handler.mod and sh.mod.
9829 (handler_mod_SOURCES): Removed.
9830 (handler_mod_CFLAGS): Likewise.
9831 (handler_mod_LDFLAGS): Likewise.
9832 (normal_mod_SOURCES): Remove normal/handler.c.
9833 Add script/main.c, script/script.c, script/execute.c,
9834 script/function.c, script/lexer.c, grub_script.tab.c
9835 and grub_script.yy.c.
9836 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9837 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9838 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
9839 (grub_setup_SOURCES): Remove kern/parser.c.
9840 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9841 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
9842 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9843 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9844 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9845 (grub_setup_SOURCES): Remove kern/parser.c.
9846 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9847 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
9848 * include/grub/command.h (grub_command_iterate): Removed.
9849 (FOR_COMMANDS): New macro.
9850 * include/grub/dl.h (grub_dl): New member next.
9851 (grub_dl_iterate): Removed.
9852 (grub_dl_head): New variable declaration.
9853 (FOR_DL_MODULES): New macro.
9854 * include/grub/fs.h: Include list.h.
9855 (grub_fs): Make next first element.
9856 (grub_fs_list): New variable declaration.
9857 (grub_fs_register): Make inline.
9858 (grub_fs_unregister): Likewise.
9859 (grub_fs_iterate): Removed.
9860 (FOR_FILESYSTEMS): New macro.
9861 * include/grub/handler.h: Removed.
9862 * include/grub/list.h (grub_list_hook_t): Removed.
9863 (grub_list_test_t): Likewise.
9864 (grub_list_pop): Likewise.
9865 (grub_list_iterate): Likewise.
9866 (grub_list_insert): Likewise.
9867 (FOR_LIST_ELEMENTS): New macro.
9868 * include/grub/parser.h (grub_parser_class): Removed.
9869 (grub_parser_register): Likewise.
9870 (grub_parser_unregister): Likewise.
9871 (grub_parser_get_current): Likewise.
9872 (grub_parser_set_current): Likewise.
9873 (grub_register_rescue_parser): Likewise.
9874 (grub_rescue_parse_line): New function.
9875 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
9876 * include/grub/script_sh.h (grub_script_function_list): New variable
9877 declaration.
9878 (FOR_SCRIPT_FUNCTIONS): New macro.
9879 (grub_script_function_iterate): Removed.
9880 (grub_normal_parse_line): New prototype.
9881 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
9882 (FOR_DISABLED_TERM_INPUTS): Likewise.
9883 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9884 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9885 * include/grub/video.h (grub_video_adapter): Move 'next' to first
9886 element.
9887 (grub_video_register): Inline.
9888 (grub_video_unregister): Likewise.
9889 (grub_video_adapter_list): New variable declaration.
9890 (grub_video_iterate): Removed.
9891 (FOR_VIDEO_ADAPTERS): New macro.
9892 * kern/dl.c (grub_dl_list): Removed. All users updated.
9893 (grub_dl_iterate): Removed.
9894 * kern/fs.c (grub_fs_list): Make global.
9895 (grub_fs_register): Removed.
9896 (grub_fs_unregister): Likewise.
9897 (grub_fs_iterate): Likewise.
9898 * kern/handler.c: Removed.
9899 * kern/list.c (grub_list_pop): Removed.
9900 (grub_list_iterate): Likewise.
9901 (grub_list_insert): Likewise.
9902 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
9903 (grub_prio_list_insert): Don't use grub_list_insert.
9904 * kern/main.c (grub_register_rescue_parser): Don't call
9905 grub_register_rescue_parser.
9906 * kern/parser.c (grub_parser_class): Removed.
9907 (grub_parser_execute): Use grub_rescue_parse_line.
9908 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
9909 (grub_rescue_parser): Removed.
9910 (grub_register_rescue_parser): Likewise.
9911 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
9912 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
9913 (grub_auth_check_authentication): Likewise.
9914 * normal/completion.c (iterate_command): Removed.
9915 (grub_normal_do_completion): Use FOR_COMMANDS.
9916 * normal/handler.c: Removed.
9917 * normal/main.c (read_config_file): Remove parser changing.
9918 (grub_normal_execute): Don't call read_handler_list.
9919 (grub_normal_read_line_real): Statically allocate prompt.
9920 (grub_cmdline_run): Use grub_normal_parse_line.
9921 (GRUB_MOD_FINI): Don't call free_handler_list.
9922 * normal/menu_entry.c (run): Likewise.
9923 * script/function.c (grub_script_function_list): Make global.
9924 (grub_script_function_iterate): Removed.
9925 * script/main.c (grub_normal_parse_line): Make global.
9926 (grub_sh_parser): Removed.
9927 (GRUB_MOD_INIT): Likewise.
9928 (GRUB_MOD_FINI): Likewise.
9929 * tests/lib/functional_test.c (grub_functional_test): Use
9930 FOR_LIST_ELEMENTS.
9931 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
9932 (grub_test_run): Use FOR_LIST_ELEMENTS.
9933 * tests/lib/unit_test.c (main): Likewise.
9934 * util/deviceiter.c (grub_util_iterate_devices): Don't use
9935 grub_list_pop.
9936 * util/grub-fstest.c (grub_term_input_class): Removed.
9937 (grub_term_output_class): Likewise.
9938 * util/grub-probe.c: Likewise.
9939 * util/i386/pc/grub-setup.c: Likewise.
9940 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9941 * util/grub-script-check.c (main): Don't call grub_init_all and
9942 grub_fini_all.
9943 * video/video.c (grub_video_adapter_list): Make global.
9944 (grub_video_register): Removed.
9945 (grub_video_unregister): Likewise.
9946 (grub_video_iterate): Likewise.
9947
9948 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
9951 reported by Henrique Ferreiro.
9952
9953 2010-06-09 Robert Millan <rmh@gnu.org>
9954
9955 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
9956 ones, when both are available.
9957
9958 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9959
9960 Make --version uniform and avoid hard-coded program name.
9961
9962 * util/grub-mkimage.c (main): Use `program_name' instead of
9963 hard-coded string.
9964 * util/i386/pc/grub-setup.c (main): Likewise.
9965 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
9966 * util/grub-install.in: Save the basename of $0 in $self, and use the
9967 latter in informational messages. Use the same format for --version
9968 as the binary programs.
9969 * util/grub-mkconfig.in: Likewise.
9970 * util/grub-mkrescue.in: Likewise.
9971 * util/grub-reboot.in: Likewise.
9972 * util/grub-set-default.in: Likewise.
9973 * util/i386/efi/grub-install.in: Likewise.
9974 * util/ieee1275/grub-install.in: Likewise.
9975 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9976
9977 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9978
9979 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
9980 embedding area. Use <= instead of == when checking for non-emptiness.
9981
9982 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9983
9984 * configure.ac: Add `.' to the directories searched for unifont.
9985
9986 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
9987
9988 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
9989 grub_script.yy.h.
9990
9991 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
9992
9993 * docs/grub.texi (History): Expand to cover GRUB 2.
9994 (Serial terminal): Refer to `terminal_input' and `terminal_output'
9995 commands, not `terminal'.
9996 (serial): Likewise.
9997 (terminal_input): New section.
9998 (terminal_output): New section.
9999 (uppermem): New section (stub).
10000 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
10001
10002 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10003
10004 * docs/grub.texi (Security): Menu entries are unrestricted by
10005 default, not restricted to superusers as I had previously thought.
10006 Reword to account for this.
10007
10008 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10009
10010 * kern/emu/misc.c (device_mapper_null_log): New function.
10011 (grub_device_mapper_supported): New function.
10012 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
10013 prototype.
10014 * kern/emu/hostdisk.c (find_partition_start): Check whether
10015 device-mapper is supported before trying to use it.
10016 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
10017
10018 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10019
10020 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
10021 (File name syntax): Likewise.
10022 (help): --all is no longer supported in GRUB 2. Be more precise
10023 about pattern matching.
10024
10025 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10026
10027 * normal/completion.c (grub_normal_do_completion): When completing
10028 arguments to "set" and the current word contains an equals sign,
10029 skip to after the equals sign before starting completion.
10030
10031 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10032
10033 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
10034
10035 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10036
10037 * docs/grub.texi (Network): New section.
10038 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
10039 `(nd)' as in GRUB Legacy.
10040 (pxe_unload): New section.
10041
10042 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10043
10044 * docs/grub.texi (Troubleshooting): `echo' is not usually available
10045 in the rescue shell, so recommend using `set' instead. Thanks,
10046 Jordan Uggla.
10047
10048 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10049
10050 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10051 (password): New section.
10052 (password_pbkdf2): New section.
10053 (search): New section.
10054 (Security): New section.
10055 (Troubleshooting): New section, currently very incomplete.
10056 (Invoking grub-mkpasswd-pbkdf2): New section.
10057 (Internals): New section, currently very incomplete.
10058
10059 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10060
10061 * util/grub.d/00_header.in: Add some more quoting (of
10062 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
10063 work again.
10064 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
10065
10066 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10067
10068 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
10069 to `count', fixing variable shadowing that broke the -c option.
10070
10071 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
10072
10073 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
10074 in case they contain spaces.
10075
10076 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10077
10078 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
10079 "part_" to partmap module names, in line with grub-install.
10080 Reported by: Jindřich Makovička (Debian bug #584426).
10081
10082 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10083
10084 * util/grub-mkimage.c: Make target-related error messages slightly
10085 more helpful; -O talks about "format". Explicitly point to the use
10086 of -O if no target is specified.
10087 Reported by: Didier Raboud (Debian bug #584415).
10088
10089 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
10090
10091 * INSTALL: Document several build requirements for optional features
10092 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
10093
10094 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10095
10096 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
10097 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
10098 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
10099
10100 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10101
10102 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
10103 Thanks to Jordan Uggla for spotting this.
10104
10105 2010-06-02 Aleš Nesrsta <starous@volny.cz>
10106
10107 Finally make USB usable.
10108
10109 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
10110 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
10111 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
10112 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
10113 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
10114 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
10115 (GRUB_OHCI_FSMPS): Likewise.
10116 (GRUB_OHCI_PERIODIC_START): Likewise.
10117 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
10118 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
10119 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
10120 (GRUB_OHCI_SET_PORT_RESET): Likewise.
10121 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
10122 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
10123 (grub_ohci_transaction): Likewise.
10124 (grub_ohci_transfer): Improve condition detection algorithms.
10125 Handle toggle property. Program the transactions correctly.
10126 Improve error handling. Various important fixups.
10127 (grub_ohci_portstatus): Put register writes in right order.
10128 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
10129 (grub_uhci_transfer): Don't show "failed" message on success.
10130 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
10131 array.
10132 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
10133 determine its size.
10134 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
10135 before initialization is completed. Use IN direction for empty
10136 transfers. Use last_trans and compute toggle.
10137 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
10138 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
10139 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
10140 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
10141 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
10142 (grub_usb_device): Increase toggle to 256.
10143 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
10144 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
10145 GRUB_USBMS_SUBCLASS_SFF8070.
10146 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
10147 (grub_scsi_inquiry): New member page and alloc_length.
10148 (grub_scsi_request_sense): New structure.
10149 (grub_scsi_request_sense_data): Likewise.
10150 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
10151 control.
10152 * disk/scsi.c (grub_scsi_request_sense): New function.
10153 (grub_scsi_test_unit_ready): Likewise.
10154 (grub_scsi_inquiry): Fill new fields.
10155 (grub_scsi_read_capacity): Likewise.
10156 (grub_scsi_read10): Add request sense at the end.
10157 (grub_scsi_read12): Likewise.
10158 (grub_scsi_write10): Likewise.
10159 (grub_scsi_write12): Likewise.
10160 (grub_scsi_open): Add Test Unit Ready.
10161 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
10162 Support additional subclasses. Con't clear halt yet. Activate the
10163 proper config. Calculate LUNs correctly.
10164 (grub_usbms_transfer): Various important fixups.
10165
10166 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
10169 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
10170 (grub_ohci_fini_hw): New function.
10171 (grub_ohci_restore_hw): Likewise.
10172 (GRUB_MOD_INIT(ohci)): Register preboot hook.
10173 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
10174 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
10175
10176 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 Dedicated DMA allocations.
10179
10180 * bus/pci.c (grub_memalign_dma32): New function
10181 (grub_dma_free): Likewise.
10182 (grub_dma_get_virt): Likewise.
10183 (grub_dma_get_phys): Likewise.
10184 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
10185 (grub_ohci_pci_iter): Use dma32_alloc.
10186 (grub_ohci_transfer): Likewise.
10187 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10188 (grub_usb_bulk_readwrite): Likewise.
10189 * include/grub/pci.h: Add declarations.
10190
10191 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 CS5536 support.
10194
10195 * bus/cs5536.c: New file.
10196 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
10197 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
10198 (cs5536_mod_SOURCES): New variable.
10199 (cs5536_mod_CFLAGS): Likewise.
10200 (cs5536_mod_LDFLAGS): Likewise.
10201 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
10202 machine/pci.h.
10203 (kernel_img_SOURCES): Add bus/cs5536.c.
10204 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
10205 usb_keyboard.mod.
10206 (usb_mod_SOURCES): New variable.
10207 (usb_mod_CFLAGS): New variable.
10208 (usb_mod_LDFLAGS): New variable.
10209 (usbtest_mod_SOURCES): New variable.
10210 (usbtest_mod_CFLAGS): New variable.
10211 (usbtest_mod_LDFLAGS): New variable.
10212 (ohci_mod_SOURCES): New variable.
10213 (ohci_mod_CFLAGS): New variable.
10214 (ohci_mod_LDFLAGS): New variable.
10215 (usbms_mod_SOURCES): New variable.
10216 (usbms_mod_CFLAGS): New variable.
10217 (usbms_mod_LDFLAGS): New variable.
10218 (usb_keyboard_mod_SOURCES): New variable.
10219 (usb_keyboard_mod_CFLAGS): New variable.
10220 (usb_keyboard_mod_LDFLAGS): New variable.
10221 * include/grub/smbus.h: New file.
10222 * include/grub/cs5536.h: New file.
10223
10224 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10225
10226 * util/grub.d/00_header.in: Add safety check to make sure that
10227 ${locale_dir} exists before trying to probe it.
10228
10229 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10230
10231 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
10232 per the GNU Coding Standards; this is now too obscure to be worth
10233 documenting.
10234 (QNX): Likewise.
10235 (chainloader): Remove cross-reference to `SCO UnixWare'.
10236
10237 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10238
10239 * docs/grub.texi (Chain-loading): New section.
10240 (DOS/Windows): New section, borrowed from GRUB Legacy with details
10241 adjusted for GRUB 2.
10242 (SCO UnixWare): Likewise.
10243 (QNX): Likewise.
10244 (chainloader): Add reference to `Block list syntax'.
10245 (drivemap): New section.
10246 (parttool): New section.
10247
10248 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10249
10250 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
10251 the grub shell'.
10252 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
10253 (Installing GRUB using grub-install): Remove reference to the grub
10254 shell; mention `grub-mkimage' and `grub-setup' instead.
10255 (Invoking grub-install): Likewise.
10256 (Interface): Add reference to `Menu entry editor'.
10257 (serial): Remove `--device' option.
10258
10259 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10260
10261 * docs/grub.texi (Configuration): New section, documenting
10262 configuration file generation using grub-mkconfig. I've left a slot
10263 for documenting the full shell scripting format but have not yet
10264 started on writing that up.
10265 (Invoking grub-mkconfig): New section.
10266
10267 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10268
10269 * docs/grub.texi (direntry): Remove grub-terminfo reference.
10270 (GNU GRUB manual): Likewise.
10271 (General commands): Update description of `terminfo' for GRUB 2.
10272
10273 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10274
10275 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
10276 (GRUB_MOD_INIT): Fix capitalisation.
10277 * docs/grub.texi (Command-line and menu entry commands): Document
10278 gettext and gptsync commands.
10279
10280 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10281
10282 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
10283 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
10284
10285 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
10286
10287 Add btrfs probing support, currently only in the single-device case.
10288
10289 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
10290 function.
10291 (grub_guess_root_device): Call find_root_device_from_mountinfo
10292 before looking in /dev.
10293
10294 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
10297 GRUB_DISK_SIZE_UNKNOWN.
10298 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
10299
10300 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
10301
10302 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
10303 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
10304 corrupted or not synced properly.
10305
10306 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
10309 Reported by: Seth Goldberg.
10310
10311 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
10314 addition of dest.
10315 Reported by: Seth Goldberg.
10316
10317 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
10320 Reported by: Seth Goldberg.
10321
10322 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
10325 64-bit address as signed on MIPS.
10326
10327 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10328
10329 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
10330 to the empty string.
10331
10332 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
10333
10334 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
10335
10336 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
10337 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
10338 * kern/misc.c (__enable_execute_stack): Disable on
10339 GRUB_MACHINE_EMU.
10340
10341 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10342
10343 Make grub-probe work with symbolic links under /dev/mapper as well
10344 as with real block devices. The Linux world seems to be (at best)
10345 in transition here, and GRUB shouldn't get caught in the middle.
10346
10347 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
10348 /dev/mapper.
10349
10350 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10351
10352 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10353 input files (in which case exit zero).
10354
10355 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10356
10357 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10358 return NULL for various reasons even if it has a maximum-length
10359 buffer: for example, there might be a symlink loop, or the path
10360 might exceed PATH_MAX. If this happens, return NULL.
10361
10362 2010-05-27 Robert Millan <rmh@gnu.org>
10363
10364 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10365 partmap module to handle cross-partmap setups.
10366 Reported by Orestes Mas. Gràcies!
10367
10368 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10369
10370 * util/grub-mkrescue.in: Initialise override_dir rather than
10371 assuming that it's unset or empty in the environment.
10372
10373 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10374
10375 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10376 variable index into p_index to suppress a warning with -Wshadow.
10377
10378 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10379
10380 * INSTALL: Added flex >= 2.5.35 requirement.
10381
10382 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10385
10386 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 cmostest support.
10389
10390 * commands/i386/cmostest.c: New file.
10391 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10392 (cmostest_mod_SOURCES): New variable.
10393 (cmostest_mod_CFLAGS): Likewise.
10394 (cmostest_mod_LDFLAGS): Likewise.
10395 * conf/i386-pc.rmk: Likewise.
10396 * docs/grub.texi (Vendor power-on keys): New section.
10397 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10398 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10399 and GRUB_BUTTON_CMOS_ADDRESS.
10400 * util/grub.d/00_header.in: Handle powering-on by separate button.
10401
10402 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10405 Removed drawing_scrollbar argument. All users updated
10406 Fixes #29792.
10407 Reported by Jo Shields
10408
10409 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10412 buffer since gfxterm handles double repaint.
10413
10414 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10417 * term/gfxterm.c (real_scroll): Likewise.
10418
10419 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10422 before calling BIOS.
10423
10424 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 * include/grub/i18n.h: Always enable grub_gettext.
10427
10428 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10431 partition naming style.
10432
10433 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
10434
10435 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10436 not the first option.
10437
10438 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10439
10440 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10441
10442 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10443
10444 * util/misc.c: Move inclusion of <limits.h> to ...
10445 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10446
10447 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10448
10449 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10450 Fix merge error in NetBSD code.
10451 (find_partition_start) [__NetBSD__]: Likewise.
10452
10453 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10454
10455 Fix grub-mkrescue usage unit testing.
10456
10457 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10458
10459 2010-05-18 Christian Franke <franke@computer.org>
10460
10461 * util/grub.d/10_windows.in: Use path names instead of
10462 drive letters to prevent warning from Cygwin 1.7.
10463 Add drivemap command to menuentry if needed.
10464
10465 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10466
10467 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10468 gnumach and gnumach.gz.
10469
10470 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * include/grub/i18n.h (gettext): Inline instead of using #define.
10473 (grub_gettext): Likewise.
10474 (_): Likewise.
10475
10476 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10479 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10480 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10481 (main): Add a slash after pkglibdirroot.
10482
10483 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * util/grub-install.in: Add missing "in" keyword.
10486
10487 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10490 Reported by: Seth Goldberg.
10491
10492 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10495
10496 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10497
10498 * configure.ac: Check for Linux device-mapper support.
10499
10500 * util/hostdisk.c (device_is_mapped): New function.
10501 (find_partition_start): New function, partly broken out from
10502 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10503 device-mapper support added.
10504 (linux_find_partition): Use find_partition_start.
10505 (convert_system_partition_to_system_disk): Add `st' argument.
10506 Support Linux /dev/mapper/* devices if device-mapper support is
10507 available; only DM-RAID devices are understood at present.
10508 (find_system_device): Add `st' argument. Pass it to
10509 convert_system_partition_to_system_disk.
10510 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10511 find_system_device and convert_system_partition_to_system_disk. Use
10512 find_partition_start.
10513
10514 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10515 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10516 * util/deviceiter.c [__linux__]: Define MINOR.
10517 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10518 * util/mkdevicemap.c (grub_putchar): New function.
10519 (grub_getkey): New function.
10520 (grub_refresh): New function.
10521 (main): Set debug=all if -v -v is used.
10522
10523 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10524
10525 Fix build with non-GNU libcs.
10526
10527 * util/misc.c (canonicalize_file_name): Move to ...
10528 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10529 grub_make_system_path_relative_to_its_root.
10530
10531 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10532
10533 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10534 we handle finding grub-mkimage. Default to finding grub-mkimage in
10535 ${bindir} with program_transform_name applied, and provide a
10536 --grub-mkimage option to override this.
10537
10538 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 Remove grub-mkisofs.
10541
10542 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10543 (grub_mkisofs_SOURCES): Removed.
10544 (grub_mkisofs_CFLAGS): Removed.
10545 * util/mkisofs/defaults.h: Removed.
10546 * util/mkisofs/eltorito.c: Likewise.
10547 * util/mkisofs/exclude.h: Likewise.
10548 * util/mkisofs/hash.c: Likewise.
10549 * util/mkisofs/include/: Likewise.
10550 * util/mkisofs/include/fctldefs.h: Likewise.
10551 * util/mkisofs/include/mconfig.h: Likewise.
10552 * util/mkisofs/include/prototyp.h: Likewise.
10553 * util/mkisofs/include/statdefs.h: Likewise.
10554 * util/mkisofs/iso9660.h: Likewise.
10555 * util/mkisofs/joliet.c: Likewise.
10556 * util/mkisofs/match.c: Likewise.
10557 * util/mkisofs/match.h: Likewise.
10558 * util/mkisofs/mkisofs.c: Likewise.
10559 * util/mkisofs/mkisofs.h: Likewise.
10560 * util/mkisofs/msdos_partition.h: Likewise.
10561 * util/mkisofs/multi.c: Likewise.
10562 * util/mkisofs/name.c: Likewise.
10563 * util/mkisofs/rock.c: Likewise.
10564 * util/mkisofs/tree.c: Likewise.
10565 * util/mkisofs/write.c: Likewise.
10566
10567 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 Unify grub-mkimage accross platforms.
10570
10571 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10572 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10573 (grub_mkelfimage_SOURCES): Removed.
10574 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10575 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10576 (bin_UTILITIES): Add grub-mkimage.
10577 (grub_mkimage_SOURCES): New variable.
10578 (kernel_img_HEADERS): Remove machine/kernel.h.
10579 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10580 (pkglib_PROGRAMS): Add kernel.img.
10581 (kernel_img_HEADERS): Add machine/kernel.h.
10582 (kernel_img_FORMAT): Removed.
10583 (bin_UTILITIES): Remove grub-mkimage.
10584 (grub_mkimage_SOURCES): Removed.
10585 (grub_mkimage_CFLAGS): Likewise.
10586 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10587 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10588 (pkglib_PROGRAMS): Add kernel.img.
10589 (bin_UTILITIES): Remove grub-mkimage.
10590 (grub_mkimage_SOURCES): Removed.
10591 (grub_mkimage_CFLAGS): Likewise.
10592 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10593 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10594 (pkglib_PROGRAMS): Add kernel.img.
10595 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10596 (pkglib_PROGRAMS): Add kernel.img.
10597 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10598 (grub_mkimage_SOURCES): Removed.
10599 (grub_mkimage_CFLAGS): Likewise.
10600 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10601 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10602 (pkglib_PROGRAMS): Add kernel.img.
10603 (bin_UTILITIES): Remove grub-mkimage.
10604 (grub_mkimage_SOURCES): Removed.
10605 (grub_mkimage_CFLAGS): Likewise.
10606 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10607 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10608 (grub_mkimage_SOURCES): Removed.
10609 (grub_mkimage_CFLAGS): Likewise.
10610 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10611 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10612 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10613 (grub_pe32_optional_header): ... this.
10614 (grub_pe64_optional_header): ... and this. All users updated.
10615 (GRUB_PE32_PE32_MAGIC): Split into ..
10616 (GRUB_PE32_PE32_MAGIC): .. this.
10617 (GRUB_PE32_PE64_MAGIC): .. and this.
10618 (GRUB_PE32_SIGNATURE_SIZE): New definition.
10619 * include/grub/elf.h (PT_GNU_STACK): New definition.
10620 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
10621 * include/grub/i386/efi/kernel.h: Likewise.
10622 * include/grub/i386/kernel.h: Likewise.
10623 * include/grub/i386/pc/kernel.h: Likewise.
10624 * include/grub/i386/qemu/boot.h: Likewise.
10625 * include/grub/mips/kernel.h: Likewise.
10626 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10627 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10628 * include/grub/powerpc/kernel.h: Likewise.
10629 * include/grub/sparc64/ieee1275/boot.h: Likewise.
10630 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10631 * include/grub/sparc64/kernel.h: Likewise.
10632 * include/grub/x86_64/efi/kernel.h: Likewise.
10633 * include/grub/x86_64/kernel.h: Likewise.
10634 * include/grub/offsets.h: New file.
10635 * include/grub/kernel.h (grub_module_info): Split into ...
10636 (grub_module_info32): ... this.
10637 (grub_module_info64): ... and this.
10638 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
10639 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
10640 (grub_boot_blocklist): Moved from here ...
10641 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
10642 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
10643 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
10644 * include/grub/types.h (grub_target_to_host16): Removed.
10645 (grub_target_to_host32): Likewise.
10646 (grub_target_to_host64): Likewise.
10647 (grub_host_to_target16): Likewise.
10648 (grub_host_to_target32): Likewise.
10649 (grub_host_to_target64): Likewise.
10650 (grub_host_to_target_addr): Likewise.
10651
10652 Support grub-mkrescue for efi, coreboot and qemu.
10653
10654 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
10655 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
10656 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
10657 * util/grub-mkrawimage.c: Moved from here ...
10658 * util/grub-mkimage.c: ... here. All users updated.
10659 (ALIGN_ADDR): Use image_target.
10660 (TARGET_NO_FIELD): New const.
10661 (image_target_desc): New type.
10662 (image_targets): New array.
10663 (grub_target_to_host64): Use image_target.
10664 (grub_target_to_host32): Likewise.
10665 (grub_target_to_host16): Likewise.
10666 (grub_host_to_target64): Likewise.
10667 (grub_host_to_target32): Likewise.
10668 (grub_host_to_target16): Likewise.
10669 (grub_host_to_target_addr): Likewise.
10670 (generate_image): Handle multiimage.
10671 (main): Require -O parameter. All users updated.
10672 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
10673 util/efi/grub-mkimage.c
10674 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
10675 New option --rom-directory.
10676 Use xorriso.
10677 * util/i386/efi/grub-mkimage.c: Removed.
10678 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
10679 (grub_target_to_host32): Likewise.
10680 (grub_target_to_host64): Likewise.
10681 (grub_host_to_target16): Likewise.
10682 (grub_host_to_target32): Likewise.
10683 (grub_host_to_target64): Likewise.
10684 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
10685 (grub_target_to_host32): Likewise.
10686 (grub_target_to_host64): Likewise.
10687 (grub_host_to_target16): Likewise.
10688 (grub_host_to_target32): Likewise.
10689 (grub_host_to_target64): Likewise.
10690
10691 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
10692
10693 Source tree is reorganized for emu build.
10694
10695 * include/grub/util/console.h: Move from here...
10696 * include/grub/emu/console.h: ...to here.
10697 * include/grub/util/getroot.h: Move from here...
10698 * include/grub/emu/getroot.h: ...to here.
10699 * include/grub/util/hostdisk.h: Move from here...
10700 * include/grub/emu/hostdisk.h: ...to here.
10701 * util/console.c: Move from here...
10702 * kern/emu/console.c: ...to here.
10703 * util/getroot.c: Move from here...
10704 * kern/emu/getroot.c: ...to here.
10705 * util/grub-emu.c: Move from here...
10706 * kern/emu/main.c: ...to here.
10707 * util/hostdisk.c: Move from here...
10708 * kern/emu/hostdisk.c: ...to here.
10709 * util/hostfs.c: Move from here...
10710 * kern/emu/hostfs.c: ...to here.
10711 * util/mm.c: Move from here...
10712 * kern/emu/mm.c: ...to here.
10713 * util/pci.c: Move from here...
10714 * bus/emu/pci.c: ...to here.
10715 * util/sdl.c: Move from here...
10716 * video/emu/sdl.c: ...to here.
10717 * util/time.c: Move from here...
10718 * kern/emu/time.c: ...to here.
10719 * util/usb.c: Move from here...
10720 * bus/usb/emu/usb.c: ...to here.
10721
10722 * include/grub/emu/misc.h: New header for grub-emu functions.
10723 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
10724
10725 * conf/any-emu.rmk: Rule updates for above renames.
10726 * conf/common.rmk: Likewise.
10727 * conf/i386-pc.rmk: Likewise.
10728 * conf/i386-qemu.rmk: Likewise.
10729 * conf/mips.rmk: Likewise.
10730 * conf/sparc64-ieee1275.rmk: Likewise.
10731 * conf/x86-efi.rmk: Likewise.
10732
10733 * disk/lvm.h: #include updates for above renames.
10734 * util/grub-mkrelpath.c: Likewise.
10735 * util/grub-probe.c: Likewise.
10736 * util/i386/pc/grub-setup.c: Likewise.
10737 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10738 * kern/emu/console.c: Likewise.
10739 * kern/emu/getroot.c: Likewise.
10740 * kern/emu/hostdisk.c: Likewise.
10741 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
10742
10743 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
10744 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
10745 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
10746 * util/misc.c: Remove grub-emu functions.
10747
10748 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 Fix gfxmenu crash.
10751 Reported by: Thorsten Grützmacher.
10752
10753 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
10754 timeout hook.
10755 (circprog_set_property): Register and unregister timeout hook.
10756 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
10757 (label_destroy): Free template. and unregister hook.
10758 (label_set_state): New function.
10759 (label_set_property): Handle templates and hooks.
10760 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
10761 timeout hook.
10762 (progress_bar_set_property): Register and unregister timeout hook.
10763 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
10764 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
10765 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
10766 (update_timeout_visit): Removed.
10767 (update_timeouts): New function.
10768 (redraw_timeouts): Likewise.
10769 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
10770 (grub_gfxmenu_clear_timeout): Likewise.
10771 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
10772 (grub_gfxmenu_timeout_notify): Likewise.
10773 (grub_gfxmenu_timeout_notifications): New external variable.
10774 (grub_gfxmenu_timeout_register): New function.
10775 (grub_gfxmenu_timeout_unregister): Likewise.
10776
10777 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 Transform (broken) vga terminal into (working) vga video driver.
10780
10781 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
10782 video/i386/pc/vga.c.
10783 * include/grub/video.h (grub_video_driver_id):
10784 Add GRUB_VIDEO_DRIVER_VGA.
10785 * term/i386/pc/vga.c: Renamed to ...
10786 * video/i386/pc/vga.c: ...this
10787 (DEBUG_VGA): Removed.
10788 (CHAR_WIDTH): Likewise.
10789 (CHAR_HEIGHT): Likewise.
10790 (TEXT_WIDTH): Likewise.
10791 (TEXT_HEIGHT): Likewise.
10792 (DEFAULT_FG_COLOR): Likewise.
10793 (DEFAULT_BG_COLOR): Likewise.
10794 (colored_char): Likewise.
10795 (xpos): Likewise.
10796 (ypos): Likewise.
10797 (cursor_state): Likewise.
10798 (fg_color): Likewise.
10799 (bg_color): Likewise.
10800 (text_buf): Likewise.
10801 (page): Likewise.
10802 (font): Likewise.
10803 (framebuffer): New variable.
10804 (set_read_map): Disabled.
10805 (setup): New variable.
10806 (is_target): Likewise.
10807 (grub_vga_mod_init): Likewise.
10808 (grub_vga_mod_fini): Likewise.
10809 (check_vga_mem): Likewise.
10810 (write_char): Likewise.
10811 (write_cursor): Likewise.
10812 (scroll_up): Likewise.
10813 (grub_vga_putchar): Likewise.
10814 (grub_vga_getcharwidth): Likewise.
10815 (grub_vga_getwh): Likewise.
10816 (grub_vga_getxy): Likewise.
10817 (grub_vga_gotoxy): Likewise.
10818 (grub_vga_cls): Likewise.
10819 (grub_vga_setcolorstate): Likewise.
10820 (grub_vga_setcursor): Likewise.
10821 (grub_video_vga_init): New function.
10822 (grub_video_vga_setup): Likewise.
10823 (grub_video_vga_fini): Likewise.
10824 (update_target): Likewise.
10825 (grub_video_vga_blit_bitmap): Likewise.
10826 (grub_video_vga_blit_render_target): Likewise.
10827 (grub_video_vga_set_active_render_target): Likewise.
10828 (grub_video_vga_get_active_render_target): Likewise.
10829 (grub_video_vga_swap_buffers): Likewise.
10830 (grub_video_vga_set_palette): Likewise.
10831 (grub_video_vga_get_info_and_fini): Likewise.
10832 (grub_vga_term): Removed.
10833 (grub_video_vga_adapter): New variable.
10834 (GRUB_MOD_INIT): Register a video driver instead of terminal.
10835 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
10836
10837 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * video/readers/jpeg.c: Indented.
10840
10841 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Various jpeg cleanups.
10844
10845 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
10846 (grub_jpeg_decode_quan_table): Use sizeof.
10847 (grub_jpeg_decode_du): Use ARRAY_SIZE.
10848
10849 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
10850
10851 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
10852 tables. Ignore non-last ac bit.
10853 (grub_jpeg_decode_quan_table): Likewise.
10854
10855 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
10858 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
10859 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10860 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
10861 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
10862 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
10863
10864 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
10867 error.
10868
10869 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
10872
10873 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
10876 condition.
10877
10878 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
10881 part.
10882
10883 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
10886 pointers.
10887
10888 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
10891
10892 2010-05-01 Christian Franke <franke@computer.org>
10893
10894 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
10895 Remove broken Cygwin path conversion.
10896 * util/misc.c: [__CYGWIN__] Add include and define.
10897 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
10898 for Cygwin 1.7.
10899 (make_system_path_relative_to_its_root): Simplify loop, replace early
10900 return by break.
10901 [__CYGWIN__] Add conversion to win32 path.
10902 Include "/" case in trailing slash removal.
10903
10904 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * kern/main.c (grub_load_config): Fix copy-pasted comment.
10907 Reported by: Seth Goldberg
10908
10909 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * commands/help.c (grub_cmd_help): Fix a typo.
10912 Reported by: Seth Goldberg
10913
10914 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
10917 name and add N_.
10918 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
10919 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
10920 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
10921 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
10922 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
10923 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
10924 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10925 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10926 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10927 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10928 * normal/context.c (GRUB_MOD_INIT): Likewise.
10929 * normal/main.c (GRUB_MOD_INIT): Likewise.
10930 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10931 * term/serial.c (GRUB_MOD_INIT): Likewise.
10932 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10933
10934 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
10937 extra == 0.
10938
10939 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * commands/iorw.c: New file.
10942 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
10943 (iorw_mod_SOURCES): New variable.
10944 (iorw_mod_CFLAGS): Likewise.
10945 (iorw_mod_LDFLAGS): Likewise.
10946
10947 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 Hotkey support
10950
10951 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
10952 * normal/main.c (hotkey_aliases): New variable.
10953 (grub_normal_add_menu_entry): Parse "--hotkey".
10954 * normal/menu_text.c (run_menu): Handle hotkeys.
10955
10956 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * kern/i386/coreboot/init.c (grub_machine_init): Call
10959 grub_machine_mmap_init on qemu.
10960
10961 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * boot/i386/qemu/boot.S: Add a missing .code16.
10964
10965 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 Use LBIO on coreboot.
10968
10969 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
10970 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
10971 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
10972 New declaration.
10973 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
10974 grub_machine_mmap_init on coreboot.
10975 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
10976 GRUB_LINUXBIOS_MEMBER_LINK.
10977 (grub_machine_mmap_iterate): Fix declaration.
10978 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
10979
10980 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 Split coreboot and multiboot ports.
10983
10984 * conf/i386-multiboot.rmk: New file.
10985 * configure.ac: Add multiboot port.
10986 * include/grub/i386/multiboot/boot.h: New file.
10987 * include/grub/i386/multiboot/console.h: Likewise.
10988 * include/grub/i386/multiboot/init.h: Likewise.
10989 * include/grub/i386/multiboot/kernel.h: Likewise.
10990 * include/grub/i386/multiboot/loader.h: Likewise.
10991 * include/grub/i386/multiboot/memory.h: Likewise.
10992 * include/grub/i386/multiboot/serial.h: Likewise.
10993 * include/grub/i386/multiboot/time.h: Likewise.
10994 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
10995 * loader/multiboot.c: Likewise.
10996 * loader/multiboot_mbi2.c: Likewise.
10997 * util/grub-mkrescue.in: Generate multiboot rescue.
10998
10999 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * kern/parser.c (grub_parser_execute): Cope with read-only config.
11002
11003 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 Merge handling of input and output terminals. Fix a hang.
11006
11007 * commands/terminal.c (abstract_terminal): New struct.
11008 (handle_command): New function. Based on grub_cmd_terminal_input.
11009 (grub_cmd_terminal_input): Use handle_command.
11010 (grub_cmd_terminal_output): Use handle_command.
11011
11012 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
11013
11014 Fix comment handling.
11015
11016 * tests/grub_script_comments.in: New testcase.
11017 * conf/tests.rmk: Rules for new testcase.
11018 * script/yylex.l: Updated flex rules.
11019
11020 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
11021
11022 * docs/grub.texi (play): Document that zero pitches produce rests.
11023 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
11024 if argc is 1.
11025
11026 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
11029 autogen issues.
11030
11031 2010-04-26 Christian Franke <franke@computer.org>
11032
11033 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
11034 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
11035 (grub_get_prefix): Remove function.
11036 * util/grub-emu.c (main): Replace grub_get_prefix () call by
11037 make_system_path_relative_to_its_root ().
11038 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11039
11040 2010-04-24 Christian Franke <franke@computer.org>
11041
11042 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
11043 (kernel_img_LDFLAGS): Remove -static-libgcc.
11044
11045 2010-04-24 Christian Franke <franke@computer.org>
11046
11047 * configure.ac: Do not CHECK_BSS_START_SYMBOL
11048 and CHECK_END_SYMBOL if grub-emu is built.
11049 Unset TARGET_OBJ2ELF if grub-emu is built
11050 without module support.
11051
11052 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
11053
11054 Nilfs2 support.
11055
11056 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
11057 (grub_fstest_SOURCES): Likewise.
11058 (pkglib_MODULES): Add nilfs2.mod.
11059 (nilfs2_mod_SOURCES): New variable.
11060 (nilfs2_mod_CFLAGS): Likewise.
11061 (nilfs2_mod_LDFLAGS): Likewise.
11062 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11063 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11064 * fs/nilfs2.c: New file.
11065
11066 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
11069 is not supported.
11070
11071 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
11072
11073 Add grub-mkconfig support for NetBSD.
11074
11075 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
11076 * util/grub-mkconfig.in: export new NetBSD specific variables.
11077 * po/POTFILES-shell: added 10_netbsd.in.
11078 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
11079
11080 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
11081
11082 Fix emu build with grub-emu-pci and grub-emu-modules.
11083
11084 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
11085 functions.
11086 * include/grub/libpciaccess.h: New file.
11087 * conf/any-emu.rmk: Update kernel headers for emu build.
11088
11089 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
11092
11093 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
11096
11097 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
11100 Retrieve chosen/bootpath if bootpath isn't hardcoded.
11101 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
11102 util/ieee1275/ofpath.c.
11103 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
11104 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
11105 * include/grub/sparc64/ieee1275/boot.h
11106 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
11107 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
11108 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
11109 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
11110 const char *.
11111 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
11112 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
11113 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
11114 install.
11115
11116 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11117
11118 * util/grub-mkconfig.in: Corrected two == equality tests.
11119 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
11120 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
11121 expect a number appended to it.
11122 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
11123 expects a number appended to it.
11124
11125 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
11128
11129 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * util/hostdisk.c (make_device_name): Change to new partition naming.
11132
11133 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
11136
11137 2010-04-17 Christian Franke <franke@computer.org>
11138
11139 * Makefile.in: Add missing localedir setting.
11140
11141 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
11142
11143 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
11144 mistake in r2156. Noticed by Anthony Fok.
11145
11146 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
11147 @localedir@.
11148 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11149
11150 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
11151
11152 Fix a spurious, uninitialized variable warning.
11153
11154 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
11155 Initialize variable, shdr.
11156 (grub_freebsd_load_elfmodule): Likewise.
11157 (grub_freebsd_load_elf_meta): Likewise.
11158
11159 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
11160
11161 Fix for escaped dollar in double quoted strings.
11162
11163 * script/yylex.l: Updated flex rules.
11164 * conf/tests.rmk: Rule for new testcase.
11165 * tests/grub_script_dollar.in: New testcase.
11166
11167 2010-04-13 Carles Pina i Estany <carles@pina.cat>
11168 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
11169
11170 Enclose all translated strings in grub.cfg in single quotes, and
11171 escape them appropriately (Ubuntu bug #552921).
11172
11173 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
11174 * util/grub.d/10_hurd.in: Use it.
11175 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11176 * util/grub.d/10_linux.in (linux_entry): Likewise.
11177
11178 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 Fix cygwin compilation.
11181
11182 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
11183 * include/grub/misc.h (__register_frame_info)
11184 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
11185 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11186 * kern/misc.c (__register_frame_info)
11187 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
11188 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11189
11190 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
11193
11194 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 Unify libgcc processing.
11197
11198 * Makefile.in (kernel_img_LDFLAGS): New variable.
11199 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
11200 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
11201 overwriting.
11202 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
11203 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
11204 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
11205 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
11206 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
11207 overwriting. Remove -lgcc and -static-libgcc
11208 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
11209 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11210 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11211 (kernel_img_LDFLAGS): Append instead of overwriting.
11212 Remove -lgcc and -static-libgcc
11213 * conf/sparc64-ieee1275.rmk: Likewise.
11214 * include/grub/powerpc/libgcc.h: Move to ...
11215 * include/grub/libgcc.h: .. this.
11216 * include/grub/libgcc.h: Don't export most of the function on x86.
11217 (__bswapsi2): New export.
11218 (__bswapdi2): Likewise.
11219 * include/grub/mips/libgcc.h: Removed.
11220 * include/grub/sparc64/libgcc.h: Likewise.
11221
11222 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
11225 disk_info_msg (conflicts with gettexting into languages with cases).
11226
11227 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11228
11229 Add grub-probe support for NetBSD.
11230
11231 * util/getroot.c (find_root_device): Convert block device to
11232 character device on NetBSD.
11233 * util/probe.c (probe): Require character device on NetBSD.
11234 * util/hostdisk.c: NetBSD specific headers.
11235 (configure_device_driver): new function to tune device driver
11236 parameters (currently only for NetBSD floppy driver).
11237 (grub_util_biosdisk_open): NetBSD specific code (get disk size
11238 via disklabel ioctl).
11239 (open_device): call configure_device_driver on NetBSD.
11240 (convert_system_partition_to_system_disk): NetBSD specific code.
11241 (device_is_wholedisk): Likewise.
11242 (grub_util_biosdisk_get_grub_dev): Likewise.
11243 (make_device_name): Fixed a typo in bsd_part_str.
11244 * configure.ac: check for opendisk() and getrawpartition() on
11245 NetBSD and set LIBUTIL.
11246 * Makefile.in: add LIBUTIL to LIBS.
11247
11248 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11249
11250 Documentation fix.
11251
11252 * util/grub-script-check.c: Better help message.
11253
11254 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11255
11256 Fix FreeBSD build.
11257
11258 * configure.ac: Flex version check.
11259 * conf/common.rmk: Add -Wno-error to sh.mod.
11260 * script/yylex.l: Remove all #pragma.
11261
11262 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * include/grub/util/misc.h (canonicalise_file_name): Add missing
11265 prototype.
11266 Reported by: Seth Goldberg.
11267
11268 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
11271 Rename "module" to "module2".
11272 Reported by: Seth Goldberg.
11273
11274 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
11277 EXPORT_FUNC.
11278 Reported by: Seth Goldberg.
11279
11280 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * lib/posix_wrap/locale.h: Add missing file.
11283 Reported by: Seth Goldberg.
11284
11285 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 grub-emu module load support.
11288
11289 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
11290 NO_DYNAMIC_MODULES switched to this.
11291 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
11292 (CFLAGS): Likewise.
11293 * conf/any-emu.rmk: Generate symlist.
11294 (kernel_img_HEADERS): Add util/datetime.h.
11295 (kernel_img_HEADERS) [sdl]: Add sdl.h.
11296 (kernel_img_HEADERS) [libusb]: Add libusb.h.
11297 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
11298 kern/$(target_cpu)/cache.S.
11299 * configure.ac (grub-emu-modules): New option.
11300 * genmk.rb: Handle multiple source lists.
11301 * include/grub/sdl.h: New file.
11302 * include/grub/libusb.h: Likewise.
11303 * util/grub-emu.c (main): Hanle (host) root.
11304 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
11305 GRUB_ERR_UNKNOWN_DEVICE.
11306 * util/misc.c: Move mm functions to ...
11307 * util/mm.c: ... here. All users updated.
11308
11309 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
11312 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
11313 missing files.
11314 (maintainer-clean): Remove libgcrypt-grub.
11315
11316 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
11319
11320 2010-04-09 EFI Coder <eficoder@hotmail.com>
11321
11322 * normal/menu_text.c (print_message): Clean up the message and show
11323 the Fn information when on EFI
11324 * term/efi/console.c (grub_console_checkkey): Add F4 support.
11325
11326 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
11329 All users updated.
11330 * normal/crypto.c (read_crypto_list): Likewise.
11331 * normal/dyncmd.c (read_command_list): Likewise.
11332 * normal/term.c (read_terminal_list): Likewise.
11333 * normal/main.c (read_lists): Use explicit prefix.
11334 (read_lists_hook): Use read_lists.
11335 (grub_normal_execute): Likewise.
11336
11337 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
11340 Reported by: Thomas Schmitt.
11341 Add -no-emul-boot to grub-mkisofs parameters.
11342
11343 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * font/font.c: Indented.
11346
11347 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11348
11349 Elif support to GRUB script (by Deepak Vankadaru).
11350
11351 * tests/grub_script_if.in: New testcase.
11352 * conf/tests.rmk: Rule for new testcase.
11353 * script/parser.y: Grammar rules for elif.
11354
11355 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11356
11357 While and until loops support to GRUB script.
11358
11359 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11360 (grub_script_create_cmdwhile): New function prototype.
11361 (grub_script_execute_cmdwhile): New function prototype.
11362 * script/execute.c (grub_script_execute_cmdwhile): New function.
11363 * script/parser.y (command): New commands.
11364 (whilecmd): New grammar rule.
11365 (untilcmd): New grammar rule.
11366 * script/script.c (grub_script_create_cmdwhile): New function.
11367 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11368 function.
11369
11370 * tests/grub_script_while1.in: New testcase.
11371 * conf/tests.rmk: Rule for new testcase.
11372
11373 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11376 as *.jpg.
11377
11378 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
11379
11380 GRUB_BACKGROUND support.
11381
11382 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11383 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11384
11385 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 Load fonts and modules for gfxmenu in grub-mkconfig.
11388 Idea by: Mario Vazquez
11389
11390 * util/grub.d/00_header.in: Load pf2 and image modules.
11391
11392 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 grub-mkconfig multiple terminal support.
11395
11396 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11397 * util/grub.d/00_header.in: Likewise.
11398
11399 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11402 we use cd $(srcdir).
11403
11404 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
11405
11406 * util/grub.d/10_linux.in: Only use the first word of
11407 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11408 spaces in GRUB_DISTRIBUTOR.
11409 * util/grub.d/10_kfreebsd.in: Likewise.
11410 * util/grub.d/10_hurd.in: Likewise.
11411
11412 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11413
11414 Fix unit testing framework for Qemu 0.12.
11415
11416 * tests/util/grub-shell.in: Remove -serial stdio option.
11417
11418 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 POSIX header file wrappers.
11421
11422 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11423 equivalents.
11424 * lib/posix_wrap/ctype.h: Likewise.
11425 * lib/posix_wrap/errno.h: Likewise.
11426 * lib/posix_wrap/langinfo.h: Likewise.
11427 * lib/posix_wrap/limits.h: Likewise.
11428 * lib/posix_wrap/localcharset.h: Likewise.
11429 * lib/posix_wrap/stdint.h: Likewise.
11430 * lib/posix_wrap/stdio.h: Likewise.
11431 * lib/posix_wrap/stdlib.h: Likewise.
11432 * lib/posix_wrap/string.h: Likewise.
11433 * lib/posix_wrap/sys/types.h: Likewise.
11434 * lib/posix_wrap/unistd.h: Likewise.
11435 * lib/posix_wrap/wchar.h: Likewise.
11436 * lib/posix_wrap/wctype.h: Likewise.
11437 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11438 (grub_script.yy.h): Likewise.
11439 * script/yylex.l: Remove POSIX emulation #defines.
11440 * Makefile.in (POSIX_CFLAGS): New variable.
11441 (GNULIB_UTIL_CFLAGS): Likewise.
11442
11443 Regexp support.
11444
11445 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11446 (regexp_mod_SOURCES): New variable.
11447 (regexp_mod_CFLAGS): Likewise.
11448 (regexp_mod_LDFLAGS): Likewise.
11449 * commands/regexp.c: New file.
11450 * gnulib/regcomp.c: New file. Imported from gnulib.
11451 * gnulib/regex.c: Likewise.
11452 * gnulib/regex_internal.c: Likewise.
11453 * gnulib/regex_internal.h: Likewise.
11454 * gnulib/regexec.c: Likewise.
11455 * gnulib/regex.h: Likewise.
11456
11457 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11460 unsupported video mode types.
11461
11462 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11465
11466 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11469 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11470
11471 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 Remove unused grub_vga_get_font.
11474
11475 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11476 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11477
11478 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11479
11480 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11481 * include/grub/misc.h: Likewise.
11482
11483 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11484
11485 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11486 for which failure is fatal.
11487
11488 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11489
11490 * util/grub-install.in: Use mkdir -p to create grub directory.
11491 * util/i386/efi/grub-install.in: Likewise.
11492 * util/ieee1275/grub-install.in: Likewise.
11493
11494 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11495
11496 * Makefile.in (LEX): new variable.
11497
11498 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11499
11500 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11501 `=' and added double quotes on operands of this equality test.
11502
11503 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * Makefile.in (uninstall): Remove a leftover debug echo.
11506 Reported by: Grégoire Sutre
11507
11508 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 MIPS multiboot2 support.
11511
11512 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11513 (multiboot2_mod_SOURCES): New variable.
11514 (multiboot2_mod_CFLAGS): Likewise.
11515 (multiboot2_mod_LDFLAGS): Likewise.
11516 (multiboot2_mod_ASFLAGS): Likewise.
11517 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11518 definition.
11519 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11520 (MULTIBOOT_MBI_REGISTER): Likewise.
11521 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11522 (MULTIBOOT_ELF32_MACHINE): Likewise.
11523 (MULTIBOOT_ELF64_MACHINE): Likewise.
11524 * include/grub/mips/multiboot.h: New file.
11525 * include/grub/video.h (grub_video_driver_id): New type
11526 GRUB_VIDEO_DRIVER_SM712.
11527 (grub_video_get_info_and_fini): Export.
11528 (grub_video_get_palette): Likewise.
11529 (grub_video_get_driver_id): Likewise.
11530 * include/multiboot2.h: Resynced with spec.
11531 * loader/i386/multiboot.c: Moved from here ...
11532 * loader/multiboot.c: ... here. All users updated.
11533 (grub_multiboot_boot): Use platform-specific macros.
11534 * loader/i386/multiboot_elfxx.c: Moved from here ...
11535 * loader/multiboot_elfxx.c: ... here. All users updated.
11536 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11537 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11538 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11539
11540 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 Import gnulib argp module.
11543
11544 * gnulib/argp-ba.c: New file.
11545 * gnulib/argp-eexst.c: Likewise.
11546 * gnulib/argp-fmtstream.c: Likewise.
11547 * gnulib/argp-fmtstream.h: Likewise.
11548 * gnulib/argp-fs-xinl.c: Likewise.
11549 * gnulib/argp-help.c: Likewise.
11550 * gnulib/argp-namefrob.h: Likewise.
11551 * gnulib/argp-parse.c: Likewise.
11552 * gnulib/argp-pin.c: Likewise.
11553 * gnulib/argp-pv.c: Likewise.
11554 * gnulib/argp-pvh.c: Likewise.
11555 * gnulib/argp-version-etc.c: Likewise.
11556 * gnulib/argp-version-etc.h: Likewise.
11557 * gnulib/argp-xinl.c: Likewise.
11558 * gnulib/argp.h: Likewise.
11559
11560 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * kern/device.c (grub_device_iterate): Clear errors after failed
11563 opening device.
11564
11565 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11568 returned by firmware.
11569
11570 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11573 compilation on coreboot and qemu
11574
11575 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * include/multiboot2.h: Resync with spec.
11578
11579 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 Multiboot2 tag support
11582
11583 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11584 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11585 Remove loader/multiboot_loader.c.
11586 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11587 (grub_multiboot2_real_boot): Likewise.
11588 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11589 (grub_get_multiboot_mmap_count): New proto.
11590 (grub_fill_multiboot_mmap): Likewise.
11591 (grub_multiboot_set_video_mode): Likewise.
11592 (grub_multiboot_set_console): Likewise.
11593 (grub_multiboot_load): Likewise.
11594 (grub_multiboot_load_elf): Likewise.
11595 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11596 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11597 * include/multiboot.h: Resynced with specification.
11598 * include/multiboot2.h: Resynced with specification.
11599 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11600 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11601 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11602 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11603 users updated.
11604 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11605 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11606 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11607 Removed.
11608 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11609 Moved from here...
11610 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11611 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11612 Moved from here...
11613 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11614 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11615 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11616 All users updated.
11617 * loader/i386/multiboot_mbi2.c: New file.
11618
11619 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 Resync with gnulib.
11622
11623 * Makefile.in (GNULIB_CFLAGS): New variable.
11624 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
11625 (grub_script_check_CFLAGS): New variable.
11626 * gnulib/alloca.h: Resync with gnulib.
11627 * gnulib/error.c: Likewise.
11628 * gnulib/error.h: Likewise.
11629 * gnulib/fnmatch.c: Likewise.
11630 * gnulib/fnmatch_loop.c: Likewise.
11631 * gnulib/getdelim.c: Likewise.
11632 * gnulib/getline.c: Likewise.
11633 * gnulib/getopt.c: Likewise.
11634 * gnulib/getopt1.c: Likewise.
11635 * gnulib/getopt_int.h: Likewise.
11636 * gnulib/gettext.h: Likewise.
11637 * gnulib/progname.c: Likewise.
11638 * gnulib/progname.h: Likewise.
11639
11640 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
11641
11642 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
11643 which is the case with --disabled-nls.
11644
11645 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
11646 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
11647 * util/misc.c: Likewise.
11648 * util/mkisofs/mkisofs.c: Likewise.
11649 * util/mkisofs/mkisofs.h: Likewise.
11650
11651 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 Simplify Apple CC support.
11654
11655 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
11656 Add 0 byte at the end not to have a symbol with empty target.
11657 * mmap/i386/pc/mmap_helper.S: Likewise.
11658 * genmk.rb: Ignore errors 2030 and 2050.
11659 * kern/i386/pc/startup.S: Use LOCAL when possible.
11660
11661 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
11662
11663 Testcase and the fix for final semicolon on cmdline.
11664
11665 * tests/grub_script_final_semicolon.in: New testcase.
11666 * conf/tests.rmk: Rules for the new testcase.
11667 * script/parser.y: Grammar fix.
11668
11669 2010-03-26 BVK Chaitanya <bvk@localhost>
11670
11671 Blank lines testcase for GRUB script.
11672
11673 * tests/grub_script_blanklines.in: New testcase.
11674 * conf/tests.rmk: Rules for the new testcase.
11675
11676 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Don't use __FILE__.
11679
11680 * genmk.rb: Add -DGRUB_FILE to all C targets.
11681 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
11682 * include/grub/list.h: Likewise.
11683 * include/grub/misc.h: Likewise.
11684 * include/grub/mm.h: Likewise.
11685 * include/grub/test.h: Likewise.
11686 * kern/mm.c: Likewise.
11687 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11688
11689 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 Sunpc partitions support.
11692
11693 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
11694 (grub_fstest_SOURCES): Likewise.
11695 (pkglib_MODULES): Add part_sunpc.mod.
11696 (part_sunpc_mod_SOURCES): New variable.
11697 (part_sunpc_mod_CFLAGS): Likewise.
11698 (part_sunpc_mod_LDFLAGS): Likewise.
11699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
11700 * partmap/sunpc.c: New file.
11701
11702 2010-03-26 BVK Chaitanya <bvk@localhost>
11703
11704 For loop support to GRUB script.
11705
11706 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
11707 (grub_script_create_cmdfor): New function prototype.
11708 (grub_script_execute_cmdfor): New function prototype.
11709 * script/execute.c (grub_script_execute_cmdfor): New function.
11710 * script/parser.y (command): New for command.
11711 (forcmd): New grammar rule.
11712 * script/script.c (grub_script_create_cmdfor): New function.
11713 * util/grub-script-check.c (grub_script_execute_cmdfor): New
11714 function.
11715 * tests/grub_script_for1.in: New testcase.
11716 * conf/tests.rmk: Rules for new testcase.
11717
11718 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 Nested partitions
11721
11722 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
11723 'partition' is NULL, grub_partition_get_start already does that.
11724 * commands/loadenv.c (check_blocklists): Likewise.
11725 (write_blocklists): Likewise.
11726 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
11727 (grub_fstest_SOURCES): Likewise.
11728 (pkglib_MODULES): Add part_bsd.mod.
11729 (part_bsd_mod_SOURCES): New variable.
11730 (part_bsd_mod_CFLAGS): Likewise.
11731 (part_bsd_mod_LDFLAGS): Likewise.
11732 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
11733 (grub_emu_SOURCES): Likewise.
11734 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11735 * include/grub/bsdlabel.h: New file.
11736 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
11737 'get_name'.
11738 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
11739 (grub_partition_map_list): New variable.
11740 (grub_partition_map_register): Inline.
11741 (grub_partition_map_unregister): Likewise.
11742 (FOR_PARTITION_MAPS): New macro.
11743 (grub_partition_map_iterate): Removed.
11744 (grub_partition_get_start): Handle nested partitions.
11745 * include/grub/msdos_partition.h: Remove bsd-related entries.
11746 (grub_pc_partition): Remove.
11747 * kern/disk.c (grub_disk_close): Free partition data.
11748 (grub_disk_adjust_range): Handle nested partitions.
11749 * kern/partition.c (grub_partition_map_probe): New function.
11750 (grub_partition_probe): Parse name to number, handle subpartitions.
11751 (get_partmap): New function.
11752 (grub_partition_iterate): Handle subpartitions.
11753 (grub_partition_get_name): Likewise.
11754 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
11755 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
11756 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
11757 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
11758 Set 'number'.
11759 (acorn_partition_map_probe): Remove.
11760 (acorn_partition_map_get_name): Likewise.
11761 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
11762 Set 'number'.
11763 Set 'index' to 0 since there can be only one partition entry per sector.
11764 (amiga_partition_map_probe): Remove.
11765 (amiga_partition_map_get_name): Likewise.
11766 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
11767 Set 'number'.
11768 Set 'offset' and 'index' to real positions of partitions.
11769 (apple_partition_map_probe): Remove.
11770 (apple_partition_map_get_name): Likewise.
11771 * partmap/bsdlabel.c: New file.
11772 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
11773 Set 'number'.
11774 Allocate 'data' so it can be correctly freed.
11775 Set 'index' to offset inside sector.
11776 (gpt_partition_map_probe): Remove.
11777 (gpt_partition_map_get_name): Likewise.
11778 * partmap/msdos.c (grub_partition_parse): Remove.
11779 (pc_partition_map_iterate): Don't force raw access.
11780 Set 'number'.
11781 Make 'ext_offset' a local variable.
11782 (pc_partition_map_probe): Remove.
11783 (pc_partition_map_get_name): Remove.
11784 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
11785 Set 'number'.
11786 (sun_partition_map_probe): Remove.
11787 (sun_partition_map_get_name): Likewise.
11788 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
11789 (grub_pcpart_type): Likewise.
11790 * util/hostdisk.c (open_device): Handle new numbering scheme.
11791 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
11792 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
11793 * util/grub-probe.c (probe_partmap): Handle nested paritions.
11794 * util/grub-install.in: Insert all subpartition modules.
11795 * util/ieee1275/grub-install.in: Likewise.
11796
11797 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
11798
11799 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
11800 grammar.
11801
11802 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
11803
11804 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
11805
11806 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
11807
11808 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
11809 match where 'make install' puts them.
11810 * util/i386/efi/grub-install.in: Likewise.
11811
11812 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
11813
11814 * .bzrignore: Add gentrigtables, grub-script-check,
11815 grub_script_check_init.c, grub_script_check_init.h, and
11816 trigtables.c.
11817
11818 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * kern/parser.c: Indented.
11821
11822 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
11825
11826 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
11829 alpha_mask_size == 0 case.
11830
11831 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
11832
11833 GRUB shell lexer and parser improvements.
11834
11835 * conf/any-emu.rmk: Build rule updates.
11836 * conf/common.rmk: Likewise.
11837 * conf/i386-coreboot.rmk: Likewise.
11838 * conf/i386-efi.rmk: Likewise.
11839 * conf/i386-ieee1275.rmk: Likewise.
11840 * conf/i386-pc.rmk: Likewise.
11841 * conf/powerpc-ieee1275.rmk: Likewise.
11842 * conf/x86_64-efi.rmk: Likewise.
11843
11844 * configure.ac: Configure check for flex.
11845
11846 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
11847 types.
11848 (grub_lexer_param): Struct member updates.
11849 (grub_parser_param): Likewise.
11850 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
11851 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
11852 (grub_script_lexer_init): Prototype update.
11853 (grub_script_lexer_record_start): Likewise.
11854 (grub_script_lexer_record_stop): Likewise.
11855 (grub_script_lexer_yywrap): New function prototype.
11856 (grub_script_lexer_fini): Likewise.
11857 (grub_script_execute_argument_to_string): Removed by...
11858 (grub_script_execute_argument_to_argv): ...better version.
11859
11860 * script/execute.c (ROUND_UPTO): New macro.
11861 (grub_script_execute_cmdline): Out of memory fixes.
11862 (grub_script_execute_menuentry): Likewise.
11863 (grub_script_execute_argument_to_string): Removed. Update all
11864 users by...
11865 (grub_script_execute_argument_to_argv): ...better version.
11866 * script/function.c (grub_script_function_create): Use
11867 grub_script_execute_argument_to_argv instead of
11868 grub_script_execute_argument_to_string.
11869
11870 * script/lexer.c (check_varstate): Removed.
11871 (check_textstate): Removed.
11872 (grub_script_lexer_record_start): Likewise.
11873 (grub_script_lexer_record_stop): Likewise.
11874 (recordchar): Replaced with...
11875 (grub_script_lexer_record): ...new function.
11876 (nextchar): Removed.
11877 (grub_script_lexer_init): Rewritten.
11878 (grub_script_yylex): Rewritten.
11879 (append_newline): New function.
11880 (grub_script_lexer_yywrap): New function.
11881 (grub_script_lexer_fini): New function.
11882 (grub_script_yyerror): Sets error flag.
11883
11884 * script/yylex.l: New file.
11885 (grub_lexer_yyfree): Wrapper for flex yyffre.
11886 (grub_lexer_yyalloc): Likewise.
11887 (grub_lexer_yyrealloc): Likewise.
11888 * script/parser.y: Refactored.
11889
11890 * script/script.c (grub_script_arg_add): Out of memory fixes.
11891 (grub_script_add_arglist): Likewise.
11892 (grub_script_create_cmdline): Likewise.
11893 (grub_script_create_cmdmenu): Likewise.
11894 (grub_script_add_cmd): Likewise.
11895 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
11896 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
11897 unnecessary code.
11898
11899 * tests/grub_script_echo1.in: New testcase.
11900 * tests/grub_script_vars1.in: New testcase.
11901 * tests/grub_script_echo_keywords.in: New testcase.
11902
11903 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 Remove some redundancy in build system.
11906
11907 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
11908 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
11909 (TARGET_LDFLAGS): Add -nostdlib.
11910 (TARGET_IMG_LDFLAGS): Likewise.
11911 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
11912 anything since mmap isn't available.
11913 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
11914 Add util/time.c.
11915 (pkglib_MODULES): Remove reboot.mod.
11916 (reboot_mod_SOURCES): Removed.
11917 (reboot_mod_CFLAGS): Likewise.
11918 (reboot_mod_LDFLAGS): Likewise.
11919 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
11920 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
11921 (DEFSYMFILES): Add kernel_syms.lst.
11922 (kernel_img_HEADERS): Add common headers.
11923 (symlist.c): New target.
11924 (kernel_syms.lst): Likewise.
11925 (pkglib_MODULES): Add memdisk.mod.
11926 (memdisk_mod_SOURCES): New variable.
11927 (memdisk_mod_CFLAGS): Likewise.
11928 (memdisk_mod_LDFLAGS): Likewise.
11929 (pkglib_MODULES): Add reboot.mod.
11930 (reboot_mod_SOURCES): New variable.
11931 (reboot_mod_CFLAGS): Likewise.
11932 (reboot_mod_LDFLAGS): Likewise.
11933 (pkglib_MODULES): Add date.mod.
11934 (date_mod_SOURCES): New variable.
11935 (date_mod_CFLAGS): Likewise.
11936 (date_mod_LDFLAGS): Likewise.
11937 (pkglib_MODULES): Add datehook.mod.
11938 (datehook_mod_SOURCES): New variable.
11939 (datehook_mod_CFLAGS): Likewise.
11940 (datehook_mod_LDFLAGS): Likewise.
11941 (pkglib_MODULES): Add lsmmap.mod.
11942 (lsmmap_mod_SOURCES): New variable.
11943 (lsmmap_mod_CFLAGS): Likewise.
11944 (lsmmap_mod_LDFLAGS): Likewise.
11945 (pkglib_MODULES): Add boot.mod.
11946 (boot_mod_SOURCES): New variable.
11947 (boot_mod_CFLAGS): Likewise.
11948 (boot_mod_LDFLAGS): Likewise.
11949 * conf/i386-coreboot.rmk: Removed redundant parts.
11950 * conf/i386-ieee1275.rmk: Likewise.
11951 * conf/i386-pc.rmk: Likewise.
11952 * conf/mips-yeeloong.rmk: Likewise.
11953 * conf/mips.rmk: Likewise.
11954 * conf/powerpc-ieee1275.rmk: Likewise.
11955 * conf/sparc64-ieee1275.rmk: Likewise.
11956 * conf/x86_64-efi.rmk: Likewise.
11957 * conf/i386-coreboot.rmk: Moved qemu parts ..
11958 * conf/i386-qemu.rmk: ... here
11959 * conf/i386-efi.rmk: Moved common parts to...
11960 * conf/x86-efi.rmk: ... here.
11961 * conf/i386.rmk: Added modules common to all x86 variants.
11962 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
11963 * disk/memdisk.c: Remove grub/machine/kernel.h.
11964 * gensymlist.sh.in: Include symbol.h.
11965 * hook/datehook.c: Correct module name.
11966 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
11967 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
11968 * include/grub/i386/efi/serial.h: New file.
11969 * include/grub/x86_64/efi/serial.h: Likewise.
11970 * util/time.c: Likewise.
11971 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
11972
11973 2010-03-14 Colin King <colin.king@ubuntu.com>
11974 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
11975
11976 Shrink the pre-partition-table part of boot.img by eight bytes.
11977
11978 * boot/i386/pc/boot.S (ERR): New macro.
11979 (chs_mode): Use ERR.
11980 (geometry_error): Likewise.
11981 (hd_probe_error): Remove. This is only used once, so we wrwite
11982 it inline instead.
11983 (read_error): Instead of printing read_error_string, just set up
11984 %si and fall through to ...
11985 (error_message): ... this new function, also used by ERR.
11986
11987 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
11988
11989 Speed up consecutive hostdisk operations on the same device.
11990
11991 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
11992 (grub_util_biosdisk_open): Initialise disk->data.
11993 (struct linux_partition_cache): New structure.
11994 (linux_find_partition): Cache partition start positions; these are
11995 expensive to compute on every read and write.
11996 (open_device): Cache open file descriptor in disk->data, so that we
11997 don't have to reopen it and flush the buffer cache for consecutive
11998 operations on the same device.
11999 (grub_util_biosdisk_close): New function.
12000 (grub_util_biosdisk_dev): Set `close' member.
12001
12002 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
12003 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
12004 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12005 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12006 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
12007
12008 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 Compile parts of grub-emu as modules.
12011
12012 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
12013 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
12014 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
12015 (all-local): Add $(GRUB_EMU).
12016 (install-local): Install $(GRUB_EMU).
12017 (uninstall): Uninstall $(GRUB_EMU).
12018 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
12019 * kern/dl.c: Likewise.
12020 * commands/sleep.c: Not include machine/time.h.
12021 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
12022 (COMMON_CFLAGS): Likewise.
12023 (sbin_UTILITIES): Remove grub-emu.
12024 (grub_emu_SOURCES): Removed.
12025 (kernel_img_RELOCATABLE): New variable.
12026 (pkglib_PROGRAMS): Add kernel.img.
12027 (kernel_img_SOURCES): New variable
12028 (kernel_img_CFLAGS): Likewise.
12029 (kernel_img_LDFLAGS): Likewise.
12030 (TARGET_NO_STRIP): Likewise.
12031 (TARGET_NO_DYNAMIC_MODULES): Likewise.
12032 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
12033 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
12034 (grub-emu): New target.
12035 (GRUB_EMU): New variable.
12036 * configure.ac: Whitelist -emu as possible x86_64 architecture.
12037 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
12038 * loader/xnu.c: Likewise.
12039 * include/grub/pci.h: Likewise.
12040 * genemuinit.sh: New file.
12041 * genemuinitheader.sh: Likewise.
12042 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
12043 Support TARGET_NO_DYNAMIC_MODULES.
12044 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
12045 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
12046 * disk/loopback.c: Likewise.
12047 * font/font_cmd.c: Likewise.
12048 * partmap/acorn.c: Likewise.
12049 * partmap/amiga.c: Likewise.
12050 * partmap/apple.c: Likewise.
12051 * partmap/gpt.c: Likewise.
12052 * partmap/msdos.c: Likewise.
12053 * partmap/sun.c: Likewise.
12054 * parttool/msdospart.c: Likewise.
12055 * term/gfxterm.c: Likewise.
12056 * video/bitmap.c: Likewise.
12057 * video/readers/jpeg.c: Likewise.
12058 * video/readers/png.c: Likewise.
12059 * video/readers/tga.c: Likewise.
12060 * video/video.c: Likewise.
12061 * util/grub-emu.c (read_command_list): Removed.
12062 (main): Don't call util_init_nls.
12063 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
12064 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
12065
12066 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
12069 date.mod, datehook.mod.
12070 (datetime_mod_SOURCES): New variable.
12071 (datetime_mod_CFLAGS): Likewise.
12072 (datetime_mod_LDFLAGS): Likewise.
12073 (date_mod_SOURCES): Likewise.
12074 (date_mod_CFLAGS): Likewise.
12075 (date_mod_LDFLAGS): Likewise.
12076 (datehook_mod_SOURCES): Likewise.
12077 (datehook_mod_CFLAGS): Likewise.
12078 (datehook_mod_LDFLAGS): Likewise.
12079 * conf/sparc64-ieee1275.rmk: Likewise.
12080 * lib/ieee1275/datetime.c: New file.
12081
12082 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
12085 (ieee1275_fb_mod_SOURCES): New variable.
12086 (ieee1275_fb_mod_CFLAGS): Likewise.
12087 (ieee1275_fb_mod_LDFLAGS): Likewise.
12088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
12089 New proto.
12090 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
12091 (HEAP_MAX_ADDR): Likewise.
12092 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12093 type.
12094 Correct stop condition.
12095 (grub_ieee1275_devices_iterate): New function.
12096 * video/ieee1275.c: New file.
12097
12098 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
12101
12102 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
12103 as scratch.
12104 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
12105 SCRATCH_PAD_DISKBOOT as scratch.
12106 (bootit): Pass Openfirmware pointer in %o4.
12107 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
12108 of 0x200000.
12109 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
12110 with util/grub-mkrawimage.c.
12111 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
12112 * include/grub/aout.h (AOUT_MID_SUN): New definition.
12113 (grub_aout_get_type) [GRUB_UTIL]: Removed.
12114 (grub_aout_load) [GRUB_UTIL]: Likewise.
12115 * include/grub/kernel.h (grub_modules_get_end): New proto.
12116 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
12117 (SCRATCH_PAD_BOOT): New definition.
12118 (SCRATCH_PAD_DISKBOOT): Likewise.
12119 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
12120 * include/grub/sparc64/ieee1275/ieee1275.h
12121 (grub_ieee1275_original_stack): New variable
12122 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12123 New definition
12124 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
12125 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
12126 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
12127 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
12128 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
12129 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
12130 (grub_platform_image_format_t): New type.
12131 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
12132 * kern/main.c (grub_modules_get_end)
12133 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
12134 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
12135 (codestart): Switch stacks.
12136 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
12137 variable.
12138 (grub_heap_init): Use grub_modules_get_end.
12139 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
12140 stack.
12141 * util/grub-mkrawimage.c (generate_image): Support sparc64.
12142 (main): Likewise.
12143 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
12144
12145 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
12146
12147 * util/grub-mkrescue.in: Base ISO UUID on UTC.
12148
12149 2010-03-08 Matt Kraai <kraai@ftbfs.org>
12150
12151 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
12152 bug #559005).
12153
12154 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * genmoddep.awk: Output all missing symbols and not only first.
12157
12158 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * NEWS: Put the date of 1.98 release.
12161
12162 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
12165 ft2build.h.
12166
12167 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
12170 completition in the middle of string.
12171
12172 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 * util/grub-mkrescue.in: Use mktemp with explicit template.
12175
12176 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
12179
12180 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
12183 right pointer.
12184
12185 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 Fix FreeBSD compilation.
12188
12189 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
12190 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
12191
12192 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
12195
12196 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
12199
12200 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
12203
12204 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
12205
12206 Support relative image path in theme file.
12207
12208 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
12209 (image_set_property): Handle theme_dir and relative path.
12210
12211 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * configure.ac: Alias amd64 to x86_64.
12214
12215 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * NEWS: mention multiboot on EFI.
12218
12219 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * kern/main.c (grub_load_modules): Handle errors from init functions of
12222 embeded modules.
12223
12224 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * normal/autofs.c (autoload_fs_module): Handle errors.
12227
12228 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 Disable linux.mod on qemu-mips since it's not functional and leads
12231 to compilation failure.
12232
12233 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
12234 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
12235 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
12236 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
12237 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
12238 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
12239 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
12240 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
12241 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
12242 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
12243 Reported by: BVK Chaitanya
12244
12245 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
12246
12247 * INSTALL: Add gettext as a dependency and add qemu to a new section
12248 "Prerequisites for make-check".
12249
12250 2010-03-04 Christian Franke <franke@computer.org>
12251
12252 * util/grub-pe2elf.c: Add missing include "progname.h".
12253
12254 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * normal/crypto.c (read_crypto_list): Fix a typo.
12257 Reported by: Seth Goldberg.
12258
12259 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
12262 Reported by: Seth Goldberg.
12263
12264 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
12267 ascii.bitmaps.
12268
12269 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * genmk.rb: Remove terminal*.lst in make clean.
12272 Reported by: Seth Goldberg.
12273
12274 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * util/i386/efi/grub-install.in: Copy gettext files.
12277
12278 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
12281
12282 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 Wait for user entry basing on presence of output rather than on errors.
12285
12286 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
12287 (grub_install_newline_hook): Likewise.
12288 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
12289 * normal/menu.c (show_menu): Check line_counter to determine presence
12290 of output.
12291 * normal/term.c (grub_normal_line_counter): New variable.
12292 (grub_normal_get_line_counter): New function.
12293 (grub_install_newline_hook): Likewise.
12294
12295 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
12298
12299 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * configure.ac: Update version to 1.98.
12302
12303 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * util/grub.d/10_linux.in (linux_entry): Don't default to
12306 gfxpayload=keep if Linux doesn't support video handover.
12307
12308 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 Don't compile video modules on yeeloong since video subsystem is part
12311 of kernel.
12312
12313 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
12314 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
12315 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
12316 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
12317 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
12318 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
12319 * include/grub/bitmap_scale.h: Likewise.
12320 * include/grub/bufio.h: Likewise.
12321 * include/grub/font.h: Likewise.
12322 * include/grub/gfxterm.h: Likewise.
12323 * include/grub/video.h: Likewise.
12324 * include/grub/vbe.h: Don't include video_fb.h.
12325 * video/i386/pc/vbe.c: Include video_fb.h.
12326 * commands/i386/pc/vbetest.c: Include video.h.
12327
12328 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
12329
12330 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
12331 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
12332 default entry if GRUB_SAVEDEFAULT=true. This allows using
12333 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
12334 saving a new default on every boot.
12335
12336 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * normal/crypto.c (read_crypto_list): Fix a memory leak.
12339 * normal/term.c (read_terminal_list): Likewise.
12340 * normal/main.c (grub_normal_init_page): Likewise.
12341 (grub_normal_read_line_real): Likewise.
12342
12343 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
12346 memory leak.
12347 Reported by: Seth Goldberg.
12348
12349 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
12350
12351 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
12352 duplicate declaration of `start'.
12353
12354 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12357 filename.
12358 Reported by: Georgy Buranov
12359
12360 2010-02-20 Carles Pina i Estany <carles@pina.cat>
12361
12362 * util/grub-mkrawimage.c (usage): Change string formatting to
12363 improve gettext.
12364
12365 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12366
12367 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12368 backspace keys.
12369
12370 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12373 Reported by: Michael Suchanek.
12374
12375 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
12376
12377 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12378 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12379
12380 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 Remove any reference to non-free fonts.
12383
12384 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12385 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12386 uses non-free components.
12387 * font/font.c (grub_font_get_name): Remove example name.
12388 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12389 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12390 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12391 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12392
12393 2010-02-16 Georgy Buranov <gburanov@gmail.com>
12394
12395 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12396
12397 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12400 Double divisor.
12401 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12402 features.
12403 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12404
12405 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12408
12409 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12410
12411 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12412 * docs/grub.texi (Command-line and menu entry commands): Document play
12413 command.
12414
12415 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12416
12417 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12418 parse arguments as inline tempo and notes. Move code for playing notes
12419 to...
12420 (play): ... new function.
12421
12422 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12423
12424 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12425 grub_uint16_t instead of short.
12426 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12427 disk from little endian to cpu endianness.
12428
12429 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12430
12431 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12432 GRUB_TICKS_PER_SECOND instead of 120.
12433
12434 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12437 escape sequence after \e.
12438
12439 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12442 non-ASCII characters.
12443
12444 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12447 set root in single quotes to prevent \, from being unescaped.
12448
12449 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 Prevent unknown commands from stopping menuentry execution.
12452
12453 * script/execute.c (grub_script_execute_cmdline): Print error after
12454 unknown command.
12455
12456 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12459 Reported by: Pavel Pisa.
12460
12461 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12464
12465 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 Merge grub_ieee1275_map_physical into grub_map and rename to
12468 grub_ieee1275_map
12469
12470 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12471 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12472 Remove.
12473 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12474 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12475 necessary.
12476 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12477
12478 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12481 opening and not after.
12482
12483 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12486 constants.
12487
12488 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12491 (alloc_phys): Use ALIGN_UP instead of align_addr.
12492
12493 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12496
12497 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12500
12501 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12504 verbose dprintf.
12505
12506 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 Fix over-4GiB seek on sparc64.
12509
12510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12511 Replace pos_i and pos_lo with pos. All users updated.
12512 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12513 New constant.
12514 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12515 Likewise.
12516 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12517 and pos_lo.
12518
12519 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * util/grub-mkrawimage.c (main): Call set_program_name.
12522
12523 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 Properly align 64-bit targets.
12526
12527 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12528 (generate_image): Use ALIGN_ADDR.
12529
12530 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Properly create cross-endian images.
12533
12534 * include/grub/types.h (grub_host_to_target_addr): New macro
12535 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12536
12537 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12540
12541 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12544
12545 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12546 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12547 (grub_linux_boot): Divide by 64K when on VESA.
12548
12549 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 Support GRUB_GFXPAYLOAD_LINUX.
12552
12553 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12554 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12555
12556 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12559 to show messages instead of discarding them.
12560 Process errors after executing command and not before. Keep old method
12561 too as precaution.
12562
12563 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * configure.ac: Check for ft2build.h.
12566
12567 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12570
12571 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * genkernsyms.sh.in: Use TARGET_CC.
12574
12575 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
12576
12577 * NEWS: Update.
12578
12579 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 * include/grub/multiboot2.h: Remove leftover file.
12582 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12583 * include/grub/partition.h [GRUB_UTIL]: Likewise.
12584
12585 2010-02-07 Yves Blusseau <blusseau@zetam.org>
12586
12587 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
12588
12589 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 Fix warnings in grub-emu when compiling with maximum warning options.
12592
12593 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12594 (grub_arch_modules_addr): Return 0 and not NULL.
12595 * util/misc.c (ENABLE_RELOCATABLE): New definition.
12596 (xstrdup): Use newstr instead of dup.
12597 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12598 of disk to dsk to avoid shadowing.
12599 (find_free_slot): Fix prototype.
12600 * util/getroot.c (grub_util_is_dmraid): Make static.
12601 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12602 Add missing prototype.
12603 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
12604
12605 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12608 appropriately.
12609
12610 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12613 code out.
12614
12615 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
12618 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
12619 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
12620 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
12621 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
12622 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
12623
12624 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * include/grub/err.h (grub_err_printf): Don't export.
12627
12628 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
12631
12632 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * include/grub/i18n.h (grub_gettext_dummy): Removed.
12635 * kern/misc.c (grub_gettext_dummy): Make static.
12636
12637 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
12640 by non-valid ones.
12641 * kern/term.c (grub_putchar): Likewise.
12642
12643 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
12646 buggy hook call and memory leak.
12647
12648 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
12651
12652 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
12655
12656 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
12659 modevar.
12660 Return grub_errno on allocation error.
12661
12662 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
12665
12666 2010-02-06 Yves Blusseau <blusseau@zetam.org>
12667
12668 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
12669 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
12670
12671 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
12674 non-pxe disk.
12675 (grub_pxefs_open): Likewise.
12676
12677 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12678
12679 * util/grub.d/10_hurd.in: Add --class information to menuentries.
12680 * util/grub.d/10_kfreebsd.in: Likewise.
12681 * util/grub.d/10_linux.in: Likewise.
12682
12683 2010-02-06 Colin D Bennett <colin@gibibit.com>
12684
12685 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
12686 (gfxmenu_mod_SOURCES): New variable.
12687 (gfxmenu_mod_CFLAGS): Likewise.
12688 (gfxmenu_mod_LDFLAGS): Likewise.
12689 * include/grub/term.h (grub_term_set_current_output): Declare
12690 argument as const.
12691 * docs/gfxmenu-theme-example.txt: New file.
12692 * gfxmenu/gfxmenu.c: Likewise.
12693 * gfxmenu/gui_box.c: Likewise.
12694 * gfxmenu/gui_canvas.c: Likewise.
12695 * gfxmenu/gui_circular_progress.c: Likewise.
12696 * gfxmenu/gui_image.c: Likewise.
12697 * gfxmenu/gui_label.c: Likewise.
12698 * gfxmenu/gui_list.c: Likewise.
12699 * gfxmenu/gui_progress_bar.c: Likewise.
12700 * gfxmenu/gui_string_util.c: Likewise.
12701 * gfxmenu/gui_util.c: Likewise.
12702 * gfxmenu/icon_manager.c: Likewise.
12703 * gfxmenu/model.c: Likewise.
12704 * gfxmenu/named_colors.c: Likewise.
12705 * gfxmenu/theme_loader.c: Likewise.
12706 * gfxmenu/view.c: Likewise.
12707 * gfxmenu/widget-box.c: Likewise.
12708 * include/grub/gfxmenu_model.h: Likewise.
12709 * include/grub/gfxmenu_view.h: Likewise.
12710 * include/grub/gfxwidgets.h: Likewise.
12711 * include/grub/gui.h: Likewise.
12712 * include/grub/gui_string_util.h: Likewise.
12713 * include/grub/icon_manager.h: Likewise.
12714
12715 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Agglomerate scrolling in gfxterm.
12718
12719 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
12720 (grub_virtual_screen_setup): Initialise 'total_screen'.
12721 (write_char): Split to ...
12722 (paint_char): ... this ...
12723 (write_char): ... and this.
12724 (paint_char): Handle delayed scrolling.
12725 (draw_cursor): Likewise.
12726 (scroll_up): Split to ...
12727 (real_scroll): ... this ...
12728 (scroll_up): ... and this.
12729 (real_scroll): Handle multi-line scroll and draw below-the-bottom
12730 characters.
12731 (grub_gfxterm_refresh): Call real_scroll.
12732
12733 2010-02-06 Colin D Bennett <colin@gibibit.com>
12734
12735 * include/grub/misc.h (grub_iscntrl): New inline function.
12736 (grub_isalnum): Likewise.
12737 (grub_strtol): Likewise.
12738
12739 2010-02-06 Colin D Bennett <colin@gibibit.com>
12740
12741 * normal/menu_text.c (get_entry_number): Move from here ...
12742 * normal/menu.c (get_entry_number): ... moved here.
12743 * include/grub/menu.h (grub_menu_get_default_entry_index):
12744 New prototype.
12745 * normal/menu.c (grub_menu_get_default_entry_index): New function.
12746 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
12747 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
12748 (grub_menu_viewer_should_return): Likewise.
12749 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
12750 * normal/menu_text.c (run_menu): Enable menu switching.
12751 * normal/menu_viewer.c (should_return): New variable.
12752 (menu_viewer_changed): Likewise.
12753 (grub_menu_viewer_show_menu): Handle menu viewer changes.
12754 (grub_menu_viewer_should_return): New function.
12755 (menuviewer_write_hook): Likewise.
12756 (grub_menu_viewer_init): Likewise.
12757
12758 2010-02-06 Colin D Bennet <colin@gibibit.com>
12759 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 Support for gfxterm in a window.
12762
12763 * include/grub/gfxterm.h: New file.
12764 * include/grub/video.h (struct grub_video_rect): New declaration.
12765 (grub_video_rect_t): Likewise.
12766 * term/gfxterm.c (struct grub_gfxterm_window): New type.
12767 (refcount): New variable.
12768 (render_target): Likewise.
12769 (window): Likewise.
12770 (repaint_callback): Likewise.
12771 (grub_virtual_screen_setup): Use 'render_target'.
12772 (init_window): New function.
12773 (grub_gfxterm_init_window): Likewise.
12774 (grub_gfxterm_init): Check reference counter.
12775 Use init_window.
12776 (destroy_window): New function.
12777 (grub_gfxterm_destroy_window): Likewise.
12778 (grub_gfxterm_fini): Check reference counter.
12779 Use destroy_window.
12780 (redraw_screen_rect): Restore viewport.
12781 Use 'render_target' and 'window'.
12782 Call 'repaint_callback'.
12783 (write_char): Use 'render_target'.
12784 (draw_cursor): Likewise.
12785 (scroll_up): Restore viewport.
12786 Use 'render_target' and 'window'.
12787 Call 'repaint_callback'.
12788 (grub_gfxterm_cls): Likewise.
12789 (grub_gfxterm_refresh): Use 'window'.
12790 (grub_gfxterm_set_repaint_callback): New function.
12791 (grub_gfxterm_background_image_cmd): Use 'window'.
12792 (grub_gfxterm_get_term): New function.
12793 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
12794
12795 2010-02-06 Colin D Bennett <colin@gibibit.com>
12796
12797 Bitmap scaling support.
12798
12799 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
12800 (bitmap_scale_mod_SOURCES): New variable.
12801 (bitmap_scale_mod_CFLAGS): Likewise.
12802 (bitmap_scale_mod_LDFLAGS): Likewise.
12803 * include/grub/bitmap_scale.h: New file.
12804 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
12805 (background_image_cmd_options): New variable.
12806 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
12807 (cmd): Rename and change type to ...
12808 (background_image_cmd_handle): ... this. All users updated.
12809 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
12810 * video/bitmap_scale.c: New file.
12811
12812 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 SDL support.
12815
12816 * Makefile.in (LIBSDL): New variable.
12817 (enable_grub_emu_sdl): Likewise.
12818 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
12819 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
12820 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
12821 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
12822 * util/sdl.c: New file.
12823
12824 2010-02-06 Colin D Bennett <colin@gibibit.com>
12825 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 Double buffering support.
12828
12829 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
12830 * include/grub/video.h: Update comment.
12831 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
12832 New type.
12833 (grub_video_fb_doublebuf_blit_init): New prototype.
12834 * term/gfxterm.c (scroll_up): Support double buffering.
12835 (grub_gfxterm_refresh): Likewise.
12836 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
12837 (grub_video_fb_doublebuf_blit_init): Likewise.
12838 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
12839 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
12840 'displayed_page', 'render_page' and 'update_screen'.
12841 (grub_video_vbe_fini): Free offscreen buffer.
12842 (doublebuf_pageflipping_commit): New function.
12843 (doublebuf_pageflipping_update_screen): Likewise.
12844 (doublebuf_pageflipping_init): Likewise.
12845 (double_buffering_init): Likewise.
12846 (grub_video_vbe_setup): Enable doublebuffering.
12847 (grub_video_vbe_swap_buffers): Implement.
12848 (grub_video_vbe_set_active_render_target): Handle double buffering.
12849 (grub_video_vbe_get_active_render_target): Likewise.
12850 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
12851 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
12852 (grub_video_vbe_enable_double_buffering): Likewise.
12853 (grub_video_vbe_swap_buffers): Use update_screen.
12854 (grub_video_set_mode): Use double buffering.
12855
12856 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12857
12858 * maintainance/gentrigtables.py: Remove.
12859 * lib/trig.c: Likewise.
12860
12861 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
12862
12863 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
12864 `trigtables.c'.
12865 (trigtables.c): New rule.
12866 (gentrigtables): Likewise.
12867 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
12868
12869 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12870
12871 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
12872 integer constants.
12873
12874 2010-02-06 Colin D Bennet <colin@gibibit.com>
12875
12876 Trigonometry support.
12877
12878 * include/grub/trig.h: New file.
12879 * lib/trig.c: Likewise.
12880 * maintainance/gentrigtables.py: Likewise.
12881 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
12882 (trig_mod_SOURCES): New variable.
12883 (trig_mod_CFLAGS): Likewise.
12884 (trig_mod_LDFLAGS): Likewise.
12885
12886 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
12889 disk devices.
12890
12891 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
12894 error.
12895
12896 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * util/hostdisk.c (open_device): Don't use partition device when reading
12899 before the partition.
12900 (grub_util_biosdisk_read): Don't read from partition and before the
12901 partition in single operation.
12902 (grub_util_biosdisk_write): Don't write to partition and before the
12903 partition in single operation.
12904
12905 2010-02-03 Torsten Landschoff <torsten@debian.org>
12906
12907 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12908 last sectors.
12909
12910 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
12913 CDROM reads.
12914 (grub_biosdisk_write): Refuse to write to CDROM.
12915
12916 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
12919
12920 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 * font/font.c (find_glyph): Check that bmp_idx is available before
12923 using it.
12924 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
12925 with (font == NULL).
12926
12927 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
12928
12929 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
12930
12931 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
12932
12933 * include/grub/script_sh.h (sourcecode): Add const qualifier.
12934 * util/grub-script-check.c (getline): Fix empty lines case.
12935
12936 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
12937
12938 * Makefile.in (check): Exit with fail status when one of the tests
12939 fails.
12940 * tests/example_functional_test.c (example_test): Fix reversed assert.
12941 * tests/example_unit_test.c (example_test): Likewise.
12942
12943 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
12944
12945 * util/grub.d/10_linux.in: This script does not use any of the
12946 contents of gettext.sh, only the external command `gettext', so stop
12947 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
12948 the same prefix as GRUB.)
12949 * util/grub.d/10_kfreebsd.in: Likewise.
12950
12951 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
12954 of the line.
12955
12956 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12959 last sectors.
12960
12961 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
12964 having a 4KiB and not 32KiB buffer size.
12965
12966 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12967
12968 * util/hostfs.c: Include `<errno.h>'.
12969 (grub_hostfs_read): Handle errors from fseeko() and fread().
12970
12971 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12972
12973 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
12974 loop when using read hooks on files whose size isn't sector-aligned.
12975
12976 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12977
12978 Remove unused parameter.
12979
12980 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
12981 (grub_iso9660_open): Remove initialization of `data->length'.
12982
12983 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12984
12985 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
12986 memleak conditions.
12987
12988 2010-01-27 Carles Pina i Estany <carles@pina.cat>
12989
12990 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
12991 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
12992
12993 2010-01-26 Carles Pina i Estany <carles@pina.cat>
12994
12995 * util/bin2h.c (usage): Fix warning (space after backslash).
12996
12997 2010-01-26 Carles Pina i Estany <carles@pina.cat>
12998
12999 * font/font.c: Include `grub/fontformat.h.
13000 Remove font file format constants.
13001 (grub_font_load): Use the new macros.
13002 * include/grub/fontformat.h: New file.
13003 * util/grub-mkfont.c: Include `grub/fontformat.c'.
13004 (write_font_pf2): Use the new macros.
13005
13006 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13007
13008 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
13009 does.
13010
13011 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13012
13013 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
13014
13015 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
13016 (_start): Macroify `0x7F'.
13017
13018 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
13019 (make_install_device): Use "(pxe)" as fallback prefix when booting
13020 via PXE.
13021
13022 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 * configure.ac: Reset LIBS after check for libgcc symbols.
13025
13026 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
13027
13028 * util/hostdisk.c (open_device): Add trailing newline to debug
13029 message.
13030
13031 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
13032
13033 * configure.ac: Check for `limits.h'.
13034 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
13035
13036 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
13037
13038 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
13039 capitalize error strings.
13040
13041 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
13042
13043 * util/grub.d/10_hurd.in: Add a recovery mode.
13044
13045 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 * configure.ac: Check for libgcc symbols with -nostdlib.
13048
13049 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
13050
13051 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
13052
13053 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
13056 stack since heap may be unavailable at that point.
13057 (grub_ofconsole_gotoxy): Likewise.
13058
13059 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * configure.ac: Check for _restgpr_14_x.
13062 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
13063 and _savegpr_* prototypes.
13064
13065 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
13066
13067 Use generic grub_reboot() for i386-efi.
13068
13069 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
13070 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
13071 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
13072
13073 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
13076 presence of "prefix" variable as it breaks when normal.mod is
13077 embedded.
13078
13079 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
13082 stack since heap is unavailable at that point.
13083
13084 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
13087 (grub_freebsd_bootinfo): Rewritten.
13088 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
13089
13090 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
13093
13094 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
13095
13096 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
13097 domain now.
13098
13099 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
13100
13101 * util/misc.c (make_system_path_relative_to_its_root): Change the work
13102 around for handling "/" to the correct fix. Fix a memory leak. Use
13103 xstrdup instead of strdup.
13104
13105 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
13108
13109 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 Optimise glyph lookup by Basic Multilingual Plane lookup array.
13112
13113 * font/font.c (struct grub_font): New member 'bmp_idx'.
13114 (font_init): Initialise 'bmp_idx'.
13115 (load_font_index): Fill 'bmp_idx'.
13116 (find_glyph): Make inline. Use bmp_idx for BMP characters.
13117
13118 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
13121 unnecessary calls.
13122
13123 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 Move context handling out of the kernel.
13126
13127 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
13128 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
13129 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
13130 * conf/i386-efi.rmk: Likewise.
13131 * conf/i386-ieee1275.rmk: Likewise.
13132 * conf/i386-pc.rmk: Likewise.
13133 * conf/powerpc-ieee1275.rmk: Likewise.
13134 * conf/sparc64-ieee1275.rmk: Likewise.
13135 * conf/x86_64-efi.rmk: Likewise.
13136 * include/grub/env.h: Include grub/menu.h.
13137 (grub_env_var_type): Removed.
13138 (grub_env_var): Replaced field 'type' with 'global'.
13139 (grub_env_find): New prototype.
13140 (grub_env_context_open): Remove EXPORT_FUNC.
13141 (grub_env_context_close): Likewise.
13142 (grub_env_export): Likewise.
13143 (grub_env_set_data_slot): Removed.
13144 (grub_env_get_data_slot): Likewise.
13145 (grub_env_unset_data_slot): Likewise.
13146 (grub_env_unset_menu): New prototype.
13147 (grub_env_set_menu): Likewise.
13148 (grub_env_get_menu): Likewise.
13149 * include/grub/env_private.h: New file.
13150 * include/grub/normal.h (grub_context_init): New prototype.
13151 (grub_context_fini): Likewise.
13152 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
13153 * normal/context.c (grub_cmd_export): ... to here.
13154 * kern/env.c: Include env_private.h.
13155 (HASHSZ): Moved to include/grub/env_private.h.
13156 (grub_env_context): Likewise.
13157 (grub_env_sorted_var): Likewise.
13158 (current_context): Renamed from this ...
13159 (grub_current_context): ...to this. 'static' removed. All users updated.
13160 (grub_env_find): Removed 'static'.
13161 (grub_env_context_open): Moved to normal/context.c.
13162 (grub_env_context_close): Likewise.
13163 (grub_env_export): Likewise.
13164 (mangle_data_slot_name): Removed.
13165 (grub_env_set_data_slot): Likewise.
13166 (grub_env_get_data_slot): Likewise.
13167 (grub_env_unset_data_slot): Likewise.
13168 * kern/main.c (grub_set_root_dev): Don't export root.
13169 It will be done later.
13170 (grub_main): Don't export prefix.
13171 It will be done later.
13172 * normal/context.c: New file.
13173 * normal/main.c (free_menu): Use grub_env_unset_menu.
13174 (grub_normal_add_menu_entry): Use grub_env_get_menu.
13175 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
13176 (GRUB_MOD_INIT(normal)): Call grub_context_init.
13177 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
13178
13179 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 setpci support.
13182
13183 * commands/setpci.c: New file.
13184 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
13185 (setpci_mod_SOURCES): New variable.
13186 (setpci_mod_CFLAGS): Likewise.
13187 (setpci_mod_LDFLAGS): Likewise.
13188
13189 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 Byte-addressable PCI configuration space.
13192
13193 * bus/pci.c (grub_pci_make_address): Use byte address instead of
13194 dword address.
13195 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
13196 GRUB_PCI_REG_CACHELINE.
13197 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
13198 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
13199 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
13200 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
13201 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
13202 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
13203 grub_pci_make_address.
13204 (lock_rom_area): Likewise.
13205 * commands/lspci.c (grub_lspci_iter): Use macroses
13206 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
13207 of grub_pci_make_address.
13208 * disk/ata.c (grub_ata_pciinit): Likewise.
13209 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
13210 (GRUB_PCI_REG_VENDOR): Likewise.
13211 (GRUB_PCI_REG_DEVICE): Likewise.
13212 (GRUB_PCI_REG_COMMAND): Likewise.
13213 (GRUB_PCI_REG_STATUS): Likewise.
13214 (GRUB_PCI_REG_REVISION): Likewise.
13215 (GRUB_PCI_REG_CLASS): Likewise.
13216 (GRUB_PCI_REG_CACHELINE): Likewise.
13217 (GRUB_PCI_REG_LAT_TIMER): Likewise.
13218 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
13219 (GRUB_PCI_REG_BIST): Likewise.
13220 (GRUB_PCI_REG_ADDRESSES): Likewise.
13221 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13222 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13223 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13224 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13225 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13226 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13227 (GRUB_PCI_REG_CIS_POINTER): Likewise.
13228 (GRUB_PCI_REG_SUBVENDOR): Likewise.
13229 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
13230 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
13231 (GRUB_PCI_REG_CAP_POINTER): Likewise.
13232 (GRUB_PCI_REG_IRQ_LINE): Likewise.
13233 (GRUB_PCI_REG_IRQ_PIN): Likewise.
13234 (GRUB_PCI_REG_MIN_GNT): Likewise.
13235 (GRUB_PCI_REG_MAX_LAT): Likewise.
13236 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
13237 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
13238 * video/efi_uga.c (find_framebuf): Likewise.
13239 * video/sm712.c (grub_video_sm712_setup): Likewise.
13240 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
13241 space.
13242
13243 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13244
13245 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
13246 can be reliably determined to be supported.
13247
13248 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13249
13250 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
13251 that VESA is supported.
13252 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
13253 supported.
13254
13255 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
13258
13259 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13260
13261 * util/misc.c (make_system_path_relative_to_its_root): Work around
13262 special-casing of "/", as previous incarnation of this routine did.
13263
13264 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 Fix any-emu compilation.
13267
13268 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
13269 * grub_bin2h_SOURCES: New variable.
13270
13271 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13272
13273 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
13274
13275 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13276
13277 * util/grub.d/00_header.in: Fix handling of locale_dir.
13278
13279 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
13282 as possible unifont location (Gentoo).
13283 Reported by: Alexander Brüning
13284
13285 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 Don't try to generate lists for kernel.img.
13288
13289 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
13290 (pkglib_MODULES): Remove kernel.img.
13291 (kernel_img_EXPORTS): Removed.
13292 (kernel_img_RELOCATABLE): New variable.
13293 * conf/x86_64-efi.rmk: Likewise.
13294 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
13295
13296 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
13299 grub_xasprintf or grub_snprintf.
13300 (grub_vsprintf): Likewise.
13301 (grub_snprintf): New proto.
13302 (grub_vsnprintf): Likewise.
13303 (grub_xasprintf): Likewise.
13304 (grub_xvasprintf): Likewise.
13305 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
13306 (grub_sprintf): Removed.
13307 (grub_vsnprintf): New function.
13308 (grub_snprintf): Likewise.
13309 (grub_xvasprintf): Likewise.
13310 (grub_xasprintf): Likewise.
13311 (grub_vsprintf): Renamed to ...
13312 (grub_vsnprintf_real): ...this. New argument max_len.
13313
13314 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
13315
13316 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
13317 fix grub-script-check warning.
13318
13319 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 * include/grub/font.h (grub_font_load): Fix prototype.
13322
13323 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
13326
13327 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * include/grub/x86_64/at_keyboard.h: New file.
13330
13331 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * loader/mips/linux.c: Include missing grub/i18n.h.
13334
13335 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13336
13337 * normal/menu.c (notify_execution_failure): Clarify error message.
13338
13339 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13340
13341 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
13342 return value (and revert all return statements). Update users.
13343
13344 2010-01-20 Dan Merillat <debian@dan.merillat.org>
13345
13346 * kern/device.c (grub_device_iterate): Allocate new part_ent
13347 structure based on sizeof (*p) rather than sizeof (p->next), to
13348 account for structure padding.
13349
13350 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
13351 disk is NULL, which might happen for LVM physical volumes with no
13352 LVM signature.
13353
13354 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13355
13356 * loader/mips/linux.c (grub_cmd_initrd)
13357 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13358
13359 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13360
13361 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13362 (grub_video_video_init, grub_video_bitmap_init)
13363 (grub_font_manager_init, grub_term_gfxterm_init)
13364 (grub_at_keyboard_init): New extern declarations.
13365 (grub_machine_init): Initialize gfxterm and at_keyboard.
13366
13367 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13368
13369 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13370 `gfxterm.mod' into core image.
13371
13372 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13373 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13374 (kernel_img_FORMAT): Copy to ...
13375
13376 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13377 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13378 (kernel_img_FORMAT): ... here, and ...
13379
13380 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13381 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13382 (kernel_img_FORMAT): ... here.
13383
13384 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13385 and input (at_keyboard) terminals in kernel.
13386 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13387
13388 (pkglib_MODULES): Remove `pci.mod'.
13389 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13390 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13391 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13392 (at_keyboard_mod_LDFLAGS): Remove variables.
13393
13394 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
13395
13396 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13397
13398 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13399
13400 * include/grub/mips/libgcc.h: Only export symbols for functions
13401 that libgcc provides.
13402
13403 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 MIPS support.
13406
13407 * bus/bonito.c: New file.
13408 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13409 GRUB_PCI_NUM_DEVICES.
13410 * term/i386/pc/serial.c: Move to ...
13411 * term/serial.c: ... here. All users updated.
13412 * util/i386/pc/grub-mkimage.c: Move to ...
13413 * util/grub-mkrawimage.c: ... here. All users updated.
13414 * term/i386/pc/at_keyboard.c: Move to ...
13415 * term/at_keyboard.c: ... here. All users updated.
13416 * conf/mips-qemu-mips.rmk: New file.
13417 * conf/mips-yeeloong.rmk: Likewise.
13418 * conf/mips.rmk: Likewise.
13419 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13420 mipsel-qemu-mips.
13421 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13422 to port addresses.
13423 (grub_ata_pciinit): Support CS5536.
13424 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13425 * font/font_cmd.c (loadfont_command): Open file before passing it to
13426 grub_font_load.
13427 (pseudo_file_read): New function.
13428 (pseudo_file_close): Likewise.
13429 (pseudo_fs): New structure.
13430 (load_font_module): New function.
13431 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13432 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13433 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13434 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13435 * include/grub/i386/at_keyboard.h: Split into ...
13436 * include/grub/at_keyboard.h: ... this ...
13437 * include/grub/i386/at_keyboard.h: ... and this.
13438 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13439 New prototype.
13440 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13441 updated.
13442 (grub_elf64_size): Likewise.
13443 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13444 filename.
13445 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13446 * include/grub/i386/coreboot/serial.h: Rewritten.
13447 * include/grub/i386/ieee1275/serial.h: Include
13448 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13449 * include/grub/i386/pc/serial.h: Moved from here ...
13450 * include/grub/serial.h: ... to here. All users updated.
13451 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13452 (GRUB_PCI_NUM_BUS): Likewise.
13453 (GRUB_PCI_NUM_DEVICES): Likewise.
13454 (grub_pci_device_map_range): Add missing volatile keyword.
13455 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13456 * include/grub/mips/at_keyboard.h: New file.
13457 * include/grub/mips/cache.h: Likewise.
13458 * include/grub/mips/io.h: Likewise.
13459 * include/grub/mips/kernel.h: Likewise.
13460 * include/grub/mips/libgcc.h: Likewise.
13461 * include/grub/mips/pci.h: Likewise.
13462 * include/grub/mips/qemu-mips/boot.h: Likewise.
13463 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13464 * include/grub/mips/qemu-mips/loader.h: Likewise.
13465 * include/grub/mips/qemu-mips/memory.h: Likewise.
13466 * include/grub/mips/qemu-mips/serial.h: Likewise.
13467 * include/grub/mips/qemu-mips/time.h: Likewise.
13468 * include/grub/mips/relocator.h: Likewise.
13469 * include/grub/mips/time.h: Likewise.
13470 * include/grub/mips/types.h: Likewise.
13471 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13472 * include/grub/mips/yeeloong/boot.h: Likewise.
13473 * include/grub/mips/yeeloong/kernel.h: Likewise.
13474 * include/grub/mips/yeeloong/loader.h: Likewise.
13475 * include/grub/mips/yeeloong/memory.h: Likewise.
13476 * include/grub/mips/yeeloong/pci.h: Likewise.
13477 * include/grub/mips/yeeloong/serial.h: Likewise.
13478 * include/grub/mips/yeeloong/time.h: Likewise.
13479 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13480 * kern/elf.c (grub_elf32_size): New parameter. All users
13481 updated.
13482 (grub_elf64_size): Likewise.
13483 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13484 Load modules before saying "Welcome to GRUB!".
13485 Call grub_refresh after saying "Welcome to GRUB!".
13486 * kern/mips/cache.S: New file.
13487 * kern/mips/cache_flush.S: Likewise.
13488 * kern/mips/dl.c: Likewise.
13489 * kern/mips/init.c: Likewise.
13490 * kern/mips/qemu-mips/init.c: Likewise.
13491 * kern/mips/startup.S: Likewise.
13492 * kern/mips/yeeloong/init.c: Likewise.
13493 * kern/term.c (grub_putcode): Handle NULL terminal.
13494 (grub_getcharwidth): Likewise.
13495 (grub_getkey): Likewise.
13496 (grub_checkkey): Likewise.
13497 (grub_getkeystatus): Likewise.
13498 (grub_getxy): Likewise.
13499 (grub_getwh): Likewise.
13500 (grub_gotoxy): Likewise.
13501 (grub_cls): Likewise.
13502 (grub_setcolorstate): Likewise.
13503 (grub_setcolor): Likewise.
13504 (grub_getcolor): Likewise.
13505 (grub_refresh): Likewise.
13506 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13507 (write_jump): Add hatch nop.
13508 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13509 * lib/mips/setjmp.S: New file.
13510 * loader/mips/linux.c: Likewise.
13511 * term/i386/pc/at_keyboard.c: Move from here ...
13512 * term/at_keyboard.c: ... to here.
13513 * term/i386/pc/serial.c: Moved from here ...
13514 * term/serial.c: ... to here. All users updated.
13515 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13516 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13517 (serial_translate_key_sequence): Avoid deadlock.
13518 (grub_serial_getkey): Handle backspace.
13519 (grub_serial_putchar): Fix newline handling.
13520 * util/i386/pc/grub-mkimage.c: Move from here ...
13521 * util/grub-mkrawimage.c: ... to here. All users updated.
13522 (generate_image): New parameters 'font_path' and 'format'.
13523 Support embedding font.
13524 Use grub_host_to_target* instead of grub_cpu_to_le*.
13525 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13526 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13527 (options): New option "--font".
13528 (usage): Likewise.
13529 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13530 (main): Handle "--font".
13531 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13532 (grub_virtual_screen_setup): Set bg_color_display.
13533 (redraw_screen_rect): Use bg_color_display instead of incorrect
13534 bg_color.
13535 (grub_gfxterm_cls): Likewise.
13536 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13537 Support embedding config file.
13538 (add_segments): Likewise.
13539 (options): New option "--config".
13540 (main): Handle "--config".
13541 * video/sm712.c: New file.
13542
13543 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13544
13545 Fix parallel builds.
13546
13547 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13548 font.c depend on ascii.h).
13549
13550 2010-01-12 Carles Pina i Estany <carles@pina.cat>
13551
13552 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13553
13554 2010-01-11 Carles Pina i Estany <carles@pina.cat>
13555
13556 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13557 By default: disabled.
13558 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13559 parameter.
13560
13561 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13562
13563 * font/font.c: Update copyright years.
13564 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13565
13566 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13567
13568 * font/font.c: Include `ascii.h'.
13569 (ASCII_BITMAP_SIZE): New macro.
13570 (ascii_font_glyph): Define.
13571 (ascii_glyph_lookup): New function.
13572 (grub_font_get_string_width): Change comment. If glyph not found, use
13573 ascii_glyph_lookup.
13574 (grub_font_get_glyph_with_fallback): If glyph not available returns
13575 ascii_glyph_lookup.
13576 * util/grub-mkfont.c (file_formats): New enum.
13577 (options): Add `ascii-bitmaps' new option.
13578 (usage): Add `asii-bitmaps' new option.
13579 (write_font_ascii_bitmap): New function.
13580 (write_font): Rename to ...
13581 (write_font_p2): ... this. Remove print_glyphs call.
13582 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13583 used. Call print_glyphs.
13584 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13585
13586 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13587
13588 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13589 (grub_bin2h_SOURCES): New variable.
13590 * util/bin2h.c: New file.
13591
13592 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * include/multiboot.h: Resynced with spec.
13595 * include/multiboot2.h: Likewise.
13596 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13597 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13598
13599 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13600
13601 * include/grub/term.h (grub_term_register_input,
13602 grub_term_register_output): Check return of terminal init()
13603 routines, and abort if errors are raised.
13604
13605 * commands/terminal.c: Update copyright year.
13606
13607 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13608
13609 * commands/terminal.c (grub_cmd_terminal_input)
13610 (grub_cmd_terminal_output): Check return of terminal init()
13611 routines, and abort if errors are raised.
13612
13613 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 * include/grub/i386/bsd.h: Fix include pathes.
13616
13617 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 Add missing *BSD copyright headers.
13620
13621 * include/grub/aout.h: Add BSD licence.
13622 * include/grub/i386/bsd.h: Parts under different licences moved to ...
13623 * include/grub/i386/freebsd_linker.h: ... here,
13624 * include/grub/i386/freebsd_reboot.h: ... here,
13625 * include/grub/i386/netbsd_bootinfo.h: ... here,
13626 * include/grub/i386/netbsd_reboot.h: ... here,
13627 * include/grub/i386/openbsd_bootarg.h: ... here,
13628 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
13629 licence to each file.
13630
13631 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13632
13633 * acinclude.m4: Remove `nop' assembly instruction; it's not
13634 implemented by all architectures.
13635
13636 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13637
13638 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
13639 ELILO. This is no longer necessary.
13640
13641 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
13642
13643 Added new tool, grub-scrit-check to verify grub.cfg syntax.
13644
13645 * util/grub-script-check.c: grub-script-check tool.
13646 * conf/common.rmk: Make rules for grub-script-check.
13647
13648 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13649
13650 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
13651 spotting it back in 2008. Shame on me for forgetting he did.
13652
13653 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
13654
13655 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13656
13657 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
13658 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
13659 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
13660 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
13661 (GRUB_VIDEO_TYPE_EFI): Rename to ...
13662 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
13663
13664 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
13665
13666 * include/grub/test.h: Add license header.
13667 * tests/example_functional_test.c: Likewise.
13668 * tests/example_unit_test.c: Likewise.
13669 * tests/lib/functional_test.c: Likewise.
13670 * tests/lib/test.c: Likewise.
13671 * tests/lib/unit_test.c: Likewise.
13672
13673 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 Use flag-based instead of hook-based video mode selection and "auto"
13676 keyword.
13677
13678 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
13679 (grub_video_set_mode): Changed prototype. All users updated.
13680 (grub_video_check_mode_flag): New inline function.
13681 * video/video.c (parse_modespec): New function.
13682 (grub_video_set_mode): Parse flags and keywords.
13683
13684 2010-01-17 Carles Pina i Estany <carles@pina.cat>
13685
13686 * util/misc.c (grub_util_info): Fix the order of the parameters in a
13687 fprintf call.
13688
13689 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
13690
13691 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
13692
13693 2010-01-16 Carles Pina i Estany <carles@pina.cat>
13694
13695 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
13696 string.
13697 * util/grub-emu.c (usage): Likewise.
13698 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
13699 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13700 * util/i386/pc/grub-mkimage.c (usage): Likewise.
13701 * util/i386/pc/grub-setup.c (usage): Likewise.
13702
13703 2010-01-16 Carles Pina i Estany <carles@pina.cat>
13704
13705 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
13706 the message.
13707 (grub_util_info): Likewise.
13708 (grub_util_error): Likewise.
13709 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
13710 and/or new lines in `grub_util_warna', `grub_util_info',
13711 `grub_util_error' calls.
13712 * util/getroot.c: Likewise.
13713 * util/grub-editenv.c: Likewise.
13714 * util/grub-emu.c: Likewise.
13715 * util/grub-fstest.c: Likewise.
13716 * util/grub-mkdevicemap.c: Likewise.
13717 * util/grub-mkfont.c: Likewise.
13718 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13719 * util/grub-mkrelpath.c: Likewise.
13720 * util/grub-pe2elf.c: Likewise.
13721 * util/grub-probe.c: Likewise.
13722 * util/hostdisk.c: Likewise.
13723 * util/i386/efi/grub-mkimage.c: Likewise.
13724 * util/i386/pc/grub-mkimage.c: Likewise.
13725 * util/i386/pc/grub-setup.c: Likewise.
13726 * util/ieee1275/ofpath.c: Likewise.
13727 * util/mkisofs/eltorito.c: Likewise.
13728 * util/mkisofs/rock.c: Likewise.
13729 * util/mkisofs/write.c: Likewise.
13730 * util/raid.c: Likewise.
13731 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13732 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13733
13734 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 Enable multiboot on non-pc.
13737
13738 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
13739 multiboot.mod and multiboot2.mod to ...
13740 * conf/i386.rmk (pkglib_MODULES): ... here.
13741 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
13742 Moved to ...
13743 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
13744 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
13745 Moved to ...
13746 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
13747 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
13748 Moved to ...
13749 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
13750 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
13751 Moved to ...
13752 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
13753 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
13754 relocator.mod.
13755 (ata_mod_SOURCES): Removed.
13756 (ata_mod_CFLAGS): Likewise.
13757 (ata_mod_LDFLAGS): Likewise.
13758 (relocator_mod_SOURCES): Removed.
13759 (relocator_mod_CFLAGS): Likewise.
13760 (relocator_mod_ASFLAGS): Likewise.
13761 (relocator_mod_LDFLAGS): Likewise.
13762 Include i386.mk.
13763 * include/grub/x86_64/multiboot.h: New file.
13764 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
13765 Terminate EFI.
13766
13767 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Video multiboot support.
13770
13771 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
13772 New prototype.
13773 * include/multiboot.h: Resynced with multiboot specification.
13774 * include/multiboot2.h: Likewise.
13775 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
13776 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
13777 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
13778 (HAS_VGA_TEXT): Likewise.
13779 (accepts_video): New variable.
13780 (grub_multiboot_set_accepts_video): New function.
13781 (grub_multiboot_get_mbi_size): Account for video structures.
13782 (set_video_mode): New function.
13783 (retrieve_video_parameters): Likewise.
13784 (grub_multiboot_make_mbi): Fill video fields.
13785
13786 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 Video driver ids.
13789
13790 * include/grub/video.h (grub_video_driver_id): New type.
13791 (grub_video_adapter): New member 'id'. All users updated.
13792 (grub_video_get_driver_id): New proto.
13793 * video/video.c (grub_video_get_driver_id): New function.
13794
13795 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13796
13797 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
13798 `var=val'.
13799
13800 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13801
13802 * normal/cmdline.c (print_completion): Gettextizze.
13803
13804 2001-01-14 Carles Pina i Estany <carles@pina.cat>
13805
13806 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
13807
13808 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13809
13810 * gettext/gettext.c (grub_gettext_translate): Push and pop
13811 grub_errno.
13812 (grub_gettext_delete_list): Change comment style.
13813 * kern/err.c (grub_error): Gettextizze.
13814 (grub_fatal): Gettextizze.
13815
13816 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13817
13818 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
13819 (grub_linux16_real_boot): ... this.
13820 * kern/i386/loader.S: Likewise.
13821 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
13822 (grub_linux16_boot): New function. Switches to text mode and calls
13823 grub_linux16_real_boot().
13824
13825 * loader/i386/bsd.c: Include `<grub/video.h>'.
13826 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
13827 text mode before calling grub_unix_real_boot().
13828
13829 * loader/i386/multiboot.c: Include `<grub/video.h>'.
13830 (grub_multiboot_boot): Switch to text mode before calling
13831 grub_relocator32_boot().
13832
13833 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
13834 (grub_chainloader_boot): Switch to text mode before calling
13835 grub_chainloader_real_boot().
13836
13837 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13838 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13839
13840 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
13841 non-empty value.
13842
13843 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13844 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13845
13846 * util/grub.d/00_header.in: Define a "savedefault" function for use
13847 in menu entries.
13848 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
13849
13850 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13851 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13852
13853 * util/grub-mkconfig_lib.in (save_default_entry): Only set
13854 saved_entry if boot_once is unset.
13855 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
13856 previous saved entry (i.e. grub-reboot).
13857
13858 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13859
13860 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
13861
13862 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13863
13864 * util/grub.d/00_header.in: Use `set var=val' rather than plain
13865 `var=val'.
13866 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
13867
13868 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13869
13870 * util/grub-reboot.in: Fix --version output.
13871 * util/grub-set-default.in: Likewise.
13872
13873 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13874
13875 * util/grub.d/00_header.in: Silently ignore zero-sized environment
13876 blocks.
13877
13878 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13879
13880 * util/grub.d/00_header.in: Quote the value assigned to `default',
13881 in case it contains spaces.
13882
13883 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13884
13885 * util/grub.d/30_os-prober.in: Fix merge error that moved a
13886 `save_default_entry' call from the macosx case to the linux case.
13887
13888 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13889 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
13890
13891 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
13892 in `chosen' environment variable.
13893 * normal/menu_text.c (get_entry_number): Check if the variable
13894 matches the title of a menu entry.
13895 (run_menu): Pass menu to get_entry_number.
13896
13897 * util/grub-reboot.in: New file.
13898 * util/grub-set-default.in: New file.
13899 * conf/common.rmk (grub-reboot): New utility.
13900 (grub-set-default): New utility.
13901
13902 * util/grub-mkconfig_lib.in (save_default_entry): New function.
13903 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
13904 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
13905 move it to `saved_entry' for the next boot. Load environment on
13906 initialisation.
13907 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
13908 * util/grub.d/10_hurd.in: Likewise.
13909 * util/grub.d/10_linux.in (linux_entry): Likewise.
13910 * util/grub.d/10_windows.in: Likewise.
13911 * util/grub.d/30_os-prober.in: Likewise.
13912
13913 * util/grub-install.in: Create environment block.
13914 * util/i386/efi/grub-install.in: Likewise.
13915 * util/ieee1275/grub-install.in: Likewise.
13916 * util/sparc64/ieee1275/grub-install.in: Likewise.
13917
13918 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
13919
13920 Unit testing framework for GRUB.
13921
13922 * Makefile.in: Test framework build rules for 'make check'.
13923 * conf/tests.rmk: Build rules for individual tests and framework.
13924
13925 * include/grub/test.h: Header file for whitebox tests.
13926 * tests/lib/functional_test.c: Framework support for whitebox
13927 functional tests.
13928 * tests/lib/test.c: Common whitebox testing code for unit and
13929 functional tests.
13930 * tests/lib/unit_test.c: Framework support for whitebox unit
13931 tests.
13932
13933 * tests/util/grub-shell-tester.in: Support utility for grub-script
13934 tests.
13935 * tests/util/grub-shell.in: Utility to execute grub-script
13936 commands in a Qemu instance.
13937
13938 * tests/example_functional_test.c: Example whitebox functional
13939 test.
13940 * tests/example_grub_script_test.in: Example grub-script test.
13941 * tests/example_scripted_test.in: Example scripted test.
13942 * tests/example_unit_test.c: Example whitebox unit test.
13943
13944 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
13947 Add loader/i386/multiboot_mbi.c.
13948 (multiboot2_mod_SOURCES): Likewise.
13949 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
13950 (multiboot2_mod_SOURCES): Likewise.
13951 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
13952 (grub_multiboot_make_mbi): Likewise.
13953 (grub_multiboot_free_mbi): Likewise.
13954 (grub_multiboot_init_mbi): Likewise.
13955 (grub_multiboot_add_module): Likewise.
13956 (grub_multiboot_set_bootdev): Likewise.
13957 * loader/i386/multiboot.c (mbi): Removed.
13958 (mbi_dest): Likewise.
13959 (alloc_mbi): New variable.
13960 (grub_multiboot_payload_size): Removed. All users updated.
13961 (grub_multiboot_pure_size): New variable.
13962 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
13963 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
13964 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
13965 (grub_fill_multiboot_mmap): Likewise.
13966 (grub_multiboot_get_bootdev): Likewise.
13967 (grub_multiboot): Use multiboot_mbi functions.
13968 * loader/i386/multiboot_mbi.c: New file.
13969
13970 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
13973 it would result in module crash.
13974
13975 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
13978 (grub_ofconsole_getwh): Split to ...
13979 (grub_ofconsole_getwh): ... this.
13980 (grub_ofconsole_dimensions): ...and this.
13981 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
13982
13983 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
13984
13985 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
13986
13987 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13988
13989 * loader/i386/pc/multiboot2.c: Removed stalled file.
13990
13991 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
13994 Reported by: Grégoire Sutre
13995
13996 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
13997
13998 * util/misc.c (canonicalize_file_name): New function.
13999 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
14000 instead of realpath().
14001
14002 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
14003
14004 * util/grub-install.in (usage): Clarify meaning of --root-directory,
14005 and make it clearer that it's optional. Based on confusion
14006 witnessed on IRC.
14007
14008 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
14011 in premature implicit newline.
14012
14013 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
14016 which resulted in garbled command line at the end of screen.
14017
14018 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14019
14020 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
14021 initialization with similar approach as with other Linux loaders.
14022
14023 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14024
14025 Fix i386-ieee1275 build.
14026
14027 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
14028 and grub_term_height() for video_{width,height} initialization.
14029
14030 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14031
14032 Fix grub-emu build.
14033
14034 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
14035
14036 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14037 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14038
14039 Support for multiple terminals.
14040
14041 * Makefile.in (pkglib_DATA): terminal.lst.
14042 (terminal.lst): New target.
14043 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
14044 (GRUB_MOD_INIT(handler)): Likewise.
14045 (GRUB_MOD_FINI(handler)): Likewise.
14046 * commands/help.c (grub_cmd_help): Handle multiple terminals.
14047 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
14048 * commands/sleep.c (do_print): Use grub_term_restore_pos.
14049 (grub_cmd_sleep): Use grub_term_save_pos.
14050 * commands/terminal.c: New file.
14051 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
14052 commands/terminal.c and lib/charset.c.
14053 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
14054 (pkglib_MODULES): Add terminal.mod.
14055 (terminal_mod_SOURCES): New variable.
14056 (terminal_mod_CFLAGS): Likewise.
14057 (terminal_mod_LDFLAGS): Likewise.
14058 * genhandlerlist.sh: Don't handle terminals.
14059 * genmk.rb: Generate terminal-*.lst.
14060 * genterminallist.sh: New file.
14061 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
14062 (grub_is_valid_utf8): Likewise.
14063 (grub_utf8_to_ucs4_alloc): Likewise.
14064 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
14065 (grub_menu_register_viewer): Changed argument.
14066 (grub_menu_try_text): New proto.
14067 (grub_gfxmenu_try_hook): New declaration.
14068 * include/grub/normal.h (grub_normal_exit_level): New declaration.
14069 (grub_menu_init_page): Additional argument term.
14070 (grub_normal_init_page): Likewise.
14071 (grub_cmdline_get): Arguments simplified.
14072 (grub_utf8_to_ucs4_alloc): Removed.
14073 (grub_print_ucs4): Additional argument term.
14074 (grub_getstringwidth): Likewise.
14075 (grub_print_message_indented): Likewise.
14076 (grub_menu_text_register_instances): New proto.
14077 (grub_show_menu): Likewise.
14078 (read_terminal_list): Likewise.
14079 (grub_set_more): Likewise.
14080 * include/grub/parser.h: Include handler.h.
14081 * include/grub/reader.h: Rewritten.
14082 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
14083 (GRUB_TERM_WIDTH): Changed to function.
14084 (GRUB_TERM_HEIGHT): Likewise.
14085 (GRUB_TERM_BORDER_WIDTH): Likewise.
14086 (GRUB_TERM_BORDER_HEIGHT): Likewise.
14087 (GRUB_TERM_NUM_ENTRIES): Likewise.
14088 (GRUB_TERM_ENTRY_WIDTH): Likewise.
14089 (GRUB_TERM_CURSOR_X): Likewise.
14090 (grub_term_input_class): Likewise.
14091 (grub_term_output_class): Likewise.
14092 (grub_term_outputs_disabled): New declaration.
14093 (grub_term_inputs_disabled): Likewise.
14094 (grub_term_outputs): Likewise.
14095 (grub_term_inputs): Likewise.
14096 (grub_term_register_input): Rewritten.
14097 (grub_term_register_output): Likewise.
14098 (grub_term_unregister_input): Likewise.
14099 (grub_term_unregister_output): Likewise.
14100 (FOR_ACTIVE_TERM_INPUTS): New macro.
14101 (FOR_DISABLED_TERM_INPUTS): Likewise.
14102 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14103 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14104 * include/grub/terminfo.h: Add oterm argument to all protypes.
14105 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
14106 Use grub_rescue_run.
14107 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
14108 All users updated.
14109 * kern/reader.c: Removed. All users updated.
14110 * kern/rescue_reader.c (grub_rescue_init): Removed.
14111 (grub_rescue_reader): Likewise.
14112 (grub_register_rescue_reader): Likewise.
14113 (grub_rescue_run): New function based on kern/reader.c.
14114 * kern/term.c: Adapted for multiterm.
14115 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
14116 (grub_is_valid_utf8): Likewise.
14117 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
14118 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
14119 right terminal.
14120 * loader/i386/linux.c (grub_linux_boot): Likewise.
14121 * normal/auth.c (grub_username_get): New function.
14122 (grub_auth_check_authentication): Use grub_username_get.
14123 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
14124 * normal/color.c: Adapt for multiterm.
14125 * normal/main.c (read_config_file): Don't use grub_reader_loop.
14126 (grub_normal_init_page): Additional argument term.
14127 (read_lists): Call read_terminal_lists.
14128 (grub_enter_normal_mode): Call grub_cmdline_run.
14129 Handle grub_normal_exit_level.
14130 (grub_cmd_normal): Make reentrant.
14131 (grub_cmd_normal_exit): New function.
14132 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
14133 * normal/menu.c: Adapt for multiterm.
14134 * normal/menu_entry.c: Likewise.
14135 * normal/menu_text.c: Likewise.
14136 * normal/menu_viewer.c: Removed. All users updated.
14137 * normal/term.c: New file.
14138 * util/console.c: Change order of includes to workaround a bug in
14139 ncurses headers.
14140 * term/terminfo.c: New argument oterm on all exported functions.
14141 All users updated.
14142 * util/grub-editenv.c (grub_term_input_class): Removed.
14143 (grub_term_output_class): Likewise.
14144
14145 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14146
14147 Make loader output a bit more user-friendly.
14148
14149 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
14150 is being loaded. Likewise for the Hurd.
14151
14152 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
14153 that kernel of FreeBSD ${version} is being loaded.
14154
14155 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
14156 grub_dprintf().
14157 (grub_cmd_initrd): Likewise.
14158 * util/grub.d/10_linux.in (linux_entry): Print message indicating
14159 that Linux ${version} is being loaded. Likewise for initrd.
14160
14161 2010-01-09 Carles Pina i Estany <carles@pina.cat>
14162
14163 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
14164
14165 2010-01-08 Carles Pina i Estany <carles@pina.cat>
14166
14167 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
14168 (GRUB_MOD_INIT): Gettextizze.
14169 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
14170 (GRUB_MOD_INIT): Gettextizze.
14171 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
14172 (grub_cmd_linux): Capitalise Linux.
14173 (GRUB_MOD_INIT): Gettextizze.
14174 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
14175 (grub_cmd_linux): Capitalise Linux.
14176 (GRUB_MOD_INIT): Gettextizze.
14177 * loader/i386/linux.c: Include `<grub/i18n.h>'.
14178 (grub_cmd_linux): Capitalise Linux.
14179 (GRUB_MOD_INIT): Gettextizze.
14180 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
14181 (GRUB_MOD_INIT): Gettextizze.
14182 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
14183 (grub_cmd_linux): Capitalise Linux.
14184 (GRUB_MOD_INIT): Gettextizze.
14185 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
14186 (grub_cpu_xnu_init): Gettextizze.
14187 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
14188 (GRUB_MOD_INIT): Gettextizze.
14189 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
14190 (GRUB_MOD_INIT): Gettextizze.
14191 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
14192 (grub_linux_load64): Capitalise Linux.
14193 (GRUB_MOD_INIT): Gettextizze.
14194 * loader/xnu.c: Include `<grub/i18n.h>'.
14195 (GRUB_MOD_INIT): Gettextizze.
14196 * po/POTFILES: Add `loader/efi/appleloader.c',
14197 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
14198 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
14199 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
14200 `loader/i386/xnu.c', `loader/multiboot_loader.c',
14201 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
14202 and `loader/xnu.c'.
14203
14204 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14205
14206 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
14207
14208 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14209
14210 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
14211 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
14212 * util/mkisofs/mkisofs.c (main): Readjust --version output.
14213
14214 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14215
14216 Reset Multiboot 2 support. New loader implements the draft in
14217 /branches/multiboot2 and shares as much code as possible with the
14218 production Multiboot 1 implementation.
14219
14220 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
14221 * loader/multiboot2.c: Likewise.
14222 * loader/i386/multiboot_helper.S: Likewise.
14223 * include/multiboot2.h: Replace with latest version from the draft
14224 in /branches/multiboot2.
14225
14226 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
14227 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
14228 and `loader/multiboot2.c'.
14229 (pkglib_MODULES): Add `multiboot2.mod'.
14230 (multiboot2_mod_SOURCES): New variable.
14231 (multiboot2_mod_LDFLAGS): Likewise.
14232 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
14233
14234 * conf/i386-pc.rmk: Likewise.
14235
14236 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14237 (multiboot_mod_SOURCES): Remove variable.
14238 (multiboot_mod_LDFLAGS): Likewise.
14239 (multiboot_mod_CFLAGS): Likewise.
14240
14241 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
14242 `<multiboot2.h>' instead of `<multiboot.h>'.
14243 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
14244 (MULTIBOOT_HEADER_MAGIC): New macros.
14245
14246 * loader/multiboot_loader.c (module_version_status): Remove variable.
14247 (find_multi_boot2_header): Remove function.
14248 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
14249 logic. Always check for the Multiboot version we're compiling for.
14250 (grub_cmd_module_loader): Likewise.
14251 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
14252 command instead of `multiboot'.
14253
14254 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14255
14256 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
14257 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
14258 all users.
14259
14260 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14261 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 Fix breakage introduced with previous commit.
14264
14265 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
14266 commands.
14267 * normal/handler.c (read_handler_list): Revert part of previous commit
14268 affecting this file.
14269 * normal/main.c (read_lists): Move read_handler_list() call back to ...
14270 (grub_normal_execute): ... here.
14271
14272 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14273
14274 Merge prefix-redefinition-fix branch.
14275
14276 * normal/autofs.c (read_fs_list): Make function capable of being
14277 run multiple times, gracefuly replacing the previous data
14278 structures.
14279 * normal/dyncmd.c (read_command_list): Likewise.
14280 * normal/handler.c (read_handler_list): Likewise.
14281 * normal/main.c (read_lists): New function. Calls all the
14282 list reading functions.
14283 (grub_normal_execute): Use read_lists() instead of calling all
14284 list reading functions explicitly. Register read_lists() as a
14285 variable hook attached to ${prefix}.
14286
14287 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 Merge crypto branch.
14290
14291 * Makefile.in (pkglib_DATA): Add crypto.lst.
14292 (crypto.lst): New target.
14293 * commands/hashsum.c: New file.
14294 * commands/password.c (check_password): Use grub_crypto_memcmp.
14295 * commands/password_pbkdf2.c: New file.
14296 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
14297 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
14298 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
14299 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
14300 -I$(srcdir)/lib/libgcrypt_wrap.
14301 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
14302 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
14303 password_pbkdf2.mod.
14304 (crypto_mod_SOURCES): New variable.
14305 (crypto_mod_CFLAGS): Likewise.
14306 (crypto_mod_LDFLAGS): Likewise.
14307 (hashsum_mod_SOURCES): New variable.
14308 (hashsum_mod_CFLAGS): Likewise.
14309 (hashsum_mod_LDFLAGS): Likewise.
14310 (pbkdf2_mod_SOURCES): New variable.
14311 (pbkdf2_mod_CFLAGS): Likewise.
14312 (pbkdf2_mod_LDFLAGS): Likewise.
14313 (password_pbkdf2_mod_SOURCES): New variable.
14314 (password_pbkdf2_mod_CFLAGS): Likewise.
14315 (password_pbkdf2_mod_LDFLAGS): Likewise.
14316 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
14317 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
14318 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
14319 Include conf/gcry.rmk.
14320 * include/grub/auth.h: Rewritten.
14321 * include/grub/crypto.h: New file.
14322 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
14323 * include/grub/normal.h (read_crypto_list): New prototype.
14324 * lib/crypto.c: New file.
14325 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14326 * lib/pbkdf2.c: Likewise.
14327 * normal/auth.c (grub_auth_strcmp): Removed.
14328 (grub_iswordseparator): Likewise.
14329 (grub_auth_strword): Likewise.
14330 (is_authenticated): Use grub_strword.
14331 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
14332 and grub_strword. Pass entered password to authentication callback.
14333 * normal/crypto.c: New file.
14334 * normal/main.c: Call read_crypto_list.
14335 * util/grub-mkpasswd-pbkdf2.c: New file.
14336 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
14337
14338 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 Fix descent and ascent calculation.
14341
14342 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
14343 (options): New option "asce".
14344 (usage): Likewise.
14345 (add_char): Ignore invalid glyphs for descent calculation.
14346 Calculate ascent from actual content.
14347 (print_glyphs): Use 'asce'.
14348 (write_font): Likewise. Allow ascent override.
14349 (main): Handle "asce" option.
14350
14351 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14352
14353 * kern/err.c: Include `<grub/i18n.h>'.
14354 (grub_print_error): Add full stop. Gettextizze.
14355 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14356 (grub_bsd_load_elf): Capitalise ELF.
14357 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14358 (grub_cmd_freebsd_module): Likewise.
14359 (grub_cmd_freebsd_module_elf): Likewise.
14360 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14361
14362 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14363
14364 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14365 * commands/search_file.c (HELP_MESSAGE): New macro.
14366 * commands/search_label.c (HELP_MESSAGE): Likewise.
14367 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14368 * po/POTFILES: Add `commands/search_file.c',
14369 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14370 `commands/search.c'.
14371
14372 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14373
14374 * config.rpath: Update from Gnulib.
14375
14376 2010-01-05 Yves Blusseau <blusseau@zetam.org>
14377
14378 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14379
14380 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14381
14382 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14383
14384 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14385
14386 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14387 arguments to fread so that we get a return value in bytes, rather
14388 than something that will normally be rounded down to 0.
14389 Adjust error handling to avoid producing garbage when size_t is not
14390 the same size as long long.
14391
14392 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14393
14394 * util/mkisofs/write.c (padblock_write): Check return value of
14395 fread.
14396
14397 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14398
14399 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14400 floppy images now.
14401
14402 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14403
14404 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14405
14406 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14407 instead of manual alignment.
14408 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14409 verbose). Avoid attempts to read past end of the device
14410 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14411 but GRUB_DISK_CACHE_SIZE may exceed that).
14412
14413 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14414
14415 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14416 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14417 it to upper layer.
14418
14419 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14422 New constant.
14423 (grub_efi_piwg_device_path): New structure
14424 (grub_efi_piwg_device_path_t): New type.
14425 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14426 (devpath_1): Transform to a structure. All users updated.
14427 (devpath_2): Likewise.
14428 (devpath_3): Likewise.
14429 (devpath_4): Likewise.
14430 (devpath_5): Likewise.
14431
14432 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * loader/efi/appleloader.c: Restored. Update all users.
14435
14436 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14437
14438 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14439
14440 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14441 (struct boot_blocklist): Move from here ...
14442 * include/grub/i386/pc/boot.h [ASM_FILE]
14443 (struct grub_boot_blocklist): ... to here. Update all users.
14444 (setup): Only initialize `start' member of `first_block'
14445 structure. Add assert() calls to verify the other members.
14446
14447 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14448 (generate_image): Fix broken blocklist length initialization.
14449 Add assert() call to verify blocklist `segment' field.
14450
14451 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14452
14453 * loader/efi/appleloader.c: Remove. Update all users.
14454
14455 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14456
14457 * boot/i386/pc/boot.S: Update copyright year.
14458 * boot/i386/pc/cdboot.S: Likewise.
14459 * boot/i386/pc/diskboot.S: Likewise.
14460 * boot/i386/pc/lnxboot.S: Likewise.
14461 * boot/i386/pc/pxeboot.S: Likewise.
14462 * bus/pci.c: Likewise.
14463 * commands/cmp.c: Likewise.
14464 * commands/help.c: Likewise.
14465 * commands/hexdump.c: Likewise.
14466 * commands/i386/pc/halt.c: Likewise.
14467 * commands/i386/pc/play.c: Likewise.
14468 * commands/i386/pc/vbeinfo.c: Likewise.
14469 * commands/ls.c: Likewise.
14470 * commands/test.c: Likewise.
14471 * disk/dmraid_nvidia.c: Likewise.
14472 * disk/i386/pc/biosdisk.c: Likewise.
14473 * disk/ieee1275/nand.c: Likewise.
14474 * disk/ieee1275/ofdisk.c: Likewise.
14475 * disk/lvm.c: Likewise.
14476 * disk/raid.c: Likewise.
14477 * disk/raid6_recover.c: Likewise.
14478 * disk/scsi.c: Likewise.
14479 * fs/affs.c: Likewise.
14480 * fs/cpio.c: Likewise.
14481 * fs/ext2.c: Likewise.
14482 * fs/hfs.c: Likewise.
14483 * fs/iso9660.c: Likewise.
14484 * fs/ntfs.c: Likewise.
14485 * fs/sfs.c: Likewise.
14486 * fs/udf.c: Likewise.
14487 * fs/ufs.c: Likewise.
14488 * fs/xfs.c: Likewise.
14489 * gencmdlist.sh: Likewise.
14490 * genmk.rb: Likewise.
14491 * include/grub/disk.h: Likewise.
14492 * include/grub/efi/api.h: Likewise.
14493 * include/grub/efi/efi.h: Likewise.
14494 * include/grub/efi/pe32.h: Likewise.
14495 * include/grub/elf.h: Likewise.
14496 * include/grub/fs.h: Likewise.
14497 * include/grub/i386/at_keyboard.h: Likewise.
14498 * include/grub/i386/pc/memory.h: Likewise.
14499 * include/grub/i386/pc/vbe.h: Likewise.
14500 * include/grub/i386/pci.h: Likewise.
14501 * include/grub/i386/tsc.h: Likewise.
14502 * include/grub/ieee1275/ieee1275.h: Likewise.
14503 * include/grub/ntfs.h: Likewise.
14504 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14505 * include/grub/sparc64/libgcc.h: Likewise.
14506 * include/grub/symbol.h: Likewise.
14507 * include/grub/types.h: Likewise.
14508 * include/multiboot2.h: Likewise.
14509 * io/gzio.c: Likewise.
14510 * kern/device.c: Likewise.
14511 * kern/disk.c: Likewise.
14512 * kern/efi/efi.c: Likewise.
14513 * kern/efi/mm.c: Likewise.
14514 * kern/elf.c: Likewise.
14515 * kern/file.c: Likewise.
14516 * kern/i386/dl.c: Likewise.
14517 * kern/i386/pc/init.c: Likewise.
14518 * kern/i386/pc/startup.S: Likewise.
14519 * kern/ieee1275/ieee1275.c: Likewise.
14520 * kern/ieee1275/init.c: Likewise.
14521 * kern/main.c: Likewise.
14522 * kern/mm.c: Likewise.
14523 * kern/powerpc/dl.c: Likewise.
14524 * kern/sparc64/dl.c: Likewise.
14525 * kern/x86_64/dl.c: Likewise.
14526 * lib/hexdump.c: Likewise.
14527 * loader/efi/appleloader.c: Likewise.
14528 * loader/i386/ieee1275/linux.c: Likewise.
14529 * loader/i386/pc/chainloader.c: Likewise.
14530 * loader/i386/pc/linux.c: Likewise.
14531 * loader/i386/pc/multiboot2.c: Likewise.
14532 * loader/ieee1275/multiboot2.c: Likewise.
14533 * loader/multiboot2.c: Likewise.
14534 * loader/multiboot_loader.c: Likewise.
14535 * loader/powerpc/ieee1275/linux.c: Likewise.
14536 * normal/completion.c: Likewise.
14537 * normal/menu_entry.c: Likewise.
14538 * partmap/apple.c: Likewise.
14539 * util/grub.d/10_hurd.in: Likewise.
14540 * util/hostfs.c: Likewise.
14541 * video/readers/png.c: Likewise.
14542
14543 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
14544
14545 * include/grub/misc.h (GNUC_PREREQ): New macro.
14546 (ATTRIBUTE_ERROR): New macro.
14547 * include/grub/list.h (grub_bad_type_cast_real): Use
14548 ATTRIBUTE_ERROR.
14549
14550 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14551
14552 * normal/menu_text.c (print_message): Change messages.
14553
14554 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14555
14556 * normal/menu_entry.c (store_completion): Gettextizze.
14557
14558 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14559
14560 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14561
14562 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14563
14564 * po/POTFILES: Sort correctly.
14565
14566 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14567
14568 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14569 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14570 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14571 full stop.
14572 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14573 summary. Gettextizze the strings.
14574 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14575 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14576 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14577 full stop.
14578 (GRUB_MOD_INIT): Remove command name from summary.
14579 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14580 summary.
14581 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14582 * term/i386/pc/serial.c (options): Add full stops.
14583 (GRUB_MOD_INIT): Remove command name from the summary.
14584
14585 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14586
14587 * commands/acpi.c: Gettextizze help strings and/or options. Include
14588 `grub/i18n.h' if needed.
14589 * commands/blocklist.c: Likewise.
14590 * commands/boot.c: Likewise.
14591 * commands/cat.c: Likewise.
14592 * commands/cmp.c: Likewise.
14593 * commands/configfile.c: Likewise.
14594 * commands/crc.c: Likewise.
14595 * commands/date.c: Likewise.
14596 * commands/echo.c: Likewise.
14597 * commands/efi/fixvideo.c: Likewise.
14598 * commands/efi/loadbios.c: Likewise.
14599 * commands/gptsync.c: Likewise.
14600 * commands/halt.c: Likewise.
14601 * commands/handler.c: Likewise.
14602 * commands/hdparm.c: Likewise.
14603 * commands/hexdump.c: Likewise.
14604 * commands/i386/cpuid.c: Likewise.
14605 * commands/i386/pc/drivemap.c: Likewise.
14606 * commands/i386/pc/halt.c: Likewise.
14607 * commands/i386/pc/pxecmd.c: Likewise.
14608 * commands/i386/pc/vbeinfo.c: Likewise.
14609 * commands/i386/pc/vbetest.c: Likewise.
14610 * commands/ieee1275/suspend.c: Likewise.
14611 * commands/keystatus.c: Likewise.
14612 * commands/loadenv.c: Likewise.
14613 * commands/ls.c: Likewise.
14614 * commands/lsmmap.c: Likewise.
14615 * commands/lspci.c: Likewise.
14616 * commands/memrw.c: Likewise.
14617 * commands/minicmd.c: Likewise.
14618 * commands/parttool.c: Likewise.
14619 * commands/password.c: Likewise.
14620 * commands/probe.c: Likewise.
14621 * commands/read.c: Likewise.
14622 * commands/reboot.c: Likewise.
14623 * commands/search.c: Likewise.
14624 * commands/sleep.c: Likewise.
14625 * commands/test.c: Likewise.
14626 * commands/true.c: Likewise.
14627 * commands/usbtest.c: Likewise.
14628 * commands/videotest.c: Likewise.
14629 * commands/xnu_uuid.c: Likewise.
14630 * disk/loopback.c: Likewise.
14631 * hello/hello.c: Likewise.
14632 * loader/i386/bsd.c: Likewise.
14633 * term/i386/pc/serial.c: Likewise.
14634 * po/POTFILES: Add new files.
14635
14636 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
14637
14638 * term/i386/pc/at_keyboard.c
14639 (keyboard_controller_wait_untill_ready): Rename to ...
14640 (keyboard_controller_wait_until_ready): ... this. Update all users.
14641
14642 2010-01-01 Carles Pina i Estany <carles@pina.cat>
14643
14644 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
14645 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
14646 string using string width.
14647 * normal/menu_text.c (grub_print_message_indented): Use
14648 grub_print_spaces and not print_spaces.
14649 (print_timeout): Likewise.
14650 (print_spaces): Move to...
14651 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
14652
14653 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
14654
14655 Import from Gnulib.
14656
14657 * gnulib/getdelim.c: New file.
14658 * gnulib/getline.c: Likewise.
14659
14660 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
14661
14662 * include/grub/list.h (grub_assert_fail): Removed.
14663 (grub_bad_type_cast_real): New function.
14664 (grub_bad_type_cast): New macro.
14665 (GRUB_AS_LIST): Use grub_bad_type_cast.
14666 (GRUB_AS_LIST_P): Likewise.
14667 (GRUB_AS_NAMED_LIST): Likewise.
14668 (GRUB_AS_NAMED_LIST_P): Likewise.
14669 (GRUB_AS_PRIO_LIST): Likewise.
14670 (GRUB_AS_PRIO_LIST_P): Likewise.
14671 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
14672
14673 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
14676 Fix syntax error.
14677
14678 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
14679
14680 * configure.ac: Check for TARGET_CFLAGS initialization before we
14681 initialize it ourselves (sigh).
14682 Move a few modifications to TARGET_CFLAGS to be unconditional
14683 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
14684 eh_frame)
14685
14686 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
14687 * term/i386/pc/at_keyboard.c
14688 (keyboard_controller_wait_untill_ready): Likewise.
14689 (keyboard_controller_led): Rename `led_status' paramter to avoid
14690 name conflict.
14691
14692 2009-12-28 Carles Pina i Estany <carles@pina.cat>
14693
14694 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
14695 quotes.
14696
14697 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
14700
14701 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * normal/menu_text.c (grub_print_message_indented): Prevent
14704 past-the-end-of-array dereference.
14705
14706 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
14709 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
14710
14711 2009-12-27 Carles Pina i Estany <carles@pina.cat>
14712
14713 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
14714 * normal/main.c (grub_normal_read_line): Remove a space from the
14715 default prompt.
14716
14717 2009-12-27 Carles Pina i Estany <carles@pina.cat>
14718
14719 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
14720 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14721 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14722 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14723 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14724 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14725 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14726
14727 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14728
14729 * video/readers/jpeg.c (cmd): Declare.
14730 (grub_cmd_jpegtest): Use `grub_command_t' type.
14731 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14732 Assign to `cmd'.
14733 (GRUB_MOD_FINI): Use `cmd' to unregister.
14734 * video/readers/png.c (cmd): Declare.
14735 (grub_cmd_pngtest): Use `grub_command_t' type.
14736 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14737 Assign to `cmd'.
14738 (GRUB_MOD_FINI): Use `cmd' to unregister.
14739 * video/readers/tga.c (cmd): Declare.
14740 (grub_cmd_tgatest): Use `grub_command_t' type.
14741 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14742 Assign to `cmd'.
14743 (GRUB_MOD_FINI): Use `cmd' to unregister.
14744
14745 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14746
14747 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
14748 stops.
14749 * kern/corecmd.c (grub_register_core_commands): Likewise.
14750 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
14751 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14752 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
14753 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14754 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14755 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
14756 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14757 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
14758 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14759 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14760 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14761 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14762 * normal/handler.c (insert_handler): Likewise.
14763 * normal/main.c (GRUB_MOD_INIT): Likewise.
14764 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14765
14766 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14767
14768 * commands/help.c (grub_cmd_help): Print the command name before the
14769 summary.
14770 (GRUB_MOD_INIT): Remove command name from the summary.
14771 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
14772 string as summary.
14773 * lib/arg.c (find_long): Print the command name before the summary.
14774 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
14775 summary.
14776 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
14777 * commands/cat.c (GRUB_MOD_INIT): Likewise.
14778 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
14779 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
14780 * commands/crc.c (GRUB_MOD_INIT): Likewise.
14781 * commands/date.c (GRUB_MOD_INIT): Likewise.
14782 * commands/echo.c (GRUB_MOD_INIT): Likewise.
14783 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
14784 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
14785 * commands/handler.c (GRUB_MOD_INIT): Likewise.
14786 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
14787 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
14788 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
14789 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
14790 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
14791 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
14792 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
14793 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
14794 * commands/ls.c (GRUB_MOD_INIT): Likewise.
14795 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
14796 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
14797 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
14798 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
14799 * commands/password.c (GRUB_MOD_INIT): Likewise.
14800 * commands/probe.c (GRUB_MOD_INIT): Likewise.
14801 * commands/read.c (GRUB_MOD_INIT): Likewise.
14802 * commands/search.c (GRUB_MOD_INIT): Likewise.
14803 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
14804 * commands/test.c (GRUB_MOD_INIT): Likewise.
14805 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
14806 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14807 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14808 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
14809 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14810 * lib/arg.c (GRUB_MOD_INIT): Likewise.
14811 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
14812 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14813 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14814 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14815 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14816 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
14817 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
14818 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
14819
14820 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 Use search command for preliminar UUID search.
14823
14824 * commands/search.c: Split into ...
14825 * commands/search_wrap.c: ...this
14826 * commands/search.c: ...and this.
14827 * commands/search_file.c: New file.
14828 * commands/search_label.c: New file.
14829 * commands/search_uuid.c: New file.
14830 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
14831 Add commands/search_wrap.c, commands/search_file.c,
14832 commands/search_label.c and commands/search_uuid.c.
14833 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
14834 (search_mod_SOURCES): Set to commands/search_wrap.c.
14835 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
14836 search_label.mod.
14837 (search_fs_file_mod_SOURCES): New variable.
14838 (search_fs_file_mod_CFLAGS): Likewise.
14839 (search_fs_file_mod_LDFLAGS): Likewise.
14840 (search_label_mod_SOURCES): Likewise.
14841 (search_label_mod_CFLAGS): Likewise.
14842 (search_label_mod_LDFLAGS): Likewise.
14843 (search_fs_uuid_mod_SOURCES): New variable.
14844 (search_fs_uuid_mod_CFLAGS): Likewise.
14845 (search_fs_uuid_mod_LDFLAGS): Likewise.
14846 (fs_file_mod_SOURCES): Removed.
14847 (fs_file_mod_CFLAGS): Likewise.
14848 (fs_file_mod_LDFLAGS): Likewise.
14849 (fs_uuid_mod_SOURCES): Removed.
14850 (fs_uuid_mod_CFLAGS): Likewise.
14851 (fs_uuid_mod_LDFLAGS): Likewise.
14852 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
14853 Set to util/grub-install.in.
14854 * disk/fs_file.c: Removed.
14855 * disk/fs_uuid.c: Likewise.
14856 * include/grub/search.h: New file.
14857 * util/grub-install.in: Handle sparc64.
14858 Create and use load.cfg.
14859 * util/sparc64/ieee1275/grub-install.in: Removed.
14860
14861 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
14864 Ignore return status if CF is cleared.
14865 (grub_biosdisk_get_diskinfo_standard): Likewise.
14866
14867 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14868
14869 * term/i386/pc/at_keyboard.c
14870 (keyboard_controller_wait_untill_ready): New function.
14871 (grub_keyboard_controller_write, grub_keyboard_controller_read)
14872 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
14873 for keyboard polling, rather than duplicate the same loop. This
14874 saves a few bytes in code size.
14875
14876 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 Support for (pxe[:server[:gateway]]) syntax and
14879 use environment variable for PXE.
14880
14881 * commands/i386/pc/pxecmd.c (options): Removed.
14882 (print_ip): Removed.
14883 (grub_cmd_pxe): Removed
14884 (grub_cmd_pxe_unload): New function.
14885 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
14886 (grub_pxe_your_ip): Made static.
14887 (grub_pxe_default_server_ip): Likewise.
14888 (grub_pxe_default_gateway_ip): Likewise.
14889 (grub_pxe_blksize): Likewise.
14890 (parse_ip): New function.
14891 (grub_pxe_open): Support server and gateway specification.
14892 (grub_pxe_close): Free disk->data.
14893 (grub_pxefs_open): Use disk->data.
14894 (grub_pxefs_read): Likewise.
14895 (grub_env_write_readonly): New function.
14896 (set_mac_env): Likewise.
14897 (set_env_limn_ro): Likewise.
14898 (parse_dhcp_vendor): Likewise.
14899 (grub_pxe_detect): Set the environment variables.
14900 (set_ip_env): New function.
14901 (write_ip_env): Likewise.
14902 (grub_env_write_pxe_default_server): Likewise.
14903 (grub_env_write_pxe_default_gateway): Likewise.
14904 (grub_env_write_pxe_blocksize): Likewise.
14905 (GRUB_MOD_INIT(pxe)): Set environment variables.
14906 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
14907 (grub_pxe_mac_addr_t): ... this. All users updated.
14908 (grub_pxe_your_ip): Removed.
14909 (grub_pxe_server_ip): Likewise.
14910 (grub_pxe_gateway_ip): Likewise.
14911 (grub_pxe_blksize): Likewise.
14912
14913 2009-12-25 Carles Pina i Estany <carles@pina.cat>
14914
14915 * commands/help.c: Include `<grub/i18n.h>'.
14916 (grub_cmd_help): Gettextizze.
14917 (GRUB_MOD_INIT): Likewise.
14918 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
14919 (GRUB_MOD_INIT): Gettextizze.
14920 * commands/search.c: Include `<grub/i18n.h>'.
14921 (options): Gettextizze.
14922 (GRUB_MOD_INIT): Gettextizze.
14923 * lib/arg.c: Include `<grub/i18n.h>'.
14924 (help_options): Gettextizze.
14925 (find_long): Likewise.
14926 (grub_arg_show_help): Likewise.
14927 * normal/dyncmd.c: Include `<grub/i18n.h>'.
14928 (read_command_list): Gettextizze.
14929 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
14930 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
14931
14932 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14933
14934 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
14935 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
14936 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
14937 (led_status): New variable.
14938 (keyboard_controller_led): New function.
14939 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
14940 update led status for caps lock, num lock and scroll lock.
14941
14942 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
14943
14944 * util/hostdisk.c (open_device): Fix a comment.
14945
14946 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14947
14948 * util/grub-install.in (host_os): New variable.
14949 * util/i386/efi/grub-install.in (host_os): Likewise.
14950
14951 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14952
14953 * util/mkisofs/write.c (padblock_write): Abort when given an
14954 excedingly large embed image, instead of silently truncating it.
14955
14956 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14957
14958 * include/multiboot.h: Indentation fixes.
14959
14960 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14961
14962 * include/multiboot.h (struct multiboot_aout_symbol_table)
14963 (struct multiboot_elf_section_header_table): New structure
14964 declarations (stolen from GRUB Legacy).
14965 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
14966 table information.
14967
14968 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
14969 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
14970 type aliases.
14971
14972 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14973
14974 * include/multiboot.h: Make comments src2texi-friendly.
14975
14976 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14977
14978 For consistency with [multiboot]/docs/boot.S.
14979
14980 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
14981 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
14982 (MULTIBOOT_MAGIC2): Rename from this ...
14983 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
14984
14985 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14986
14987 * include/multiboot.h: Remove `<grub/types.h>'.
14988 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
14989 types. Update all users.
14990
14991 2009-12-25 Carles Pina i Estany <carles@pina.cat>
14992
14993 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
14994 `couldn't' and `can not' by `cannot'.
14995 * commands/i386/pc/drivemap.c: Likewise.
14996 * disk/ata.c: Likewise.
14997 * disk/ieee1275/nand.c: Likewise.
14998 * fs/affs.c: Likewise.
14999 * fs/fat.c: Likewise.
15000 * fs/hfs.c: Likewise.
15001 * fs/hfsplus.c: Likewise.
15002 * fs/iso9660.c: Likewise.
15003 * fs/jfs.c: Likewise.
15004 * fs/minix.c: Likewise.
15005 * fs/reiserfs.c: Likewise.
15006 * fs/sfs.c: Likewise.
15007 * fs/udf.c: Likewise.
15008 * fs/ufs.c: Likewise.
15009 * fs/xfs.c: Likewise.
15010 * loader/powerpc/ieee1275/linux.c: Likewise.
15011 * loader/sparc64/ieee1275/linux.c: Likewise.
15012 * util/grub-probe.c: Likewise.
15013 * util/misc.c: Likewise.
15014
15015 2009-12-24 Carles Pina i Estany <carles@pina.cat>
15016
15017 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
15018 grub_errno calls.
15019 * commands/acpi.c: Likewise.
15020 * commands/blocklist.c: Likewise.
15021 * commands/efi/loadbios.c: Likewise.
15022 * commands/i386/pc/drivemap.c: Likewise.
15023 * commands/loadenv.c: Likewise.
15024 * commands/memrw.c: Likewise.
15025 * commands/password.c: Likewise.
15026 * commands/videotest.c: Likewise.
15027 * disk/ata.c: Likewise.
15028 * disk/ata_pthru.c: Likewise.
15029 * disk/dmraid_nvidia.c: Likewise.
15030 * disk/ieee1275/nand.c: Likewise.
15031 * disk/ieee1275/ofdisk.c: Likewise.
15032 * disk/loopback.c: Likewise.
15033 * disk/lvm.c: Likewise.
15034 * disk/mdraid_linux.c: Likewise.
15035 * disk/raid.c: Likewise.
15036 * disk/raid6_recover.c: Likewise.
15037 * disk/scsi.c: Likewise.
15038 * efiemu/main.c: Likewise.
15039 * efiemu/mm.c: Likewise.
15040 * efiemu/pnvram.c: Likewise.
15041 * efiemu/symbols.c: Likewise.
15042 * font/font.c: Likewise.
15043 * fs/cpio.c: Likewise.
15044 * fs/hfsplus.c: Likewise.
15045 * fs/iso9660.c: Likewise.
15046 * fs/jfs.c: Likewise.
15047 * fs/minix.c: Likewise.
15048 * fs/ntfs.c: Likewise.
15049 * fs/ntfscomp.c: Likewise.
15050 * fs/reiserfs.c: Likewise.
15051 * fs/ufs.c: Likewise.
15052 * fs/xfs.c: Likewise.
15053 * gettext/gettext.c: Likewise.
15054 * include/grub/auth.h: Likewise.
15055 * kern/elf.c: Likewise.
15056 * kern/file.c: Likewise.
15057 * kern/ieee1275/init.c: Likewise.
15058 * kern/ieee1275/mmap.c: Likewise.
15059 * kern/ieee1275/openfw.c: Likewise.
15060 * kern/powerpc/dl.c: Likewise.
15061 * kern/sparc64/dl.c: Likewise.
15062 * lib/arg.c: Likewise.
15063 * loader/i386/bsd.c: Likewise.
15064 * loader/i386/bsdXX.c: Likewise.
15065 * loader/i386/efi/linux.c: Likewise.
15066 * loader/i386/efi/xnu.c: Likewise.
15067 * loader/i386/ieee1275/linux.c: Likewise.
15068 * loader/i386/linux.c: Likewise.
15069 * loader/i386/multiboot.c: Likewise.
15070 * loader/i386/pc/linux.c: Likewise.
15071 * loader/i386/pc/multiboot2.c: Likewise.
15072 * loader/i386/xnu.c: Likewise.
15073 * loader/ieee1275/multiboot2.c: Likewise.
15074 * loader/macho.c: Likewise.
15075 * loader/machoXX.c: Likewise.
15076 * loader/multiboot2.c: Likewise.
15077 * loader/multiboot_loader.c: Likewise.
15078 * loader/powerpc/ieee1275/linux.c: Likewise.
15079 * loader/sparc64/ieee1275/linux.c: Likewise.
15080 * loader/xnu.c: Likewise.
15081 * loader/xnu_resume.c: Likewise.
15082 * mmap/i386/pc/mmap.c: Likewise.
15083 * normal/menu_viewer.c: Likewise.
15084 * partmap/acorn.c: Likewise.
15085 * partmap/amiga.c: Likewise.
15086 * partmap/apple.c: Likewise.
15087 * script/lexer.c: Likewise.
15088 * term/gfxterm.c: Likewise.
15089 * term/i386/pc/serial.c: Likewise.
15090 * term/i386/pc/vga.c: Likewise.
15091 * term/ieee1275/ofconsole.c: Likewise.
15092 * term/terminfo.c: Likewise.
15093 * video/bitmap.c: Likewise.
15094 * video/efi_gop.c: Likewise.
15095 * video/efi_uga.c: Likewise.
15096 * video/fb/video_fb.c: Likewise.
15097 * video/i386/pc/vbe.c: Likewise.
15098 * video/readers/tga.c: Likewise.
15099 * video/video.c: Likewise.
15100
15101 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
15102
15103 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
15104 * commands/lspci.c: Likewise.
15105 * commands/probe.c: Likewise.
15106 * commands/xnu_uuid.c: Likewise.
15107 * conf/i386-coreboot.rmk: Likewise.
15108 * conf/i386-efi.rmk: Likewise.
15109 * conf/i386-ieee1275.rmk: Likewise.
15110 * conf/i386-pc.rmk: Likewise.
15111 * conf/powerpc-ieee1275.rmk: Likewise.
15112 * conf/sparc64-ieee1275.rmk: Likewise.
15113 * conf/x86_64-efi.rmk: Likewise.
15114 * fs/i386/pc/pxe.c: Likewise.
15115 * gettext/gettext.c: Likewise.
15116 * include/grub/efi/graphics_output.h: Likewise.
15117 * include/grub/i386/pc/memory.h: Likewise.
15118 * kern/env.c: Likewise.
15119 * kern/i386/qemu/startup.S: Likewise.
15120 * lib/i386/pc/biosnum.c: Likewise.
15121 * lib/i386/relocator.c: Likewise.
15122 * lib/i386/relocator_asm.S: Likewise.
15123 * lib/relocator.c: Likewise.
15124 * loader/i386/bsd.c: Likewise.
15125 * loader/i386/multiboot.c: Likewise.
15126 * loader/i386/pc/chainloader.c: Likewise.
15127 * loader/i386/xnu.c: Likewise.
15128 * loader/xnu.c: Likewise.
15129 * normal/main.c: Likewise.
15130 * normal/menu_text.c: Likewise.
15131 * util/getroot.c: Likewise.
15132 * util/grub-mkconfig_lib.in: Likewise.
15133 * util/grub.d/00_header.in: Likewise.
15134 * util/i386/pc/grub-mkimage.c: Likewise.
15135 * util/mkisofs/eltorito.c: Likewise.
15136 * util/mkisofs/exclude.h: Likewise.
15137 * util/mkisofs/hash.c: Likewise.
15138 * util/mkisofs/iso9660.h: Likewise.
15139 * util/mkisofs/joliet.c: Likewise.
15140 * util/mkisofs/mkisofs.c: Likewise.
15141 * util/mkisofs/mkisofs.h: Likewise.
15142 * util/mkisofs/multi.c: Likewise.
15143 * util/mkisofs/name.c: Likewise.
15144 * util/mkisofs/rock.c: Likewise.
15145 * util/mkisofs/tree.c: Likewise.
15146 * util/mkisofs/write.c: Likewise.
15147 * video/efi_gop.c: Likewise.
15148
15149 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
15152 size counting.
15153
15154 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15155
15156 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
15157 * genmk.rb (class SCRIPT): Modify the target file instead of source.
15158
15159 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
15162 (GRUB_MOD_INIT(memrw)): Update help line.
15163
15164 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
15167 Use grub_extcmd_t. All users updated.
15168 (options): New variable.
15169 (grub_cmd_read): Restructure for readability. Support "-v" option.
15170 (grub_cmd_write): Restructure for readability.
15171
15172 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15173
15174 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
15175
15176 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15177
15178 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
15179 with the actual contents of the correspondending make variable.
15180 * util/grub-mkrescue.in (pkglib_DATA): New variable.
15181 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
15182 specifying `*.lst' and `efiemu??.o'
15183
15184 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15185
15186 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
15187 after function name.
15188 Noticed by Rene Engelhard <rene@debian.org>.
15189
15190 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15191
15192 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
15193 (options): New variable.
15194 (iospace): Likewise.
15195 (grub_lspci_iter): List IO spaces if "-i" was given.
15196 (grub_cmd_lspci): Parse options.
15197 (GRUB_MOD_INIT(lspci)): Use extcmd.
15198 (GRUB_MOD_FINI(lspci)): Likewise.
15199
15200 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15201
15202 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
15203 `function' keyword.
15204 Patch by Tony Mancill <tmancill@debian.org>.
15205
15206 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
15209 (grub_uhci_portstatus): Likewise.
15210 (grub_uhci_portstatus): Add necessary delay.
15211 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
15212
15213 2009-12-21 Carles Pina i Estany <carles@pina.cat>
15214
15215 * commands/acpi.c (options): Fix capitalizations and/or full stops.
15216 (GRUB_MOD_INIT): Likewise.
15217 * commands/boot.c (GRUB_MOD_INIT): Likewise.
15218 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
15219 * commands/echo.c (options): Fix capitalizations and/or full stops.
15220 * commands/efi/loadbios.c (enable_rom_area): Likewise.
15221 (enable_rom_area): Likewise.
15222 (GRUB_MOD_INIT): Likewise.
15223 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15224 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
15225 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15226 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
15227 * commands/hexdump.c (options): Likewise.
15228 * commands/i386/cpuid.c (options): Likewise.
15229 (GRUB_MOD_INIT): Likewise.
15230 * commands/i386/pc/drivemap.c (options): Likewise.
15231 (GRUB_MOD_INIT): Likewise.
15232 * commands/i386/pc/halt (options): Likewise.
15233 (GRUB_MOD_INIT): Likewise.
15234 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15235 * commands/i386/pc/pxecmd.c (options): Likewise.
15236 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
15237 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
15238 * commands/keystatus.c (options): Likewise.
15239 (GRUB_MOD_INIT): Likewise.
15240 * commands/loadenv.c (options): Likewise.
15241 * commands/ls.c (options): Likewise.
15242 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15243 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15244 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15245 * commands/parttool.c (helpmsg): Likewise.
15246 * commands/probe.c (options): Likewise.
15247 * commands/read.c (GRUB_MOD_INIT): Likewise.
15248 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
15249 * commands/search.c (options): Likewise.
15250 * commands/sleep.c (options): Likewise.
15251 * commands/test.c (GRUB_MOD_INIT): Likewise.
15252 * commands/true.c (GRUB_MOD_INIT): Likewise.
15253 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
15254 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
15255 * lib/arg.c (help_options): Likewise.
15256 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
15257 `$(XGETTEXT)'.
15258 * po/POTFILES: Add `commands/loadenv.c'.
15259
15260 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
15261
15262 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
15263 instead of specifying them explicit.
15264
15265 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15266
15267 * NEWS: Add grub-probe support for GNU/Hurd.
15268
15269 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15270
15271 * NEWS: gettext was added after 1.97.
15272
15273 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15274
15275 * util/mkisofs/msdos_partition.h: New file (based on
15276 include/grub/msdos_partition.h).
15277 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
15278 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
15279 (ld_options, main): Recognize --protective-msdos-label.
15280 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
15281 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
15282 (padblock_write): If `use_protective_msdos_label' is set, patch a
15283 protective DOS-style label in the output image.
15284
15285 * util/grub-mkrescue.in: Use --protective-msdos-label.
15286
15287 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15288
15289 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
15290 boot.
15291
15292 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15293
15294 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
15295 variables.
15296 (ld_options, main): Recognize `--embedded-boot'.
15297 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
15298 declarations.
15299 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
15300 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
15301 (padblock_write): Likewise. Rewrite to support embedded boot image.
15302
15303 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
15304 for BIOS-based disk boot instead of only ElTorito.
15305
15306 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15307
15308 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
15309 build (not needed for bootstrap).
15310
15311 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15312
15313 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
15314 from i386-pc build (not needed for bootstrap).
15315 Rewrite a pair of strings.
15316
15317 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15318
15319 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
15320
15321 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
15322
15323 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
15324
15325 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15326
15327 * kern/env.c (grub_env_context_open): Mark exported variable for
15328 reexport.
15329
15330 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15331
15332 * kern/env.c (grub_env_export): Create nonexistent variables before
15333 exporting.
15334
15335 2009-12-20 Carles Pina i Estany <carles@pina.cat>
15336
15337 * include/grub/auth.h: Include `<grub/i18n.h>'.
15338 (GRUB_GET_PASSWORD): Gettextizze string.
15339 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
15340 menu_text.c.
15341 (grub_utf8_to_ucs4_alloc): Fix indentation.
15342 (grub_print_ucs4): Likewise.
15343 (grub_getstringwidth): Likewise.
15344 (print_message_indented): New declaration.
15345 * normal/auth.c: Include `<grub/i18n.h>'.
15346 (grub_auth_check_authentication): Gettexttize string.
15347 * normal/cmdline.c: Include `<grub/i18n.h>'.
15348 (grub_cmdline_get): Gettextizze.
15349 * normal/color.c: Include `<grub/i18n.h>'.
15350 (grub_parse_color_name_pair): Gettexttize strings.
15351 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
15352 string (use `print_message_indented').
15353 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15354 `include/grub/normal.h'.
15355 (print_message_indented): Renamed to ...
15356 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15357 used in normal/main.c).
15358 (print_message): Use `grub_print_message_indented' instead of
15359 `print_message_indented'.
15360 (print_timeout): Likewise.
15361 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15362 (grub_normal_print_device_info): Gettexttize strings.
15363 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15364
15365 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15368 of arguments. Return number of tokens and not arguments. All users
15369 updated.
15370
15371 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15374 non-MSDOS paritions.
15375
15376 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * include/grub/types.h (UNUSED): Removed since it conflicts with
15379 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15380 Reported by Grégoire Sutre.
15381
15382 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15383
15384 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15385 (grub_print_ucs4_alloc): Likewise.
15386 (grub_getstringwidth): Likewise.
15387 * normal/main.c (grub_normal_init_page): Gettextize version string.
15388 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15389 (getstringwidth): Renamed to ...
15390 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15391 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15392 (grub_print_ucs4): Remove `static' qualifer (now used in
15393 normal/main.c).
15394 * po/POTFILES: Add normal/main.c.
15395
15396 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15397
15398 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15399 (print_message_indented): Add `margin_left' and `margin_right'
15400 parameters.
15401 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15402 strings.
15403 (print_timeout): Use `print_message_indented' to print the message.
15404 Deletes `second_stage' parameter.
15405 (run_menu): Update `print_timeout' calls.
15406
15407 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 Fix console palette on OpenFirmware.
15410
15411 * term/ieee1275/ofconsole.c (MAX): Removed.
15412 (colors): Redone based on VGA palette.
15413 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15414 colors are supported.
15415 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15416
15417 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 Fix potential EfiEmu double prepare.
15420
15421 * efiemu/main.c (prepared): New variable
15422 (grub_efiemu_unload): Set prepare to '0'.
15423 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15424
15425 set_virtual_address_map support.
15426
15427 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15428 prototype.
15429 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15430 prototype.
15431 (grub_efiemu_crc32): Likewise.
15432 (grub_efiemu_crc64): Likewise.
15433 (grub_efiemu_set_virtual_address_map): Likewise.
15434 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15435 New definition.
15436 (grub_autoefi_set_virtual_address_map): Likewise.
15437 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15438 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15439 Restructure flow to accomodate it.
15440 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15441 (grub_efiemu_crc): Recompute CRC32.
15442 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15443 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15444 * efiemu/symbols.c (relocated_handle): New variable.
15445 (grub_efiemu_free_syms): Free relocated_handle.
15446 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15447 (grub_efiemu_write_sym_markers): New function.
15448 (grub_efiemu_set_virtual_address_map): Likewise.
15449
15450 Newer XNU parameters.
15451
15452 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15453 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15454 (grub_xnu_fill_devicetree): New prototype.
15455 (grub_xnu_heap_real_start): New variable.
15456 * loader/xnu.c (get_name_ptr): New function.
15457 (grub_xnu_load_driver): Fill namelen and name.
15458
15459 64-bit xnu support.
15460
15461 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15462 and 'loader/macho64.c'.
15463 * conf/i386-pc.rmk: Likewise.
15464 * conf/x86_64-efi.rmk: Likewise.
15465 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15466 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15467 * include/grub/macho.h (grub_macho_segment64): New structure.
15468 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15469 (grub_macho_size32): ... to this.
15470 (grub_macho32_get_entry_point): Renamed from ...
15471 (grub_macho_get_entry_point32): ... to this.
15472 (grub_macho_contains_macho64): New prototype.
15473 (grub_macho_size64): Likewise.
15474 (grub_macho_get_entry_point64): Likewise.
15475 (grub_macho32_load): Renamed from ...
15476 (grub_macho_load32): ... to this.
15477 (grub_macho32_filesize): Renamed from ...
15478 (grub_macho_filesize32): ... to this.
15479 (grub_macho32_readfile): Renamed from ...
15480 (grub_macho_readfile32): ... to this.
15481 (grub_macho_filesize64): New prototype.
15482 (grub_macho_readfile64): Likewise.
15483 (grub_macho_parse32): Likewise.
15484 (grub_macho_parse64): Likewise.
15485 * loader/macho.c: Split into ...
15486 * loader/machoXX.c: ... and this. Replace 32 with XX.
15487 * loader/macho32.c: New file.
15488 * loader/macho64.c: Likewise.
15489 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15490 (grub_cmd_xnu_kernel): Make 32-bit only.
15491 (grub_cmd_xnu_kernel64): New function.
15492 (grub_xnu_load_driver): Support Mach-O 64.
15493 (grub_cmd_xnu_mkext): Likewise.
15494 * util/grub.d/30_os-prober.in (osx_entry): New function.
15495 Generate entries for 64-bit boot too.
15496
15497 Eliminate ad-hoc tree format in XNU and EfiEmu.
15498
15499 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15500 * efiemu/pnvram.c: Rewritten to use environment variables.
15501 All users updated.
15502
15503 Inline utf16_to_utf8.
15504
15505 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15506 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15507 All users updated.
15508 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15509
15510 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15511 * commands/usbtest.c (grub_usb_get_string): ... move here.
15512 (usb_print_str): Fix error handling.
15513 * include/grub/usb.h (grub_usb_get_string): Remove.
15514
15515 UTF-8 to UTF-16 transformation.
15516
15517 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15518 (charset_mod_SOURCES): New variable.
15519 (charset_mod_CFLAGS): Likewise.
15520 (charset_mod_LDFLAGS): Likewise.
15521 * include/grub/utf.h: New file.
15522 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15523
15524 Support for device properties.
15525
15526 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15527 (grub_xnu_devprop_device_header): Likewise.
15528 (grub_xnu_devprop_device_descriptor): Likewise.
15529 (grub_xnu_devprop_add_device): New prototype.
15530 (grub_xnu_devprop_remove_device): Likewise.
15531 (grub_xnu_devprop_remove_property): Likewise.
15532 (grub_xnu_devprop_add_property_utf8): Likewise.
15533 (grub_xnu_devprop_add_property_utf16): Likewise.
15534 (grub_cpu_xnu_init): Likewise.
15535 (grub_cpu_xnu_fini): Likewise.
15536 (grub_cpu_xnu_unload): Likewise.
15537 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15538 (property_descriptor): Likewise.
15539 (devices): New variable.
15540 (grub_xnu_devprop_remove_property): New function.
15541 (grub_xnu_devprop_add_device): Likewise.
15542 (grub_xnu_devprop_remove_device): Likewise.
15543 (grub_xnu_devprop_add_property): Likewise.
15544 (grub_xnu_devprop_add_property_utf8): Likewise.
15545 (grub_xnu_devprop_add_property_utf16): Likewise.
15546 (hextoval): Likewise.
15547 (grub_cpu_xnu_fill_devprop): Likewise.
15548 (grub_cmd_devprop_load): Likewise.
15549 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15550 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15551 (cmd_devprop_load): New variable.
15552 (grub_cpu_xnu_init): New function.
15553 (grub_cpu_xnu_fini): Likewise.
15554 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15555 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15556 (grub_cmd_xnu_devtree): Likewise.
15557 (hextoval): New function.
15558 (unescape): Likewise.
15559 (grub_xnu_fill_devicetree): Likewise.
15560
15561 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15562 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15563
15564 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 Workaround for broken ATI VBE.
15567
15568 * video/i386/pc/vbe.c (last_set_mode): New variable.
15569 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15570 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15571 (grub_video_vbe_setup): Don't check for reserved flag.
15572
15573 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
15574
15575 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15576 the `find' command.
15577
15578 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 UUID support for HFS.
15581
15582 * fs/hfs.c (grub_hfs_uuid): New function.
15583 (grub_hfs_fs): New value .uuid.
15584 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15585
15586 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
15587
15588 Fix a segfault with parsing unknown long options.
15589
15590 * util/grub-mkrelpath.c (options): Zero terminate it.
15591
15592 2009-12-13 Carles Pina i Estany <carles@pina.cat>
15593
15594 * include/grub/misc.h (grub_puts): New declaration.
15595 (grub_puts_): Likewise.
15596 * kern/misc.c (grub_puts): New definition.
15597 (grub_puts_): Likewise.
15598
15599 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15600
15601 * util/grub-probe.c (probe): Improve error message.
15602
15603 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15604
15605 * loader/i386/multiboot_elfxx.c
15606 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15607 initialization.
15608
15609 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 Relocator framework
15612
15613 * loader/i386/xnu_helper.S: Removed. All users updated.
15614 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15615 (relocator_mod_SOURCES): New variable.
15616 (relocator_mod_CFLAGS): Likewise.
15617 (relocator_mod_LDFLAGS): Likewise.
15618 (relocator_mod_ASFLAGS): Likewise.
15619 * conf/x86_64.rmk: Likewise.
15620 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
15621 (grub_multiboot_payload_entry_offset): Likewise.
15622 (grub_multiboot_forward_relocator): Likewise.
15623 (grub_multiboot_forward_relocator_end): Likewise.
15624 (grub_multiboot_backward_relocator): Likewise.
15625 (grub_multiboot_backward_relocator_end): Likewise.
15626 (grub_multiboot_payload_eip): New variable.
15627 (grub_multiboot_payload_orig): Likewise.
15628 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
15629 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
15630 * include/grub/i386/memory.h
15631 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
15632 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
15633 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
15634 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
15635 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
15636 * include/grub/i386/relocator.h: New file.
15637 * include/grub/x86_64/relocator.h: Likewise.
15638 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
15639 (XNU_RELOCATOR): New macro.
15640 (grub_xnu_launcher_start): Remove.
15641 (grub_xnu_launcher_end): Likewise.
15642 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
15643 (grub_xnu_heap_real_start): Remove.
15644 (grub_xnu_heap_start): Change to void *. All users updated.
15645 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
15646 * lib/i386/relocator.c: New file.
15647 * lib/i386/relocator_asm.S: Likewise.
15648 * lib/i386/relocator_backward.S: Likewise.
15649 * lib/mips/relocator.c: Likewise.
15650 * lib/mips/relocator_asm.S: Likewise.
15651 * lib/relocator.c: Likewise.
15652 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
15653 (entry): Removed.
15654 (playground): Likewise.
15655 (grub_multiboot_payload_orig): New variable.
15656 (grub_multiboot_payload_dest): Likewise.
15657 (grub_multiboot_payload_size): Likewise.
15658 (grub_multiboot_payload_eip): Likewise.
15659 (grub_multiboot_payload_esp): Likewise.
15660 (grub_multiboot_boot): Use grub_relocator32_boot.
15661 (grub_multiboot_unload): Free relocators.
15662 (grub_multiboot): Setup stack. Use relocators.
15663 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
15664 (grub_multiboot_load_elfXX): Use relocators.
15665 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
15666 (grub_multiboot_payload_size): Likewise.
15667 (grub_multiboot_payload_dest): Likewise.
15668 (grub_multiboot_payload_entry_offset): Likewise.
15669 (grub_multiboot_forward_relocator): Likewise.
15670 (grub_multiboot_backward_relocator): Likewise.
15671 (grub_multiboot_real_boot): Likewise.
15672 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
15673 (grub_xnu_entry_point): Likewise.
15674 (grub_xnu_arg1): Likewise.
15675 (grub_xnu_stack): Likewise.
15676 (grub_xnu_launch): Removed.
15677 (grub_xnu_boot_resume): New function.
15678 (grub_xnu_boot): Use relocators.
15679 * loader/i386/xnu_helper.S: Removed.
15680 * loader/xnu.c (grub_xnu_heap_start): New variable.
15681 (grub_xnu_heap_size): Likewise.
15682 (grub_xnu_heap_malloc): Use relocators.
15683 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
15684
15685 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
15688 anything.
15689
15690 2009-12-13 Carles Pina i Estany <carles@pina.cat>
15691
15692 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
15693 GRUB_ERR_NONE before calling grub_env_set.
15694
15695 2009-12-12 Robert Millan <rmh@aybabtu.com>
15696
15697 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
15698 * genmk.rb (video): New variable.
15699 (CLEANFILES, VIDEOFILES): Add #{video}.
15700 (#{video}): New target rule.
15701 * genvideolist.sh: New file.
15702 * Makefile.in (pkglib_DATA): Add video.lst.
15703 (video.lst): New target rule.
15704 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
15705 `video.lst'.
15706 * util/grub.d/30_os-prober.in: Replace `vbe' with
15707 ${GRUB_VIDEO_BACKEND}.
15708
15709 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
15710
15711 * THANKS: Add David Miller.
15712
15713 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 libpciaccess support.
15716
15717 * Makefile.in (LIBPCIACCESS): New variable.
15718 (enable_grub_emu_pci): Likewise.
15719 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
15720 util/pci.c and commands/lspci.c.
15721 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
15722 * configure.ac (grub-emu-pci): New option.
15723 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
15724 (grub_pci_device_unmap_range): Likewise.
15725 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
15726 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
15727 (grub_pci_address_t) [!GRUB_UTIL]: New type.
15728 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
15729 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
15730 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
15731 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
15732 * include/grub/pciutils.h: New file.
15733 * util/pci.c: Likewise.
15734
15735 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
15736
15737 * util/misc.c: Don't include <errno.h> twice.
15738
15739 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
15740
15741 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
15742 name in an error message.
15743 (grub_biosdisk_rw): Likewise.
15744
15745 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 Eliminate NTFS 4Gib barrier.
15748
15749 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
15750 (read_run_data): Likewise.
15751 (grub_ntfs_read_run_list): Likewise.
15752 (grub_ntfs_read_block): Likewise.
15753 (grub_ntfs_iterate_dir): Likewise.
15754 (read_mft): Likewise.
15755 (read_data): Likewise.
15756 Use COM_LOG_LEN.
15757 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
15758 to avoid 64-bit division
15759 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
15760 (grub_ntfs_rlst): Use grub_disk_addr_t.
15761
15762 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 Eliminate grub-fstest 4Gib barrier.
15765
15766 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
15767 (read_file): Fix error reporting.
15768
15769 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 Eliminate hexdump 4Gib barrier.
15772
15773 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
15774 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
15775
15776 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
15779 Fixes amarsh bug.
15780
15781 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
15782
15783 Remove miscellaneous files in distclean target.
15784
15785 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
15786
15787 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
15788
15789 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
15790 if they're already set. This resolves the conflict between my
15791 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
15792 fixing the --grub-probe option again.
15793 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
15794 change on 2009-10-06, so that we now once again source
15795 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
15796
15797 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
15798
15799 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
15800 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
15801 `util/devicemap.c'.
15802
15803 2009-12-08 Carles Pina i Estany <carles@pina.cat>
15804
15805 * include/grub/misc.h (grub_printf_): New declaration.
15806 * kern/misc.c (grub_printf_): New definition.
15807 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
15808 instead of `grub_printf' and `_'.
15809 * normal/menu_entry.c (store_completion): Likewise.
15810 (run): Likewise.
15811 (grub_menu_entry_run): Likewise.
15812 * normal/menu_text.c (grub_wait_after_message): Likewise.
15813 (notify_booting): Likewise.
15814 (notify_fallback): Likewise.
15815 (notify_execution_failure): Likewise.
15816
15817 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
15818
15819 * configure.ac: Check for vasprintf.
15820 * util/misc.c (asprintf): Move allocation from here ...
15821 (vasprintf): ... to here. New function.
15822 (xasprintf): New function.
15823 * include/grub/util/misc.h (vasprintf, xasprintf): Add
15824 prototypes.
15825 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15826 * util/grub-mkfont.c (write_font): Likewise.
15827 * util/grub-probe.c (probe): Likewise.
15828 * util/hostdisk.c (make_device_name): Likewise.
15829
15830 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
15831
15832 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
15833 anything even prefixed with 'cdrom' as a cdrom.
15834
15835 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
15836
15837 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
15838 mount points.
15839
15840 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15841
15842 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
15843 grub_gettext_msg_list.
15844 (grub_gettext_gettranslation_from_position): Return const char *
15845 and not char *.
15846 (grub_gettext_translate): Add the translated strings into a list,
15847 returns from the list if existing there.
15848 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
15849 (grub_gettext_delete_list): Delete the list.
15850 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
15851 lang environment variable is changed.
15852 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
15853
15854 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 Rename kernel.mod to kernel.img.
15857
15858 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
15859 (kernel_mod_EXPORTS): Rename to ...
15860 (kernel_img_EXPORTS): ... this.
15861 (kernel_mod_SOURCES): Rename to ...
15862 (kernel_img_SOURCES): ... this.
15863 (kernel_mod_HEADERS): Rename to ...
15864 (kernel_img_HEADERS): ... this. All users updated.
15865 (kernel_mod_CFLAGS): Rename to ...
15866 (kernel_img_CFLAGS): ... this.
15867 (kernel_mod_ASFLAGS): Rename to ...
15868 (kernel_img_ASFLAGS): ... this.
15869 (kernel_mod_LDFLAGS): Rename to ...
15870 (kernel_img_LDFLAGS): ... this.
15871 * conf/x86_64-efi.rmk: Likewise.
15872 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
15873 (read_kernel_image): ... this. All users updated.
15874 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
15875
15876 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15877
15878 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
15879 (print_spaces): New function.
15880 (grub_print_ucs4): New function.
15881 (getstringwidth): New function.
15882 (print_message_indented): New function.
15883 (print_message): Gettexttize strings using print_message_indented.
15884 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
15885 width.
15886 (get_entry_number): Gettextize and uses dynamic terminal width.
15887 (notify_booting, notify_fallback, notify_execution_failure):
15888 Gettextize.
15889 * normal/menu_entry.c (store_completion): Cleanup the gettextized
15890 string.
15891 (run): Likewise.
15892 (grub_menu_entry_run): Likewise.
15893 * PO/POTFILES: Add normal/menu_entry.c.
15894
15895 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
15898
15899 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15900
15901 * util/grub-install.in: Install gettext .mo files.
15902 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
15903
15904 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15905
15906 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
15907 grub_dprintf.
15908
15909 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
15910
15911 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
15912 non-firmware-dependant one in realmode.S takes precedence.
15913
15914 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
15915
15916 * commands/halt.c: Replace misc arch-specific headers with
15917 `<grub/misc.h>'.
15918 * commands/reboot.c: Likewise.
15919 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
15920 `<grub/misc.h>'.
15921 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
15922 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
15923 (kernel_img_SOURCES): ... to here.
15924
15925 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
15926 * include/grub/i386/pc/init.h: Likewise.
15927 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15928 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15929
15930 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
15931
15932 * include/grub/i386/halt.h: Remove.
15933 * include/grub/i386/reboot.h: Likewise.
15934
15935 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
15936
15937 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
15938
15939 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
15940 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
15941 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
15942 "progname.h"
15943 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
15944 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15945 (usage): Add missing comma in printf.
15946
15947 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
15948
15949 Use the same reboot approach on i386 coreboot and qemu as we do on
15950 BIOS.
15951
15952 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
15953 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
15954 * kern/i386/reboot.c: Remove.
15955 * include/grub/i386/reboot.h (grub_reboot): Export function.
15956 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
15957 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
15958 0xf000:0xfff0 instead of 0xffff:0x0000.
15959 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
15960 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
15961
15962 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
15963
15964 Fix $srcdir != $objdir build.
15965
15966 * Makefile.in (po/%.po): Rewrite as ...
15967 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
15968
15969 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
15970
15971 Fix GNU/Hurd grub-install crash.
15972 * util/grub-probe.c (probe): Try to access `path' only when it is not
15973 NULL.
15974
15975 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 Correct module naming.
15978
15979 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15980 (GRUB_MOD_INIT(efi_uga)): ... to this
15981 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
15982 (GRUB_MOD_FINI(efi_uga)): ... to this
15983 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15984 (GRUB_MOD_INIT(efi_gop)): ... to this
15985 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
15986 (GRUB_MOD_FINI(efi_gop)): ... to this
15987
15988 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
15989
15990 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
15991 translatable.
15992 (usage): Translate `arg' strings using gettext().
15993 Thanks to Jordi Mallach for the suggestion.
15994
15995 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 GOP support. Based on patch from Bean
15998 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
15999
16000 * video/efi_gop.c: New file.
16001 * include/grub/efi/graphics_output.h: Likewise.
16002 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
16003 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16004 variables.
16005 * conf/x86_64-efi.rmk: Likewise.
16006
16007 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 Rename efi_fb to efi_uga.
16010
16011 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16012 'efi_uga.mod'.
16013 (efi_fb_mod_SOURCES): Rename this ...
16014 (efi_uga_mod_SOURCES): ... to this.
16015 (efi_fb_mod_CFLAGS): Rename this ...
16016 (efi_uga_mod_CFLAGS): ... to this.
16017 (efi_fb_mod_LDFLAGS): Rename this ...
16018 (efi_uga_mod_LDFLAGS): ... to this.
16019 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16020 'efi_uga.mod'.
16021 (efi_fb_mod_SOURCES): Rename this ...
16022 (efi_uga_mod_SOURCES): ... to this.
16023 (efi_fb_mod_CFLAGS): Rename this ...
16024 (efi_uga_mod_CFLAGS): ... to this.
16025 (efi_fb_mod_LDFLAGS): Rename this ...
16026 (efi_uga_mod_LDFLAGS): ... to this.
16027 * video/efi_fb.c: Move this ...
16028 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
16029
16030 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16031
16032 * po/README: New file. Explain our PO file workflow.
16033
16034 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16035
16036 * po/ChangeLog: Remove. Move relevant entries back to ...
16037 * ChangeLog: ... here.
16038 * po/ca.po: Remove (now handled by TLP).
16039 * po/id.po: Likewise.
16040 * po/zh_CN.po: Likewise.
16041 * Makefile.in (LINGUAS): Initialize in a way that supports
16042 empty set.
16043
16044 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16045
16046 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
16047 reliing on po/LINGUAS.
16048 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
16049 (po/%.po): ... this.
16050
16051 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16052
16053 * util/i386/efi/grub-mkimage.c: Include "progname.h".
16054 (main): Use `program_name' instead of nonexistent `progname'.
16055
16056 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16057
16058 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16059 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
16060
16061 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16062
16063 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
16064 commit.
16065 * conf/i386-efi.rmk: Likewise.
16066 * conf/i386-ieee1275.rmk: Likewise.
16067 * conf/powerpc-ieee1275.rmk: Likewise.
16068 * conf/sparc64-ieee1275.rmk: Likewise.
16069 * conf/x86_64-efi.rmk: Likewise.
16070
16071 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16072
16073 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
16074
16075 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16076
16077 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
16078
16079 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16080
16081 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
16082 (grub_mkdevicemap_SOURCES): New variable.
16083 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
16084 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
16085 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
16086 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
16087 (grub_mkdevicemap_SOURCES): Remove.
16088 * conf/i386-efi.rmk: Likewise.
16089 * conf/i386-ieee1275.rmk: Likewise.
16090 * conf/i386-pc.rmk: Likewise.
16091 * conf/powerpc-ieee1275.rmk: Likewise.
16092 * conf/sparc64-ieee1275.rmk: Likewise.
16093 * conf/x86_64-efi.rmk: Likewise.
16094 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
16095 (usage): Fix strings to use `program_name'.
16096 (main): Initialize gettext.
16097 * util/grub-editenv.c: Likewise.
16098 * util/grub-emu.c: Likewise.
16099 * util/grub-fstest.c: Likewise.
16100 * util/grub-mkdevicemap.c: Likewise.
16101 * util/grub-mkfont.c: Likewise.
16102 * util/grub-mkrelpath.c: Likewise.
16103 * util/grub-pe2elf.c: Likewise.
16104 * util/grub-probe.c: Likewise.
16105 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16106 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16107 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16108
16109 * util/misc.c: Include `"progname.h"'.
16110 (progname): Remove variable.
16111 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
16112
16113 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16114
16115 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
16116 printf and print a newline after the menuentry header line.
16117 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16118
16119 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16120
16121 autoconf >= 2.60 support $(localedir).
16122
16123 * INSTALL: Note that autoconf 2.60 is required.
16124 * configure.ac (AC_PREREQ): Bump to 2.60.
16125 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
16126 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16127
16128 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
16129
16130 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
16131 aclocal is run.
16132
16133 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16134
16135 * normal/main.c (grub_normal_read_line): Fix off-by-one
16136 buffer overflow.
16137
16138 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16139
16140 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
16141 "parser.grub" in grub_command_execute() call.
16142
16143 2009-11-24 Carles Pina i Estany <carles@pina.cat>
16144
16145 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
16146 * conf/i386-efi.rmk: Likewise.
16147 * conf/i386-ieee1275.rmk: Likewise.
16148 * conf/i386-pc.rmk: Likewise.
16149 * conf/powerpc-ieee1275.rmk: Likewise.
16150 * conf/sparc64-ieee1275.rmk: Likewise.
16151 * conf/x86_64-efi.rmk: Likewise.
16152 * gettext/gettex.c: Include <grub/i18n.h>.
16153 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
16154 here ...
16155 * include/grub/i18n.h: ... to here
16156 * include/grub/i18n.h: ... to here.
16157 * kern/misc.c: Include <grub/i18n.h>
16158 (grub_gettext_dummy): Move above user.
16159
16160 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16161
16162 * util/Makefile.in (install-local): Convert a `for' into a normal
16163 shell expansion.
16164
16165 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
16166
16167 * autogen.sh: Add automake call.
16168 * config.guess: Remove.
16169 * config.sub: Likewise.
16170 * install-sh: Likewise.
16171
16172 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16173
16174 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
16175
16176 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16177
16178 * util/Makefile.in (install-local): Convert a make `$(foreach)'
16179 function to a normal shell `for'.
16180
16181 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16182
16183 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16184
16185 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16186
16187 * util/grub-mkrelpath.c: New file.
16188 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
16189 (grub_mkrelpath_SOURCES): New variable.
16190 * include/grub/util/misc.h: New function prototype.
16191 * util/misc.c (make_system_path_relative_to_its_root): New function.
16192
16193 * util/grub-mkconfig_lib.in (bindir): New variable.
16194 (grub_mkrelpath): Likewise.
16195 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
16196
16197 * util/probe.c (probe): Make the file path relative to its root.
16198 Change a info message to use the GRUB path. Enable again the
16199 check if we can read the file with GRUB facilities.
16200
16201 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
16202 to its root.
16203
16204 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16205
16206 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
16207 platform.
16208
16209 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16210
16211 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
16212 strncmp().
16213
16214 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16215
16216 * util/getroot.c (grub_util_is_dmraid): New function.
16217 (grub_util_get_dev_abstraction): Treat dmraid and multipath
16218 devices as normal ones, not as LVM.
16219
16220 2009-11-23 Carles Pina i Estany <carles@pina.cat>
16221
16222 * conf/common.rmk: Add grub-gettext_lib target and updates
16223 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
16224 LDFLAGS.
16225 * gettext/gettext.c: New file. (Reads mo files).
16226 * include/grub/file.h (grub_file_pread): New prototype.
16227 * include/grub/i18n.h (_): New prototype.
16228 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
16229 prototypes.
16230 * kern/misc.c (grub_gettext_dummy): New function.
16231 * normal/menu_text.c: Include <grub/i18n.h>.
16232 * normal/menu_text.c (print_timeout): Gettexttize string.
16233 * normal/menu_text.c (print_message): Gettexttize string.
16234 * po/POTFILES: Add `normal/menu_text.c'.
16235 * po/ca.po: Add new translations.
16236 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
16237 gettext module and defines locale_dir and lang in grub.cfg.
16238 * NEWS: Add gettext support.
16239
16240 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16241
16242 * util/hostdisk.c: Include `<grub/i18n.h>'.
16243 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
16244 (make_device_name): Rewrite using asprintf.
16245 (convert_system_partition_to_system_disk): Replace 0 with NULL.
16246 (find_system_device): If a device is not found, generate one just
16247 by reusing the OS path name.
16248 (read_device_map): Make it permissible for device.map not to exist.
16249
16250 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16251
16252 * script/sh/execute.c: Move from here ...
16253 * script/execute.c: ... to here. Update all users.
16254 * script/sh/function.c: Move from here ...
16255 * script/function.c: ... to here. Update all users.
16256 * script/sh/lexer.c: Move from here ...
16257 * script/lexer.c: ... to here. Update all users.
16258 * script/sh/main.c: Move from here ...
16259 * script/main.c: ... to here. Update all users.
16260 * script/sh/parser.y: Move from here ...
16261 * script/parser.y: ... to here. Update all users.
16262 * script/sh/script.c: Move from here ...
16263 * script/script.c: ... to here. Update all users.
16264
16265 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16266
16267 * configure.ac: Detect all `emu' platforms. Define
16268 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
16269 --enable-grub-emu logic. Disable include/grub/machine
16270 symlink on `emu' platforms.
16271
16272 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
16273 * gensymlist.sh.in: Likewise.
16274
16275 * include/grub/i386/coreboot/machine.h: Remove file.
16276 * include/grub/i386/efi/machine.h: Likewise.
16277 * include/grub/i386/ieee1275/machine.h: Likewise.
16278 * include/grub/i386/pc/machine.h: Likewise.
16279 * include/grub/i386/qemu/machine.h: Likewise.
16280 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16281 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16282 * include/grub/x86_64/efi/machine.h: Likewise.
16283
16284 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
16285 * commands/halt.c: Likewise.
16286 * commands/reboot.c: Likewise.
16287 * include/grub/autoefi.h: Likewise.
16288 * include/grub/i386/at_keyboard.h: Likewise.
16289 * include/grub/i386/kernel.h: Likewise.
16290 * include/grub/i386/loader.h: Likewise.
16291 * include/grub/i386/pc/memory.h: Likewise.
16292 * kern/dl.c: Likewise.
16293 * kern/i386/coreboot/init.c: Likewise.
16294 * loader/i386/bsd.c: Likewise.
16295 * loader/i386/linux.c: Likewise.
16296 * loader/multiboot_loader.c: Likewise.
16297 * term/i386/pc/serial.c: Likewise.
16298 * term/usb_keyboard.c: Likewise.
16299
16300 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
16301 `<grub/machine/machine.h>'
16302 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
16303 * util/misc.c: Remove `<grub/machine/machine.h>' and
16304 `<grub/machine/time.h>'.
16305
16306 * Makefile.in (enable_grub_emu): Remove variable.
16307 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
16308
16309 * conf/any-emu.rmk: New file.
16310 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
16311 (grub_emu_init.c): Move from here ...
16312 * conf/any-emu.rmk: ... to here.
16313
16314 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
16315 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
16316 * conf/any-emu.rmk: ... to here.
16317
16318 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16319
16320 * include/grub/parser.h (grub_parser_register): Document need
16321 of `name' parameter.
16322 * normal/main.c (grub_normal_read_line): Simplify prompt string.
16323 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
16324 "sh" to "grub".
16325
16326 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16327
16328 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
16329 `$(XGETTEXT)'.
16330 * include/grub/i18n.h (N_): New macro.
16331 * util/mkisofs/mkisofs.h: Likewise.
16332 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
16333 around N_().
16334 (usage): Use gettext() to translate help strings when printing them.
16335
16336 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16337
16338 Based on patch from Bean
16339 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16340
16341 * video/efi_fb.c: New file.
16342 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
16343 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16344 variables.
16345 * conf/x86_64-efi.rmk: Likewise.
16346
16347 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
16348
16349 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
16350 * util/i386/pc/grub-setup.c: Likewise.
16351
16352 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16353
16354 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16355 <hurd/fs.h>
16356 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16357 file_get_storage_info to implement grub_guess_root_device.
16358
16359 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16360
16361 * Makefile.in (target): Use make's builtin $(shell) function
16362 instead of calling directly $(SHELL) to create the locale directories,
16363 inside the $(foreach) function.
16364
16365 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16366
16367 * util/grub-mkrescue.in: Print an error and usage if output option
16368 has not been given.
16369
16370 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16371
16372 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16373 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16374 root and /boot are on different devices.
16375
16376 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16377
16378 Fix build for srcdir != objdir.
16379
16380 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16381 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16382 $(srcdir).
16383 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16384 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16385 reference for input.
16386
16387 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16388
16389 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16390 or hardlinking it). Remove -J option, Joliet is not compatible with
16391 multiple source directories.
16392
16393 2009-11-21 Carles Pina i Estany <carles@pina.cat>
16394 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16395
16396 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16397 (process_input_dir): New function. Process an arbitrary input
16398 directory.
16399 Misc adjustments to support both "override mode" and system-wide mode.
16400
16401 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16402
16403 * configure.ac (UNIFONT_BDF): Rename to ...
16404 (FONT_SOURCE): ... this. Update all users.
16405
16406 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16407
16408 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16409 to the list of unifont files to look for.
16410
16411 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16412
16413 Patch from Joe Auricchio <jauricchio@gmail.com>
16414 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16415 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16416 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16417
16418 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16419
16420 * Makefile.in (install-local): Add a missing backslash.
16421
16422 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16423
16424 * include/grub/x86_64/io.h: New file.
16425
16426 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16427
16428 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16429 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16430 Include `"progname.h"'.
16431 (main): Initialize gettext.
16432 * util/i386/pc/grub-setup.c: Gettexttize.
16433 * util/i386/pc/grub-mkimage.c: Likewise.
16434
16435 * Makefile.in (po/*.po): Redefine as ...
16436 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16437
16438 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16439
16440 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16441
16442 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16443 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16444 (program_name): Remove.
16445 (main): Initialize gettext support.
16446 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16447 Include `<libintl.h>'.
16448 (_): New macro.
16449
16450 * util/mkisofs/eltorito.c: Gettexttize.
16451 * util/mkisofs/joliet.c: Likewise.
16452 * util/mkisofs/mkisofs.c: Likewise.
16453 * util/mkisofs/multi.c: Likewise.
16454 * util/mkisofs/rock.c: Likewise.
16455 * util/mkisofs/tree.c: Likewise.
16456 * util/mkisofs/write.c: Likewise.
16457
16458 * po/POTFILES: Update with new files.
16459
16460 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16461
16462 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16463 * util/mkisofs/iso9660.h: Likewise.
16464 * util/mkisofs/joliet.c: Likewise.
16465 * util/mkisofs/mkisofs.c: Likewise.
16466 * util/mkisofs/mkisofs.h: Likewise.
16467 * util/mkisofs/rock.c: Likewise.
16468 * util/mkisofs/tree.c: Likewise.
16469 * util/mkisofs/write.c: Likewise.
16470
16471 * util/mkisofs/eltorito.c (rcsid): Remove.
16472 * util/mkisofs/hash.c: Likewise.
16473 * util/mkisofs/joliet.c: Likewise.
16474 * util/mkisofs/name.c: Likewise.
16475 * util/mkisofs/rock.c: Likewise.
16476 * util/mkisofs/tree.c: Likewise.
16477 * util/mkisofs/write.c: Likewise.
16478
16479 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16480
16481 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16482 instead of static allocation.
16483 * util/mkisofs/match.h: Likewise.
16484
16485 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16486
16487 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16488 and `util/grub.d/10_linux.in'.
16489 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16490 translatable Shell files.
16491
16492 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16493
16494 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16495
16496 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16497
16498 * INSTALL: Document Automake is needed for bootstrap.
16499 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
16500 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16501 Add gettext initialization.
16502 (kfreebsd_entry): Make menuentry output translatable.
16503
16504 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16505
16506 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16507 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16508 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16509 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16510 (LINGUAS): Auto-generate using `po/LINGUAS'.
16511 * po/LINGUAS: New file.
16512
16513 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16514
16515 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16516 other things).
16517 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16518 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16519 bindtextdomain() calls for gettext initialization.
16520
16521 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16522
16523 * gnulib/progname.c: New file (imported from Gnulib).
16524 * gnulib/progname.h: Likewise.
16525 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16526 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16527 (usage): Replace `progname' with `program_name'.
16528 (main): Use set_program_name() for program name initialization.
16529
16530 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16531
16532 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16533 from here ...
16534 * Makefile.in (CPPFLAGS): ... to here.
16535
16536 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16537
16538 * aclocal.m4: Move from here ...
16539 * acinclude.m4: ... to here.
16540 * autogen.sh: Add call to `aclocal'.
16541 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16542
16543 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16544
16545 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16546 (LINGUAS): New variable.
16547 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16548 (install-local): Install MO files.
16549 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16550 * include/grub/i18n.h: New file.
16551 * po/POTFILES: New file.
16552 * po/ca.po: New file.
16553 * util/grub.d/10_linux.in (bindir): New variable.
16554 Add gettext initialization.
16555 (linux_entry): Make menuentry output translatable.
16556 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16557 (usage): Make --help output translatable.
16558 (main): Initialize gettext.
16559
16560 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16561
16562 * import_gcry.py: New file (written by Vladimir with minor
16563 adjustments).
16564 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16565 ciphers.
16566 * INSTALL: Document that Python is required for bootstrap.
16567
16568 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16569
16570 Import ciphers from libgcrypt 1.4.4.
16571
16572 * lib/libgcrypt/cipher/ChangeLog
16573 * lib/libgcrypt/cipher/ac.c
16574 * lib/libgcrypt/cipher/arcfour.c
16575 * lib/libgcrypt/cipher/bithelp.h
16576 * lib/libgcrypt/cipher/blowfish.c
16577 * lib/libgcrypt/cipher/camellia-glue.c
16578 * lib/libgcrypt/cipher/camellia.c
16579 * lib/libgcrypt/cipher/camellia.h
16580 * lib/libgcrypt/cipher/cast5.c
16581 * lib/libgcrypt/cipher/cipher.c
16582 * lib/libgcrypt/cipher/crc.c
16583 * lib/libgcrypt/cipher/des.c
16584 * lib/libgcrypt/cipher/dsa.c
16585 * lib/libgcrypt/cipher/ecc.c
16586 * lib/libgcrypt/cipher/elgamal.c
16587 * lib/libgcrypt/cipher/hash-common.c
16588 * lib/libgcrypt/cipher/hash-common.h
16589 * lib/libgcrypt/cipher/hmac-tests.c
16590 * lib/libgcrypt/cipher/md.c
16591 * lib/libgcrypt/cipher/md4.c
16592 * lib/libgcrypt/cipher/md5.c
16593 * lib/libgcrypt/cipher/primegen.c
16594 * lib/libgcrypt/cipher/pubkey.c
16595 * lib/libgcrypt/cipher/rfc2268.c
16596 * lib/libgcrypt/cipher/rijndael-tables.h
16597 * lib/libgcrypt/cipher/rijndael.c
16598 * lib/libgcrypt/cipher/rmd.h
16599 * lib/libgcrypt/cipher/rmd160.c
16600 * lib/libgcrypt/cipher/rsa.c
16601 * lib/libgcrypt/cipher/seed.c
16602 * lib/libgcrypt/cipher/serpent.c
16603 * lib/libgcrypt/cipher/sha1.c
16604 * lib/libgcrypt/cipher/sha256.c
16605 * lib/libgcrypt/cipher/sha512.c
16606 * lib/libgcrypt/cipher/tiger.c
16607 * lib/libgcrypt/cipher/twofish.c
16608 * lib/libgcrypt/cipher/whirlpool.c
16609
16610 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16611
16612 Fix build for systems without error().
16613
16614 * gnulib/error.c: New file (imported from Gnulib).
16615 * gnulib/error.h: Likewise.
16616 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16617 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
16618 (this variable is now used by error()).
16619
16620 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16621
16622 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
16623 instead of relying that char is signed.
16624
16625 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
16628 blocksize different from specified.
16629 (grub_pxefs_read): Likewise.
16630
16631 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16632
16633 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
16634
16635 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
16636 (grub_ata_readwrite): Likewise. Update 2 format strings.
16637 (grub_atapi_read): Likewise.
16638
16639 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
16640 * conf/i386.rmk (pkglib_MODULES): ... to here ...
16641 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
16642 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
16643 (ata_mod_LDFLAGS): Move from here ...
16644 * conf/i386.rmk: ... to here ...
16645 * conf/x86_64-efi.rmk: ... and here.
16646 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
16647 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
16648
16649 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16650
16651 Relicense multiboot.h, with RMS' blessing.
16652
16653 * include/multiboot.h: Change to X11 license.
16654
16655 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
16656
16657 Support --version in grub-mkisofs.
16658
16659 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
16660 (OPTION_VERSION): New macro.
16661 (ld_options): Recognize --version.
16662 (usage): Move `program_name' from here ...
16663 (program_name): ... to here. Add `static' qualifier.
16664 (main): Recognize `OPTION_VERSION'.
16665
16666 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
16667
16668 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
16669 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
16670
16671 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16672
16673 Fix help2man generation for mkisofs.
16674
16675 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
16676 (usage): Send output to stdout (rather than stderr).
16677
16678 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16679
16680 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
16681 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16682 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
16683 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16684 (bin_SCRIPTS): Add `grub-mkfloppy'.
16685 (grub_mkfloppy_SOURCES): New variable.
16686
16687 * util/grub-mkrescue.in: New file.
16688 * util/i386/pc/grub-mkfloppy.in: New file.
16689
16690 * util/i386/coreboot/grub-mkrescue.in: Remove.
16691 * util/i386/pc/grub-mkrescue.in: Remove.
16692
16693 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16694
16695 * include/grub/multiboot.h (struct grub_multiboot_header): Move
16696 from here ...
16697 * include/multiboot.h (struct multiboot_header): ... to here. Update
16698 all users.
16699 * include/grub/multiboot.h (struct grub_multiboot_info): Move
16700 from here ...
16701 * include/multiboot.h (struct multiboot_info): ... to here. Update
16702 all users.
16703 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
16704 from here ...
16705 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
16706 Update all users.
16707 * include/grub/multiboot.h (struct grub_mod_list): Move
16708 from here ...
16709 * include/multiboot.h (struct multiboot_mod_list): ... to here.
16710 Update all users.
16711
16712 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16713
16714 * include/multiboot2.h (multiboot_word): Rename from this ...
16715 (multiboot2_word): ... to this. Update all users.
16716 (multiboot_header): Rename from this ...
16717 (multiboot2_header): ... to this. Update all users.
16718 (multiboot_tag_header): Rename from this ...
16719 (multiboot2_tag_header): ... to this. Update all users.
16720 (multiboot_tag_start): Rename from this ...
16721 (multiboot2_tag_start): ... to this. Update all users.
16722 (multiboot_tag_name): Rename from this ...
16723 (multiboot2_tag_name): ... to this. Update all users.
16724 (multiboot_tag_module): Rename from this ...
16725 (multiboot2_tag_module): ... to this. Update all users.
16726 (multiboot_tag_memory): Rename from this ...
16727 (multiboot2_tag_memory): ... to this. Update all users.
16728 (multiboot_tag_unused): Rename from this ...
16729 (multiboot2_tag_unused): ... to this. Update all users.
16730 (multiboot_tag_end): Rename from this ...
16731 (multiboot2_tag_end): ... to this. Update all users.
16732
16733 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16734
16735 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
16736 this platform we should support Multiboot1 first.
16737
16738 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16739 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
16740 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
16741
16742 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16743
16744 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
16745 of write calls (converting them to fwrite() if they aren't already).
16746 (get_torito_desc): Likewise.
16747 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
16748
16749 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16750
16751 * util/i386/pc/grub-install.in: Move from here ...
16752 * util/grub-install.in: ... to here. Update all users.
16753
16754 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
16755
16756 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
16757
16758 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16759
16760 Support for El Torito without floppy emulation.
16761
16762 * util/mkisofs/eltorito.c: Include `<errno.h>'.
16763 (init_boot_catalog): Improve error handling.
16764 (get_torito_desc): Don't use floppy emulation unless requested by
16765 user. Patch boot information table when requested via
16766 `-boot-info-table'.
16767 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
16768 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
16769 (use_boot_info_table): New variables.
16770 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
16771 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
16772 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
16773 `--eltorito-emul-floppy'.
16774 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
16775 and `OPTION_ELTORITO_EMUL_FLOPPY'.
16776 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
16777 (use_boot_info_table, get_731): New prototypes.
16778 * util/mkisofs/write.c (get_731): New function.
16779
16780 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
16781
16782 Fix the generation of the man page.
16783
16784 * util/pc/i386/grub-install.in: Source
16785 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16786
16787 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16788
16789 Large file support for grub-mkisofs.
16790
16791 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
16792 * util/mkisofs/mkisofs.c (next_extent, last_extent)
16793 (session_start): Upgrade type to `uint64_t'. Update all users.
16794 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
16795 (struct directory_entry): Upgrade type of `starting_block' and
16796 `size' to `uint64_t'. Update all users.
16797 (struct deferred): Remove unused structure.
16798 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
16799 Update all users.
16800 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
16801 file is larger than `UINT32_MAX'.
16802 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
16803 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
16804 return value.
16805 (struct deferred_write): Upgrade type of `extent' and `size' to
16806 `uint64_t'. Update all users.
16807 (last_extent_written): Upgrade type to `uint64_t'. Update all
16808 users.
16809 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
16810 Update all users. Upgrade type of `remain' to `int64_t' and
16811 `use' to `size_t'. Use error() to handle fread() errors.
16812 (write_files): Rely on write_one_file() rather than calling
16813 xfwrite() directly.
16814
16815 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
16816
16817 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
16818
16819 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16820
16821 * util/mkisofs/fnmatch.c: Remove.
16822 * util/mkisofs/getopt1.c: Likewise.
16823 * util/mkisofs/getopt.c: Likewise.
16824 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
16825 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
16826 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
16827 `gnulib/getopt1.c' and `gnulib/getopt.c'.
16828 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
16829
16830 * configure.ac: Detect `mingw32msvc' host_os.
16831 Check for lstat(), getuid() and getgid().
16832
16833 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
16834 instances of `u_char' with `uint8_t'.
16835
16836 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
16837 [!HAVE_GETUID] (getuid): New function (stub).
16838 [!HAVE_GETGID] (getgid): Likewise.
16839 [!HAVE_LSTAT] (lstat): Likewise.
16840 [!S_IROTH] (S_IROTH): New macro (dummy).
16841 [!S_IRGRP] (S_IRGRP): Likewise.
16842
16843 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16844
16845 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
16846 conditional expression).
16847
16848 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16849
16850 Import from Gnulib.
16851
16852 * gnulib/fnmatch.c: New file.
16853 * gnulib/fnmatch.h: Likewise.
16854 * gnulib/fnmatch_loop.c: Likewise.
16855 * gnulib/getopt.c: Likewise.
16856 * gnulib/getopt.h: Likewise.
16857 * gnulib/getopt1.c: Likewise.
16858 * gnulib/getopt_int.h: Likewise.
16859 * gnulib/gettext.h: Likewise.
16860
16861 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16862
16863 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
16864 * normal/handler.c (read_handler_list): Likewise.
16865
16866 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16867
16868 Misc cleanup.
16869
16870 * kern/command.c (grub_register_command_prio): Use
16871 grub_zalloc() instead of explicitly zeroing data.
16872 * kern/list.c: Include `<grub/mm.h>'.
16873 (grub_named_list_find): Replace `0' with `NULL'.
16874 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
16875 (fs_module_list): Change type to `grub_named_list_t'. Update all
16876 users.
16877 * normal/dyncmd.c (read_command_list): Add space between function
16878 call and parenthesis.
16879 * normal/handler.c (read_handler_list): Likewise.
16880
16881 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16882
16883 * normal/auth.c (punishment_delay): Moved from here ...
16884 (grub_auth_strcmp): ... to here (inside function).
16885
16886 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16887
16888 * include/grub/list.h (struct grub_named_list): Remove `const'
16889 qualifier from `name'.
16890 (struct grub_prio_list): Likewise.
16891
16892 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16893
16894 * normal/auth.c: Include `<grub/time.h>'.
16895 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
16896
16897 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16898
16899 * normal/auth.c (punishment_delay): New variable.
16900 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
16901 (grub_auth_check_authentication): Punish failed login attempts with
16902 an incremental (2^N) delay.
16903
16904 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16905
16906 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
16907 path with $(srcdir).
16908
16909 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
16912
16913 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16914
16915 * util/i386/coreboot/grub-mkrescue.in: New file.
16916 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
16917 variables.
16918
16919 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
16920 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
16921 * configure.ac: Add header and function checks to satisfy grub-mkisofs
16922 requirements.
16923 * util/mkisofs/defaults.h: New file.
16924 * util/mkisofs/eltorito.c: Likewise.
16925 * util/mkisofs/exclude.h: Likewise.
16926 * util/mkisofs/fnmatch.c: Likewise.
16927 * util/mkisofs/getopt.c: Likewise.
16928 * util/mkisofs/getopt1.c: Likewise.
16929 * util/mkisofs/hash.c: Likewise.
16930 * util/mkisofs/include/fctldefs.h: Likewise.
16931 * util/mkisofs/include/mconfig.h: Likewise.
16932 * util/mkisofs/include/prototyp.h: Likewise.
16933 * util/mkisofs/include/statdefs.h: Likewise.
16934 * util/mkisofs/iso9660.h: Likewise.
16935 * util/mkisofs/joliet.c: Likewise.
16936 * util/mkisofs/match.c: Likewise.
16937 * util/mkisofs/match.h: Likewise.
16938 * util/mkisofs/mkisofs.c: Likewise.
16939 * util/mkisofs/mkisofs.h: Likewise.
16940 * util/mkisofs/multi.c: Likewise.
16941 * util/mkisofs/name.c: Likewise.
16942 * util/mkisofs/rock.c: Likewise.
16943 * util/mkisofs/tree.c: Likewise.
16944 * util/mkisofs/write.c: Likewise.
16945
16946 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
16949 being insecure.
16950
16951 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16952
16953 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
16954 `grub-mkimage' (and use $0 when possible).
16955
16956 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16957
16958 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
16959 error message for excessively large memory map.
16960
16961 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16962
16963 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
16964 executable bit.
16965
16966 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16967
16968 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
16969 message for coreboot users.
16970
16971 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
16972
16973 Fix build with GNU gold.
16974
16975 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
16976 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
16977 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
16978 link addresses.
16979 * aclocal.m4: Likewise.
16980
16981 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
16982
16983 * configure.ac (AC_PREREQ): Bump to 2.59d.
16984 * INSTALL: Make it more clear when Autoconf and Ruby are
16985 needed and when to run `./autogen.sh'.
16986
16987 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
16988
16989 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
16990 OSes.
16991
16992 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16993
16994 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
16995
16996 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16997
16998 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
16999 giving it to GNU Mach.
17000
17001 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17002
17003 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
17004 GNU partition number to get internal GRUB partition number.
17005
17006 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17007
17008 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
17009 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
17010
17011 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
17012
17013 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
17014 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
17015 case.
17016
17017 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
17018
17019 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
17020
17021 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17022
17023 Fix build problem.
17024
17025 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
17026 `-isystem=$(srcdir)/include'.
17027
17028 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17029
17030 * util/i386/pc/grub-install.in: Remove hint that device.map should be
17031 checked (grub-install doesn't currently rely on it).
17032
17033 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
17034
17035 Revert SVN r2660.
17036
17037 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
17038 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17039 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
17040 * conf/i386-ieee1275.rmk: Likewise.
17041 * conf/i386-pc.rmk: Likewise.
17042 * conf/powerpc-ieee1275.rmk: Likewise.
17043 * conf/sparc64-ieee1275.rmk: Likewise.
17044 * conf/x86_64-efi.rmk: Likewise.
17045
17046 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17047
17048 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
17049
17050 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17051
17052 * include/grub/misc.h: Stop checking for APPLE_CC.
17053
17054 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17055
17056 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
17057 doesn't cause an infinite call loop.
17058
17059 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
17060
17061 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
17062 strings.
17063
17064 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17065
17066 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
17067 variable.
17068 * Makefile.in: Likewise.
17069
17070 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17071
17072 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
17073
17074 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17075
17076 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
17077
17078 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17079
17080 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
17081
17082 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17083
17084 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
17085 from here ...
17086 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
17087
17088 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17089
17090 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
17091 in $(MAKEINFO) invocation. This makes it clear in output that
17092 errors are being ignored.
17093
17094 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17095
17096 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
17097 from here ...
17098 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17099 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
17100 * conf/i386-ieee1275.rmk: Likewise.
17101 * conf/i386-pc.rmk: Likewise.
17102 * conf/powerpc-ieee1275.rmk: Likewise.
17103 * conf/sparc64-ieee1275.rmk: Likewise.
17104 * conf/x86_64-efi.rmk: Likewise.
17105
17106 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17107
17108 * util/grub-editenv.c (main): If only a command is given, use
17109 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
17110 (usage): FILENAME is now optional and has a default.
17111
17112 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17113
17114 Improve grub-mkconfig performance when there are several menu
17115 entries on a single filesystem.
17116
17117 * util/grub.d/10_linux.in (linux_entry): Cache the output of
17118 prepare_grub_to_access_device.
17119 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17120 * util/grub.d/30_os-prober.in: Likewise.
17121
17122 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17123
17124 * util/grub.d/10_freebsd.in: Remove.
17125 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
17126 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
17127
17128 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17129
17130 * docs/grub.cfg: Fix example usage of *BSD loaders.
17131
17132 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17133
17134 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
17135 grub_util_error() call.
17136
17137 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17138
17139 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
17140 `reserved_first_sector' member.
17141 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
17142 `reserved_first_sector' to 1.
17143 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
17144 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
17145 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
17146 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
17147 filesystems which begin at first sector.
17148 (options): New option --skip-fs-probe.
17149 (main): Handle --skip-fs-probe and pass it to setup().
17150
17151 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17152
17153 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
17154 (memset): Fix function prototype.
17155
17156 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17157 2009-10-25 Vasily Averin <vvs@parallels.com>
17158
17159 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
17160 `dirent.direntlen == 0'.
17161
17162 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17163
17164 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
17165 `cpio'.
17166 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
17167
17168 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17169
17170 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
17171 `__trampoline_setup' and `__ucmpdi2'.
17172 * include/grub/powerpc/libgcc.h: Only export symbols for functions
17173 that libgcc provides.
17174
17175 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17176
17177 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
17178 * include/grub/sparc64/libgcc.h (memset): Likewise.
17179 * include/grub/misc.h (memset, memcmp): New function prototypes.
17180
17181 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17182
17183 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
17184 `cpio'.
17185 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
17186
17187 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17188
17189 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
17190 * docs/grub.cfg: Compensate for recent change in multiboot
17191 loader (since 2009-08-14 it won't pass filename to payload).
17192 * util/grub.d/10_hurd.in: Likewise.
17193
17194 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
17195
17196 * config.guess: Update to latest version from config git
17197 repository.
17198 * config.sub: Likewise.
17199
17200 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
17201
17202 Fix build on sparc64.
17203
17204 * configure.ac: Perform checks for libgcc symbols before
17205 adding `-nostdlib' to LDFLAGS.
17206
17207 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 Let user specify OpenBSD root device.
17210
17211 * loader/i386/bsd.c (openbsd_root): New variable.
17212 (openbsd_opts): New option 'root'.
17213 (OPENBSD_ROOT_ARG): New macro.
17214 (grub_openbsd_boot): Use 'openbsd_root'.
17215 (grub_cmd_openbsd): Fill 'openbsd_root'.
17216
17217 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17218
17219 * NEWS: Misc adjustments.
17220
17221 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17222
17223 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
17224
17225 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17226
17227 * configure.ac: Bump version to 1.97.
17228
17229 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
17230
17231 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
17232 -mno-3dnow on x86 architectures. Some toolchains enable these
17233 features by default, but they rely on registers that aren't enabled
17234 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
17235
17236 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
17237
17238 Make entry text a bit more readable.
17239
17240 * util/grub.d/10_linux.in: Add `with' before `Linux'.
17241
17242 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
17245
17246 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
17249 operations.
17250
17251 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 * configure.ac: Add missing dollar.
17254
17255 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
17258
17259 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
17260 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
17261 exports.
17262 * include/grub/sparc64/libgcc.h: Likewise. Use
17263 preprocessor conditionals.
17264
17265 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17266
17267 * conf/common.rmk (grub-dumpbios): Remove rule.
17268 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
17269 * util/grub-dumpbios.in: Remove file.
17270
17271 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17272
17273 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
17274 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
17275
17276 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
17277 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
17278 users.
17279
17280 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
17281 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
17282 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
17283 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
17284 users.
17285
17286 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
17287
17288 * term/tparm.c: Switch to GPLv3.
17289
17290 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17291
17292 * include/grub/i386/cpuid.h: Add header protection.
17293
17294 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17295
17296 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
17297
17298 * include/grub/i386/cpuid.h: New file.
17299 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
17300 (has_longmode): Rename to ...
17301 (grub_cpuid_has_longmode): ... this. Update all users. Remove
17302 `static' attribute.
17303 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
17304 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
17305 on a CPU that doesn't implement AMD64 instruction set.
17306
17307 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17308
17309 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
17310 that version.texi is rebuilt on version number changes.
17311
17312 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17313
17314 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
17315 Fixes bug #27602.
17316
17317 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17318
17319 * util/i386/pc/grub-install.in: Source
17320 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
17321 that the --grub-probe option will work.
17322 * util/sparc64/ieee1275/grub-install.in: Likewise.
17323
17324 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
17325
17326 * configure.ac: Bump version to 1.97~beta4.
17327
17328 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
17329
17330 Resync grub-mkdevicemap in x86_64-efi.
17331
17332 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
17333 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
17334 `util/devicemap.c'.
17335
17336 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
17337
17338 * util/grub-editenv.c (create_envblk_file): Write new block with a
17339 .new suffix and then rename it into place, to ensure atomic
17340 creation.
17341
17342 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
17343
17344 Do not automatically install headers.
17345
17346 * Makefile.in (include_DATA): Remove. Update all users.
17347
17348 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
17349
17350 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
17351 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
17352
17353 * util/osdetect.lua: Remove.
17354 * script/lua/lauxlib.c: Likewise.
17355 * script/lua/ldebug.c: Likewise.
17356 * script/lua/grub_main.c: Likewise.
17357 * script/lua/lauxlib.h: Likewise.
17358 * script/lua/ldebug.h: Likewise.
17359 * script/lua/ltablib.c: Likewise.
17360 * script/lua/liolib.c: Likewise.
17361 * script/lua/lstrlib.c: Likewise.
17362 * script/lua/lualib.h: Likewise.
17363 * script/lua/ldo.c: Likewise.
17364 * script/lua/ldump.c: Likewise.
17365 * script/lua/ldo.h: Likewise.
17366 * script/lua/loslib.c: Likewise.
17367 * script/lua/lundump.c: Likewise.
17368 * script/lua/grub_lib.c: Likewise.
17369 * script/lua/ldblib.c: Likewise.
17370 * script/lua/lundump.h: Likewise.
17371 * script/lua/lmem.c: Likewise.
17372 * script/lua/grub_lib.h: Likewise.
17373 * script/lua/lmathlib.c: Likewise.
17374 * script/lua/lstate.c: Likewise.
17375 * script/lua/ltm.c: Likewise.
17376 * script/lua/lvm.c: Likewise.
17377 * script/lua/lmem.h: Likewise.
17378 * script/lua/lstate.h: Likewise.
17379 * script/lua/ltm.h: Likewise.
17380 * script/lua/ltable.c: Likewise.
17381 * script/lua/lvm.h: Likewise.
17382 * script/lua/llex.c: Likewise.
17383 * script/lua/lgc.c: Likewise.
17384 * script/lua/grub_lua.h: Likewise.
17385 * script/lua/loadlib.c: Likewise.
17386 * script/lua/lfunc.c: Likewise.
17387 * script/lua/lopcodes.c: Likewise.
17388 * script/lua/lparser.c: Likewise.
17389 * script/lua/ltable.h: Likewise.
17390 * script/lua/llex.h: Likewise.
17391 * script/lua/lgc.h: Likewise.
17392 * script/lua/lfunc.h: Likewise.
17393 * script/lua/lbaselib.c: Likewise.
17394 * script/lua/lopcodes.h: Likewise.
17395 * script/lua/lparser.h: Likewise.
17396 * script/lua/lzio.c: Likewise.
17397 * script/lua/linit.c: Likewise.
17398 * script/lua/lobject.c: Likewise.
17399 * script/lua/llimits.h: Likewise.
17400 * script/lua/lstring.c: Likewise.
17401 * script/lua/lzio.h: Likewise.
17402 * script/lua/lapi.c: Likewise.
17403 * script/lua/lcode.c: Likewise.
17404 * script/lua/lua.h: Likewise.
17405 * script/lua/lobject.h: Likewise.
17406 * script/lua/lstring.h: Likewise.
17407 * script/lua/lapi.h: Likewise.
17408 * script/lua/lcode.h: Likewise.
17409 * script/lua/luaconf.h: Likewise.
17410
17411 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
17412
17413 * docs/grub.texi (Command-line and menu entry commands): Document
17414 date and echo commands.
17415
17416 2009-09-24 Pavel Roskin <proski@gnu.org>
17417
17418 * include/grub/kernel.h (struct grub_module_header): Remove
17419 `grub_module_header_types'. Make `type' unsigned. Make `size'
17420 32-bit on all platforms.
17421 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17422 8-bit field. Use grub_host_to_target32() for `size'.
17423 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17424 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17425 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17426
17427 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17428
17429 Fix "lost keypress" bug in at_keyboard.
17430
17431 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17432 Checks for readyness of input buffer (without flushing it).
17433 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17434 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17435
17436 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17437
17438 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17439 size check within GRUB_MACHINE_PCBIOS section.
17440
17441 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17442
17443 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17444 return value.
17445 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17446 KEYBOARD_ISREADY check.
17447 (grub_at_keyboard_checkkey): Rename to ...
17448 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17449 Remove gratuitous cast.
17450
17451 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
17452
17453 * configure.ac: Call AC_PROG_MKDIR_P.
17454 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17455 version.texi in $(builddir) rather than $(srcdir).
17456 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17457 to makeinfo's @include search path.
17458
17459 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17460
17461 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17462
17463 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17464
17465 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17466 for `*.dpkg-new'.
17467
17468 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
17469
17470 Build info documentation. Some code borrowed from Automake.
17471
17472 * configure.ac: Check for makeinfo.
17473 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17474 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17475 docs/version.texi.
17476 (MOSTLYCLEANFILES): Add vti.tmp.
17477 (docs/version.texi, docs/stamp-vti): Update automatically.
17478 (docs/grub.info): Build info documentation. Use --force and ignore
17479 errors for now.
17480 (all-local): Add $(INFOS).
17481 (install-local): Install info files.
17482 (uninstall): Uninstall info files.
17483 * docs/version.texi: Remove from revision control. This file is
17484 automatically generated on build now.
17485 * gendistlist.sh: Add `*.info'.
17486
17487 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17488
17489 * kern/term.c: Fix indentation.
17490
17491 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17492
17493 * util/hostdisk.c: Fix a comment.
17494
17495 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17496
17497 Fix regression introduced in r2539.
17498
17499 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17500 to 0xA1.
17501
17502 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
17503
17504 * util/grub.d/30_os-prober.in: Don't throw away stderr from
17505 os-prober. Under normal operation, it does not print anything to
17506 stderr; if it does, we need to debug it, and throwing away stderr
17507 makes that excessively difficult.
17508
17509 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17512
17513 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17514
17515 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17516 AC_LANG_PROGRAM from autoconf.
17517 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17518 prototypes (fixes warning).
17519
17520 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17521 `--disable-werror' was used.
17522
17523 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17524
17525 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17526 uninitialized `lastaddr'.
17527
17528 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
17531
17532 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17533
17534 * commands/test.c (get_fileinfo): Return immediately if
17535 grub_fs_probe fails.
17536
17537 2009-09-14 José Martínez <xosemp@gmail.com>
17538
17539 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17540
17541 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17542
17543 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17544 output.
17545
17546 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17547
17548 * configure.ac: Remove --enable-grub-pe2elf. Only build
17549 grub-pe2elf when needed by the build system itself.
17550 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17551
17552 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17553
17554 * configure.ac: Bump version to 1.97~beta3.
17555 * docs/version.texi: Likewise.
17556
17557 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17558
17559 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17560 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17561 from here ...
17562 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17563 (grub_linux_setup_video): ... to here (with some adjustments).
17564
17565 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17566
17567 Fix memory corruption issue (spotted by Colin Watson).
17568
17569 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17570 causing returned size to be stored in an incorrect memory location.
17571 Fix use of uninitialized value when storing the returned size.
17572
17573 2009-09-12 Yves Blusseau <blusseau@zetam.org>
17574
17575 Change clean rules to properly remove files
17576
17577 * genmk.rb: add new clean rules
17578 * Makefile.in (clean): add the new targets
17579 (mostlyclean): likewise
17580
17581 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17582
17583 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17584 to grub_uint64_t.
17585 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17586 non-resident files.
17587
17588 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17589
17590 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17591 part of bug #27349.
17592
17593 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17594
17595 * util/grub-mkconfig.in: Make the created config mode 400 and
17596 print a warning if it fails.
17597
17598 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17599
17600 * util/grub.d/40_custom.in: Ask user to type custom entries below
17601 comment, rather than below 'exec tail' line.
17602
17603 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17604
17605 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17606 visible in grub.cfg.
17607
17608 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17609
17610 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17611 file.
17612
17613 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17614
17615 * docs/grub.cfg: Add an example menu entry for memtest86+.
17616
17617 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
17618
17619 * config.guess: Update to latest version from config git.
17620 * config.sub: Likewise.
17621
17622 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
17623
17624 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
17625 unknown-command case. Fixes bug #27320.
17626
17627 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
17628
17629 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
17630 `help' if the command exists.
17631
17632 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
17633
17634 * INSTALL: Require GCC 4.1.3 or later.
17635
17636 2009-09-06 Yves Blusseau <blusseau@zetam.org>
17637
17638 * Makefile.in (RMKFILES): add i386-qemu.rmk
17639 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
17640 $(srcdir)/stamp-h.in
17641
17642 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
17643
17644 * util/grub-probe.c (probe): Comment out buggy codepath, which
17645 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
17646 should be re-enabled after 1.97.
17647
17648 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
17649
17650 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
17651 find searches for.
17652
17653 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17654
17655 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
17656 unnecessary calls to grub_error.
17657
17658 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
17659
17660 * NEWS: Mention `keystatus' and Unicode fonts.
17661
17662 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
17663
17664 * configure.ac: Bump version to 1.97~beta2.
17665 * docs/version.texi: Likewise.
17666
17667 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
17668
17669 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
17670 containing unwind information in some cases where it previously did
17671 not. Use -fno-dwarf2-cfi-asm if available to restore the old
17672 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
17673 discussion.
17674
17675 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
17676
17677 Embedding loadenv module into grub-emu
17678
17679 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
17680 commands/loadenv.c
17681 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
17682 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
17683 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
17684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
17685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
17686 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
17687
17688 2009-09-03 Magnus Granberg <zorry@ume.nu>
17689
17690 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
17691 include -fPIE in the default specs.
17692 * configure.ac: Check if pie_possible is yes and add -fno-PIE
17693 to TARGET_CFLAGS.
17694
17695 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
17696
17697 * INSTALL: Note that GNU Bison 2.3 or later is required.
17698
17699 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
17700
17701 * kern/i386/pc/startup.S: Fix typo.
17702
17703 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
17706 according to GCS.
17707
17708 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17709
17710 * docs/grub.texi (Naming convention): Describe one-based partition
17711 numbering.
17712 (Device syntax): Likewise.
17713 (File name syntax): Likewise.
17714 (Block list syntax): Likewise.
17715 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
17716 menu.lst.
17717 (File name syntax): Likewise.
17718 (Command-line and menu entry commands): Document acpi, blocklist,
17719 crc, export, insmod, keystatus, ls, set, and unset commands.
17720
17721 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17722
17723 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
17724 to avoid implying that only one of --shift, --ctrl, or --alt may be
17725 used.
17726
17727 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17728
17729 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
17730 rather than comparing against S_IFREG, which will almost never work.
17731
17732 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
17735 (write_blocklists): Likewise.
17736
17737 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
17738
17739 * script/lua/grub_lua.h (fputs): Supply a format string as the first
17740 argument to grub_printf.
17741
17742 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
17743
17744 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
17745 non GNU test.
17746
17747 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * kern/file.c (grub_file_read): Spelling fix
17750
17751 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
17754 loading of headers in some cases.
17755
17756 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
17757
17758 * configure.ac: Bump version to 1.97~beta1.
17759 * docs/version.texi: Likewise.
17760
17761 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 * include/grub/i386/xnu.h: Add license header.
17764 include grub/err.h explicitly.
17765
17766 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17767
17768 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
17769 to `ufs' in the vfs.root.mountfrom kernel parameter.
17770
17771 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17772
17773 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
17774
17775 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
17776 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
17777
17778 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
17779 `ARRAY_SIZE' macro.
17780
17781 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * kern/file.c (grub_file_read): Check offset.
17784 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
17785 * fs/jfs.c (grub_jfs_read_file): Likewise.
17786 * fs/ntfs.c (grub_ntfs_read): Likewise.
17787 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
17788 * fs/minix.c (grub_minix_read_file): Correct offset check.
17789 * fs/ufs.c (grub_ufs_read_file): Likewise.
17790
17791 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17792
17793 * term/i386/pc/console.c (bios_data_area): Cast
17794 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
17795
17796 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 1-bit optimised blitters.
17799
17800 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
17801 prototype.
17802 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17803 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17804 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17805 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17806 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17807 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17808 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
17809 function.
17810 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17811 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17812 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17813 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17814 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17815 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17816 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
17817 when possible.
17818 * video/video.c (grub_video_get_blit_format): Return
17819 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
17820
17821 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17822
17823 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
17824 the first argument to grub_printf.
17825
17826 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17827 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
17828
17829 Add `getkeystatus' terminal method. Add a new `keystatus' command
17830 to query it.
17831
17832 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
17833 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
17834 modifier key bitmasks.
17835 (struct grub_term_input): Add `getkeystatus' member.
17836 (grub_getkeystatus): Add prototype.
17837 * kern/term.c (grub_getkeystatus): New function.
17838
17839 * include/grub/i386/pc/memory.h
17840 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
17841 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
17842 Data Area layout.
17843 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
17844 (grub_console_term_input): Set `getkeystatus' member.
17845 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
17846 constants.
17847 (grub_usb_keyboard_getreport): Likewise.
17848 (grub_usb_keyboard_checkkey): Likewise.
17849 (grub_usb_keyboard_getkeystatus): New function.
17850 (grub_usb_keyboard_term): Set `getkeystatus' member.
17851
17852 * commands/keystatus.c: New file.
17853 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
17854 (keystatus_mod_SOURCES): New variable.
17855 (keystatus_mod_CFLAGS): Likewise.
17856 (keystatus_mod_LDFLAGS): Likewise.
17857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
17858 commands/keystatus.c.
17859 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17861 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17863 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17864 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17865
17866 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17867
17868 Split befs.mod and afs.mod into *_be.mod and *.mod
17869
17870 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
17871 (grub_fstest_SOURCES): Likewise.
17872 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
17873 (afs_be_mod_SOURCES): New variable.
17874 (afs_be_mod_CFLAGS): Likewise.
17875 (afs_be_mod_LDFLAGS): Likewise.
17876 (befs_be_mod_SOURCES): Likewise.
17877 (befs_be_mod_CFLAGS): Likewise.
17878 (befs_be_mod_LDFLAGS): Likewise.
17879 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
17880 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17882 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17883 (grub_emu_SOURCES): Likewise.
17884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17885 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17886 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17887 * fs/afs_be.c: New file.
17888 * fs/befs_be.c: New file.
17889 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
17890 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
17891 (U16): Replaced with ...
17892 (grub_afs_to_cpu16): ...this. All users updated.
17893 (U32): Replaced with ...
17894 (grub_afs_to_cpu32): ...this. All users updated.
17895 (U64): Replaced with ...
17896 (grub_afs_to_cpu64): ...this. All users updated.
17897 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
17898 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
17899 (grub_afs_validate_sblock): Check only one endianness.
17900 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17901 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17902 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17903 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17904 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17905 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17906 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17907 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17908
17909 2009-08-26 Bean <bean123ch@gmail.com>
17910
17911 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
17912 64-bit number.
17913 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17914 (grub_xfs_inode_block): Change return type to grub_uint64_t.
17915 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
17916
17917 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17918
17919 NetBSD memory map support.
17920
17921 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
17922 (grub_netbsd_btinfo_mmap_header): New structure.
17923 (grub_netbsd_btinfo_mmap_entry): Likewise.
17924 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
17925
17926 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 Enable bsd.mod on coreboot.
17929
17930 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
17931 (bsd_mod_SOURCES): New variable.
17932 (bsd_mod_CFLAGS): Likewise.
17933 (bsd_mod_LDFLAGS): Likewise.
17934 (bsd_mod_ASFLAGS): Likewise.
17935 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
17936 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
17937
17938 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17939
17940 Cleanup NetBSD root support.
17941
17942 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
17943 grub_bsd_get_device.
17944 Fix typo.
17945
17946 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
17947
17948 * util/grub.d/00_header.in: Move check for the video backend of
17949 gfxterm from here ...
17950 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
17951 a suitable video backend.
17952
17953 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 Fix breakage in grub-setup.
17956
17957 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
17958 "msdos_partition_map".
17959
17960 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 Fix breakage in normal/auth.c.
17963
17964 * normal/auth.c (grub_iswordseparator): New function.
17965
17966 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 Authentication support.
17969
17970 * commands/password.c: New file.
17971 * conf/common.rmk (pkglib_MODULES): Add password.mod.
17972 (password_mod_SOURCES): New variable.
17973 (password_mod_CFLAGS): Likewise.
17974 (password_mod_LDFLAGS): Likewise.
17975 (normal_mod_SOURCES): Add normal/auth.c.
17976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
17977 normal/auth.c.
17978 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17979 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17980 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17982 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17983 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17984 * include/grub/auth.h: New file.
17985 * include/grub/err.h (grub_err_t): New enum value
17986 GRUB_ERR_ACCESS_DENIED.
17987 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
17988 'users'.
17989 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
17990 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
17991 users updated.
17992 * normal/auth.c: New file.
17993 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
17994 (grub_cmdline_run): Don't allow to go to command line without
17995 authentication.
17996 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
17997 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
17998 menuentry without superuser rights.
17999 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
18000 user isn't a superuser.
18001
18002 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18003
18004 Save space by inlining misc.c functions.
18005
18006 * kern/misc.c (grub_iswordseparator): Made static.
18007 * kern/misc.c (grub_strcat): Moved from here ...
18008 * include/grub/misc.h (grub_strcat): ... here. Inlined.
18009 * kern/misc.c (grub_strncat): Moved from here ...
18010 * include/grub/misc.h (grub_strncat): ... here. Inlined.
18011 * kern/misc.c (grub_strcasecmp): Moved from here ...
18012 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
18013 * kern/misc.c (grub_strncasecmp): Moved from here ...
18014 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
18015 * kern/misc.c (grub_isalpha): Moved from here ...
18016 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
18017 * kern/misc.c (grub_isdigit): Moved from here ...
18018 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
18019 * kern/misc.c (grub_isgraph): Moved from here ...
18020 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
18021 * kern/misc.c (grub_tolower): Moved from here ...
18022 * include/grub/misc.h (grub_tolower): ... here. Inlined.
18023
18024 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * script/sh/function.c (grub_script_function_find): Cut error message
18027 not to flood terminal.
18028 * script/sh/lexer.c (grub_script_yylex): Remove command line length
18029 limit.
18030 * script/sh/script.c (grub_script_arg_add): Duplicate string.
18031
18032 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
18033
18034 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
18035 `report' grub_uint8_t *.
18036 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
18037 Use a 50-millisecond timeout rather than just repeating
18038 grub_usb_keyboard_getreport 50 times.
18039 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
18040
18041 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 Rename *_partition_map to part_*
18044
18045 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
18046 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
18047 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
18048 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
18049 All users updated.
18050 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
18051 All users updated.
18052 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
18053 * util/grub-probe.c (probe_partmap): Don't transform partition name
18054 to get module name.
18055
18056 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Fix OpenBSD and NetBSD support.
18059
18060 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
18061 memory address conflict.
18062 (OPENBSD_MMAP_ACPI): New definition.
18063 (OPENBSD_MMAP_NVS): Likewise.
18064 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
18065 and OPENBSD_MMAP_NVS.
18066 Add memory map terminator
18067 Explicit cast when calling grub_unix_real_boot.
18068 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
18069
18070 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 Let user specify NetBSD root device.
18073
18074 * loader/i386/bsd.c (netbsd_root): New variable.
18075 (netbsd_opts): New option 'root'.
18076 (NETBSD_ROOT_ARG): New macro.
18077 (grub_netbsd_boot): Use 'netbsd_root'.
18078 (grub_bsd_unload): Free 'netbsd_root'.
18079 (grub_cmd_netbsd): Fill 'netbsd_root'.
18080
18081 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18082
18083 Support for 64-bit NetBSD.
18084
18085 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
18086 point when booting non-FreeBSD.
18087
18088 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 Support --no-smp and --no-acpi for NetBSD.
18091
18092 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
18093 (NETBSD_AB_NOACPI): Likewise.
18094 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
18095 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
18096
18097 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
18100 errors.
18101 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
18102 errors. Call grub_error when needed.
18103
18104 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 * commands/search.c (search_fs): Try searching without autoload first.
18107 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18108 filesystem module explicitly for faster booting.
18109
18110 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18111
18112 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
18113
18114 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18115
18116 * util/grub.d/30_os-prober.in: Disable os-prober if
18117 `GRUB_DISABLE_OS_PROBER' was set to true.
18118
18119 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
18120
18121 * partmap/pc.c: Rename to ...
18122 * partmap/msdos.c: ... this. Update all users.
18123 (grub_pc_partition_map): Rename to ...
18124 (grub_msdos_partition_map): ... this. Update all users.
18125
18126 * parttool/pcpart.c: Rename to ...
18127 * parttool/msdospart.c: ... this. Update all users.
18128
18129 * include/grub/pc_partition.h: Rename to ...
18130 * include/grub/msdos_partition.h: ... this. Update all users.
18131 (grub_pc_partition_bsd_entry): Rename to ...
18132 (grub_msdos_partition_bsd_entry): ... this. Update all users.
18133 (grub_pc_partition_disk_label): Rename to ...
18134 (grub_msdos_partition_disk_label): ... this. Update all users.
18135 (grub_pc_partition_entry): Rename to ...
18136 (grub_msdos_partition_entry): ... this. Update all users.
18137 (grub_pc_partition_mbr): Rename to ...
18138 (grub_msdos_partition_mbr): ... this. Update all users.
18139 (grub_pc_partition): Rename to ...
18140 (grub_msdos_partition): ... this. Update all users.
18141 (grub_pc_partition_is_empty): Rename to ...
18142 (grub_msdos_partition_is_empty): ... this. Update all users.
18143 (grub_pc_partition_is_extended): Rename to ...
18144 (grub_msdos_partition_is_extended): ... this. Update all users.
18145 (grub_pc_partition_is_bsd): Rename to ...
18146 (grub_msdos_partition_is_bsd): ... this. Update all users.
18147
18148 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
18149 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
18150 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
18151 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
18152 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
18153 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
18154 (gpt_mod_LDFLAGS): Rename to ...
18155 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
18156 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
18157 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
18158 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
18159 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
18160 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
18161 (part_gpt_mod_LDFLAGS): ... this.
18162 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
18163 `pcpart.mod' to `msdospart.mod'.
18164 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
18165 to ...
18166 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
18167 (msdospart_mod_LDFLAGS): ... this.
18168
18169 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18170
18171 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
18172 (openbsd_opts): Likewise.
18173 (netbsd_opts): Likewise.
18174 (freebsd_flags): Added 0 terminator.
18175 (openbsd_flags): Likewise.
18176 (netbsd_flags): Likewise.
18177 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
18178 (grub_cmd_freebsd): Transformed into extended command.
18179 (grub_cmd_openbsd): Likewise.
18180 (grub_cmd_netbsd): Likewise.
18181 (cmd_freebsd): Changed type to grub_extcmd_t.
18182 (cmd_openbsd): Likewise.
18183 (cmd_netbsd): Likewise.
18184 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
18185 grub_cmd_openbsd as extended commands.
18186 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
18187 cmd_netbsd and cmd_openbsd
18188
18189 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18190
18191 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
18192
18193 2009-08-21 Pavel Roskin <proski@gnu.org>
18194
18195 * Makefile.in (install-local): When checking if a file is in the
18196 build directory, use "test -e" to detect symlinks.
18197
18198 * Makefile.in (install-local): Remove all files in
18199 $(DESTDIR)$(pkglibdir) before installing new files there.
18200
18201 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18202
18203 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
18204 grub-mkelfimage.
18205
18206 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18207
18208 * util/grub-mkconfig.in: Don't use gfxterm by default if not
18209 explicitly specified by the user.
18210
18211 2009-08-18 Pavel Roskin <proski@gnu.org>
18212
18213 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
18214 grub_uint8_t pointer for data.
18215 * include/grub/fbutil.h (struct grub_video_fbblit_info):
18216 Likewise.
18217 * video/fb/fbutil.c: Remove unnecessary casts.
18218
18219 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18220
18221 VBE cleanup.
18222
18223 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
18224 (grub_vbe_set_video_mode): Save active mode info
18225 only after setting the mode.
18226 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
18227 second argument.
18228
18229 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18230
18231 Rename variables for clarity.
18232
18233 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
18234 (active_vbe_mode_info): ... this. All users updated.
18235 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
18236 All users updated.
18237 (initial_mode): Rename to ...
18238 (initial_vbe_mode): ... this. All users updated.
18239 (mode_in_use): Rename to ..
18240 (vbe_mode_in_use): ... this. All users updated.
18241 (mode_list): Rename to ..
18242 (vbe_mode_list): ... this. All users updated.
18243 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
18244 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
18245 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
18246 'mode_list_size' to 'vbe_mode_list_size'.
18247 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
18248 'best_mode_info' to 'best_vbe_mode_info' and
18249 'best_mode' to 'best_vbe_mode'
18250
18251 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18252
18253 Remove duplicate grub_video_fb_get_video_ptr.
18254
18255 * include/grub/fbutil.h (get_data_ptr): Rename to ...
18256 (grub_video_fb_get_video_ptr): ... this.
18257 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
18258 * video/fb/fbutil.c: Add comment about addressing.
18259 (get_data_ptr): Rename to ...
18260 (grub_video_fb_get_video_ptr): ... this. All users updated.
18261 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
18262
18263 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18264
18265 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
18266 grub_dprintf() that was just added.
18267
18268 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18269
18270 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
18271 (DEFAULT_VIDEO_MODE): Remove macros.
18272 (grub_linux_boot): Remove assumption that Linux has FB support,
18273 and use "text" as default video mode.
18274
18275 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
18278 grub_dprintf.
18279 * fs/fat.c (grub_fat_read_data): Likewise.
18280
18281 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
18284 payload.
18285 (grub_module): Likewise.
18286
18287 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
18290 mbi->cmdline but free playground.
18291
18292 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 Handle group offset on UFS1.
18295
18296 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
18297 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
18298
18299 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 Split ufs.mod into ufs1.mod and ufs2.mod.
18302
18303 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
18304 (grub_fstest_SOURCES): Likewise.
18305 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
18306 (ufs_mod_SOURCES): Remove.
18307 (ufs_mod_CFLAGS): Likewise.
18308 (ufs_mod_LDFLAGS): Likewise.
18309 (ufs1_mod_SOURCES): New variable.
18310 (ufs1_mod_CFLAGS): Likewise.
18311 (ufs1_mod_LDFLAGS): Likewise.
18312 (ufs2_mod_SOURCES): New variable.
18313 (ufs2_mod_CFLAGS): Likewise.
18314 (ufs2_mod_LDFLAGS): Likewise.
18315 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
18316 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18317 Likewise.
18318 (grub_emu_SOURCES): Likewise.
18319 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18320 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18321 (grub_setup_SOURCES): Likewise.
18322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18323 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
18324 (grub_setup_SOURCES): Likewise.
18325 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18326 Likewise.
18327 * fs/ufs2.c: New file.
18328 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
18329
18330 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 Framebuffer split.
18333
18334 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
18335 subsystem at the end.
18336 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
18337 (video_fb_mod_SOURCES): New variable.
18338 (video_fb_mod_CFLAGS): Likewise.
18339 (video_fb_mod_LDFLAGS): Likewise.
18340 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
18341 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
18342 * video/i386/pc/vbeblit.c: Moved from here ...
18343 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
18344 * video/i386/pc/vbefill.c: Moved from here ...
18345 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
18346 * video/i386/pc/vbeutil.c: Moved from here ...
18347 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
18348 * include/grub/i386/pc/vbeblit.h: Moved from here ...
18349 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
18350 * include/grub/i386/pc/vbefill.h: Moved from here ...
18351 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
18352 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18353 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18354 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18355 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18356 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18357 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18358 (grub_video_adapter): Added 'get_info_and_fini'.
18359 (grub_video_get_info_and_fini): New prototype.
18360 (grub_video_set_mode): make modestring const char *.
18361 * loader/i386/linux.c (grub_linux_setup_video): Use
18362 grub_video_get_info_and_fini.
18363 (grub_linux_boot): Move modesetting just before booting.
18364 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18365 grub_video_get_info_and_fini.
18366 * video/i386/pc/vbe.c: Moved framebuffer part ...
18367 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18368 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18369 grub_video_fbstd_colors and grub_video_fb_set_palette.
18370 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18371 grub_video_fb_init.
18372 (grub_video_vbe_fini): Use grub_video_fb_fini.
18373 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18374 render_target and use grub_video_fb_set_active_render_target and
18375 grub_video_fb_set_palette.
18376 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18377 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18378 (grub_video_vbe_adapter): Use framebuffer.
18379 * video/video.c (grub_video_get_info_and_fini): New function.
18380 (grub_video_set_mode): Make modestring const char *.
18381 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18382 values are already initialised.
18383
18384 2009-08-14 Pavel Roskin <proski@gnu.org>
18385
18386 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18387 ABS and APPLE_CC.
18388 * boot/i386/pc/diskboot.S: Likewise.
18389 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18390 sectors allow compilation on MacOSX.
18391 * conf/i386-pc.rmk: Enable unconditional compilation of
18392 lnxboot.img.
18393
18394 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
18395
18396 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18397 * util/grub.d/00_header.in: Enter interruptible sleep if
18398 GRUB_HIDDEN_TIMEOUT is set.
18399
18400 2009-08-13 Yves Blusseau <blusseau@zetam.org>
18401
18402 * include/grub/symbol.h: Add the LOCAL macro.
18403 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18404 starting with "L_".
18405
18406 2009-08-13 Pavel Roskin <proski@gnu.org>
18407
18408 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18409 any modern compilers we support.
18410
18411 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18412 Use local labels starting with "L_" so that Apple assembler
18413 knows they are local.
18414
18415 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18416
18417 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18418 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18419 (bsd_kernel_types): ... this enum.
18420
18421 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18422 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18423 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18424
18425 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18426 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18427 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18428 messages.
18429
18430 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18431
18432 * util/grub-dumpdevtree: Moved from here ...
18433 * util/i386/efi/grub-dumpdevtree: ... to here.
18434 (hexify): New function. Converts a string to its hex version.
18435 Generate hex versions of "efi" and "device-properties" by calling
18436 hexify() on the ASCII strings rather than by hardcoding numbers.
18437
18438 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18439
18440 * fs/jfs.c: Update copyright year.
18441
18442 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18443
18444 * util/grub.d/00_header.in: Fix a comment.
18445 * util/grub.d/10_linux.in: Likewise.
18446 * util/grub.d/10_windows.in: Likewise.
18447 * util/grub.d/10_hurd.in: Likewise.
18448
18449 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18450
18451 * util/grub-mkconfig.in: Allow the user to specify the used font
18452 with GRUB_FONT.
18453
18454 2009-08-08 Pavel Roskin <proski@gnu.org>
18455
18456 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18457 available, xfs.mod needs it now.
18458
18459 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18460 the "g" modifier in sed when the intention is to strip something
18461 once. This fixes comparison of kernels with multiple dashes.
18462
18463 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18464 on it. Add missing space before closing bracket. Fix
18465 misleading formatting.
18466
18467 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18468
18469 * docs/grub.texi: Major overhaul. Remove all sections that are
18470 specific to GRUB Legacy, or mostly composed of Legacy-specific
18471 information.
18472
18473 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18474
18475 * docs/version.texi: New file. Provides version information for
18476 grub.texi.
18477
18478 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18479
18480 * docs/grub.texi: Update CVS information to SVN.
18481 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18482
18483 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18484
18485 * util/grub-mkconfig.in: Remove a wrong `fi'.
18486
18487 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18488
18489 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18490 (grub_jfs_uuid): New function.
18491 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18492
18493 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18494
18495 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18496 of it to ...
18497 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18498 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18499
18500 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18501
18502 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18503 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18504 Update all users.
18505
18506 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18507 not just "vmlinu[zx]".
18508 Moved from here ...
18509 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18510 all users.
18511
18512 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18513 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18514 all users.
18515
18516 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18517
18518 * util/grub.d/10_freebsd.in: Use an absolute device path for
18519 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18520
18521 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
18522
18523 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18524 handling of multiple abstraction modules.
18525
18526 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18527
18528 Fix a bug resulting in black screen when loading Linux using a
18529 packed video mode.
18530
18531 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18532 function.
18533
18534 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18535 (grub_vbe_bios_getset_dac_palette_width): New function.
18536 (grub_vbe_bios_get_dac_palette_width)
18537 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18538 grub_vbe_bios_getset_dac_palette_width()).
18539
18540 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18541 check for return status.
18542 (grub_vbe_get_video_mode_info): When getting information for a packed
18543 mode (<= 8 bpp), obtain DAC palette width using
18544 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18545 {red,green,blue}_mark_size.
18546
18547 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
18548
18549 * commands/search.c (options): Fix help output to match actual code.
18550
18551 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18554 of homegrown code.
18555
18556 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18559 on XFS or ReiserFS.
18560
18561 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 Support Apple partition map with sector size different from 512 bytes.
18564
18565 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18566 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18567 and 'apart.partmap_size'.
18568
18569 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18570 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18571
18572 Fix cpuid command.
18573
18574 * commands/i386/cpuid.c (options): New variable.
18575 (grub_cmd_cpuid): Return real error.
18576 (GRUB_MOD_INIT(cpuid)): Declare options.
18577
18578 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18579
18580 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18581 valid.
18582
18583 2009-07-31 Bean <bean123ch@gmail.com>
18584
18585 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18586 log2_inode.
18587 (grub_fshelp_node): Move inode field to the end.
18588 (grub_xfs_data): Remove inode field.
18589 (grub_xfs_inode_block): Calculate inode size using sblock.
18590 (grub_xfs_inode_offset): Likewise.
18591 (grub_xfs_read_inode): Calculate inode size using sblock.
18592 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18593 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18594 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18595 to match inode size.
18596 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18597 not accessible when data is null.
18598 (grub_xfs_open): Likewise.
18599
18600 2009-07-31 Bean <bean123ch@gmail.com>
18601
18602 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18603 Don't change pv->disk if it's already set.
18604
18605 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18606 (grub_raid_register): ... here.
18607 (grub_raid_rescan): Removed.
18608
18609 * include/grub/raid.h (grub_raid_rescan): Removed.
18610
18611 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18612 (fstest): Replace grub_raid_rescan with module fini function followed
18613 by init function.
18614
18615 * util/grub-probe.c: Add include file <grub/raid.h>.
18616 (probe_raid_level): New function.
18617 (probe): Detect abstraction by walking the disk device, support two
18618 level of abstraction (LVM on RAID) when detecting partition map.
18619
18620 2009-07-31 Pavel Roskin <proski@gnu.org>
18621
18622 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
18623 to grub_zalloc(), it was erroneous.
18624 Reported by Bean <bean123ch@gmail.com>
18625
18626 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
18627
18628 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
18629 embedding zone, not only the first one.
18630
18631 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
18632
18633 * term/gfxterm.c (clear_char): New function.
18634 (grub_virtual_screen_setup): Use clear_char.
18635 (scroll_up): Likewise.
18636 (grub_virtual_screen_cls): Likewise.
18637
18638 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
18639
18640 * util/deviceiter.c (get_acceleraid_disk_name): New static
18641 function.
18642 (grub_util_iterate_devices): Handle Accelraid devices.
18643 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
18644
18645 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
18646
18647 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
18648 separator for the suggested gfxpayload string (';' collides with the
18649 parser and needs escaping).
18650
18651 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
18654 Clear direction flag before jumping to OS.
18655 (grub_multiboot2_real_boot): Likewise.
18656
18657 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
18658
18659 * util/i386/pc/grub-install: Fix parsing of --disk-module
18660 option.
18661
18662 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
18663
18664 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
18665 when embedding.
18666
18667 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
18668
18669 * util/grub-mkconfig.in (package_version): New variable.
18670 Use it do display the version.
18671
18672 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
18673
18674 * kern/file.c (grub_file_open): Revert to previous check with
18675 grub_errno.
18676
18677 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
18680 from help line. It's out of sync with code.
18681
18682 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
18685 entries on failed boot.
18686
18687 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
18688
18689 * kern/file.c (grub_file_open): Fix an error check.
18690
18691 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
18694 partition map couldn't be identified.
18695
18696 2009-07-23 Pavel Roskin <proski@gnu.org>
18697
18698 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
18699 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
18700 case of little endian words becomes just an optimization.
18701 Respect const modifier.
18702 (md5_final): Use code that doesn't depend on endianness.
18703
18704 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
18705 to avoid loss of upper bits if align is unsigned and shorter
18706 than addr.
18707
18708 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 UUID support for UFS
18711
18712 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
18713 (grub_ufs_uuid): New function.
18714 (grub_ufs_fs): add .uuid
18715
18716 2009-07-21 Pavel Roskin <proski@gnu.org>
18717
18718 * kern/dl.c (grub_dl_check_header): Make static.
18719
18720 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
18721
18722 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
18723 add drivemap for Vista. It breaks Windows 7.
18724
18725 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18726
18727 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
18728 128 bytes
18729
18730 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18731
18732 Add BFS support
18733
18734 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
18735 (grub_fstest_SOURCES): Likewise.
18736 (pkglib_MODULES): Add befs.mod.
18737 (befs_mod_SOURCES): New variable.
18738 (befs_mod_CFLAGS): Likewise.
18739 (befs_mod_LDFLAGS): Likewise.
18740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18741 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18743 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18744 (grub_setup_SOURCES): Likewise.
18745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18747 (grub_setup_SOURCES): Likewise.
18748 * fs/befs.c: New file.
18749 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
18750 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
18751 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
18752 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
18753 (B_KEY_INDEX_ALIGN): New declaration.
18754 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
18755 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
18756 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
18757 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
18758 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
18759 (grub_afs_mount) [MODE_BFS]: Likewise.
18760 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
18761 (grub_afs_fs): Use GRUB_AFS_FSNAME
18762 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
18763 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
18764 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
18765 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
18766
18767 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
18768
18769 * util/getroot.c (find_root_device): Add support for MacOSX.
18770 * util/hostdisk.c: Likewise.
18771
18772 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * font/font.c (find_glyph): Check whether a font is present to avoid
18775 segmentation fault.
18776
18777 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
18778
18779 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
18780
18781 2009-07-20 Pavel Roskin <proski@gnu.org>
18782
18783 * configure.ac: Trim excessively wordy excuses.
18784
18785 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 Add symlink, mtime and label support to AtheFS.
18788
18789 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
18790 (grub_afs_iterate_dir): Handle symlinks.
18791 (grub_afs_open): Use grub_afs_read_symlink.
18792 (grub_afs_dir): Likewise.
18793 Pass mtime.
18794 (grub_afs_label): New function.
18795 (grub_afs_fs): Add grub_afs_label.
18796 (grub_afs_read_symlink): New function.
18797
18798 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 Fix AtheFS support.
18801
18802 * fs/afs.c: Fix comments style.
18803 (grub_afs_blockrun): Declare as packed.
18804 (grub_afs_datastream): Likewise.
18805 (grub_afs_bnode): Likewise.
18806 (grub_afs_btree): Likewise.
18807 (grub_afs_sblock): Likewise.
18808 Declare `name' as char.
18809 (grub_afs_inode): Declare as packed.
18810 Change void *vnode to grub_uint32_t unused.
18811 (grub_afs_iterate_dir): Check that key_size is positive.
18812 (grub_afs_mount): Don't read superblock twice.
18813 (grub_afs_dir): Don't free node in case of error,
18814 grub_fshelp_find_file already handles this.
18815 (grub_afs_open): Likewise.
18816
18817 2009-07-19 Pavel Roskin <proski@gnu.org>
18818
18819 * Makefile.in: Remove LIBLZO and enable_lzo.
18820 * conf/i386-pc.rmk: Remove lzo support.
18821 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
18822 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
18823 support.
18824 * kern/i386/pc/lzo1x.S: Remove.
18825 * kern/i386/pc/startup.S: Remove lzo support.
18826 * util/i386/pc/grub-mkimage.c: Likewise.
18827
18828 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
18831 * fs/xfs.c (grub_xfs_dir): Likewise.
18832 * fs/afs.c (grub_afs_dir): Likewise.
18833 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
18834 (grub_iso9660_open): Likewise.
18835 * fs/jfs.c (grub_jfs_open): Likewise.
18836 * fs/ext2.c (grub_ext2_dir): Likewise.
18837 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
18838 * script/sh/lexer.c (grub_script_yylex): Likewise.
18839
18840 2009-07-16 Pavel Roskin <proski@gnu.org>
18841
18842 * configure.ac: Never add "-c" to CFLAGS.
18843
18844 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
18845
18846 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
18847 grub_cv_cc_efiemu should be used.
18848
18849 * configure.ac: Typo fixes.
18850
18851 * kern/mm.c (grub_zalloc): New function.
18852 (grub_debug_zalloc): Likewise.
18853 * include/grub/mm.h: Declare grub_zalloc() and
18854 grub_debug_zalloc().
18855 * util/misc.c (grub_zalloc): New function.
18856 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
18857 instead of grub_malloc(), remove unneeded initializations.
18858 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
18859 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
18860 * commands/parttool.c (grub_cmd_parttool): Likewise.
18861 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18862 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
18863 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
18864 * disk/usbms.c (grub_usbms_finddevs): Likewise.
18865 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
18866 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
18867 (grub_cmd_efiemu_pnvram): Likewise.
18868 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
18869 * fs/iso9660.c (grub_iso9660_mount): Likewise.
18870 (grub_iso9660_iterate_dir): Likewise.
18871 * fs/jfs.c (grub_jfs_opendir): Likewise.
18872 * fs/ntfs.c (list_file): Likewise.
18873 (grub_ntfs_mount): Likewise.
18874 * kern/disk.c (grub_disk_open): Likewise.
18875 * kern/dl.c (grub_dl_load_core): Likewise.
18876 * kern/elf.c (grub_elf_file): Likewise.
18877 * kern/env.c (grub_env_context_open): Likewise.
18878 (grub_env_set): Likewise.
18879 (grub_env_set_data_slot): Likewise.
18880 * kern/file.c (grub_file_open): Likewise.
18881 * kern/fs.c (grub_fs_blocklist_open): Likewise.
18882 * loader/i386/multiboot.c (grub_module): Likewise.
18883 * loader/xnu.c (grub_xnu_create_key): Likewise.
18884 (grub_xnu_create_value): Likewise.
18885 * normal/main.c (grub_normal_add_menu_entry): Likewise.
18886 (read_config_file): Likewise.
18887 * normal/menu_entry.c (make_screen): Likewise.
18888 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18889 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
18890 * script/sh/script.c (grub_script_parse): Likewise.
18891 * video/bitmap.c (grub_video_bitmap_create): Likewise.
18892 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18893 * video/readers/png.c (grub_png_output_byte): Likewise.
18894 (grub_video_reader_png): Likewise.
18895
18896 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18897
18898 Enable all targets that can be built by default
18899
18900 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
18901 grub-mkfont and grub-fstest if they can be built
18902
18903 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 Fix hang and segmentation fault in grub-emu-usb
18906
18907 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
18908 * util/usb.c (grub_libusb_devices): likewise
18909 (grub_libusb_init): rename to ...
18910 (GRUB_MOD_INIT (libusb)):...this
18911 (grub_libusb_fini): rename to ..
18912 (GRUB_MOD_FINI (libusb)):...this
18913 * disk/usbms.c (grub_usbms_transfer): fix retry logic
18914 * include/grub/disk.h (grub_raid_init): removed, it's useless
18915 (grub_raid_fini): likewise
18916 (grub_lvm_init): likewise
18917 (grub_lvm_fini): likewise
18918 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
18919 by grub_init_all
18920
18921 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 Fix libusb
18924
18925 * Makefile.in (LIBUSB): new macro
18926 * genmk.rb (Utility/print_tail): new method
18927 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
18928 (top level): call util.print_tail at the end.
18929
18930 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 Make FreeBSD accept zpool.cache
18933
18934 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
18935 type is /boot/zfs/zpool.cache
18936
18937 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 Fix 64-bit efiemu
18940
18941 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
18942 correct wrong typedef
18943 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
18944
18945 2009-07-15 Pavel Roskin <proski@gnu.org>
18946
18947 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
18948 * kern/disk.c (struct grub_disk_cache): Likewise.
18949
18950 * commands/probe.c (options): Typo fix.
18951
18952 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
18953 Increase to 0x5a to accommodate FAT32. Adjust other offsets
18954 accordingly.
18955 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
18956
18957 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
18958 the end of "Error" to make the message more readable.
18959
18960 * boot/i386/pc/boot.S (kernel_segment): Remove.
18961 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
18962 for destination.
18963
18964 * boot/i386/pc/boot.S (boot_version): Remove.
18965 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
18966 Remove.
18967
18968 * include/grub/i386/pc/boot.h: Sort all offsets.
18969 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
18970 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
18971 * boot/i386/pc/boot.S: Assert location of every offset listed in
18972 include/grub/i386/pc/boot.h.
18973
18974 2009-07-13 Pavel Roskin <proski@gnu.org>
18975
18976 * include/grub/i386/coreboot/machine.h: Rename
18977 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
18978 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
18979 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
18980
18981 * kern/dl.c: Force native word size to suppress warnings when
18982 compiling grub-emu.
18983
18984 * kern/device.c (grub_device_iterate): Change struct part_ent to
18985 hold the name, not a pointer to it. Use one grub_malloc() per
18986 partition, not two. Free partition_name if grub_malloc() fails.
18987 Set ents to NULL only before grub_partition_iterate() is called.
18988
18989 2009-07-11 Bean <bean123ch@gmail.com>
18990
18991 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
18992 childname.
18993
18994 2009-07-10 Bean <bean123ch@gmail.com>
18995 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
18996
18997 * kern/ieee1275/openfw.c (grub_children_iterate)
18998 (grub_devalias_iterate): Fix size evaluation for property or path
18999 strings, which was broken since r2132.
19000
19001 2009-07-07 Pavel Roskin <proski@gnu.org>
19002
19003 * commands/search.c (search_file): Merge into ...
19004 (search_fs): ... this. Accept search type as argument.
19005 (grub_cmd_search): Pass search type to search_fs().
19006
19007 * include/grub/util/console.h: New file.
19008 * util/console.c: Use it instead of grub/machine/console.h.
19009 * util/grub-emu.c: Likewise.
19010
19011 * lib/arg.c (find_long_option): Remove.
19012 (find_long): Add `len' argument, make `s' const char *.
19013 (grub_arg_parse): Parse long options in place, not in a
19014 temporary buffer.
19015
19016 2009-07-06 Pavel Roskin <proski@gnu.org>
19017
19018 * commands/search.c (search_fs): Fix potential NULL pointer
19019 dereference.
19020
19021 * commands/search.c (search_fs): Replace QUID macro with quid_fn
19022 function pointer.
19023
19024 2009-07-06 Daniel Mierswa <impulze@impulze.org>
19025
19026 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
19027 comparison.
19028
19029 2009-07-05 Pavel Roskin <proski@gnu.org>
19030
19031 * include/grub/i386/linux.h (struct linux_kernel_params):
19032 Restore padding3, it's still needed.
19033
19034 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
19035 FreeBSD.
19036 * util/osdetect.lua: Likewise.
19037
19038 2009-07-05 Bean <bean123ch@gmail.com>
19039
19040 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
19041
19042 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
19043 (grub_lua_getenv): Likewise.
19044 (grub_lua_setenv): Likewise.
19045 (save_errno): New function.
19046 (push_result): Likewise.
19047 (grub_lua_enum_device): Likewise.
19048 (grub_lua_enum_file): Likewise.
19049 (grub_lua_file_open): Likewise.
19050 (grub_lua_file_close): Likewise.
19051 (grub_lua_file_seek): Likewise.
19052 (grub_lua_file_read): Likewise.
19053 (grub_lua_file_getline): Likewise.
19054 (grub_lua_file_getsize): Likewise.
19055 (grub_lua_file_getpos): Likewise.
19056 (grub_lua_file_eof): Likewise.
19057 (grub_lua_file_exist): Likewise.
19058 (grub_lua_add_menu): Likewise.
19059
19060 * script/lua/grub_lua.h (isupper): New inline function.
19061 (islower): Likewise.
19062 (ispunct): Likewise.
19063 (isxdigit): Likewise.
19064 (strcspn): Change to normal function.
19065 (strpbkr): New function declaration.
19066 (memchr): Likewise.
19067
19068 * script/lua/grub_main.c (scan_str): New function.
19069 (strcspn): Likewise.
19070 (strpbrk): Likewise.
19071 (memchr): Likewise.
19072
19073 * script/lua/linit.c (lualibs): Enable the string library.
19074
19075 * util/osdetect.lua: New file.
19076
19077 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
19078
19079 * include/grub/i386/linux.h (struct linux_kernel_params): Add
19080 `capabilities' member.
19081
19082 2009-07-02 Pavel Roskin <proski@gnu.org>
19083
19084 * genparttoollist.sh: Add missing newline at the end.
19085
19086 2009-07-01 Pavel Roskin <proski@gnu.org>
19087
19088 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
19089
19090 * util/hostdisk.c (open_device): Remove `const' from
19091 `sysctl_size', as sysctlbyname() can change it (in this case it
19092 doesn't actually happen).
19093
19094 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
19095 using signed long int constants.
19096
19097 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
19098 constant to avoid a warning on FreeBSD.
19099
19100 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
19101 where it's needed.
19102
19103 * Makefile.in: Install include/grub/machine symlink.
19104
19105 * Makefile.in: When installing symlinks, use "cp -fR", which
19106 works on FreeBSD and MacOSX.
19107 From Yves Blusseau <cl7m42e02@sneakemail.com>
19108
19109 * kern/dl.c (grub_dl_resolve_symbol): Make static.
19110 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
19111
19112 * util/misc.c: Move grub_reboot() and grub_halt() ...
19113 * util/grub-emu.c: ... here. Make main_env static.
19114 * include/grub/util/misc.h: Remove main_env.
19115
19116 * kern/mm.c: Use correct format to print size_t.
19117
19118 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
19119 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
19120 * kern/powerpc/dl.c: Likewise.
19121 * kern/sparc64/dl.c: Likewise.
19122 * kern/x86_64/dl.c: Likewise.
19123
19124 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19125
19126 Fix grub-emu build on sparc64-ieee1275.
19127
19128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
19129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
19130
19131 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19132
19133 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
19134 (grub_reboot, grub_halt): New functions.
19135
19136 * util/i386/pc/misc.c: Delete. Update all users.
19137 * util/sparc64/ieee1275/misc.c: Likewise.
19138 * util/powerpc/ieee1275/misc.c: Likewise.
19139
19140 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19141
19142 * conf/i386.rmk (setjmp_mod_SOURCES)
19143 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
19144 * conf/common.rmk (setjmp_mod_SOURCES)
19145 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
19146 to use $(target_cpu).
19147 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
19148 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
19149 * conf/powerpc-ieee1275.rmk: Likewise.
19150 * conf/sparc64-ieee1275.rmk: Likewise.
19151
19152 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
19153 $(target_cpu) for kern/$(target_cpu)/dl.c.
19154 * conf/i386-efi.rmk: Likewise.
19155 * conf/i386-ieee1275.rmk: Likewise.
19156 * conf/x86_64-efi.rmk: Likewise.
19157 * conf/i386-coreboot.rmk: Likewise.
19158 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
19159 $(target_cpu) for kern/$(target_cpu)/dl.c and for
19160 kern/$(target_cpu)/cache.S.
19161 * conf/sparc64-ieee1275.rmk: Likewise.
19162
19163 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19164
19165 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
19166 type to `grub_uint8_t', and adjust `padding9' accordingly.
19167
19168 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19169
19170 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
19171
19172 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
19173 assembly in final jump, using register constraints.
19174
19175 (grub_linux_boot): For text mode, initialize `have_vga' using
19176 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
19177
19178 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
19179 right before the final jump.
19180
19181 Set `video_mode' to 0x3.
19182
19183 Document initialization of `video_page', `video_mode' and
19184 `video_ega_bx'.
19185
19186 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19187
19188 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
19189 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
19190 and set GRUB_LINUX_FLAG_QUIET appropriately.
19191
19192 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19193
19194 Fix build on Debian / sparc.
19195
19196 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
19197
19198 2009-06-28 Pavel Roskin <proski@gnu.org>
19199
19200 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
19201 fix a warning.
19202
19203 * util/grub.d/10_linux.in: Match SUSE style initrd names.
19204
19205 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19206
19207 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
19208 `err'.
19209
19210 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19211
19212 Revert r2338.
19213
19214 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
19215 file can't be opened. grub_file_open() is already supposed to set
19216 grub_errno / grub_errmsg appropriately.
19217 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19218
19219 2009-06-27 Pavel Roskin <proski@gnu.org>
19220 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19221
19222 * include/grub/dl.h: Include grub/elf.h.
19223 (struct grub_dl): Add symtab field.
19224 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
19225 GRUB_MODULES_MACHINE_READONLY.
19226 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
19227 of the header for read-only modules.
19228 (grub_dl_unload): Free mod->symtab for read-only modules.
19229 * kern/i386/dl.c: Use mod->symtab.
19230 * kern/powerpc/dl.c: Likewise.
19231 * kern/sparc64/dl.c: Likewise.
19232 * kern/x86_64/dl.c: Likewise.
19233
19234 * conf/i386-qemu.rmk: New file.
19235 * kern/i386/qemu/startup.S: Likewise.
19236 * kern/i386/qemu/mmap.c: Likewise.
19237 * boot/i386/qemu/boot.S: Likewise.
19238 * include/grub/i386/qemu/time.h: Likewise.
19239 * include/grub/i386/qemu/serial.h: Likewise.
19240 * include/grub/i386/qemu/kernel.h: Likewise.
19241 * include/grub/i386/qemu/console.h: Likewise.
19242 * include/grub/i386/qemu/boot.h: Likewise.
19243 * include/grub/i386/qemu/init.h: Likewise.
19244 * include/grub/i386/qemu/machine.h: Likewise.
19245 * include/grub/i386/qemu/loader.h: Likewise.
19246 * include/grub/i386/qemu/memory.h: Likewise.
19247
19248 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
19249 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
19250 [qemu] (pkglib_IMAGES): Add `boot.img'.
19251 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
19252 [qemu] (boot_img_FORMAT): New variables.
19253 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
19254 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
19255 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
19256 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19257 [qemu] (kernel_img_FORMAT): New variables.
19258
19259 * configure.ac: Recognise `i386-qemu'.
19260
19261 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
19262 (for no compression).
19263 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
19264 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
19265 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
19266 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
19267 ifdefs).
19268
19269 2009-06-27 Pavel Roskin <proski@gnu.org>
19270
19271 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
19272 read.
19273 * efiemu/prepare32.c: Likewise.
19274 * efiemu/prepare64.c: Likewise.
19275
19276 2009-06-26 Pavel Roskin <proski@gnu.org>
19277
19278 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
19279 * include/grub/elf.h: Define symbols without "32" or "64" based
19280 on GRUB_TARGET_WORDSIZE.
19281 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
19282 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
19283 ELF definitions.
19284 * efiemu/loadcore64.c: Likewise.
19285 * loader/i386/bsd32.c: Likewise.
19286 * loader/i386/bsd64.c: Likewise.
19287 * kern/dl.c: Remove own ELF definitions.
19288 * util/i386/efi/grub-mkimage.c: Likewise.
19289
19290 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
19291
19292 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
19293 segment 0x0 unconditionally, because the reference generated by
19294 GAS is an absolute address.
19295
19296 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19297
19298 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
19299 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
19300
19301 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19302
19303 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
19304 indexes. Check for -f explicitly.
19305 (search_file): Improve error message.
19306 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
19307
19308 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19309
19310 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
19311 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
19312
19313 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19314
19315 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
19316 * conf/i386-ieee1275.rmk: Likewise.
19317 * conf/i386-coreboot.rmk: Likewise.
19318
19319 * kern/i386/pc/startup.S (grub_stop): Remove function.
19320 * kern/i386/ieee1275/startup.S: Likewise.
19321 * kern/i386/coreboot/startup.S: Likewise.
19322 * kern/i386/misc.S (grub_stop): New function.
19323
19324 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19325
19326 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
19327 * kern/i386/realmode.S (real_to_prot): ... to here.
19328
19329 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19330
19331 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
19332 with `kernel.img'.
19333 (kernel_elf_SOURCES): Rename to ...
19334 (kernel_img_SOURCES): ... this.
19335 (kernel_elf_HEADERS): Rename to ...
19336 (kernel_img_HEADERS): ... this. Update all users.
19337 (kernel_elf_ASFLAGS): Rename to ...
19338 (kernel_img_ASFLAGS): ... this.
19339 (kernel_elf_CFLAGS): Rename to ...
19340 (kernel_img_CFLAGS): ... this.
19341 (kernel_elf_LDFLAGS): Rename to ...
19342 (kernel_img_LDFLAGS): ... this.
19343 * conf/i386-coreboot.rmk: Likewise.
19344 * conf/powerpc-ieee1275.rmk: Likewise.
19345
19346 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
19347 with "kernel.img".
19348
19349 2009-06-21 Pavel Roskin <proski@gnu.org>
19350
19351 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
19352 to match nested functions.
19353 * loader/sparc64/ieee1275/linux.c: Likewise.
19354
19355 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19356
19357 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19358
19359 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19360 all i386 platforms.
19361
19362 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19363
19364 Fix asm file handling on ELF, and remove workarounds.
19365
19366 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
19367 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
19368 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19369 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19370
19371 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19372
19373 Load BSD ELF modules
19374
19375 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19376 and loader/i386/bsd64.c
19377 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19378 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19379 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19380 (grub_freebsd_load_elfmodule32): New declaration
19381 (grub_freebsd_load_elfmoduleobj64): Likewise
19382 (grub_freebsd_load_elf_meta32): Likewise
19383 (grub_freebsd_load_elf_meta64): Likewise
19384 (grub_freebsd_add_meta): Likewise
19385 (grub_freebsd_add_meta_module): Likewise
19386 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19387 (grub_freebsd_add_meta_module): Likewise and move module-specific
19388 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19389 (grub_cmd_freebsd): Add elf-kernel specific parts
19390 based on grub_freebsd_add_meta_module
19391 (grub_cmd_freebsd_module): Add type parsing moved from
19392 grub_freebsd_add_meta_module
19393 (grub_cmd_freebsd_module_elf): New function
19394 (cmd_freebsd_module_elf): New variable
19395 (GRUB_MOD_INIT): Register freebsd_module_elf
19396 * loader/i386/bsd32.c: New file
19397 * loader/i386/bsd64.c: Likewise
19398 * loader/i386/bsdXX.c: Likewise
19399 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19400 (grub_elf64_load): Likewise
19401 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19402 All users updated
19403 (grub_elf64_load_hook_t): Likewise
19404
19405 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
19406
19407 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19408 variable.
19409 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19410 don't write a menu entry for recovery mode.
19411
19412 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19413
19414 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19415 after it's no longer needed.
19416
19417 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19418
19419 * include/grub/i386/loader.h (grub_linux_prot_size)
19420 (grub_linux_tmp_addr, grub_linux_real_addr)
19421 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19422 GRUB_MACHINE_PCBIOS.
19423 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19424 common grub_util_info() call to ...
19425 (generate_image): ... here.
19426 Fix use of uninitialized memory, comparison of signed with
19427 unsigned integers and memory leak.
19428 Remove bogus module address message.
19429
19430 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19433 grub_raid_register
19434 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19435
19436 2009-06-19 Pavel Roskin <proski@gnu.org>
19437
19438 * configure.ac: Remove stray AC_MSG_CHECKING.
19439
19440 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * disk/scsi.c (grub_scsi_open): use continue instead of big if
19443
19444 2009-06-18 Pavel Roskin <proski@gnu.org>
19445
19446 * conf/common.rmk: Add fs_file.mod.
19447 * disk/fs_file.c: New file.
19448 * include/grub/disk.h (enum grub_disk_dev_id): Add
19449 GRUB_DISK_DEVICE_FILE_ID.
19450
19451 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19452
19453 Fix build with Apple's toolchain. Part 2
19454
19455 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19456 a fake start
19457
19458 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 Fix build with Apple's toolchain. Part 1
19461
19462 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19463 for long calls
19464 * configure.ac: remove a leftover AC_MSG_RESULT
19465 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
19466 Apple's toolchain
19467
19468 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 Fix warnings
19471
19472 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19473 (decomp_block): initialize ch
19474 use grub_memcpy instead of memcpy
19475
19476 2009-06-17 Pavel Roskin <proski@gnu.org>
19477
19478 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19479 version, use declarations needed to use vga_text as the startup
19480 console.
19481
19482 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19483 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19484 the kernel.
19485 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19486 and grub_at_keyboard_fini(), it's done on module load and
19487 unload.
19488
19489 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
19490
19491 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19492 file can't be found.
19493 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19494
19495 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19496
19497 Fix newline handling
19498
19499 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
19500 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
19501 (grub_script_yylex): don't segfault on unterminated script
19502 newline terminates command and variable
19503
19504 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19505
19506 avoid double grub_adjust_range call. Bug reported by David Simner
19507
19508 * kern/disk.c (grub_disk_write): change to raw disk access before
19509 calling disk_read
19510
19511 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
19512
19513 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19514 spaces, for the benefit of help2man.
19515 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19516
19517 2009-06-16 Pavel Roskin <proski@gnu.org>
19518
19519 * kern/i386/halt.c: Include grub/machine/init.h.
19520 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19521
19522 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
19523
19524 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19525 drivemap menuentry.
19526
19527 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19528
19529 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19530 `echo' command.
19531
19532 2009-06-16 Pavel Roskin <proski@gnu.org>
19533
19534 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19535 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19536 save %dx, we only need %dl and we never change it.
19537 * boot/i386/pc/cdboot.S: Don't set the root drive.
19538 * boot/i386/pc/pxeboot.S: Likewise.
19539 * include/grub/i386/pc/boot.h: Remove
19540 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19541 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19542 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19543 * kern/i386/pc/init.c (make_install_device): Remove references
19544 to grub_root_drive.
19545 * kern/i386/pc/startup.S: Likewise.
19546 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19547
19548 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 xnu_uuid command
19551
19552 * commands/xnu_uuid.c: new file
19553 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19554 (xnu_uuid_mod_SOURCES): new variable
19555 (xnu_uuid_mod_CFLAGS): likewise
19556 (xnu_uuid_mod_LDFLAGS): likewise
19557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19558 * conf/i386-ieee1275.rmk: likewise
19559 * conf/i386-pc.rmk: likewise
19560 * conf/powerpc-ieee1275.rmk: likewise
19561 * conf/sparc64-ieee1275.rmk: likewise
19562 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19563
19564 2009-06-16 Pavel Roskin <proski@gnu.org>
19565
19566 * configure.ac: Avoid '==' in test command, it's not portable.
19567
19568 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 Probe command
19571
19572 * commands/probe.c: new file
19573 * conf/common.rmk (pkglib_MODULES): add probe.mod
19574 (probe_mod_SOURCES): new variable
19575 (probe_mod_CFLAGS): likewise
19576 (probe_mod_LDFLAGS): likewise
19577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19578 * conf/i386-ieee1275.rmk: likewise
19579 * conf/i386-pc.rmk: likewise
19580 * conf/powerpc-ieee1275.rmk: likewise
19581 * conf/sparc64-ieee1275.rmk: likewise
19582
19583 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 Fix handling of string like \"hello\" and "a
19586 b"
19587
19588 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19589 (grub_script_yylex): fix parsing of quoting, escaping and newline
19590
19591 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
19594 handling
19595
19596 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
19597
19598 * util/grub-mkconfig.in: Fix parsing of --output option.
19599
19600 2009-06-12 Pavel Roskin <proski@gnu.org>
19601
19602 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19603 genmk.rb don't need to be generated or installed.
19604
19605 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * commands/i386/pc/drivemap_int13h.S: add more comments
19608
19609 2009-06-11 Pavel Roskin <proski@gnu.org>
19610
19611 * Makefile.in (uninstall): Uninstall manuals.
19612
19613 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19614 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19615 and update-grub_lib in two places.
19616 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19617
19618 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
19619 a compiler warning.
19620
19621 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
19622 `entry_lo' to fix variable shadowing.
19623
19624 2009-06-11 Christian Franke <franke@computer.org>
19625
19626 * kern/misc.c (__enable_execute_stack): Add missing return type
19627 to prevent gcc warning.
19628
19629 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
19630
19631 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
19632
19633 2009-06-11 Pavel Roskin <proski@gnu.org>
19634
19635 * Makefile.in: Don't rely on any scripts being executable.
19636 Always use $(SHELL) to run shell scripts.
19637
19638 * configure.ac: Always define ___main if using -nostdlib. This
19639 fixes tests on Cygwin.
19640
19641 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
19642
19643 UDF fix
19644
19645 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
19646 is in bytes and not in blocks
19647
19648 2009-06-11 Pavel Roskin <proski@gnu.org>
19649
19650 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
19651 warning.
19652
19653 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
19654
19655 * util/grub.d/30_os-prober.in: Fix a comment. Source
19656 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
19657 to set the root device. Place drivemap command in the generated
19658 chain entry.
19659
19660 2009-06-11 Pavel Roskin <proski@gnu.org>
19661
19662 * configure.ac: Remove host_m32. Issues with 64-bit utilities
19663 have long been resolved.
19664
19665 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
19666
19667 * util/grub.d/10_linux.in: Capitalise "Linux".
19668
19669 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
19670
19671 2009-06-11 Pavel Roskin <proski@gnu.org>
19672
19673 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
19674 fix a gcc warning and ensure that the function won't ever exit.
19675
19676 * kern/i386/ieee1275/init.c: Add missing prototype for
19677 grub_stop_floppy().
19678
19679 * loader/ieee1275/multiboot2.c [__i386__]: Include
19680 grub/cpu/multiboot.h.
19681
19682 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
19683 casts to short - they are not portable and cause warnings. Fix
19684 use of uninitialized values in input_buf. Use ARRAY_SIZE.
19685
19686 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
19687
19688 Drivemap fixes
19689
19690 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
19691 new function
19692 (grub_get_root_biosnumber_saved): new variable
19693 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
19694 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
19695 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
19696 %dx after the call if necessary
19697 * conf/common.rmk (pkglib_MODULES): remove boot.mod
19698 (boot_mod_SOURCES): remove
19699 (boot_mod_CFLAGS): remove
19700 (boot_mod_LDFLAGS): remove
19701 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
19702 (boot_mod_SOURCES): new variable
19703 (boot_mod_CFLAGS): likewise
19704 (boot_mod_LDFLAGS): likewise
19705 * conf/i386-efi.rmk: likewise
19706 * conf/i386-ieee1275.rmk: likewise
19707 * conf/i386-pc.rmk: likewise
19708 * conf/powerpc-ieee1275.rmk: likewise
19709 * conf/sparc64-ieee1275.rmk: likewise
19710 * conf/x86_64-efi.rmk: likewise
19711 * include/grub/i386/pc/biosnum.h: new file
19712 * lib/i386/pc/biosnum.c: likewise
19713 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
19714 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
19715 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
19716
19717 2009-06-10 Pavel Roskin <proski@gnu.org>
19718
19719 * io/gzio.c (test_header): Don't reuse one buffer for all data.
19720 Use separate variables. Read only the file size at the end, but
19721 not the checksum that we don't use.
19722
19723 * kern/file.c (grub_file_read): Use void pointer for the buffer.
19724 Adjust all callers.
19725
19726 * kern/ieee1275/openfw.c: Remove libc includes.
19727 * kern/ieee1275/cmain.c: Likewise.
19728 * include/grub/ieee1275/ieee1275.h: Likewise.
19729
19730 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
19731 compiler warnings.
19732
19733 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
19734
19735 * Makefile.in: Remove all trailing whitespace.
19736 * conf/i386-pc.rmk: Likewise.
19737 * conf/powerpc-ieee1275.rmk: Likewise.
19738 * conf/sparc64-ieee1275.rmk: Likewise.
19739 * docs/grub.texi: Likewise.
19740 * docs/texinfo.tex: Likewise.
19741 * disk/fs_uuid.c: Likewise.
19742 * disk/lvm.c: Likewise.
19743 * disk/scsi.c: Likewise.
19744 * disk/ata.c: Likewise.
19745 * disk/ieee1275/ofdisk.c: Likewise.
19746 * disk/i386/pc/biosdisk.c: Likewise.
19747 * disk/host.c: Likewise.
19748 * disk/raid.c: Likewise.
19749 * disk/efi/efidisk.c: Likewise.
19750 * disk/usbms.c: Likewise.
19751 * disk/memdisk.c: Likewise.
19752 * disk/loopback.c: Likewise.
19753 * kern/powerpc/dl.c: Likewise.
19754 * kern/device.c: Likewise.
19755 * kern/dl.c: Likewise.
19756 * kern/sparc64/dl.c: Likewise.
19757 * kern/ieee1275/ieee1275.c: Likewise.
19758 * kern/term.c: Likewise.
19759 * kern/fs.c: Likewise.
19760 * kern/i386/dl.c: Likewise.
19761 * kern/i386/pc/startup.S: Likewise.
19762 * kern/i386/pc/init.c: Likewise.
19763 * kern/i386/pc/mmap.c: Likewise.
19764 * kern/i386/pc/lzo1x.S: Likewise.
19765 * kern/i386/ieee1275/init.c: Likewise.
19766 * kern/i386/realmode.S: Likewise.
19767 * kern/i386/tsc.c: Likewise.
19768 * kern/partition.c: Likewise.
19769 * kern/corecmd.c: Likewise.
19770 * kern/file.c: Likewise.
19771 * kern/efi/efi.c: Likewise.
19772 * kern/efi/init.c: Likewise.
19773 * kern/efi/mm.c: Likewise.
19774 * kern/main.c: Likewise.
19775 * kern/err.c: Likewise.
19776 * kern/env.c: Likewise.
19777 * kern/disk.c: Likewise.
19778 * kern/generic/millisleep.c: Likewise.
19779 * kern/generic/rtc_get_time_ms.c: Likewise.
19780 * kern/misc.c: Likewise.
19781 * kern/parser.c: Likewise.
19782 * genmk.rb: Likewise.
19783 * configure.ac: Likewise.
19784 * boot/i386/pc/diskboot.S: Likewise.
19785 * boot/i386/pc/pxeboot.S: Likewise.
19786 * boot/i386/pc/boot.S: Likewise.
19787 * boot/i386/pc/lnxboot.S: Likewise.
19788 * boot/i386/pc/cdboot.S: Likewise.
19789 * parttool/pcpart.c: Likewise.
19790 * video/readers/tga.c: Likewise.
19791 * video/video.c: Likewise.
19792 * video/bitmap.c: Likewise.
19793 * lib/envblk.c: Likewise.
19794 * lib/i386/setjmp.S: Likewise.
19795 * fs/xfs.c: Likewise.
19796 * fs/afs.c: Likewise.
19797 * fs/fat.c: Likewise.
19798 * fs/ntfs.c: Likewise.
19799 * fs/udf.c: Likewise.
19800 * fs/affs.c: Likewise.
19801 * fs/iso9660.c: Likewise.
19802 * fs/hfs.c: Likewise.
19803 * fs/fshelp.c: Likewise.
19804 * fs/ext2.c: Likewise.
19805 * fs/jfs.c: Likewise.
19806 * fs/reiserfs.c: Likewise.
19807 * fs/hfsplus.c: Likewise.
19808 * fs/minix.c: Likewise.
19809 * fs/cpio.c: Likewise.
19810 * fs/sfs.c: Likewise.
19811 * fs/ufs.c: Likewise.
19812 * efiemu/prepare.c: Likewise.
19813 * efiemu/loadcore_common.c: Likewise.
19814 * efiemu/runtime/efiemu.sh: Likewise.
19815 * efiemu/runtime/efiemu.S: Likewise.
19816 * efiemu/runtime/efiemu.c: Likewise.
19817 * efiemu/pnvram.c: Likewise.
19818 * efiemu/main.c: Likewise.
19819 * efiemu/i386/pc/cfgtables.c: Likewise.
19820 * efiemu/i386/loadcore64.c: Likewise.
19821 * efiemu/i386/loadcore32.c: Likewise.
19822 * efiemu/loadcore.c: Likewise.
19823 * efiemu/symbols.c: Likewise.
19824 * efiemu/mm.c: Likewise.
19825 * include/grub/autoefi.h: Likewise.
19826 * include/grub/datetime.h: Likewise.
19827 * include/grub/term.h: Likewise.
19828 * include/grub/hfs.h: Likewise.
19829 * include/grub/lvm.h: Likewise.
19830 * include/grub/i386/tsc.h: Likewise.
19831 * include/grub/i386/linux.h: Likewise.
19832 * include/grub/i386/xnu.h: Likewise.
19833 * include/grub/i386/efiemu.h: Likewise.
19834 * include/grub/i386/pc/biosdisk.h: Likewise.
19835 * include/grub/i386/pc/memory.h: Likewise.
19836 * include/grub/i386/pc/vbe.h: Likewise.
19837 * include/grub/parttool.h: Likewise.
19838 * include/grub/video.h: Likewise.
19839 * include/grub/memory.h: Likewise.
19840 * include/grub/fs.h: Likewise.
19841 * include/grub/partition.h: Likewise.
19842 * include/grub/xnu.h: Likewise.
19843 * include/grub/efi/api.h: Likewise.
19844 * include/grub/efi/pe32.h: Likewise.
19845 * include/grub/efi/memory.h: Likewise.
19846 * include/grub/multiboot.h: Likewise.
19847 * include/grub/usbdesc.h: Likewise.
19848 * include/grub/multiboot2.h: Likewise.
19849 * include/grub/acpi.h: Likewise.
19850 * include/grub/efiemu/efiemu.h: Likewise.
19851 * include/grub/disk.h: Likewise.
19852 * include/grub/ieee1275/ieee1275.h: Likewise.
19853 * include/grub/net.h: Likewise.
19854 * include/grub/machoload.h: Likewise.
19855 * include/grub/macho.h: Likewise.
19856 * include/multiboot.h: Likewise.
19857 * genmoddep.awk: Likewise.
19858 * normal/main.c: Likewise.
19859 * normal/menu_entry.c: Likewise.
19860 * normal/menu_viewer.c: Likewise.
19861 * normal/completion.c: Likewise.
19862 * normal/cmdline.c: Likewise.
19863 * normal/misc.c: Likewise.
19864 * normal/datetime.c: Likewise.
19865 * bus/usb/usbtrans.c: Likewise.
19866 * bus/usb/ohci.c: Likewise.
19867 * bus/usb/uhci.c: Likewise.
19868 * bus/usb/usb.c: Likewise.
19869 * mmap/efi/mmap.c: Likewise.
19870 * mmap/i386/pc/mmap_helper.S: Likewise.
19871 * mmap/i386/pc/mmap.c: Likewise.
19872 * mmap/i386/mmap.c: Likewise.
19873 * mmap/i386/uppermem.c: Likewise.
19874 * mmap/mmap.c: Likewise.
19875 * commands/acpi.c: Likewise.
19876 * commands/echo.c: Likewise.
19877 * commands/blocklist.c: Likewise.
19878 * commands/loadenv.c: Likewise.
19879 * commands/usbtest.c: Likewise.
19880 * commands/boot.c: Likewise.
19881 * commands/parttool.c: Likewise.
19882 * commands/search.c: Likewise.
19883 * commands/cat.c: Likewise.
19884 * commands/i386/pc/play.c: Likewise.
19885 * commands/i386/pc/drivemap.c: Likewise.
19886 * commands/i386/pc/vbeinfo.c: Likewise.
19887 * commands/i386/pc/acpi.c: Likewise.
19888 * commands/i386/pc/vbetest.c: Likewise.
19889 * commands/ls.c: Likewise.
19890 * commands/cmp.c: Likewise.
19891 * commands/test.c: Likewise.
19892 * commands/efi/acpi.c: Likewise.
19893 * commands/gptsync.c: Likewise.
19894 * commands/help.c: Likewise.
19895 * partmap/amiga.c: Likewise.
19896 * partmap/apple.c: Likewise.
19897 * partmap/acorn.c: Likewise.
19898 * partmap/pc.c: Likewise.
19899 * partmap/sun.c: Likewise.
19900 * partmap/gpt.c: Likewise.
19901 * script/sh/lexer.c: Likewise.
19902 * script/sh/function.c: Likewise.
19903 * font/font.c: Likewise.
19904 * font/font_cmd.c: Likewise.
19905 * loader/powerpc/ieee1275/linux.c: Likewise.
19906 * loader/efi/chainloader.c: Likewise.
19907 * loader/multiboot_loader.c: Likewise.
19908 * loader/macho.c: Likewise.
19909 * loader/i386/multiboot.c: Likewise.
19910 * loader/i386/linux.c: Likewise.
19911 * loader/i386/pc/linux.c: Likewise.
19912 * loader/i386/pc/multiboot2.c: Likewise.
19913 * loader/i386/pc/chainloader.c: Likewise.
19914 * loader/i386/pc/xnu.c: Likewise.
19915 * loader/i386/bsd_trampoline.S: Likewise.
19916 * loader/i386/efi/linux.c: Likewise.
19917 * loader/i386/multiboot_elfxx.c: Likewise.
19918 * loader/i386/bsd_helper.S: Likewise.
19919 * loader/i386/bsd.c: Likewise.
19920 * loader/i386/linux_trampoline.S: Likewise.
19921 * loader/i386/xnu_helper.S: Likewise.
19922 * loader/i386/xnu.c: Likewise.
19923 * loader/i386/bsd_pagetable.c: Likewise.
19924 * loader/i386/multiboot_helper.S: Likewise.
19925 * loader/xnu.c: Likewise.
19926 * loader/xnu_resume.c: Likewise.
19927 * io/gzio.c: Likewise.
19928 * term/efi/console.c: Likewise.
19929 * term/terminfo.c: Likewise.
19930 * term/ieee1275/ofconsole.c: Likewise.
19931 * term/i386/pc/serial.c: Likewise.
19932 * term/i386/pc/vesafb.c: Likewise.
19933 * term/i386/pc/vga.c: Likewise.
19934 * term/usb_keyboard.c: Likewise.
19935 * term/gfxterm.c: Likewise.
19936 * aclocal.m4: Likewise.
19937 * util/lvm.c: Likewise.
19938 * util/grub.d/30_os-prober.in: Likewise.
19939 * util/grub.d/10_hurd.in: Likewise.
19940 * util/console.c: Likewise.
19941 * util/grub-macho2img.c: Likewise.
19942 * util/grub-probe.c: Likewise.
19943 * util/hostfs.c: Likewise.
19944 * util/i386/pc/grub-mkimage.c: Likewise.
19945 * util/i386/pc/grub-setup.c: Likewise.
19946 * util/i386/efi/grub-mkimage.c: Likewise.
19947 * util/grub-mkconfig.in: Likewise.
19948 * util/raid.c: Likewise.
19949 * util/resolve.c: Likewise.
19950 * util/grub-mkdevicemap.c: Likewise.
19951 * util/grub-emu.c: Likewise.
19952 * util/getroot.c: Likewise.
19953 * util/hostdisk.c: Likewise.
19954 * util/usb.c: Likewise.
19955 * util/grub-editenv.c: Likewise.
19956 * util/misc.c: Likewise.
19957
19958 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
19959
19960 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
19961 `genparttoollist.sh'.
19962 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
19963 Add `*.sh' to the list find searches for and change `mdate.sh'
19964 to `mdate-sh'.
19965
19966 2009-06-10 Pavel Roskin <proski@gnu.org>
19967
19968 * include/grub/multiboot2.h: Provide compatibility defines for
19969 multiboot2.h.
19970 * include/multiboot2.h: Include stdint.h only if needed, using
19971 angle brackets.
19972 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
19973 grub/multiboot2.h.
19974 * loader/ieee1275/multiboot2.c: Likewise.
19975 * loader/multiboot2.c: Likewise.
19976 * loader/multiboot_loader.c: Likewise.
19977
19978 * configure.ac: Use -nostdlib when probing for the target. It
19979 should not be required to have libc for the target.
19980
19981 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
19982 they fail without libc headers for the target.
19983 * include/grub/powerpc/libgcc.h: Use weak attribute for all
19984 exports.
19985 * include/grub/sparc64/libgcc.h: Likewise. Don't use
19986 preprocessor conditionals.
19987
19988 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
19989 build system doesn't need to be aware of the tar.c internals.
19990
19991 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
19992
19993 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
19994
19995 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
19996
19997 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
19998 disk limit to 26 for IDE, Virtio, Xen and SCSI.
19999
20000 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
20001
20002 * util/i386/pc/grub-install.in: Change the error message if UUIDs
20003 aren't available if ata.mod gets used.
20004
20005 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
20006
20007 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
20008 initialising controller.
20009 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20010
20011 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20012
20013 * util/i386/pc/grub-install.in: Add a parameter --disk-module
20014 to choose between ata and biosdisk module on i386-pc.
20015
20016 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
20017
20018 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
20019 Subclass and Programming Interface fields in terms of the 3 byte
20020 Class Code register.
20021 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20022
20023 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
20024 interface is OHCI. Add grub_dprintf for symmetry with
20025 bus/usb/uhci.c.
20026 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
20027 interface is UHCI. Add interf variable for programming
20028 interface. Print interface with class/subclass.
20029
20030 * bus/usb/ohci.c: Set interf with correct field.
20031
20032 * bus/usb/uhci.c: Remove unneeded doubled lines.
20033 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
20034 Remove whitespace inside comment.
20035
20036 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
20037
20038 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
20039 as fallback an equivalent option without depth.
20040
20041 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20042
20043 Not fail if unable to retrieve C/H/S on LBA disks
20044
20045 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
20046 if unable to retrieve C/H/S on LBA disks
20047
20048 2009-06-08 Pavel Roskin <proski@gnu.org>
20049
20050 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
20051 about aliasing.
20052
20053 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20054
20055 * Makefile.in (uninstall): Remove all $lib_DATA files.
20056
20057 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 Bugfix: install on partitionless device
20060
20061 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
20062 is a whole disk
20063
20064 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20065
20066 * Makefile.in (uninstall): Remove all $include_DATA files.
20067
20068 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20069
20070 * commands/true.c: New file. Implement the true and false commands.
20071 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
20072 (true_mod_SOURCES): New variable.
20073 (true_mod_CFLAGS): Likewise.
20074 (true_mod_LDFLAGS): Likewise.
20075
20076 2009-06-05 Colin D Bennett <colin@gibibit.com>
20077
20078 Optimized font character lookup using binary search instead of linear
20079 search. Fonts now are required to have the character index ordered by
20080 code point.
20081
20082 * font/font.c (load_font_index): Verify that fonts have ordered
20083 character indices.
20084 (find_glyph): Use binary search instead of linear search to find a
20085 character in a font.
20086
20087 2009-06-05 Michael Scherer <misc@mandriva.org>
20088
20089 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
20090 uses case sensitive btree.
20091 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
20092 only for case insensitive filesystems.
20093
20094 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
20097 * conf/common.rmk (search_mod_CFLAGS): likewise
20098
20099 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20100
20101 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
20102 compensate a compiler bug
20103
20104 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20105
20106 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
20107 instead of '\b'
20108
20109 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20110
20111 Definitions for creating asm symbols with Apple's CC
20112
20113 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
20114 [APPLE_CC] (VARIABLE): likewise
20115
20116 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 Disable lnxboot.img when compiled
20119 with Apple's CC
20120
20121 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
20122 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
20123 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
20124 [! APPLE_CC] (CODE_LENG): skip
20125 [! APPLE_CC] (setup_sects): likewise
20126 [! APPLE_CC]: skip filling
20127
20128 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 Address in trampolines based on 32-bit registers when compiled
20131 with Apple's CC
20132
20133 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
20134 for addresses
20135 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
20136
20137 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 Avoid aliases when compiling with Apple's CC for PCBIOS machine
20140
20141 * kern/misc.c [APPLE_CC] (memcpy): new function
20142 [APPLE_CC] (memmove): likewise
20143 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
20144 (memcpy): define alias conditionally on !APPLE_CC
20145 (memset): likewise
20146 (abort): likewise
20147 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
20148 APPLE_CC are defined
20149 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
20150 (grub_assert_fail): make prototype conditional
20151
20152 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
20155
20156 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
20157 grub-macho2img
20158 (CLEANFILES): add grub-macho2img
20159 (grub_macho2img_SOURCES): new variable
20160 * kern/i386/pc/startup.S (bss_start): new variable
20161 (bss_end): likewise
20162 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
20163 * util/grub-macho2img.c: new file
20164
20165 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20166
20167 Use objconv when compiling with Apple's CC
20168
20169 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
20170 (efiemu64.o): likewise
20171 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
20172 when compiling with Apple's CC
20173 (efiemu64_s.o): likewise
20174 * configure.ac: check for objconv when compiling with Apple's CC
20175 * genmk.rb: use objconv for modules when compiled with Apple's CC
20176
20177 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 Define segment as well as section when compiling with
20180 Apple's CC
20181
20182 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
20183 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
20184 (efiemu_convert_pointer): likewise
20185 (efiemu_set_virtual_address_map): likewise
20186 (efiemu_convert_pointer): likewise
20187 (efiemu_getcrc32): likewise
20188 (init_crc32_table): likewise
20189 (reflect): likewise
20190 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
20191 (GRUB_MOD_DEP): likewise
20192
20193 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 Allow a compilation without -mcmodel=large
20196
20197 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
20198 when compiled without -mcmodel=large
20199 (filter_memory_map): remove memory post 4 GiB when compiled
20200 without -mcmodel=large
20201 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
20202 TARGET_CFLAGS when -mcmodel=large isn't supported
20203
20204 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 Remove nested functions in efiemu core
20207
20208 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
20209
20210 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
20213
20214 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
20215 temporary storage
20216 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
20217 using Apple's CC
20218 (grub_cpu_is_tsc_supported): likewise
20219 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
20220
20221 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20222
20223 Absolute addressing through constant with Apple's cc
20224
20225 * kern/i386/pc/startup.S: Define necessary constants
20226 and address through it when using ABS with Apple's CC
20227 * boot/i386/pc/diskboot.S: likewise
20228 * boot/i386/pc/boot.S: likewise
20229 * boot/i386/pc/lnxboot.S: likewise
20230 * boot/i386/pc/cdboot.S: likewise
20231 * mmap/i386/pc/mmap_helper.S: likewise
20232 * commands/i386/pc/drivemap_int13h.S: likewise
20233
20234 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 Check if compiler is apple cc
20237
20238 * Makefile.in (ASFLAGS): new variable
20239 (TARGET_ASFLAGS): likewise
20240 (TARGET_MODULE_FORMAT): likewise
20241 (TARGET_APPLE_CC): likewise
20242 (OBJCONV): likewise
20243 (TARGET_IMG_CFLAGS): likewise
20244 (TARGET_CPPFLAGS): add includedir
20245 * configure.ac: call grub_apple_cc and grub_apple_target_cc
20246 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
20247 Check for linker script only if compiler isn't Apple's CC
20248 (TARGET_MODULE_FORMAT): set
20249 (TARGET_APPLE_CC): likewise
20250 (TARGET_ASFLAGS): likewise
20251 (ASFLAGS): likewise
20252 Check for objcopy only if compiler isn't Apple's CC
20253 Check for BSS symbol only if compiler isn't Apple's CC
20254 * genmk.rb: adapt nm options if we use Apple's utils
20255 * aclocal.m4 (grub_apple_cc): new test
20256 (grub_apple_target_cc): likewise
20257
20258 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 Simplify sed expressions and improve awk
20261
20262 * Makefile.in (install-local): simplify sed expression
20263 * gencmdlist.sh: likewise
20264 * genmoddep.awk: avoid adding module as a dependency of itself
20265
20266 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 Add missing start symbols
20269
20270 * boot/i386/pc/boot.S: add start
20271 * boot/i386/pc/pxeboot.S: likewise
20272
20273 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 Fix wrong assumptions with grub-mkimage on EFI
20276
20277 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
20278 (relocate_addresses): consider both r_addend and value at offset
20279 (make_mods_section): zerofill modinfo and header
20280 (convert_elf): write prefix here
20281
20282 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 Use .asciz instead of .string
20285
20286 * i386/pc/diskboot.S: use .asciz instead of .string
20287 * i386/pc/boot.S: likewise
20288 * include/grub/dl.h (GRUB_MOD_DEP): likewise
20289 (GRUB_MOD_NAME): likewise
20290
20291 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 gfxpayload support
20294
20295 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
20296 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
20297 (grub_video_setup): remove
20298 (grub_video_set_mode): new prototype
20299 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
20300 (vid_mode): remove
20301 (linux_vesafb_res): compile only on PCBIOS
20302 (grub_linux_boot): support gfxpayload
20303 * loader/i386/pc/xnu.c (video_hook): new function
20304 (grub_xnu_set_video): support gfxpayload
20305 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
20306 (DEFAULT_VIDEO_HEIGHT): likewise
20307 (DEFAULT_VIDEO_FLAGS): likewise
20308 (DEFAULT_VIDEO_MODE): new definition
20309 (video_hook): new function
20310 (grub_gfxterm_init): use grub_video_set_mode
20311 * util/grub.d/30_os-prober.in: remove explicit modesetting before
20312 loading xnu
20313 * video/video.c (grub_video_setup): removed
20314 (grub_video_set_mode): new function based on grub_gfxterm_init and
20315 grub_video_setup
20316
20317 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 Avoid calling biosdisk in drivemap
20320
20321 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
20322 (revparse_biosdisk): likewise
20323 (list_mappings): derive name from id directly
20324 (grub_cmd_drivemap): use tryparse_diskstring
20325
20326 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 Script fixes
20329
20330 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
20331 (grub_lexer_param): add tokenonhold
20332 (grub_script_create_cmdline): remove cmdline. All callers updated
20333 (grub_script_function_create): make functionname
20334 grub_script_arg. All callers updated
20335 (grub_script_execute_argument_to_string): new prototype
20336 * kern/parser.c (state_transitions): reorder
20337 (grub_parser_cmdline_state): fix a bug and make more compact
20338 * script/sh/execute.c (grub_script_execute_argument_to_string):
20339 make global
20340 (grub_script_execute_cmdline): use new format
20341 * script/sh/function.c (grub_script_function_create): make functionname
20342 grub_script_arg. All callers updated
20343 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
20344 (grub_script_yylex): remove
20345 (grub_script_yylex2): renamed to ...
20346 (grub_script_yylex): ...renamed
20347 parse the expressions like a${b}c
20348 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
20349 (GRUB_PARSER_TOKEN_VAR): remove
20350 (GRUB_PARSER_TOKEN_NAME): likewise
20351 ("if"): declare as typeless
20352 ("while"): likewise
20353 ("function"): likewise
20354 ("else"): likewise
20355 ("then"): likewise
20356 ("fi"): likewise
20357 (text): remove
20358 (argument): likewise
20359 (script): accept empty scripts and make exit on error
20360 (arguments): use GRUB_PARSER_TOKEN_ARG
20361 (function): likewise
20362 (command): move error handling to script
20363 (menuentry): move grub_script_lexer_ref before
20364 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
20365 argument. All callers updated
20366
20367 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20368
20369 Prevent GRUB from probing floppies during boot.
20370
20371 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20372 * commands/search.c (options): Add --no-floppy.
20373 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20374 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20375 --no-floppy when searching for UUIDs.
20376
20377 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20378
20379 Simplify the code duplication in commands/search.c.
20380
20381 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20382 (search_fs): ... this. Update all users.
20383
20384 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
20385
20386 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20387
20388 2009-05-28 Pavel Roskin <proski@gnu.org>
20389
20390 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20391 Remove the original symlink explicitly.
20392
20393 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20394 just one slash. That's how grub_fshelp_find_file() does it.
20395
20396 2009-05-26 Pavel Roskin <proski@gnu.org>
20397
20398 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20399 to `str'.
20400
20401 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20402 possibly unused.
20403
20404 2009-05-25 Christian Franke <franke@computer.org>
20405
20406 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20407 register.
20408 (grub_atapi_identify): Add wait after drive select.
20409 (grub_ata_identify): Do more strict status register check before
20410 calling grub_atapi_identify (). Suppress error message if status
20411 register is 0x00 after command failure. Add status register
20412 check after PIO read to avoid bogus identify due to stuck DRQ.
20413 Thanks to Pavel Roskin for testing.
20414 (grub_device_initialize): Remove unsafe status register check.
20415 Thanks to 'phcoder' for problem report and patch.
20416 Prevent sign extension in debug message.
20417
20418 2009-05-23 Colin D Bennett <colin@gibibit.com>
20419
20420 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20421 definition file, and functions defined in `normal/menu.c' have had
20422 their prototypes moved to `include/grub/menu.h' for consistency.
20423
20424 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20425 from normal.h.
20426 (grub_menu_get_entry): Likewise.
20427 (grub_menu_get_timeout): Likewise.
20428 (grub_menu_set_timeout): Likewise.
20429 (grub_menu_execute_entry): Likewise.
20430 (grub_menu_execute_with_fallback): Likewise.
20431 (grub_menu_entry_run): Likewise.
20432
20433 * include/grub/normal.h: Re-ordered and grouped function
20434 prototypes by file that the function is defined in.
20435 (grub_menu_execute_callback): Removed; moved to menu.h.
20436 (grub_menu_get_entry): Likewise.
20437 (grub_menu_get_timeout): Likewise.
20438 (grub_menu_set_timeout): Likewise.
20439 (grub_menu_execute_entry): Likewise.
20440 (grub_menu_execute_with_fallback): Likewise.
20441 (grub_menu_entry_run): Likewise.
20442 (grub_menu_addentry): Renamed from this ...
20443 (grub_normal_add_menu_entry): ... to this.
20444
20445 * normal/main.c (grub_menu_addentry): Renamed from this ...
20446 (grub_normal_add_menu_entry): ... to this.
20447
20448 * script/sh/execute.c (grub_script_execute_menuentry): Update
20449 reference to renamed grub_menu_addentry function.
20450
20451 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
20452
20453 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20454
20455 2009-05-22 Pavel Roskin <proski@gnu.org>
20456
20457 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20458 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20459 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20460 compiling for the i386 targets, but not for the utilities.
20461
20462 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20463 to grub_uint8_t.
20464 (grub_root_drive): Likewise.
20465 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20466 remove alignment.
20467 (grub_root_drive): Change size to byte.
20468 (grub_start_addr): Remove.
20469 (grub_end_addr): Likewise.
20470 (grub_apm_bios_info): Likewise.
20471
20472 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
20473
20474 * normal/i386: Remove.
20475 * normal/powerpc: Likewise.
20476 * normal/sparc64: Likewise.
20477 * normal/x86_64: Likewise.
20478
20479 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20480
20481 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
20482 * loader/i386/linux_trampoline.S: Fix indentation
20483 * loader/i386/xnu_helper.S: Likewise
20484
20485 2009-05-18 Colin D Bennett <colin@gibibit.com>
20486
20487 Display error messages when parsing a Lua statement fails.
20488 Previously, executing a syntactically invalid statement like
20489 ")foo" or "bar;" would silently fail.
20490
20491 * script/lua/grub_main.c (handle_lua_error): New function.
20492 (grub_lua_parse_line): Improved reporting of Lua parser and
20493 execution errors.
20494
20495 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 Remove -Werror which causes build to fail on some systems
20498
20499 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20500 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20501 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
20502
20503 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 trampoline for linux on 64-bit platform
20506
20507 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20508 loader/i386/efi/linux_trampoline.S
20509 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
20510 declaration
20511 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20512 here
20513 * loader/i386/linux_trampoline.S: moved here
20514 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20515 trampoline
20516 (jumpvector): removed
20517 (grub_linux_trampoline_start): new declaration
20518 (grub_linux_trampoline_end): likewise
20519 (grub_linux_boot): use trampoline when on 64-bit platform
20520 * loader/i386/linux.c: likewise
20521
20522 2009-05-16 Pavel Roskin <proski@gnu.org>
20523
20524 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20525 const to avoid a warning.
20526 (grub_lua_setenv): Likewise.
20527 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20528 lmsg to fix a warning.
20529
20530 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20531
20532 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
20533 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20534 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20535 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20536 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20537 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20538 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20539 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20540
20541 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20542
20543 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20544
20545 2009-05-16 Bean <bean123ch@gmail.com>
20546
20547 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20548 (lua_mod_SOURCES): New variable.
20549 (lua_mod_CFLAGS): Likewise.
20550 (lua_mod_LDFLAGS): Likewise.
20551
20552 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20553 (setjmp_mod_SOURCES): New variable.
20554 (setjmp_mod_CFLAGS): Likewise.
20555 (setjmp_LDFLAGS): Likewise.
20556
20557 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20558 (setjmp_mod_SOURCES): New variable.
20559 (setjmp_mod_CFLAGS): Likewise.
20560 (setjmp_LDFLAGS): Likewise.
20561
20562 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20563 (setjmp_mod_SOURCES): New variable.
20564 (setjmp_mod_CFLAGS): Likewise.
20565 (setjmp_LDFLAGS): Likewise.
20566
20567 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20568 (setjmp_mod_SOURCES): New variable.
20569 (setjmp_mod_CFLAGS): Likewise.
20570 (setjmp_LDFLAGS): Likewise.
20571
20572 * normal/i386/setjmp.S: Moved from here ...
20573 * lib/i386/setjmp.S: ... Moved here
20574 * normal/x86_64/setjmp.S: Moved from here ...
20575 * lib/x86_64/setjmp.S: ... Moved here
20576 * normal/powerpc/setjmp.S: Moved from here ...
20577 * lib/powerpc/setjmp.S: ... Moved here
20578 * normal/sparc64/setjmp.S: Moved from here ...
20579 * lib/sparc64/setjmp.S: ... Moved here
20580
20581 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20582 returns_twice in mingw.
20583
20584 * script/lua/grub_lib.c: New file.
20585 * script/lua/grub_lib.h: Likewise.
20586 * script/lua/grub_lua.h: Likewise.
20587 * script/lua/grub_main.c: Likewise.
20588 * script/lua/lapi.c: Likewise.
20589 * script/lua/lapi.h: Likewise.
20590 * script/lua/lauxlib.c: Likewise.
20591 * script/lua/lauxlib.h: Likewise.
20592 * script/lua/lbaselib.c: Likewise.
20593 * script/lua/lcode.c: Likewise.
20594 * script/lua/lcode.h: Likewise.
20595 * script/lua/ldblib.c: Likewise.
20596 * script/lua/ldebug.c: Likewise.
20597 * script/lua/ldebug.h: Likewise.
20598 * script/lua/ldo.c: Likewise.
20599 * script/lua/ldo.h: Likewise.
20600 * script/lua/ldump.c: Likewise.
20601 * script/lua/lfunc.c: Likewise.
20602 * script/lua/lfunc.h: Likewise.
20603 * script/lua/lgc.c: Likewise.
20604 * script/lua/lgc.h: Likewise.
20605 * script/lua/linit.c: Likewise.
20606 * script/lua/liolib.c: Likewise.
20607 * script/lua/llex.c: Likewise.
20608 * script/lua/llex.h: Likewise.
20609 * script/lua/llimits.h: Likewise.
20610 * script/lua/lmathlib.c: Likewise.
20611 * script/lua/lmem.c: Likewise.
20612 * script/lua/lmem.h: Likewise.
20613 * script/lua/loadlib.c: Likewise.
20614 * script/lua/lobject.c: Likewise.
20615 * script/lua/lobject.h: Likewise.
20616 * script/lua/lopcodes.c: Likewise.
20617 * script/lua/lopcodes.h: Likewise.
20618 * script/lua/loslib.c: Likewise.
20619 * script/lua/lparser.c: Likewise.
20620 * script/lua/lparser.h: Likewise.
20621 * script/lua/lstate.c: Likewise.
20622 * script/lua/lstate.h: Likewise.
20623 * script/lua/lstring.c: Likewise.
20624 * script/lua/lstring.h: Likewise.
20625 * script/lua/lstrlib.c: Likewise.
20626 * script/lua/ltable.c: Likewise.
20627 * script/lua/ltable.h: Likewise.
20628 * script/lua/ltablib.c: Likewise.
20629 * script/lua/ltm.c: Likewise.
20630 * script/lua/ltm.h: Likewise.
20631 * script/lua/lua.h: Likewise.
20632 * script/lua/luaconf.h: Likewise.
20633 * script/lua/lualib.h: Likewise.
20634 * script/lua/lundump.c: Likewise.
20635 * script/lua/lundump.h: Likewise.
20636 * script/lua/lvm.c: Likewise.
20637 * script/lua/lvm.h: Likewise.
20638 * script/lua/lzio.c: Likewise.
20639 * script/lua/lzio.h: Likewise.
20640
20641 2009-05-16 Bean <bean123ch@gmail.com>
20642
20643 * include/grub/kernel.h (grub_module_header_types): Add type
20644 OBJ_TYPE_CONFIG.
20645
20646 * kern/main.c (grub_load_config): New function.
20647 (grub_main): Call grub_load_config to read boot config.
20648
20649 * grub-mkimage (generate_image): New parameter config_path.
20650 (options): New option --config.
20651 (main): Parse --config option, and pass it to generate_image.
20652
20653 2009-05-14 Christian Franke <franke@computer.org>
20654
20655 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
20656 This fixes build on Cygwin.
20657
20658 2009-05-14 Pavel Roskin <proski@gnu.org>
20659
20660 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
20661 jump. This saves two bytes, so the typical case of 2 swapped
20662 drives would fit 32 bytes.
20663
20664 2009-05-13 Pavel Roskin <proski@gnu.org>
20665
20666 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
20667 grub_uint32_t to avoid a warning.
20668
20669 * loader/i386/linux.c (allocate_pages): When assigning
20670 real_mode_mem, cast through grub_size_t to fix a warning. The
20671 code already makes sure that the value would fit a pointer.
20672 (grub_linux_setup_video): Cast render_target->data to
20673 grub_size_t to fix a warning.
20674
20675 2009-05-13 Javier Martín <lordhabbit@gmail.com>
20676
20677 * commands/i386/pc/drivemap.c: New file - implement drivemap
20678 command.
20679 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
20680 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
20681
20682 2009-05-13 Pavel Roskin <proski@gnu.org>
20683
20684 * util/i386/pc/grub-setup.c (setup): Remove unused variable
20685 embedding_area_exists.
20686
20687 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
20688
20689 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
20690 it easier to understand / work with.
20691 Improve warning messages for cases where there's no embedding area,
20692 or when it is too small (or core.img too large).
20693
20694 2009-05-13 Pavel Roskin <proski@gnu.org>
20695
20696 * loader/i386/pc/multiboot2.c: Add necessary includes for
20697 grub_multiboot2_real_boot().
20698
20699 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
20700 PX record is always little-endian. We only need the lower 2
20701 bytes of the mode.
20702
20703 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
20704 facilitate code reuse.
20705 (grub_cpio_mount): Use "struct head", not a char buffer. This
20706 fixes a warning reported by gcc 4.4.
20707
20708 * kernel/disk.c (grub_disk_read): Use void pointer for the
20709 buffer.
20710 (grub_disk_write): Use const void pointer for the buffer.
20711 Adjust all callers. Remove unnecessary casts.
20712
20713 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
20714
20715 * util/i386/pc/grub-install.in: Update copyright year.
20716
20717 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 gptsync
20720
20721 * commands/gptsync.c: new file
20722 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
20723 (gptsync_mod_SOURCES): new variable
20724 (gptsync_mod_CFLAGS): likewise
20725 (gptsync_mod_LDFLAGS): likewise
20726 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
20727 new definition
20728 (GRUB_PC_PARTITION_TYPE_HFS): likewise
20729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
20730 * conf/i386-ieee1275.rmk: likewise
20731 * conf/i386-pc.rmk: likewise
20732 * conf/powerpc-ieee1275.rmk: likewise
20733
20734 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 Fixed grub-emu
20737
20738 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
20739 (grub_dl_ref): likewise
20740
20741 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
20742
20743 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
20744 split in two functions (one for msdos and one for gpt).
20745
20746 2009-05-08 Pavel Roskin <proski@gnu.org>
20747
20748 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
20749 not modified.
20750
20751 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
20752 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
20753 Initialize them with -1. Add sanity check for bad1. Eliminate
20754 nerr variable.
20755
20756 2009-05-08 David S. Miller <davem@davemloft.net>
20757
20758 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
20759
20760 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
20761
20762 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
20763 existence.
20764
20765 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
20766
20767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20768 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
20769
20770 2009-05-05 David S. Miller <davem@davemloft.net>
20771
20772 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
20773
20774 2009-05-05 Pavel Roskin <proski@gnu.org>
20775
20776 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
20777 of grub_dl_ref() and grub_dl_unref().
20778 * commands/parttool.c: Remove preprocessor conditionals around
20779 grub_dl_ref() and grub_dl_unref().
20780 * fs/affs.c: Likewise.
20781 * fs/afs.c: Likewise.
20782 * fs/cpio.c: Likewise.
20783 * fs/ext2.c: Likewise.
20784 * fs/fat.c: Likewise.
20785 * fs/hfs.c: Likewise.
20786 * fs/hfsplus.c: Likewise.
20787 * fs/iso9660.c: Likewise.
20788 * fs/jfs.c: Likewise.
20789 * fs/minix.c: Likewise.
20790 * fs/ntfs.c: Likewise.
20791 * fs/reiserfs.c: Likewise.
20792 * fs/sfs.c: Likewise.
20793 * fs/udf.c: Likewise.
20794 * fs/ufs.c: Likewise.
20795 * fs/xfs.c: Likewise.
20796 * include/grub/dl.h: Likewise.
20797 * loader/xnu.c: Likewise.
20798
20799 2009-05-04 Pavel Roskin <proski@gnu.org>
20800
20801 * commands/acpi.c: Remove unused variable my_mod.
20802 * partmap/amiga.c: Likewise.
20803 * partmap/apple.c: Likewise.
20804 * partmap/gpt.c: Likewise.
20805 * partmap/pc.c: Likewise.
20806 * partmap/sun.c: Likewise.
20807 * term/gfxterm.c: Likewise.
20808 * term/i386/pc/vesafb.c: Likewise.
20809 * term/i386/pc/vga.c: Likewise.
20810
20811 2009-05-04 David S. Miller <davem@davemloft.net>
20812
20813 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
20814 pointer args to grub_ieee1275_get_property().
20815
20816 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
20817
20818 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
20819 devices, and do not traverse down under controller nodes.
20820
20821 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
20822 (grub_ofdisk_open): Use it to un-escape "," characters.
20823 * kern/disk.c (find_part_sep): New.
20824 (grub_disk_open): Use it to find the first non-escaped ','
20825 character in the disk name.
20826 * util/ieee1275/devicemap.c (escape_of_path): New.
20827 (grub_util_emit_devicemap_entry): Use it.
20828 * util/sparc64/ieee1275/grub-install.in: Update script to
20829 strip partition specifiers properly by not triggering on
20830 '\' escaped ',' characters.
20831
20832 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20833
20834 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
20835 to 0x300.
20836 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
20837 resolutions.
20838 (linux_vesafb_modes): Add a lot of additional modes to the list (based
20839 on documentation from Wikipedia).
20840
20841 2009-05-04 Pavel Roskin <proski@gnu.org>
20842
20843 * disk/ata.c: Spelling fixes.
20844 * disk/raid.c: Likewise.
20845 * disk/usbms.c: Likewise.
20846 * disk/dmraid_nvidia.c: Likewise.
20847 * kern/ieee1275/openfw.c: Likewise.
20848 * kern/ieee1275/init.c: Likewise.
20849 * kern/ieee1275/cmain.c: Likewise.
20850 * boot/i386/pc/cdboot.S: Likewise.
20851 * video/readers/png.c: Likewise.
20852 * video/i386/pc/vbe.c: Likewise.
20853 * fs/udf.c: Likewise.
20854 * fs/hfs.c: Likewise.
20855 * fs/reiserfs.c: Likewise.
20856 * efiemu/runtime/efiemu.c: Likewise.
20857 * efiemu/main.c: Likewise.
20858 * efiemu/mm.c: Likewise.
20859 * include/grub/elf.h: Likewise.
20860 * include/grub/xnu.h: Likewise.
20861 * include/grub/usbdesc.h: Likewise.
20862 * include/grub/usb.h: Likewise.
20863 * include/grub/script_sh.h: Likewise.
20864 * include/grub/lib/LzmaEnc.h: Likewise.
20865 * include/grub/efiemu/efiemu.h: Likewise.
20866 * include/grub/command.h: Likewise.
20867 * normal/menu.c: Likewise.
20868 * normal/main.c: Likewise.
20869 * normal/datetime.c: Likewise.
20870 * bus/usb/uhci.c: Likewise.
20871 * mmap/i386/uppermem.c: Likewise.
20872 * mmap/mmap.c: Likewise.
20873 * commands/acpi.c: Likewise.
20874 * commands/test.c: Likewise.
20875 * partmap/apple.c: Likewise.
20876 * font/font.c: Likewise.
20877 * loader/sparc64/ieee1275/linux.c: Likewise.
20878 * loader/macho.c: Likewise.
20879 * loader/i386/bsd_trampoline.S: Likewise.
20880 * loader/i386/bsd.c: Likewise.
20881 * loader/xnu.c: Likewise.
20882 * term/i386/pc/vesafb.c: Likewise.
20883 * term/usb_keyboard.c: Likewise.
20884 * util/resolve.c: Likewise.
20885 * util/getroot.c: Likewise.
20886
20887 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
20888
20889 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
20890
20891 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20892
20893 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
20894 build error.
20895
20896 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20897
20898 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
20899 parameter only available on BIOS.
20900
20901 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 Removed wrong semicolon in declaration
20904
20905 * grub/misc.h (grub_dprintf): remove semicolon
20906
20907 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20908
20909 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
20910 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
20911 is done by grub_cmd_linux() now).
20912 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
20913 restore video to text mode.
20914 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
20915 indicates lack of "vga=" parameter. "vga=0" is mapped to
20916 `GRUB_LINUX_VID_MODE_NORMAL'.
20917
20918 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
20919
20920 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
20921 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
20922 and `normal/script.c'. Add `kern/rescue_reader.c',
20923 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
20924 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
20925 `grub_script.tab.c'.
20926
20927 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20928 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20930 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20932
20933 * Makefile.in: Remove duplicated 2008 in Copyright line.
20934
20935 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20936
20937 * util/misc.c (grub_util_warn): New function. Emits a warning
20938 unconditionally.
20939 * include/grub/util/misc.h (grub_util_warn): New declaration.
20940
20941 * util/i386/pc/grub-install.in: Understand --force and pass it down
20942 to grub-setup.
20943
20944 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
20945 down to setup().
20946 (setup): Improve error messages and add warnings when requested to
20947 install in odd layouts. Refuse to install using blocklists unless
20948 --force was set.
20949
20950 2009-05-04 martin f. krafft <madduck@madduck.net>
20951
20952 * disk/raid.c (grub_raid_scan_device): Improve debug message.
20953
20954 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20955
20956 Updated copyright year
20957
20958 * fs/hfsplus.c: updated copyright year
20959
20960 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20961
20962 HFS+ UUID
20963
20964 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
20965 in the space previously used by unused3
20966 (grub_hfsplus_uuid): new function
20967 (grub_hfsplus_fs): added uuid field
20968
20969 2009-05-03 Pavel Roskin <proski@gnu.org>
20970
20971 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
20972 suppress warnings. It's no longer needed.
20973 * disk/host.c: Likewise.
20974 * disk/ata_pthru.c: Likewise.
20975 * disk/loopback.c: Likewise.
20976 * hook/datehook.c: Likewise.
20977 * parttool/pcpart.c: Likewise.
20978 * fs/i386/pc/pxe.c: Likewise.
20979 * fs/ntfscomp.c: Likewise.
20980 * efiemu/main.c: Likewise.
20981 * mmap/mmap.c: Likewise.
20982 * commands/crc.c: Likewise.
20983 * commands/hexdump.c: Likewise.
20984 * commands/hdparm.c: Likewise.
20985 * commands/acpi.c: Likewise.
20986 * commands/echo.c: Likewise.
20987 * commands/minicmd.c: Likewise.
20988 * commands/blocklist.c: Likewise.
20989 * commands/memrw.c: Likewise.
20990 * commands/loadenv.c: Likewise.
20991 * commands/usbtest.c: Likewise.
20992 * commands/lsmmap.c: Likewise.
20993 * commands/boot.c: Likewise.
20994 * commands/parttool.c: Likewise.
20995 * commands/configfile.c: Likewise.
20996 * commands/search.c: Likewise.
20997 * commands/ieee1275/suspend.c: Likewise.
20998 * commands/cat.c: Likewise.
20999 * commands/i386/pc/pxecmd.c: Likewise.
21000 * commands/i386/pc/play.c: Likewise.
21001 * commands/i386/pc/halt.c: Likewise.
21002 * commands/i386/pc/vbeinfo.c: Likewise.
21003 * commands/i386/pc/vbetest.c: Likewise.
21004 * commands/lspci.c: Likewise.
21005 * commands/date.c: Likewise.
21006 * commands/handler.c: Likewise.
21007 * commands/ls.c: Likewise.
21008 * commands/test.c: Likewise.
21009 * commands/cmp.c: Likewise.
21010 * commands/efi/loadbios.c: Likewise.
21011 * commands/efi/fixvideo.c: Likewise.
21012 * commands/halt.c: Likewise.
21013 * commands/help.c: Likewise.
21014 * commands/reboot.c: Likewise.
21015 * hello/hello.c: Likewise.
21016 * script/sh/main.c: Likewise.
21017 * loader/xnu.c: Likewise.
21018 * term/terminfo.c: Likewise.
21019 * term/i386/pc/serial.c: Likewise.
21020 * term/usb_keyboard.c: Likewise.
21021
21022 2009-05-03 David S. Miller <davem@davemloft.net>
21023
21024 * normal/menu.c: Include grub/parser.h
21025
21026 2009-05-03 Pavel Roskin <proski@gnu.org>
21027
21028 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
21029 not char*.
21030 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
21031 Suggested by Javier Martín <lordhabbit@gmail.com>
21032
21033 * util/i386/pc/grub-mkrescue.in: Allow for the case when
21034 efiemu??.o doesn't exist.
21035 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
21036 copying.
21037
21038 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
21039
21040 FreeBSD 64-bit support
21041
21042 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
21043 and loader/i386/bsd_trampoline.S
21044 (bsd_mod_ASFLAGS): new variable
21045 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
21046 (FREEBSD_MODTYPE_KERNEL64): likewise
21047 (grub_bsd64_trampoline_start): likewise
21048 (grub_bsd64_trampoline_end): likewise
21049 (grub_bsd64_trampoline_selfjump): likewise
21050 (grub_bsd64_trampoline_gdt): likewise
21051 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
21052 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
21053 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
21054 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
21055 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21056 of "attrib" member
21057 * loader/i386/bsd_pagetable.c: new file
21058 * loader/i386/bsd_trampoline.S: likewise
21059 * loader/i386/bsd.c (ALIGN_QWORD): new macro
21060 (ALIGN_VAR): likewise
21061 (entry_hi): new variable
21062 (kern_end_mdofs): likewise
21063 (is_64bit): likewise
21064 (grub_freebsd_add_meta): use ALIGN_VAR
21065 (grub_e820_mmap): new declaration
21066 (grub_freebsd_add_mmap): new function
21067 (grub_freebsd_add_meta_module): support 64 bit kernels
21068 (grub_freebsd_list_modules): use ALIGN_VAR
21069 (gdt_descriptor): new declaration
21070 (grub_freebsd_boot): support 64 bit kernels
21071 (grub_bsd_elf64_hook): new function
21072 (grub_bsd_load_elf): support elf64
21073
21074 2009-05-03 Bean <bean123ch@gmail.com>
21075
21076 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
21077 after we get the result of if statement.
21078
21079 2009-05-03 Bean <bean123ch@gmail.com>
21080
21081 * Makefile.in (enable_efiemu): New variable.
21082
21083 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
21084 set.
21085 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
21086 path.
21087 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
21088 path, add -mno-red-zone option.
21089 (efiemu64_s.o): Likewise.
21090 (efiemu64.o): Use macro $^ for source file.
21091
21092 * configure.ac (--enable-efiemu): New option.
21093
21094 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21095
21096 xnu support
21097
21098 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
21099 (pkglib_MODULES): add xnu.mod
21100 (xnu_mod_SOURCES): new variable
21101 (xnu_mod_CFLAGS): likewise
21102 (xnu_mod_LDFLAGS): likewise
21103 (xnu_mod_ASFLAGS): likewise
21104 * conf/i386-pc.rmk: likewise
21105 * conf/x86_64-efi.rmk: likewise
21106 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
21107 new declaration
21108 * include/grub/i386/macho.h: new file
21109 * include/grub/i386/xnu.h: likewise
21110 * include/grub/macho.h: likewise
21111 * include/grub/machoload.h: likewise
21112 * include/grub/x86_64/macho.h: likewise
21113 * include/grub/x86_64/xnu.h: likewise
21114 * include/grub/xnu.h: likewise
21115 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
21116 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
21117 * loader/i386/efi/xnu.c: new file
21118 * loader/i386/pc/xnu.c: likewise
21119 * loader/i386/xnu.c: likewise
21120 * loader/i386/xnu_helper.S: likewise
21121 * loader/macho.c: likewise
21122 * loader/xnu.c: likewise
21123 * loader/xnu_resume.c: likewise
21124 * util/grub-dumpdevtree: likewise
21125 * include/grub/i386/pit.h: include grub/err.h
21126 (grub_pit_wait): export
21127 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
21128
21129 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 Efiemu
21132
21133 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
21134 _linux_efi, linux_efi.
21135 new files in grub-emu
21136 new targets efiemu32.o and efiemu64.o
21137 * loader/linux_normal_efiemu.c: likewise
21138 * loader/i386/efi/linux.c: added preliminary efiemu support
21139 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
21140 files to copy
21141 * include/grub/autoefi.h: new file
21142 * include/grub/i386/efiemu.h: likewise
21143 * include/grub/i386/pc/efiemu.h: likewise
21144 * include/grub/efi/api.h: add LL suffix when necessary
21145 new definitions relating to tables
21146 * include/grub/efiemu/efiemu.h: new file
21147 * include/grub/efiemu/runtime.h: likewise
21148 * efiemu/prepare.c: likewise
21149 * efiemu/loadcore_common.c: likewise
21150 * efiemu/loadcore64.c: likewise
21151 * efiemu/runtime/efiemu.sh: likewise
21152 * efiemu/runtime/efiemu.S: likewise
21153 * efiemu/runtime/efiemu.c: likewise
21154 * efiemu/runtime/config.h: likewise
21155 * efiemu/prepare32.c: likewise
21156 * efiemu/main.c: likewise
21157 * efiemu/modules/pnvram.c: likewise
21158 * efiemu/modules/i386: likewise
21159 * efiemu/modules/i386/pc: likewise
21160 * efiemu/modules/acpi.c: likewise
21161 * efiemu/i386/pc/cfgtables.c: likewise
21162 * efiemu/i386/loadcore64.c: likewise
21163 * efiemu/i386/loadcore32.c: likewise
21164 * efiemu/prepare64.c: likewise
21165 * efiemu/loadcore.c: likewise
21166 * efiemu/symbols.c: likewise
21167 * efiemu/mm.c: likewise
21168 * efiemu/loadcore32.c: likewise
21169
21170 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 ACPI spoofing
21173
21174 * commands/acpi.c: new file
21175 * commands/i386/pc/acpi.c: likewise
21176 * commands/efi/acpi.c: likewise
21177 * include/grub/acpi.h: likewise
21178 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
21179 (acpi_mod_SOURCES): new variable
21180 (acpi_mod_CFLAGS): likewise
21181 (acpi_mod_LDFLAGS): likewise
21182 * conf/i386-efi.rmk: likewise
21183 * conf/x86_64-efi.rmk: likewise
21184
21185 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 Missing part from mmap patch
21188
21189 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
21190 (grub_mmap_unregister)
21191 (grub_mmap_free_and_unregister): use grub_mmap_register
21192
21193 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21194
21195 Mmap services
21196
21197 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
21198 * loader/i386/linux.c (find_mmap_size): likewise
21199 (allocate_pages): likewise
21200 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
21201 (grub_fill_multiboot_mmap): likewise
21202 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
21203 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
21204 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
21205 (OPENBSD_MMAP_RESERVED): likewise
21206 * include/grub/i386/pc/memory.h: include grub/memory.h
21207 (grub_lower_mem): removed
21208 (grub_upper_mem): likewise
21209 (GRUB_MACHINE_MEMORY_ACPI): new definition
21210 (GRUB_MACHINE_MEMORY_NVS): likewise
21211 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
21212 (GRUB_MACHINE_MEMORY_HOLE): likewise
21213 (grub_machine_mmap_register): likewise
21214 (grub_machine_mmap_unregister): likewise
21215 (grub_machine_get_upper): likewise
21216 (grub_machine_get_lower): likewise
21217 (grub_machine_get_post64): likewise
21218 * include/grub/i386/efi/memory.h: new file
21219 * include/grub/x86_64/efi/memory.h: likewise
21220 * include/grub/efi/memory.h: likewise
21221 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
21222 (mmap_mod_SOURCES): new variable
21223 (mmap_mod_LDFLAGS): likewise
21224 (mmap_mod_ASFLAGS): likewise
21225 * conf/i386-coreboot.rmk: likewise
21226 * conf/i386-ieee1275.rmk: likewise
21227 * conf/i386-efi.rmk: likewise
21228 * conf/x86_64-efi.rmk: likewise
21229 * include/grub/types.h (UINT_TO_PTR): new macro
21230 (PTR_TO_UINT32): likewise
21231 (PTR_TO_UINT64): likewise
21232 * include/grub/memory.h: new file
21233 * mmap/i386/pc/mmap.c: likewise
21234 * mmap/i386/pc/mmap_helper.S: likewise
21235 * mmap/i386/uppermem.c: likewise
21236 * mmap/mmap.c: likewise
21237 * mmap/efi/mmap.c: likewise
21238 * kern/i386/coreboot/init.c (grub_machine_init): don't use
21239 grub_upper_mem
21240 * kern/i386/pc/init.c (grub_lower_mem): removed variable
21241 (grub_upper_mem): likewise
21242 (grub_machine_init): don't use grub_upper_mem,
21243 make grub_lower_mem local
21244 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
21245 grub_mmap_iterate and grub_mmap_get_upper
21246 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
21247
21248 2009-05-02 Bean <bean123ch@gmail.com>
21249
21250 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
21251 script/sh/parser.y.
21252 (pkglib_MODULES): Add normal.mod and sh.mod.
21253 (normal_SOURCES): New variable.
21254 (normal_mod_CFLAGS): Likewise.
21255 (normal_mod_LDFLAGS): Likewise.
21256 (sh_mod_SOURCES): Likewise.
21257 (sh_mod_CFLAGS): Likewise.
21258 (sh_mod_LDFLAGS): Likewise.
21259
21260 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
21261 script/sh/lexer.c_DEPENDENCIES.
21262 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
21263 kern/rescue_reader.c and kern/rescue_parser.c.
21264 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
21265 (grub_emu_SOURCES): Change source files.
21266 (pkglib_MODULES): Remove normal.mod.
21267 (normal_SOURCES): Removed.
21268 (normal_mod_CFLAGS): Likewise.
21269 (normal_mod_LDFLAGS): Likewise.
21270 * conf/i386-coreboot.rmk: Likewise.
21271 * conf/i386-efi.rmk: Likewise.
21272 * conf/i386-ieee1276.rmk: Likewise.
21273 * conf/powerpc-ieee1275.rmk: Likewise.
21274 * conf/sparc64-ieee1275.rmk: Likewise.
21275 * conf/x86_64-efi.rmk: Likewise.
21276
21277 * include/grub/command.h (grub_command_execute): New inline function.
21278
21279 * include/grub/menu.h (grub_menu_entry): Removed commands field.
21280
21281 * include/grub/normal.h: Remove <grub/setjmp.h>.
21282 (grub_fs_module_list): Moved to normal/autofs.c.
21283 (grub_exit_env): Removed.
21284 (grub_command_execute): Likewise.
21285 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
21286 parameter script.
21287 (read_command_list): New function declaration.
21288 (read_fs_list): Likewise.
21289
21290 * include/parser.h: Include <grub/reader.h>.
21291 (grub_parser_split_cmdline): Change type of getline parameter.
21292 (grub_parser): New structure.
21293 (grub_parser_class): New variable.
21294 (grub_parser_execute): New function declaration.
21295 (grub_register_rescue_parser): Likewise.
21296 (grub_parser_register): New inline function.
21297 (grub_parser_unregister): Likewise.
21298 (grub_parser_get_current): Likewise.
21299 (grub_parser_set_current): Likewise.
21300
21301 * include/grub/reader.h: New file.
21302 * kern/reader.c: Likewise.
21303 * kern/rescue_parser.c: Likewise.
21304 * kern/rescue_reader.c: Likewise.
21305 * normal/autofs.c: Likewise.
21306 * normal/dyncmd.c: Likewise.
21307
21308 * include/grub/rescue.h: Removed.
21309 * normal/command.h: Likewise.
21310
21311 * include/grub/script.h: Moved to ...
21312 * include/grub/script_sh.h: ... Moved here.
21313 * normal/execute.c: Moved to ...
21314 * script/sh/execute.c: ... Moved here.
21315 * normal/function.c: Moved to ...
21316 * script/sh/function.c: ... Moved here.
21317 * normal/lexer.c: Moved to ...
21318 * script/sh/lexer.c: ... Moved here.
21319 * normal/parser.y: Moved to ...
21320 * script/sh/parser.y: ... Moved here.
21321 * normal/script.c: Moved to ...
21322 * script/sh/script.c: ... Moved here.
21323
21324 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
21325 <grub/reader.h>.
21326 (grub_exit_env): Removed.
21327 (fs_module_list): Moved to normal/autofs.c.
21328 (grub_file_getline): Don't handle comment here.
21329 (free_menu): Skip removed field entry->commands.
21330 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
21331 script parameter.
21332 (read_config_file): Removed nested parameter, change getline function.
21333 (grub_enter_normal_mode): Removed.
21334 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
21335 (read_command_list): Likewise.
21336 (autoload_fs_module): Moved to normal/autofs.c.
21337 (read_fs_list): Likewise.
21338 (reader_nested): New variable.
21339 (grub_normal_execute): Run parser.sh to switch to sh parser.
21340 (grub_cmd_rescue): Removed.
21341 (cmd_normal): Removed.
21342 (grub_cmd_normal): Unregister itself at the beginning. Don't register
21343 rescue command.
21344 (grub_cmdline_run): New function.
21345 (grub_normal_reader_init): Likewise.
21346 (grub_normal_read_line): Likewise.
21347 (grub_env_write_pager): Likewise.
21348 (cmdline): New variable.
21349 (grub_normal_reader): Likewise.
21350 (GRUB_MOD_INIT): Register normal reader and set as current, register
21351 pager hook, register normal command with grub_register_command_prio,
21352 so that it won't show up in command.lst.
21353 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21354 grub_fs_autoload_hook.
21355
21356 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21357 (grub_menu_execute_entry): Replace grub_script_execute with
21358 grub_parser_execute, change parameter to grub_command_execute.
21359
21360 * normal/menu_text.c: Remove <grub/script.h>.
21361
21362 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21363 and <grub/parser.h>.
21364 (run): Change editor_getline to use new parser interface. Change
21365 parameter to grub_command_execute.
21366
21367 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21368 <grub/reader.h> and <grub/parser.h>.
21369 (grub_load_normal_mode): Execute normal command.
21370 (grub_main): Call grub_register_core_commands,
21371 grub_register_rescue_parser and grub_register_rescue_reader, use
21372 grub_reader_loop to enter input loop.
21373
21374 * kern/parser.c (grub_parser_split_cmdline): Change type of
21375 getline parameter.
21376 (grub_parser_class): New variable.
21377 (grub_parser_execute): New function.
21378
21379 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21380 * loader/multiboot2.c: Likewise.
21381 * loader/sparc64/ieee1275/linux.c: Likewise.
21382
21383 * util/grub-emu.c (read_command_list): New dummy function.
21384
21385 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21386
21387 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21388 count to 16 for CCISS and IDA.
21389
21390 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21391
21392 * normal/menu_text.c (grub_wait_after_message): Print a newline
21393 after waiting for user input.
21394
21395 * loader/i386/linux.c: Include `<grub/normal.h>'.
21396 (grub_cmd_linux): Improve the error message about `ask' mode, by
21397 waiting for user input so it's not missed (we can do this, since
21398 user requested interaction).
21399
21400 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 Added missing lst to grub-mkrescue
21403
21404 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21405 and ${input_dir}/parttool.lst
21406
21407 2009-04-30 David S. Miller <davem@davemloft.net>
21408
21409 * util/hostdisk.c (device_is_wholedisk): New function.
21410 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21411 zero only if device_is_wholedisk() returns true.
21412
21413 * util/hostdisk.c (convert_system_partition_to_system_disk):
21414 Handle virtual disk devices named /dev/vdiskX as found on sparc
21415 and powerpc.
21416
21417 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21418 lettered partition specifier is found, convert to numbered.
21419
21420 2009-04-29 David S. Miller <davem@davemloft.net>
21421
21422 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21423 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21424
21425 * normal/command.c: Add missing newline at end of file.
21426
21427 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21428 warnings.
21429 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21430 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21431 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21432 ihandles have a 32-bit type but need to be stored in a "void *".
21433
21434 2009-04-28 Pavel Roskin <proski@gnu.org>
21435
21436 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21437 not disk. Adjust all dependencies.
21438 (grub_fs_uuid_close): Use grub_device_close(), not
21439 grub_disk_close().
21440
21441 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21442 parent's partition, don't copy it by reference, as it gets freed
21443 on close.
21444
21445 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21446
21447 Preboot hooks support
21448
21449 * commands/boot.c (struct grub_preboot_t): new declaration
21450 (preboots_head): new variable
21451 (preboots_tail): likewise
21452 (grub_loader_register_preboot_hook): new function
21453 (grub_loader_unregister_preboot_hook): likewise
21454 (grub_loader_set): launch preboot hooks
21455 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21456 (grub_loader_register_preboot_hook): new declaration
21457 (grub_loader_unregister_preboot_hook): likewise
21458
21459 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21460
21461 Warning fix
21462
21463 * disk/scsi.c (grub_scsi_open): added missing cast when
21464 calling grub_dprintf
21465
21466 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21467
21468 Bug and warning fixes
21469
21470 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
21471 declaration
21472 * commands/test.c (test_parse): fixed bug with file tests and corrected
21473 declaration of find_file
21474
21475 2009-04-26 Pavel Roskin <proski@gnu.org>
21476
21477 * Makefile.in: Don't install empty manual pages if help2man is
21478 missing. Use help2man option for output, not shell redirection.
21479
21480 2009-04-26 David S. Miller <davem@davemloft.net>
21481
21482 * util/grub-mkdevicemap.c (make_device_map): Add missing
21483 NESTED_FUNC_ATTR to process_device().
21484
21485 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 Test command
21488
21489 * commands/test.c: rewritten to use bash-like test
21490
21491 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 Parttool autoloading and improvements
21494
21495 * Makefile.in (pkglib_DATA): add parttool.lst
21496 (parttool.lst): new target
21497 * genmk.rb: generate parttool-*
21498 (CLEANFILES): add #{parttool}
21499 (PARTTOOLFILES): new variable
21500 * genparttoollist.sh: new file
21501 * parttool/pcpart.c (grub_pcpart_boot): more feedback
21502 (grub_pcpart_type): likewise
21503 * commands/parttool.c (helpmsg): new variable
21504 (grub_cmd_parttool): output help if not enough arguments are supplied
21505 autoload modules
21506 (GRUB_MOD_INIT(parttool)): use helpmsg
21507
21508 2009-04-24 David S. Miller <davem@davemloft.net>
21509
21510 Avoiding opening same device multiple times in device iterator.
21511
21512 * kern/device.c: (grub_device_iterate): Define struct part_ent,
21513 and use it to build a list of partitions in iterate_disk() and
21514 iterate_partition().
21515
21516 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21517 on disk->data.
21518
21519 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21520 grub_devalias_iterate() result instead of unconditional 0.
21521 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21522 Also, capture hook return value, either directly or via
21523 grub_children_iterate(), and propagate to caller.
21524 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21525 grub_children_iterate): Return value is now 'int' instead of
21526 'grub_err_t'.
21527 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21528 like a proper iterator, stopping when hooks return non-zero.
21529 (grub_devalias_iterate): Likewise.
21530
21531 2009-04-23 David S. Miller <davem@davemloft.net>
21532
21533 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21534
21535 2009-04-22 David S. Miller <davem@davemloft.net>
21536
21537 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21538 is larger than address_cells, use that value for address_cells too.
21539
21540 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21541 IEEE1275_MAX_PATH_LEN): Define.
21542 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21543 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21544 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21545 'devtype'. Explicitly NULL terminate devalias expansion.
21546
21547 * util/sparc64/ieee1275/misc.c: New file.
21548 * util/sparc64/ieee1275/grub-setup.c: New file.
21549 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21550 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21551 * util/sparc64/ieee1275/grub-install.in: New file.
21552 * util/ieee1275/ofpath.c: New file.
21553 * util/ieee1275/devicemap.c: New file.
21554 * util/devicemap.c: New file.
21555 * util/deviceiter.c: New file.
21556 * kern/sparc64/ieee1275/init.c: New file.
21557 * include/grub/util/ofpath.h: New file.
21558 * include/grub/util/deviceiter.h: New file.
21559 * util/grub-mkdevicemap.c: Include deviceiter.h.
21560 Implement using grub_util_emit_devicemap_entry and
21561 grub_util_iterate_devices.
21562 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21563 util/devicemap.c into grub-mkdevicemap
21564 * conf/i386-efi.rmk: Likewise.
21565 * conf/i386-ieee1275.rmk: Likewise.
21566 * conf/i386-pc.rmk: Likewise.
21567 * conf/powerpc-ieee1275.rmk: Likewise.
21568 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21569 images and installation utilities. Build kernel as image
21570 instead of as elf binary. Use common rules as much as possible.
21571
21572 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 Correct GPT definition
21575
21576 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21577 of "attrib" member
21578
21579 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
21580
21581 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21582
21583 2009-04-19 David S. Miller <davem@davemloft.net>
21584
21585 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21586 (grub_rescue_cmd_linux): Rename to...
21587 (grub_cmd_linux): and fix prototype.
21588 (grub_rescue_cmd_initrd): Rename to...
21589 (grub_cmd_initrd): and fix prototype.
21590 (cmd_linux, cmd_initrd): New.
21591 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21592 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21593
21594 2009-04-17 Pavel Roskin <proski@gnu.org>
21595
21596 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21597 format.
21598 (grub_ohci_transfer): Likewise.
21599
21600 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21601
21602 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21603 return without a value. Fix inconsistent indentation.
21604
21605 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21606 match struct grub_fs.
21607
21608 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21609 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21610 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21611 * commands/lspci.c (grub_lspci_iter): Likewise.
21612
21613 2009-04-16 Bean <bean123ch@gmail.com>
21614
21615 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21616 value.
21617
21618 2009-04-15 Pavel Roskin <proski@gnu.org>
21619
21620 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
21621 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
21622 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
21623 definitions.
21624
21625 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
21626
21627 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
21628 that no multiple data or metadata areas are supported and `Unknown
21629 metadata header'.
21630
21631 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21632
21633 Move loader out of the kernel
21634
21635 * kern/loader.c: moved to ...
21636 * commands/boot.c: ... moved here
21637 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
21638 * commands/boot.c (grub_cmd_boot): moved here. All users updated
21639 * include/grub/kernel.h (grub_machine_fini): export
21640 * include/grub/loader.h (grub_loader_is_loaded): update declaration
21641 (grub_loader_set): likewise
21642 (grub_loader_unset): likewise
21643 (grub_loader_boot): likewise
21644 * conf/common.rmk: new module boot.mod
21645 (pkglib_MODULES): add boot.mod
21646 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
21647 (grub_emu_SOURCES): likewise
21648 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
21649 (grub_emu_SOURCES): likewise
21650 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
21651 (grub_emu_SOURCES): likewise
21652 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
21653 (grub_emu_SOURCES): likewise
21654 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
21655 (grub_emu_SOURCES): likewise
21656 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
21657 (grub_emu_SOURCES): likewise
21658 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
21659 (grub_emu_SOURCES): likewise
21660
21661 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
21664
21665 * kern/misc.c (grub_itoa): Removed function
21666 (grub_ltoa): likewise
21667 (grub_vsprintf): use grub_lltoa
21668
21669 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21670
21671 Restore grub-emu
21672
21673 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
21674 * conf/i386-coreboot.rmk: likewise
21675 * conf/i386-ieee1275.rmk: likewise
21676 * conf/powerpc-ieee1275.rmk: likewise
21677
21678 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
21679
21680 * INSTALL: Add that `./autogen.sh' needs to be run before
21681 `./configure.'.
21682
21683 2009-04-14 Bean <bean123ch@gmail.com>
21684
21685 * Makefile.in (pkglib_DATA): Add handler.lst.
21686 (handler.lst): New rule.
21687
21688 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
21689 * conf/i386-coreboot.rmk: Likewise.
21690 * conf/i386-ieee1275.rmk: Likewise.
21691 * conf/i386-efi.rmk: Likewise.
21692 * conf/x86_64-efi.rmk: Likewise.
21693 * conf/powerpc-ieee1275.rmk: Likewise.
21694 * conf/sparc64-ieee1275.rmk: Likewise.
21695
21696 * genhandlerlist.sh: New file.
21697
21698 * genmk.rb: Add rules to generate handler.lst.
21699
21700 * include/grub/normal.h (grub_file_getline): New function definition.
21701 (read_handler_list): Likewise.
21702 (free_handler_list): Likewise.
21703
21704 * include/grub/term.h (grub_term_register_input): Add name parameter
21705 for auto generation of handler.lst.
21706 (grub_term_register_output): Likewise.
21707
21708 * normal/handler.c: New file.
21709
21710 * normal/main.c (get_line): Renamed to grub_file_getline.
21711 (read_config_file): Use the newly renamed grub_file_getline.
21712 (read_command_list): Likewise.
21713 (read_fs_list): Likewise.
21714 (grub_normal_execute): Call read_handler_list to parse handler.lst.
21715 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
21716
21717 * term/efi/console.c (grub_console_init): Add name parameter for auto
21718 generation of handler.lst.
21719 * term/gfxterm.c: Likewise.
21720 * term/i386/pc/at_keyboard.c: Likewise.
21721 * term/i386/pc/console.c: Likewise.
21722 * term/i386/pc/serial.c: Likewise.
21723 * term/i386/pc/vesafb.c: Likewise.
21724 * term/i386/pc/vga.c: Likewise.
21725 * term/i386/pc/vga_text.c: Likewise.
21726 * term/ieee1275/ofconsole.c: Likewise.
21727 * term/usb_keyboard.c: Likewise.
21728
21729 2009-04-14 Bean <bean123ch@gmail.com>
21730
21731 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
21732 properly with null character.
21733
21734 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
21735
21736 * configure: Remove.
21737 * config.h.in: Likewise.
21738 * stamp-h.in: Likewise.
21739 * DISTLIST: Likewise.
21740 * conf/common.mk: Likewise.
21741 * conf/i386-coreboot.mk: Likewise.
21742 * conf/i386-efi.mk: Likewise.
21743 * conf/i386-ieee1275.mk: Likewise.
21744 * conf/i386.mk: Likewise.
21745 * conf/i386-pc.mk: Likewise.
21746 * conf/powerpc-ieee1275.mk: Likewise.
21747 * conf/sparc64-ieee1275.mk: Likewise.
21748 * conf/x86_64-efi.mk: Likewise.
21749
21750 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
21751 develop on GRUB.
21752
21753 2009-04-14 John Stanley <jpsinthemix@verizon.net>
21754 David S. Miller <davem@davemloft.net>
21755
21756 * util/hostdisk.c (make_device_name): Fix buffer length
21757 calculations.
21758
21759 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
21760
21761 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
21762 <sys/param.h> and <sys/sysctl.h>.
21763 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
21764 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
21765 opening the device and reset them afterwards.
21766
21767 2009-04-13 Pavel Roskin <proski@gnu.org>
21768
21769 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
21770 Reported by John Stanley <jpsinthemix@verizon.net>
21771
21772 2009-04-13 Robert Millan <rmh@aybabtu.com>
21773
21774 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
21775 that name for menuentries when appropriate.
21776
21777 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21778
21779 * util/grub.d/10_freebsd.in: Add a missing `fi'.
21780
21781 2009-04-13 Robert Millan <rmh@aybabtu.com>
21782
21783 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
21784 to Linux, simply abort telling the user it's no longer supported.
21785
21786 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21787
21788 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
21789 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
21790 `freebsd_loadenv' only when devices.hints exist.
21791
21792 2009-04-13 Pavel Roskin <proski@gnu.org>
21793
21794 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
21795
21796 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21797
21798 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
21799 partition number.
21800 (grub_drive): Likewise.
21801
21802 2009-04-13 David S. Miller <davem@davemloft.net>
21803
21804 * kern/sparc64/ieee1275/ieee1275.c: New file.
21805 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
21806 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
21807 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
21808 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
21809 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
21810 grub_ieee1275_alloc_physmem): Declare new exported functions.
21811
21812 * include/grub/sparc64/ieee1275/loader.h: New file.
21813 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21814 * include/grub/sparc64/kernel.h: Likewise.
21815 * loader/sparc64/ieee1275/linux.c: Likewise.
21816
21817 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
21818 (grub_fstest_SOURCES): Likewise.
21819
21820 * util/hostdisk.c (make_device_name): Do not make any assumptions
21821 about the length of drive names.
21822
21823 * kern/dl.c (grub_dl_load_file): Close file immediately when
21824 we are done using it.
21825
21826 2009-04-12 David S. Miller <davem@davemloft.net>
21827
21828 * kern/misc.c (grub_ltoa): Fix cast when handling negative
21829 values. Noticed by Pavel Roskin.
21830
21831 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
21832 target compiler.
21833
21834 * genmk.rb: Add more flexible image type specification, also
21835 pass --strip-unneeded to objcopy.
21836 * conf/i386-pc.rmk: Use *_FORMAT.
21837 * conf/i386-pc.mk: Rebuilt.
21838
21839 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
21840 (OFDISK_HASH_SZ): Define.
21841 (ofdisk_hash): New hash table.
21842 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
21843 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
21844 instead of device phandle which is not unique.
21845
21846 * kern/sparc64/ieee1275/init.c: Delete, replace with...
21847 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
21848 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
21849 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
21850 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
21851 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
21852 GRUB_KERNEL_MACHINE_DATA_END): Define.
21853 (grub_kernel_image_size, grub_total_module_size): Declare.
21854
21855 2009-04-12 Pavel Roskin <proski@gnu.org>
21856
21857 * configure.ac: Change the logic when we check for target tools.
21858 Do it when the target is specified and it's different from the
21859 specified value of the host.
21860
21861 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
21862
21863 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
21864 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
21865 GNU/kFreeBSD. Check if a device is a character device. Use
21866 DIOCGMEDIASIZE to get the size.
21867 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
21868 support for GNU/kFreeBSD.
21869 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
21870 is a character device instead of a block device. Add support for
21871 FreeBSD device names.
21872
21873 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
21874 is a character device instead of a block device.
21875
21876 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
21877 is a character device instead of a block device.
21878
21879 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
21880
21881 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
21882 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
21883 FreeBSD. Check if a device is a character device. Use
21884 DIOCGMEDIASIZE to get the size.
21885 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
21886 support for FreeBSD.
21887 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
21888 is a character device instead of a block device. Add support for
21889 FreeBSD device names.
21890
21891 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
21892 a character device instead of a block device.
21893 (grub_util_check_char_device): New function.
21894
21895 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
21896 a character device instead of a block device.
21897
21898 * include/grub/util/getroot.h (grub_util_check_char_device): New
21899 prototype.
21900
21901 2009-04-11 David S. Miller <davem@davemloft.net>
21902
21903 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
21904 static libgcc.
21905 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
21906 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
21907 function, if present.
21908 (__bswapdi2): Likewise.
21909
21910 * include/grub/sparc64/ieee1275/boot.h: New file.
21911 * boot/sparc64/ieee1275/boot.S: Likewise.
21912 * boot/sparc64/ieee1275/diskboot.S: Likewise.
21913
21914 * kern/misc.c (grub_ltoa): New function.
21915 (grub_vsprintf): Use it to format 'long' integers.
21916
21917 2009-04-10 David S. Miller <davem@davemloft.net>
21918
21919 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
21920 slots are of type grub_ieee1275_cell_t.
21921 (grub_nand_read): Likewise.
21922 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
21923 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
21924 macros are used to compare values in arg/ret block of the call.
21925 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21926 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
21927 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
21928 grub_ieee1275_instance_to_path, grub_ieee1275_write,
21929 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
21930 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
21931 grub_ieee1275_close, grub_ieee1275_set_property,
21932 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
21933 grub_ieee1275_cell_t.
21934 * kern/ieee1275/openfw.c (grub_map): Likewise.
21935 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
21936 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
21937
21938 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
21939 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
21940 (grub_devalias_iterate): Likewise.
21941
21942 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21943
21944 UFS improvements
21945
21946 * fs/ufs.c (INODE_NBLOCKS): new definition
21947 (struct grub_ufs_dirent): added fields for non-BSD dirents
21948 (grub_ufs_get_file_block): fixed double indirect handling
21949 (grub_ufs_lookup_symlink): use more robust way to determine whether
21950 symlink is inline
21951 (grub_ufs_find_file): support for non-BSD dirents
21952 (grub_ufs_dir): support for non-BSD dirents
21953
21954 2009-04-10 Bean <bean123ch@gnail.com>
21955
21956 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
21957 attribute, otherwise the size would be wrong for i386 platform.
21958
21959 * include/grub/pci.h (grub_pci_read_word): New inline function.
21960 (grub_pci_read_byte): Likewise.
21961 (grub_pci_write): Likewise.
21962 (grub_pci_write_word): Likewise.
21963 (grub_pci_write_byte): Likewise.
21964
21965 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
21966
21967 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
21968 (find_framebuf): Scan pci to locate the frame buffer address.
21969
21970 * commands/efi/fixvideo.c: New file.
21971
21972 * commands/efi/loadbios.c: Likewise.
21973
21974 * commands/memrw.c: Likewise.
21975
21976 * util/grub-dumpbios.in: Likewise.
21977
21978 * conf/common.rmk (grub-dumpbios): New utility.
21979 (pkglib_MODULES): New module memrw.mod.
21980 (memrw_mod_SOURCE): New macro.
21981 (memrw_mod_CFLAGS): Likewise.
21982 (memrw_mod_LDFLAGS): Likewise.
21983
21984 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
21985 fixvideo.mod.
21986 (loadbios_mod_SOURCE): New macro.
21987 (loadbios_mod_CFLAGS): Likewise.
21988 (loadbios_mod_LDFLAGS): Likewise.
21989 (fixvideo_mod_SOURCE): Likewise.
21990 (fixvideo_mod_CFLAGS): Likewise.
21991 (fixvideo_mod_LDFLAGS): Likewise.
21992
21993 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
21994 fixvideo.mod.
21995 (loadbios_mod_SOURCE): New macro.
21996 (loadbios_mod_CFLAGS): Likewise.
21997 (loadbios_mod_LDFLAGS): Likewise.
21998 (fixvideo_mod_SOURCE): Likewise.
21999 (fixvideo_mod_CFLAGS): Likewise.
22000 (fixvideo_mod_LDFLAGS): Likewise.
22001
22002 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
22003
22004 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
22005
22006 2009-04-07 David S. Miller <davem@davemloft.net>
22007
22008 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
22009 support for R_SPARC_OLO10 relocations. Fix compile warning for
22010 R_SPARC_WDISP30 case.
22011 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
22012
22013 2009-04-06 Pavel Roskin <proski@gnu.org>
22014
22015 * include/grub/misc.h (ARRAY_SIZE): New macro.
22016 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
22017 New macro.
22018 * loader/i386/linux.c (allocate_pages): Use free_pages().
22019 (grub_linux_unload): Don't use free_pages().
22020 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
22021 wrong index. Treat all other modes as text modes.
22022 (grub_cmd_linux): Initialize vid_mode unconditionally to
22023 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
22024
22025 * commands/help.c (print_command_help): Use cmd->prio, not
22026 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
22027
22028 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22029
22030 Parttool
22031
22032 * parttool/pcpart.c: new file
22033 * commands/parttool.c: likewise
22034 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
22035 (parttool_mod_SOURCES): new variable
22036 (parttool_mod_CFLAGS): likewise
22037 (parttool_mod_LDFLAGS): likewise
22038 (pcpart_mod_SOURCES): likewise
22039 (pcpart_mod_CFLAGS): likewise
22040 (pcpart_mod_LDFLAGS): likewise
22041 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
22042 and parttool/pcpart.c
22043 * conf/i386-efi.rmk: likewise
22044 * conf/i386-ieee1275.rmk: likewise
22045 * conf/i386-pc.rmk: likewise
22046 * conf/powerpc-ieee1275.rmk: likewise
22047 * conf/sparc64-ieee1275.rmk: likewise
22048 * conf/x86_64-ieee1275.rmk: likewise
22049
22050 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22051
22052 Support for mtime and further expandability of dir command
22053
22054 * include/grub/lib/datetime.h: moved to ...
22055 * include/grub/datetime.h: ... moved here and added
22056 declaration of grub_unixtime2datetime. All users updated
22057 * include/grub/fs.h: new syntax for dir and mtime functions in
22058 struct grub_fs
22059 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
22060 and GRUB_FSHELP_FLAGS_MASK
22061 * commands/ls.c (grub_ls_list_files): Write mtime in long format
22062 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
22063 (grub_ext2_mtime): new function
22064 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
22065 (grub_hfsplus_mtime): new function
22066 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
22067 (GRUB_UFS_ATTR_FILE): likewise
22068 (GRUB_UFS_ATTR_LNK): likewise
22069 (struct grub_ufs_sblock): new fields mtime
22070 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
22071 all users updated
22072 (grub_ufs_dir): mtime support
22073 (grub_ufs_mtime): new function
22074 * fs/affs.c (grub_affs_dir): use new dir syntax
22075 * fs/afs.c (grub_afs_dir): likewise
22076 * fs/cpio.c (grub_cpio_dir): likewise
22077 * fs/fat.c (grub_fat_find_dir): likewise
22078 * fs/hfs.c (grub_hfs_dir): likewise
22079 * fs/iso9660.c (grub_iso9660_dir): likewise
22080 * fs/jfs.c (grub_jfs_dir): likewise
22081 * fs/minix.c (grub_minix_dir): likewise
22082 * fs/ntfs.c (grub_ntfs_dir): likewise
22083 * fs/reiserfs.c (grub_reiserfs_dir): likewise
22084 * fs/sfs.c (grub_sfs_dir): likewise
22085 * fs/xfs.c (grub_xfs_dir): likewise
22086 * util/hostfs.c (grub_hostfs_dir): likewise
22087 * lib/datetime.c: moved to ...
22088 * normal/datetime.c: ... moved here
22089 (grub_unixtime2datetime): new function
22090 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
22091 * normal/completion.c (iterate_dir): use new dir syntax
22092 * normal/misc.c (grub_normal_print_device_info): tell the
22093 last modification time of a volume
22094 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
22095 * conf/common.rmk: added lib/datetime.c to ls.mod
22096 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
22097 (normal_mod_SOURCES): likewise
22098 (datetime_mod_SOURCES): Removed lib/datetime.c
22099 * conf/i386-efi.rmk: likewise
22100 * conf/i386-ieee1275.rmk: likewise
22101 * conf/i386-pc.rmk: likewise
22102 * conf/powerpc-ieee1275.rmk: likewise
22103 * conf/sparc64-ieee1275.rmk: likewise
22104 * conf/x86_64-efi.rmk: likewise
22105
22106 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 Trim trailing spaces in FAT label and support mtools-like labels
22109
22110 * fs/fat.c (grub_fat_iterate_dir): New function based
22111 on grub_fat_find_dir
22112 (grub_fat_find_dir): use grub_fat_iterate_dir
22113 (grub_fat_label): likewise
22114
22115 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22116
22117 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
22118 and command.h
22119 remove extraneous kernel_elf_HEADERS
22120
22121 2009-04-04 Bean <bean123ch@gnail.com>
22122
22123 * include/grub/util/misc.h: Add dummy function fsync for mingw.
22124
22125 * util/misc.c: Likewise.
22126
22127 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22128
22129 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
22130 instead of grub_printf.
22131
22132 2009-04-03 Robert Millan <rmh@aybabtu.com>
22133
22134 * loader/i386/linux.c (grub_linux_setup_video): Fill
22135 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
22136 values from `mode info' structure instead of hardcoded
22137 values.
22138
22139 2009-04-01 Pavel Roskin <proski@gnu.org>
22140
22141 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
22142 unused now.
22143 * genmk.rb: Likewise.
22144 * configure.ac: Likewise.
22145
22146 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
22147
22148 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
22149 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
22150
22151 2009-04-01 David S. Miller <davem@davemloft.net>
22152
22153 * normal/sparc64/setjmp.S: Fix setjmp implementation.
22154 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
22155 (grub_setjmp): Mark with 'returns_twice' attribute.
22156 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
22157 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
22158 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
22159
22160 2009-04-01 Robert Millan <rmh@aybabtu.com>
22161
22162 Reapply fix from 2008-07-28 which was accidentally reverted; also
22163 perform the same fix to a similar check in same function.
22164
22165 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22166 with the same number are found, just use issue a warning with
22167 grub_dprintf(), as this error has been reported to be non-fatal.
22168
22169 2009-03-31 Pavel Roskin <proski@gnu.org>
22170
22171 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
22172 for cross-compilation.
22173
22174 2009-03-30 Robert Millan <rmh@aybabtu.com>
22175
22176 Fix i386-ieee1275 build.
22177
22178 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
22179 Remove declaration.
22180
22181 2009-03-30 Pavel Roskin <proski@gnu.org>
22182
22183 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
22184 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
22185 zero-terminated, rely only on the strlen value. Fix comparison
22186 of strings differing in length.
22187
22188 2009-03-30 Robert Millan <rmh@aybabtu.com>
22189
22190 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
22191 checking for abi version. Improve error messages on BIOS to notify
22192 user about `linux16' command.
22193
22194 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
22195
22196 Leak fixes
22197
22198 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
22199 in case of collision
22200 * disk/scsi.c (grub_scsi_open): free scsi in case of error
22201
22202 2009-03-29 Robert Millan <rmh@aybabtu.com>
22203
22204 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
22205 set `vid_mode' accordingly.
22206 (grub_linux_boot): Process `vid_mode' and set video mode.
22207
22208 2009-03-29 Robert Millan <rmh@aybabtu.com>
22209
22210 * util/grub.d/10_linux.in (linux_entry): New function.
22211 Factorize generation of Linux boot entries.
22212
22213 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
22214
22215 Make the format of Environment Block plain text. The boot loader
22216 part is not tested well yet.
22217
22218 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
22219 (buffer): Removed.
22220 (envblk): Likewise.
22221 (usage): Remove "info" and "clear". Add "unset". Update the
22222 description of "set", as this does not delete variables any
22223 longer.
22224 (create_envblk_file): Complete rewrite.
22225 (open_envblk_file): Likewise.
22226 (cmd_info): Removed.
22227 (cmd_list): Likewise.
22228 (cmd_set): Likewise.
22229 (cmd_clear): Likewise.
22230 (list_variables): New function.
22231 (write_envblk): Likewise.
22232 (set_variables): Likewise.
22233 (unset_variables): Likewise.
22234 (main): Complete rewrite.
22235
22236 * commands/loadenv.c (buffer): Removed.
22237 (envblk): Likewise.
22238 (open_envblk_file): New function.
22239 (read_envblk_file): Complete rewrite.
22240 (grub_cmd_load_env): Likewise.
22241 (grub_cmd_list_env): Likewise.
22242 (struct blocklist): New struct.
22243 (free_blocklists): New function.
22244 (check_blocklists): Likewise.
22245 (write_blocklists): Likewise.
22246 (grub_cmd_save_env): Complete rewrite.
22247
22248 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
22249 a plain text signature.
22250 (GRUB_ENVBLK_MAXLEN): Removed.
22251 (struct grub_envblk): Complete rewrite.
22252 (grub_envblk_find): Removed.
22253 (grub_envblk_insert): Likewise.
22254 (grub_envblk_open): New prototype.
22255 (grub_envblk_set): Likewise.
22256 (grub_envblk_delete): Put const to VALUE.
22257 (grub_envblk_iterate): Put const to NAME and VALUE.
22258 (grub_envblk_close): New prototype.
22259 (grub_envblk_buffer): New inline function.
22260 (grub_envblk_size): Likewise.
22261
22262 * lib/envblk.c: Include grub/mm.h.
22263 (grub_env_find): Removed.
22264 (grub_envblk_open): New function.
22265 (grub_envblk_close): Likewise.
22266 (escaped_value_len): Likewise.
22267 (find_next_line): Likewise.
22268 (grub_envblk_insert): Removed.
22269 (grub_envblk_set): New function.
22270 (grub_envblk_delete): Complete rewrite.
22271 (grub_envblk_iterate): Likewise.
22272
22273 2009-03-28 Robert Millan <rmh@aybabtu.com>
22274
22275 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
22276 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
22277 variables. Use 16-bit loader.
22278 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
22279 loader.
22280 * kern/i386/loader.S (grub_linux_boot): Rename to ...
22281 (grub_linux16_boot): ... this. Update all users.
22282 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
22283 (grub_linux_boot): ... this. Update all users.
22284
22285 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
22286 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
22287 commands to `linux16' and `initrd16'.
22288 (GRUB_MOD_FINI(linux)): Rename to ...
22289 (GRUB_MOD_FINI(linux16)): ... this.
22290
22291 2009-03-24 Pavel Roskin <proski@gnu.org>
22292
22293 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
22294 not just for compilation.
22295
22296 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 Move multiboot helper out of kernel
22299
22300 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
22301 `loader/i386/multiboot_helper.S'.
22302 * conf/i386-coreboot.rmk: Likewise
22303 * conf/i386-ieee1275.rmk: Likewise
22304
22305 * kern/i386/loader.S: Move multiboot helpers from here...
22306 * loader/i386/multiboot_helper.S: ...moved here
22307 * include/grub/i386/loader.h: Move declarations of multiboot
22308 helpers from here...
22309 * include/grub/i386/multiboot.h: ...moved here
22310 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
22311
22312 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22313
22314 * kern/env.c (grub_env_context_open): Added an argument to specify
22315 whether a new context inherits exported variables from current
22316 one. This is useful when making a sandbox to interpret a config
22317 file.
22318 All callers updated.
22319
22320 * include/grub/env.h (grub_env_context_open): Updated the prototype.
22321
22322 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22323
22324 * kern/env.c (grub_env_context_close): Fix memory leaks.
22325
22326 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22327
22328 * normal/main.c (grub_normal_execute): Added an argument
22329 BATCH to specify if an interactive interface should be provided
22330 after reading a config file.
22331 All callers updated.
22332 (read_command_list): Prevent being executed twice.
22333 (read_fs_list): Likewise.
22334
22335 * include/grub/normal.h (grub_normal_execute): Updated the
22336 prototype.
22337
22338 2009-03-22 Pavel Roskin <proski@gno.org>
22339
22340 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
22341 _start.
22342 * kern/i386/pc/startup.S: Likewise.
22343 * kern/i386/efi/startup.S: Likewise.
22344 * kern/i386/ieee1275/startup.S: Likewise.
22345 * kern/i386/coreboot/startup.S: Likewise.
22346 * kern/x86_64/efi/startup.S: Likewise.
22347
22348 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
22349 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
22350 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
22351
22352 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22355
22356 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22357 limit detection.
22358 Use vaddr of correct segment for entry_point.
22359
22360 2009-03-21 Bean <bean123ch@gmail.com>
22361
22362 * commands/blocklist.c: Add include file <grub/command.h>, remove
22363 <grub/normal.h> and <grub/arg.h>.
22364 (grub_cmd_blocklist): Use the new command interface.
22365 (GRUB_MOD_INIT): Likewise.
22366 (GRUB_MOD_FINI): Likewise.
22367 * commands/boot.c: Likewise.
22368 * commands/cat.c: Likewise.
22369 * commands/cmp.c: Likewise.
22370 * commands/configfile.c: Likewise.
22371 * commands/crc.c: Likewise.
22372 * commands/echo.c: Likewise.
22373 * commands/halt.c: Likewise.
22374 * commands/handler.c: Likewise.
22375 * commands/hdparm.c: Likewise.
22376 * commands/help.c: Likewise.
22377 * commands/hexdump.c: Likewise.
22378 * commands/loadenv.c: Likewise.
22379 * commands/ls.c: Likewise.
22380 * commands/lsmmap.c: Likewise.
22381 * commands/lspci.c: Likewise.
22382 * commands/loadenv.c: Likewise.
22383 * commands/read.c: Likewise.
22384 * commands/reboot.c: Likewise.
22385 * commands/search.c: Likewise.
22386 * commands/sleep.c: Likewise.
22387 * commands/test.c: Likewise.
22388 * commands/usbtest.c: Likewise.
22389 * commands/videotest.c: Likewise.
22390 * commands/i386/cpuid.c: Likewise.
22391 * commands/i386/pc/halt.c: Likewise.
22392 * commands/i386/pc/play.c: Likewise.
22393 * commands/i386/pc/pxecmd.c: Likewise.
22394 * commands/i386/pc/vbeinfo.c: Likewise.
22395 * commands/i386/pc/vbetest.c: Likewise.
22396 * commands/ieee1275/suspend.c: Likewise.
22397 * disk/loopback.c: Likewise.
22398 * font/font_cmd.c: Likewise.
22399 * hello/hello.c: Likewise.
22400 * loader/efi/appleloader.c: Likewise.
22401 * loader/efi/chainloader.c: Likewise.
22402 * loader/i386/bsd.c: Likewise.
22403 * loader/i386/efi/linux.c: Likewise.
22404 * loader/i386/ieee1275/linux.c: Likewise.
22405 * loader/i386/linux.c: Likewise.
22406 * loader/i386/pc/chainloader.c: Likewise.
22407 * loader/i386/pc/linux.c: Likewise.
22408 * loader/powerpc/ieee1275/linux.c: Likewise.
22409 * loader/multiboot_loader.c: Likewise.
22410 * term/gfxterm.c: Likewise.
22411 * term/i386/pc/serial.c: Likewise.
22412 * term/terminfo.c: Likewise.
22413
22414 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22415 * term/i386/pc/vga.c: Likewise.
22416 * video/readers/jpeg.c: Likewise.
22417 * video/readers/png.c: Likewise.
22418 * video/readers/tga.c: Likewise.
22419
22420 * util/grub-fstest (cmd_loopback): Removed.
22421 (cmd_blocklist): Likewise.
22422 (cmd_ls): Likewise.
22423 (grub_register_command): Likewise.
22424 (grub_unregister_command): Likewise.
22425 (execute_command): Use grub_command_find to locate command and execute
22426 it.
22427
22428 * include/grub/efi/chainloader.h: Removed.
22429 * loader/efi/chainloader_normal.c: Likewise.
22430 * loader/i386/bsd_normal.c: Likewise.
22431 * loader/i386/pc/chainloader_normal.c: Likewise.
22432 * loader/i386/pc/multiboot_normal.c: Likewise.
22433 * loader/linux_normal.c: Likewise.
22434 * loader/multiboot_loader_normal.c: Likewise.
22435 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22436
22437 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22438 and grub_register_command_p1.
22439
22440 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22441 kern/command.c, lib/arg.c and commands/extcmd.c.
22442 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22443 (minicmd_mod_SOURCES): New variable.
22444 (minicmd_mod_CFLAGS): Likewise.
22445 (minicmd_mod_LDFLAGS): Likewise.
22446 (extcmd_mod_SOURCES): Likewise.
22447 (extcmd_mod_CFLAGS): Likewise.
22448 (extcmd_mod_LDFLAGS): Likewise.
22449 (boot_mod_SOURCES): Removed.
22450 (boot_mod_CFLAGS): Likewise.
22451 (boot_mod_LDFLAGS): Likewise.
22452
22453 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22454 kern/corecmd.c.
22455 (kernel_img_HEADERS): Add command.h.
22456 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22457 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22458 and lib/arg.c.
22459 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22460 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22461 remove the corresponding normal mode command.
22462 (normal_mod_SOURCES): Remove normal/arg.c.
22463 * conf/i386-coreboot.rmk: Likewise.
22464 * conf/i386-efi.rmk: Likewise.
22465 * conf/i386-ieee1275.rmk: Likewise.
22466 * conf/powerpc-ieee1275.rmk: Likewise.
22467 * conf/x86_64-efi.rmk: Likewise.
22468
22469 * include/grub/arg.h: Move from here ...
22470 * include/grub/lib/arg.h: ... to here.
22471
22472 * normal/arg.c: Move from here ...
22473 * lib/arg.c: ... to here.
22474
22475 * commands/extcmd.c: New file.
22476 * commands/minicmd.c: Likewise.
22477 * include/grub/command.h: Likewise.
22478 * include/grub/extcmd.h: Likewise.
22479 * kern/command.c: Likewise.
22480 * kern/corecmd.c: Likewise.
22481
22482 * kern/list.c (grub_list_iterate): Return int instead of void.
22483 (grub_list_insert): New function.
22484 (grub_prio_list_insert): Likewise.
22485
22486 * kern/rescue.c (grub_rescue_command): Removed.
22487 (grub_rescue_command_list): Likewise.
22488 (grub_rescue_register_command): Likewise.
22489 (grub_rescue_unregister_command): Likewise.
22490 (grub_rescue_cmd_boot): Move to minicmd.c
22491 (grub_rescue_cmd_help): Likewise.
22492 (grub_rescue_cmd_info): Likewise.
22493 (grub_rescue_cmd_boot): Likewise.
22494 (grub_rescue_cmd_testload): Likewise.
22495 (grub_rescue_cmd_dump): Likewise.
22496 (grub_rescue_cmd_rmmod): Likewise.
22497 (grub_rescue_cmd_lsmod): Likewise.
22498 (grub_rescue_cmd_exit): Likewise.
22499 (grub_rescue_print_devices): Moved to corecmd.c.
22500 (grub_rescue_print_files): Likewise.
22501 (grub_rescue_cmd_ls): Likewise.
22502 (grub_rescue_cmd_insmod): Likewise.
22503 (grub_rescue_cmd_set): Likewise.
22504 (grub_rescue_cmd_unset): Likewise.
22505 (attempt_normal_mode): Use grub_command_find to get normal module.
22506 (grub_enter_rescue_mode): Use grub_register_core_commands to register
22507 commands, remove grub_rescue_register_command calls.
22508
22509 * normal/command.c (grub_register_command): Removed.
22510 (grub_unregister_command): Likewise.
22511 (grub_command_find): Likewise.
22512 (grub_iterate_commands): Likewise.
22513 (rescue_command): Likewise.
22514 (export_command): Moved to corecmd.c.
22515 (set_command): Removed.
22516 (unset_command): Likewise.
22517 (insmod_command): Likewise.
22518 (rmmod_command): Likewise.
22519 (lsmod_command): Likewise.
22520 (grub_command_init): Likewise.
22521
22522 * normal/completion.c (iterate_command): Use cmd->prio to check for
22523 active command.
22524 (complete_arguments): Use grub_extcmd_t structure to find options.
22525 (grub_normal_do_completion): Change function grub_iterate_commands to
22526 grub_command_iterate.
22527
22528 * normal/execute.c (grub_script_execute_cmd): No need to parse
22529 argument here.
22530
22531 * normal/main.c (grub_dyncmd_dispatcher): New function.
22532 (read_command_list): Register unload commands as dyncmd.
22533 (grub_cmd_normal): Use new command interface, register rescue,
22534 unregister normal at entry, register normal, unregister rescue at exit.
22535
22536 * include/grub/list.h (grub_list_test_t): New type.
22537 (grub_list_iterate): Return int instead of void.
22538 (grub_list_insert): New function.
22539 (GRUB_AS_NAMED_LIST_P): New macro.
22540 (GRUB_AS_PRIO_LIST): Likewise.
22541 (GRUB_AS_PRIO_LIST_P): Likewise.
22542 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22543 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22544 (grub_prio_list): New structure.
22545 (grub_prio_list_insert): New function.
22546 (grub_prio_list_remove): New inline function.
22547
22548 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22549 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22550 (GRUB_COMMAND_FLAG_MENU): Likewise.
22551 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22552 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22553 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22554 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22555 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22556 (grub_command): Likewise.
22557 (grub_register_command): Likewise.
22558 (grub_command_find): Likewise.
22559 (grub_iterate_commands): Likewise.
22560 (grub_command_init): Likewise.
22561 (grub_arg_parse): Likewise.
22562 (grub_arg_show_help): Likewise.
22563
22564 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22565 (grub_rescue_unregister_command): Likewise.
22566
22567 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22568 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22569 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22570
22571 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22572 grub_rescue_cmd_initrd.
22573 * include/grub/i386/loader.h: Likewise.
22574 * include/grub/x86_64/loader.h: Likewise.
22575
22576 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22577
22578 2009-03-21 Bean <bean123ch@gmail.com>
22579
22580 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22581 instead of stat in mingw environment.
22582
22583 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22584
22585 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22586
22587 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22588 AC_CONFIG_LINKS.
22589
22590 2009-03-21 Bean <bean123ch@gmail.com>
22591
22592 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22593 out of range error.
22594
22595 2009-03-18 Michel Dänzer <michel@daenzer.net>
22596
22597 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22598 checking inode flags for EXT4_EXTENTS_FLAG.
22599
22600 2009-03-18 Robert Millan <rmh@aybabtu.com>
22601
22602 * loader/i386/linux.c: Include `<grub/video.h>' and
22603 `<grub/i386/pc/vbe.h>'..
22604 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22605 (grub_linux32_boot): Attempt to configure video settings with
22606 grub_linux_setup_video().
22607 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22608 to avoid grub_console_fini() which would step out of graphical mode
22609 unconditionally.
22610
22611 2009-03-14 Robert Millan <rmh@aybabtu.com>
22612
22613 Fix build on powerpc.
22614 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22615
22616 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
22619 background image command.
22620
22621 2009-03-12 Colin D Bennett <colin@gibibit.com>
22622
22623 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
22624 (grub_gfxterm_putchar): Extract pairs of identical calls to
22625 draw_cursor out of conditional blocks.
22626
22627 2009-03-11 Pavel Roskin <proski@gnu.org>
22628
22629 * fs/hfs.c (grub_hfs_strncasecmp): New function.
22630 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
22631
22632 2009-03-11 Robert Millan <rmh@aybabtu.com>
22633
22634 * loader/i386/multiboot_elfxx.c
22635 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
22636
22637 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
22638
22639 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
22640 `kern/handler.c'.
22641
22642 2009-03-11 Robert Millan <rmh@aybabtu.com>
22643
22644 * loader/i386/multiboot.c (code_size): New variable.
22645 (grub_multiboot): Define offsets by adding to `code_size' rather
22646 than subtracting from `grub_multiboot_payload_size'. Provide
22647 4-byte alignment to MBI and others by increasing
22648 `boot_loader_name_length' appropriately.
22649
22650 * loader/i386/multiboot_elfxx.c
22651 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
22652
22653 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
22654
22655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
22656 `fs/ext2.c'.
22657
22658 2009-03-08 Robert Millan <rmh@aybabtu.com>
22659
22660 Make loader/i386/linux.c usable on i386-pc again.
22661
22662 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
22663 memory to heap.
22664 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
22665 `#error' stanza.
22666
22667 2009-03-07 Bean <bean123ch@gmail.com>
22668
22669 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
22670 allocation.
22671
22672 2009-03-06 Robert Millan <rmh@aybabtu.com>
22673
22674 Fix display issue on terminals with screen size other than 80x25
22675 (e.g. gfxterm with resolution higher than 640x480).
22676
22677 * normal/main.c (grub_normal_init_page): Display title text in a
22678 position relative to the center of the terminal instead of relying
22679 on a hardcoded offset.
22680
22681 2009-03-04 Robert Millan <rmh@aybabtu.com>
22682
22683 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
22684 installed.
22685
22686 * Makefile.in (host_kernel): New variable.
22687 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
22688 scripts instead of just the windows one.
22689 * configure.ac: Initialize and AC_SUBST `host_kernel'.
22690
22691 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22692
22693 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
22694 `kern/handler.c'.
22695 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22696 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22700 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22701
22702 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22703
22704 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
22705 or if there's no space for the disk label and print the partition number on a
22706 invalid magic.
22707
22708 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22709
22710 * util/misc.c: Include <time.h>.
22711 (grub_millisleep): New function.
22712
22713 2009-03-04 Bean <bean123ch@gmail.com>
22714
22715 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
22716 another option -mno-red-zone.
22717
22718 * commands/handler.c: Change module description.
22719
22720 * kern/handler.c: Add missing space at the end of description line.
22721
22722 * kern/list.c: Likewise.
22723
22724 2009-03-03 Robert Millan <rmh@aybabtu.com>
22725
22726 Move more components to the relocation area, and fix mbi pointer
22727 handling to use the destination rather than the origin (thanks to
22728 Vladimir Serbinenko for spotting).
22729
22730 * loader/i386/multiboot.c (mbi_dest): New variable.
22731 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
22732 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
22733 relocation area.
22734
22735 2009-03-01 Bean <bean123ch@gmail.com>
22736
22737 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
22738 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
22739 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
22740 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
22741
22742 * loader/i386/efi/linux.c (acpi_guid): New variable.
22743 (acpi_guid): Likewise.
22744 (EBDA_SEG_ADDR): New constant.
22745 (LOW_MEM_ADDR): Likewise.
22746 (FAKE_EBDA_SEG): Likewise.
22747 (fake_bios_data): New function.
22748 (grub_linux_boot): Call fake_bios_data.
22749
22750 2009-03-01 Bean <bean123ch@gmail.com>
22751
22752 * commands/terminal.c: Removed.
22753
22754 * commands/handler.c: New file.
22755
22756 * include/grub/list.h: Likewise.
22757
22758 * include/grub/handler.h: Likewise.
22759
22760 * kern/list.c: Likewise.
22761
22762 * kern/handler.c: Likewise.
22763
22764 * kern/term.h: Include header file <grub/handler.h>.
22765 (grub_term_input): Move next field to the beginning.
22766 (grub_term_output): Likewise.
22767 (grub_term_input_class): New variable.
22768 (grub_term_output_class): Likewise.
22769 (grub_term_register_input): Changed to inline function.
22770 (grub_term_register_output): Likewise.
22771 (grub_term_unregister_input): Likewise.
22772 (grub_term_unregister_output): Likewise.
22773 (grub_term_set_current_input): Likewise.
22774 (grub_term_set_current_output): Likewise.
22775 (grub_term_get_current_input): Likewise.
22776 (grub_term_get_current_output): Likewise.
22777 (grub_term_iterate_input): Removed.
22778 (grub_term_iterate_output): Likewise.
22779
22780 * kern/term.c (grub_term_list_input): Removed.
22781 (grub_term_list_output): Likewise.
22782 (grub_term_input_class): New variable.
22783 (grub_term_output_class): Likewise.
22784 (grub_cur_term_input): Change variable as macro.
22785 (grub_cur_term_output): Likewise.
22786 (grub_term_register_input): Removed.
22787 (grub_term_register_output): Likewise.
22788 (grub_term_unregister_input): Likewise.
22789 (grub_term_unregister_output): Likewise.
22790 (grub_term_set_current_input): Likewise.
22791 (grub_term_set_current_output): Likewise.
22792 (grub_term_iterate_input): Likewise.
22793 (grub_term_iterate_output): Likewise.
22794 (grub_term_get_current_input): Likewise.
22795 (grub_term_get_current_output): Likewise.
22796
22797 * util/grub-editenv.c: Include header file <grub/handler.h>.
22798 (grub_term_get_current_input): Removed.
22799 (grub_term_get_current_output): Likewise.
22800 (grub_term_input_class): New variable.
22801 (grub_term_output_class): Likewise.
22802
22803 * util/grub-fstest.c (grub_term_get_current_input): Removed.
22804 (grub_term_get_current_output): Likewise.
22805 (grub_term_input_class): New variable.
22806 (grub_term_output_class): Likewise.
22807
22808 * util/grub-probe.c (grub_term_get_current_input): Removed.
22809 (grub_term_get_current_output): Likewise.
22810 (grub_term_input_class): New variable.
22811 (grub_term_output_class): Likewise.
22812
22813 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
22814 (grub_term_get_current_output): Likewise.
22815 (grub_term_input_class): New variable.
22816 (grub_term_output_class): Likewise.
22817
22818 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
22819 (terminal_mod_SOURCES): Likewise.
22820 (terminal_mod_CFLAGS): Likewise.
22821 (terminal_mod_LDFLAGS): Likewise.
22822
22823 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
22824 handler.c.
22825 (kernel_img_SOURCES): Add list.c and handler.c.
22826 (kernel_img_HEADERS): Add list.h and handler.h.
22827
22828 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22829 handler.c.
22830 (kernel_mod_SOURCES): Add list.c and handler.c.
22831 (kernel_mod_HEADERS): Add list.h and handler.h.
22832
22833 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
22834 handler.c.
22835 (kernel_elf_SOURCES): Add list.c and handler.c.
22836 (kernel_elf_HEADERS): Add list.h and handler.h.
22837
22838 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22839 handler.c.
22840 (kernel_elf_SOURCES): Add list.c and handler.c.
22841 (kernel_elf_HEADERS): Add list.h and handler.h.
22842
22843 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22844 handler.c.
22845 (kernel_mod_SOURCES): Add list.c and handler.c.
22846 (kernel_mod_HEADERS): Add list.h and handler.h.
22847
22848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22849 handler.c.
22850 (kernel_elf_SOURCES): Add list.c and handler.c.
22851 (kernel_elf_HEADERS): Add list.h and handler.h.
22852
22853 2009-02-27 Robert Millan <rmh@aybabtu.com>
22854
22855 Factorize elf32 / elf64 code in Multiboot loader. This will
22856 prevent it from getting out of sync again.
22857
22858 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
22859 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
22860 grub_multiboot_load_elf64): Move from here ...
22861 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
22862 grub_multiboot_load_elf): ... to here (new file).
22863
22864 2009-02-27 Robert Millan <rmh@aybabtu.com>
22865
22866 * util/grub.d/10_linux.in: Rename "single-user mode" to
22867 "recovery mode".
22868
22869 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
22870
22871 Don't leak in SCSI code.
22872 * disk/scsi.c (grub_scsi_close): free `scsi'.
22873
22874 2009-02-27 Robert Millan <rmh@aybabtu.com>
22875
22876 * loader/i386/pc/multiboot.c: Move from here ...
22877 * loader/i386/multiboot.c: ... to here. Update all users.
22878
22879 2009-02-27 Robert Millan <rmh@aybabtu.com>
22880
22881 Patch from Alexandre Bique <bique.alexandre@gmail.com>
22882 * util/i386/pc/grub-setup.c (setup): Fix directory path.
22883
22884 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
22885
22886 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
22887 b-tree.
22888
22889 2009-02-27 Robert Millan <rmh@aybabtu.com>
22890
22891 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
22892 `0x' qualifier as 0 when base is specified as parameter).
22893
22894 2009-02-24 Bean <bean123ch@gmail.com>
22895
22896 * configure.ac: Check for -mcmodel=large in x86_64 target.
22897
22898 * include/grub/efi/api.h (efi_call_10): New macro.
22899 (efi_wrap_10): New function.
22900
22901 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
22902 (GRUB_PE32_REL_BASED_HIGH): Likewise.
22903 (GRUB_PE32_REL_BASED_LOW): Likewise.
22904 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
22905 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
22906 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
22907 (GRUB_PE32_REL_BASED_SECTION): Likewise.
22908 (GRUB_PE32_REL_BASED_REL): Likewise.
22909 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
22910 (GRUB_PE32_REL_BASED_DIR64): Likewise.
22911 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
22912
22913 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
22914 issue.
22915
22916 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
22917 (efi_wrap_10): New function.
22918
22919 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
22920
22921 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
22922 MB/MBP model (NV chipset).
22923 (devdata_devs): Add devpath_5 to the list.
22924
22925 * load/i386/efi/linux.c (video_base): Remove variable.
22926 (RGB_MASK): New macro.
22927 (RGB_MAGIC): Likewise.
22928 (LINE_MIN): Likewise.
22929 (LINE_MAX): Likewise.
22930 (FBTEST_STEP): Likewise.
22931 (FBTEST_COUNT): Likewise.
22932 (fb_list): New variable.
22933 (grub_find_video_card): Remove function.
22934 (find_framebuf): New function.
22935 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
22936 line length.
22937
22938 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
22939 problem for x86_64.
22940
22941 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
22942
22943 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
22944
22945 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
22946 coding tool name.
22947
22948 2009-02-22 Robert Millan <rmh@aybabtu.com>
22949
22950 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
22951 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
22952 in our relocation, instead of using it directly from heap. Also
22953 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
22954
22955 2009-02-21 Robert Millan <rmh@aybabtu.com>
22956
22957 Implement USB keyboard support (based on patch by Marco Gerards)
22958
22959 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
22960 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
22961 (usb_keyboard_mod_LDFLAGS): New variables.
22962
22963 * term/usb_keyboard.c: New file.
22964
22965 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22966
22967 Corrected wrong declaration
22968
22969 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
22970
22971 2009-02-14 Christian Franke <franke@computer.org>
22972
22973 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
22974 (grub_lspci_iter): Print class code and programming interface byte.
22975
22976 2009-02-14 Christian Franke <franke@computer.org>
22977
22978 * gendistlist.sh: Ignore `.svn' directories.
22979
22980 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
22981
22982 * fs/fat.c: Add 2009 to Copyright line.
22983
22984 2009-02-14 Christian Franke <franke@computer.org>
22985
22986 * commands/hdparm.c: New file. Provides `hdparm' command
22987 which sends ATA commands via grub_disk_ata_pass_through ().
22988
22989 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
22990
22991 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
22992 and <grub/cpu/io.h> to include/grub/ata.h.
22993 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
22994 (GRUB_CDROM_SECTOR_SIZE): Remove.
22995 (GRUB_ATA_*): Move to include/grub/ata.h.
22996 (GRUB_ATAPI_*): Likewise.
22997 (enum grub_ata_commands): Likewise.
22998 (enum grub_ata_timeout_milliseconds): Likewise.
22999 (struct grub_ata_device): Likewise.
23000 (grub_ata_regset): Likewise.
23001 (grub_ata_regget): Likewise.
23002 (grub_ata_regset2): Likewise.
23003 (grub_ata_regget2): Likewise.
23004 (grub_ata_check_ready): Likewise.
23005 (grub_ata_wait_not_busy): Remove static, exported in
23006 include/grub/ata.h.
23007 (grub_ata_wait_drq): Likewise.
23008 (grub_ata_pio_read): Likewise.
23009
23010 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
23011 function for hdparm.mod.
23012
23013 * include/grub/ata.h: New file, contains declarations from
23014 disk/ata.c.
23015 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
23016
23017 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
23018 (grub_disk_ata_pass_through): New exported variable.
23019
23020 * kern/disk.c (grub_disk_ata_pass_through): New variable.
23021
23022 2009-02-13 Colin D Bennett <colin@gibibit.com>
23023
23024 Support multiple fallback entries, and provide an API to support
23025 executing default+fallback menu entries. Renamed the `terminal' menu
23026 viewer to `text'.
23027
23028 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
23029 variable declaration.
23030 (grub_menu_execute_callback): New structure declaration.
23031 (grub_menu_execute_callback_t): New typedef.
23032 (grub_menu_execute_with_fallback): New function declaration.
23033 (grub_menu_get_entry): Likewise.
23034 (grub_menu_get_timeout): Likewise.
23035 (grub_menu_set_timeout): Likewise.
23036
23037 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
23038
23039 * normal/menu.c (grub_wait_after_message): Moved to
23040 `normal/menu_text.c'.
23041 (draw_border): Likewise.
23042 (print_message): Likewise.
23043 (print_entry): Likewise.
23044 (print_entries): Likewise.
23045 (grub_menu_init_page): Likewise.
23046 (get_entry_number): Likewise.
23047 (print_timeout): Likewise.
23048 (run_menu): Likewise.
23049 (grub_menu_execute_entry): Likewise.
23050 (show_text_menu): Likewise.
23051 (get_and_remove_first_entry_number): New function.
23052 (grub_menu_execute_with_fallback): Likewise.
23053 (get_entry): Renamed to ...
23054 (grub_menu_get_entry): .. this and made it global.
23055 (get_timeout): Renamed to ...
23056 (grub_menu_get_timeout): ... this and made it global.
23057 (set_timeout): Renamed to ...
23058 (grub_menu_set_timeout): ... this and made it global.
23059 (grub_normal_terminal_menu_viewer): Renamed to ...
23060 (grub_normal_text_menu_viewer): ... this.
23061
23062 * normal/menu_text.c: New file. Extracted text-menu-specific code
23063 from normal/menu.c.
23064
23065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
23066 (normal_mod_SOURCES): Likewise.
23067
23068 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23069 (normal_mod_SOURCES): Likewise.
23070
23071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23072 (normal_mod_SOURCES): Likewise.
23073
23074 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
23075 (normal_mod_SOURCES): Likewise.
23076
23077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23078 (normal_mod_SOURCES): Likewise.
23079
23080 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23081 (normal_mod_SOURCES): Likewise.
23082
23083 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23084 (normal_mod_SOURCES): Likewise.
23085
23086 2009-02-11 Robert Millan <rmh@aybabtu.com>
23087
23088 * util/grub.d/00_header.in: Update old reference to `font' command.
23089
23090 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
23091
23092 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
23093
23094 Based on patch from Javier Martín.
23095
23096 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23097
23098 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
23099 to avoid false positives with FAT.
23100 (grub_fstest_SOURCES): Likewise.
23101 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23102 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23104 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23105 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23106 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23107
23108 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23109
23110 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
23111 bpb.version_specific.fat12_or_fat16.fstype and
23112 bpb.version_specific.fat32.fstype.
23113
23114 2009-02-08 Robert Millan <rmh@aybabtu.com>
23115
23116 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
23117
23118 2009-02-08 Robert Millan <rmh@aybabtu.com>
23119
23120 * Makefile.in (host_os, host_cpu): New variables.
23121 (target_os): Remove. Update all users.
23122
23123 2009-02-08 Marco Gerards <marco@gnu.org>
23124
23125 * Makefile.in (enable_grub_emu_usb): New variable.
23126 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
23127 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
23128 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
23129 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
23130 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
23131 `usbtest.mod' and `usbms.mod'.
23132 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
23133 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
23134 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
23135 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
23136 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
23137 variables.
23138
23139 * disk/usbms.c: New file.
23140
23141 * include/grub/usb.h: Likewise.
23142
23143 * include/grub/usbtrans.h: Likewise.
23144
23145 * include/grub/usbdesc.h: Likewise.
23146
23147 * bus/usb/usbtrans.c: Likewise.
23148
23149 * bus/usb/ohci.c: Likewise.
23150
23151 * bus/usb/uhci.c: Likewise.
23152
23153 * bus/usb/usbhub.c: Likewise.
23154
23155 * bus/usb/usb.c: Likewise.
23156
23157 * commands/usbtest.c: Likewise.
23158
23159 * util/usb.c: Likewise.
23160
23161 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
23162
23163 * configure.ac: Test for libusb presence.
23164
23165 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
23166
23167 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
23168
23169 * kern/mm.c: Add more comments.
23170
23171 2009-02-08 Robert Millan <rmh@aybabtu.com>
23172
23173 Patch from Javier Martín.
23174 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
23175 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
23176
23177 2009-02-08 Robert Millan <rmh@aybabtu.com>
23178
23179 * fs/cpio.c: Split tar functionality to ...
23180 * fs/tar.c: ... here (new file). Update all users.
23181
23182 2009-02-07 Robert Millan <rmh@aybabtu.com>
23183
23184 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
23185 backward-incompatible features.
23186
23187 Based on patch from Javier Martín, with some adjustments.
23188
23189 2009-02-07 Michael Scherer <misc@mandriva.org>
23190
23191 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
23192
23193 2009-02-07 Robert Millan <rmh@aybabtu.com>
23194
23195 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
23196 position of `disk/lvm.c' to ensure grub_init_all() always picks it
23197 after the RAID stuff.
23198
23199 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
23200
23201 Fixes problem when running vbetest command as reported by
23202 Vladimir Serbinenko <phcoder@gmail.com>.
23203
23204 * (grub_vbe_set_video_mode): Fixed problem with text modes.
23205
23206 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
23207
23208 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
23209 /dev/md/NpN style mdraid devices.
23210
23211 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23212
23213 * util/unifont2pff.rb: Remove.
23214
23215 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23216
23217 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
23218 `#'.
23219
23220 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23221
23222 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
23223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23224 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23228 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23229
23230 2009-02-02 Christian Franke <franke@computer.org>
23231
23232 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
23233
23234 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
23235
23236 * INSTALL: Note that we now require at least autoconf 2.59 and
23237 that LZO is optional.
23238
23239 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23240
23241 Base on patch on bug #24154 created by Tomas Tintera
23242 <trosos@seznam.cz>.
23243
23244 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
23245
23246 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23247
23248 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
23249 <bero@arklinux.org>.
23250
23251 * normal/parser.y (script_init): Add missing semicolon.
23252
23253 2009-01-31 Colin D Bennett <colin@gibibit.com>
23254
23255 * normal/main.c: Add include to grub/menu_viewer.h.
23256 (free_menu_entry_classes): Added.
23257 (grub_normal_menu_addentry): Added class property handling.
23258 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
23259 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
23260
23261 * normal/menu_viewer.c: New file.
23262
23263 * normal/menu.c (run_menu_entry): Renamed to ...
23264 (grub_menu_execute_entry): ... this and made it as global.
23265 (grub_menu_run): Renamed to ...
23266 (show_text_menu): ... this and made it local.
23267 (show_text_menu): Adapt to new function names.
23268 (grub_normal_terminal_menu_viewer): New global variable.
23269
23270 * include/grub/menu.h: New file.
23271
23272 * include/grub/menu_viewer.h: New file.
23273
23274 * include/grub/normal.h: Added include to grub/menu.h.
23275 (grub_menu_entry): Moved to include/grub/menu.h.
23276 (grub_menu_entry_t): Likewise.
23277 (grub_menu): Likewise.
23278 (grub_menu_t): Likewise.
23279 (grub_normal_terminal_menu_viewer): Added.
23280 (grub_menu_execute_entry): Likewise.
23281 (grub_menu_run): Removed.
23282
23283 * DISTLIST: Added include/grub/menu.h.
23284 Added include/grub/menu_viewer.h.
23285 Added normal/menu_viewer.c.
23286
23287 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
23288
23289 * normal/execute.c (grub_script_execute_menuentry): Changed to use
23290 arglist for menutitle arguments.
23291
23292 * normal/main.c (grub_normal_menu_addentry): Likewise.
23293
23294 * normal/parser.y (menuentry): Likewise.
23295
23296 * normal/script.c (grub_script_create_cmdmenu): Likewise.
23297
23298 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
23299 (grub_script_create_cmdmenu): Likewise.
23300
23301 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
23302
23303 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
23304 changes.
23305
23306 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
23307
23308 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
23309
23310 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
23311
23312 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23313
23314 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23315
23316 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23317
23318 2009-01-30 Christian Franke <franke@computer.org>
23319
23320 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
23321 in option help text.
23322
23323 2009-01-27 Pavel Roskin <proski@gnu.org>
23324
23325 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
23326
23327 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23328
23329 * commands/lsmmap.c: Add include to grub/machine/memory.h.
23330
23331 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
23332
23333 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
23334 unregister function.
23335
23336 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23337
23338 * disk/scsi.c (grub_scsi_read): Fix sign problem.
23339
23340 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
23341
23342 * util/grub-mkfont.c (usage): Fix typo.
23343
23344 * util/elf/grub-mkimage.c (load_modules): Fix warning.
23345
23346 2009-01-26 Daniel Mierswa <impulze@impulze.org>
23347
23348 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
23349
23350 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
23351
23352 * kern/misc.c (grub_strcasecmp): New function.
23353 (grub_strcasecmp): Use grub_size_t instead of int for length.
23354 Fix return value.
23355 * include/grub/misc.h: Update function prototypes.
23356
23357 2009-01-26 Robert Millan <rmh@aybabtu.com>
23358
23359 * configure.ac: Fix cross-compilation check.
23360
23361 2009-01-22 Christian Franke <franke@computer.org>
23362
23363 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23364 (precision) digit string. Allow `.format2' without `format1' (width).
23365 Limit input chars for `%s' output to `format2' if specified. This is
23366 compatible with standard printf ().
23367
23368 2009-01-22 Christian Franke <franke@computer.org>
23369
23370 * disk/ata.c (grub_ata_wait_status): Replace by ...
23371 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23372 other status bits may be invalid while BSY is asserted.
23373 (grub_ata_check_ready): New function.
23374 (grub_ata_cmd): Removed.
23375 (grub_ata_wait_drq): New function.
23376 (grub_ata_strncpy): Remove inline.
23377 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23378 and error check now done by grub_ata_wait_drq ().
23379 (grub_ata_pio_write): Likewise.
23380 (grub_atapi_identify): Set DEV before check for !BSY. Use
23381 grub_ata_wait_drq () to wait for data.
23382 (grub_ata_device_initialize): Add status register check to
23383 detect missing SATA slave devices. Add debug messages.
23384 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23385 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23386 transfer loop by grub_ata_pio_write ().
23387 (grub_ata_identify): Set DEV before check for !BSY. Use
23388 grub_ata_wait_drq () to wait for data.
23389 (grub_ata_setaddress): Set DEV before check for !BSY.
23390 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23391 read/write in one loop. Fix invalid command on write. Fix incomplete
23392 command on (size % batch) == 0. Add missing error check after write of
23393 last block. Add debug messages.
23394 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23395
23396 2009-01-19 Christian Franke <franke@computer.org>
23397
23398 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23399 (GRUB_ATAPI_IREASON_*): Likewise.
23400 (grub_ata_pio_write): Fix timeout error return.
23401 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23402 (grub_atapi_wait_drq): New function.
23403 (grub_atapi_packet): New parameter `size'.
23404 Use grub_atapi_wait_drq () and direct write instead of
23405 grub_ata_pio_write ().
23406 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23407 reads the number of bytes requested by the device for each DRQ
23408 assertion.
23409 (grub_atapi_write): Remove old implementation, return not
23410 implemented instead.
23411
23412 2009-01-19 Christian Franke <franke@computer.org>
23413
23414 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23415 of 512 to calculate data size.
23416 (grub_scsi_read12): Likewise.
23417 (grub_scsi_write10): Likewise.
23418 (grub_scsi_write12): Likewise.
23419 (grub_scsi_read): Adjust size according to blocksize.
23420 Add checks for invalid blocksize and unaligned transfer.
23421
23422 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23423
23424 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23425
23426 * term/gfxterm.c (write_char): Fix background rendering for wide
23427 width glyphs.
23428
23429 2009-01-19 Robert Millan <rmh@aybabtu.com>
23430
23431 * config.guess: Update to latest version from config git.
23432 * config.sub: Likewise.
23433
23434 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
23435
23436 * Makefile.in: Change font compilation to use new grub-mkfont instead
23437 of java version.
23438
23439 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23440 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23441 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23442 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23443 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23444 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23445 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23446 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23447 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23448
23449 2009-01-16 Christian Franke <franke@computer.org>
23450
23451 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23452 (enum grub_ata_timeout_milliseconds): New enum.
23453 (grub_ata_wait_status): Add parameter milliseconds.
23454 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23455 recovery from timed-out commands.
23456 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23457 return grub_errno instead of REG_ERROR.
23458 (grub_ata_pio_write): Add parameter milliseconds.
23459 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23460 Pass milliseconds to grub_ata_wait_status () and
23461 grub_ata_pio_read ().
23462 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23463 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23464 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23465 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23466 It is not suitable for device detection, because DEV bit is ignored,
23467 the command may run too long, and not all devices set the signature
23468 properly.
23469 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23470 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23471 Fix device selection, DEV bit must be set first to address the registers
23472 of the correct device.
23473 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23474 grub_ata_pio_read/write ().
23475 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23476 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23477
23478 2009-01-13 Carles Pina i Estany <carles@pina.cat>
23479
23480 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23481
23482 2009-01-13 Bean <bean123ch@gmail.com>
23483
23484 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23485
23486 2009-01-13 Bean <bean123ch@gmail.com>
23487
23488 * Makefile.in: (enable_grub_mkfont): New variable.
23489 (freetype_cflags): Likewise.
23490 (freetype_libs): Likewise.
23491
23492 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23493 (grub_mkfont_SOURCES): New variable.
23494 (grub_mkfont_CFLAGS): Likewise.
23495 (grub_mkfont_LDFLAGS): Likewise.
23496
23497 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23498 library if `--enable-grub-mkfont' is requested.
23499 (enable_grub_mkfont): New variable.
23500 (freetype_cflags): Likewise.
23501 (freetype_libs): Likewise.
23502
23503 * util/grub-mkfont.c: New file.
23504
23505 2009-01-12 Christian Franke <franke@computer.org>
23506
23507 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23508 mode check. Fix setting of compat_use[].
23509
23510 2009-01-10 Robert Millan <rmh@aybabtu.com>
23511
23512 Update a few copyright years which we forgot to do in 2008 (only for
23513 files whose changes made in 2008 were copyright-significant)
23514
23515 * Makefile.in: Add 2008 to Copyright line.
23516 * disk/ieee1275/ofdisk.c: Likewise.
23517 * disk/efi/efidisk.c: Likewise.
23518 * kern/dl.c: Likewise.
23519 * kern/sparc64/ieee1275/init.c: Likewise.
23520 * kern/mm.c: Likewise.
23521 * kern/efi/mm.c: Likewise.
23522 * boot/i386/pc/boot.S: Likewise.
23523 * genfslist.sh: Likewise.
23524 * fs/iso9660.c: Likewise.
23525 * fs/hfs.c: Likewise.
23526 * fs/jfs.c: Likewise.
23527 * fs/minix.c: Likewise.
23528 * fs/ufs.c: Likewise.
23529 * gensymlist.sh.in: Likewise.
23530 * genkernsyms.sh.in: Likewise.
23531 * include/grub/misc.h: Likewise.
23532 * include/grub/types.h: Likewise.
23533 * include/grub/symbol.h: Likewise.
23534 * include/grub/elf.h: Likewise.
23535 * include/grub/kernel.h: Likewise.
23536 * include/grub/disk.h: Likewise.
23537 * include/grub/dl.h: Likewise.
23538 * include/grub/i386/linux.h: Likewise.
23539 * include/grub/i386/pc/biosdisk.h: Likewise.
23540 * include/grub/efi/api.h: Likewise.
23541 * include/grub/efi/pe32.h: Likewise.
23542 * include/grub/util/misc.h: Likewise.
23543 * normal/execute.c: Likewise.
23544 * normal/arg.c: Likewise.
23545 * normal/completion.c: Likewise.
23546 * normal/lexer.c: Likewise.
23547 * normal/parser.y: Likewise.
23548 * normal/misc.c: Likewise.
23549 * commands/i386/pc/vbeinfo.c: Likewise.
23550 * commands/hexdump.c: Likewise.
23551 * commands/terminal.c: Likewise.
23552 * commands/ls.c: Likewise.
23553 * commands/help.c: Likewise.
23554 * partmap/pc.c: Likewise.
23555 * loader/efi/chainloader.c: Likewise.
23556 * loader/multiboot_loader.c: Likewise.
23557 * loader/i386/pc/multiboot2.c: Likewise.
23558 * term/efi/console.c: Likewise.
23559 * term/i386/pc/serial.c: Likewise.
23560 * util/lvm.c: Likewise.
23561 * util/console.c: Likewise.
23562 * util/i386/efi/grub-mkimage.c: Likewise.
23563 * util/raid.c: Likewise.
23564
23565 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23566
23567 * commands/videotest.c: Removed include to grub/machine/memory.h.
23568
23569 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23570 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23571 (video_mod_SOURCES): Removed.
23572 (video_mod_CFLAGS): Likewise.
23573 (video_mod_LDFLAGS): Likewise.
23574 (gfxterm_mod_SOURCES): Likewise.
23575 (gfxterm_mod_CFLAGS): Likewise.
23576 (gfxterm_mod_LDFLAGS): Likewise.
23577 (videotest_mod_SOURCES): Likewise.
23578 (videotest_mod_CFLAGS): Likewise.
23579 (videotest_mod_LDFLAGS): Likewise.
23580 (bitmap_mod_SOURCES): Likewise.
23581 (bitmap_mod_CFLAGS): Likewise.
23582 (bitmap_mod_LDFLAGS): Likewise.
23583 (tga_mod_SOURCES): Likewise.
23584 (tga_mod_CFLAGS): Likewise.
23585 (tga_mod_LDFLAGS): Likewise.
23586 (jpeg_mod_SOURCES): Likewise.
23587 (jpeg_mod_CFLAGS): Likewise.
23588 (jpeg_mod_LDFLAGS): Likewise.
23589 (png_mod_SOURCES): Likewise.
23590 (png_mod_CFLAGS): Likewise.
23591 (png_mod_LDFLAGS): Likewise.
23592
23593 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23594 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23595 (video_mod_SOURCES): Added.
23596 (video_mod_CFLAGS): Likewise.
23597 (video_mod_LDFLAGS): Likewise.
23598 (videotest_mod_SOURCES): Likewise.
23599 (videotest_mod_CFLAGS): Likewise.
23600 (videotest_mod_LDFLAGS): Likewise.
23601 (bitmap_mod_SOURCES): Likewise.
23602 (bitmap_mod_CFLAGS): Likewise.
23603 (bitmap_mod_LDFLAGS): Likewise.
23604 (tga_mod_SOURCES): Likewise.
23605 (tga_mod_CFLAGS): Likewise.
23606 (tga_mod_LDFLAGS): Likewise.
23607 (jpeg_mod_SOURCES): Likewise.
23608 (jpeg_mod_CFLAGS): Likewise.
23609 (jpeg_mod_LDFLAGS): Likewise.
23610 (png_mod_SOURCES): Likewise.
23611 (png_mod_CFLAGS): Likewise.
23612 (png_mod_LDFLAGS): Likewise.
23613 (gfxterm_mod_SOURCES): Likewise.
23614 (gfxterm_mod_CFLAGS): Likewise.
23615 (gfxterm_mod_LDFLAGS): Likewise.
23616
23617 * term/gfxterm.c: Removed include to grub/machine/memory.h,
23618 grub/machine/console.h.
23619
23620 2009-01-04 Jerone Young <jerone@gmail.com>
23621
23622 Make on screen instructions clearer
23623
23624 Based on patch created by Jidanni <jidanni@jidanni.org>
23625
23626 * normal/menu.c: print clearer instructions on the screen
23627
23628 2009-01-02 Colin D Bennett <colin@gibibit.com>
23629
23630 New font engine.
23631
23632 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
23633 build system and fixed gfxterm.c to work with different sized fonts.
23634
23635 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
23636
23637 * configure: Re-generated.
23638
23639 * DISTLIST: Removed font/manager.c.
23640 Added font/font.c.
23641 Added font/font_cmd.c.
23642
23643 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
23644 compilation.
23645
23646 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
23647
23648 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
23649
23650 * kern/term.c: Changed users of grub_utf8_to_ucs4.
23651
23652 * normal/menu.c: Likewise.
23653
23654 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
23655 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
23656
23657 * include/grub/font.h: Replaced with new file.
23658
23659 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
23660 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
23661 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
23662 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
23663 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
23664 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
23665 fg_red, fg_green, fg_blue, fg_alpha.
23666 (grub_video_adapter): Removed blit_glyph.
23667 (grub_video_blit_glyph): Removed.
23668
23669 * font/manager.c: Removed file.
23670
23671 * font/font.c: New file.
23672
23673 * font/font_cmd.c: Likewise.
23674
23675 * video/video.c (grub_video_blit_glyph): Removed.
23676
23677 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
23678 (grub_video_vbe_map_rgba): Likewise.
23679 (grub_video_vbe_unmap_color_int): Likewise.
23680 (grub_video_vbe_blit_glyph): Removed.
23681 (grub_video_vbe_adapter): Removed blit_glyph.
23682
23683 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
23684 (get_pixel): Likewise.
23685 (set_pixel): Likewise.
23686
23687 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
23688
23689 * term/gfxterm.c: Adapted to new font engine.
23690
23691 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
23692
23693 * term/i386/pc/vga.c: Likewise.
23694
23695 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
23696
23697 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23698
23699 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23700
23701 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23702
23703 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23704
23705 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23706
23707 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23708
23709 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23710
23711 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23712
23713 * util/grub.d/00_header.in: Changed to use new loadfont command.
23714
23715 * util/grub-mkconfig_lib.in: Changed font extension.
23716
23717 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
23718
23719 * util/getroot.c (grub_util_get_grub_dev): Add support for
23720 /dev/md/dNNpNN style partitionable mdraid devices.
23721
23722 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
23723
23724 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
23725 at a time limit of the PXE TFTP API correctly.
23726 (grub_pxefs_close): Likewise.
23727
23728 2008-11-29 Robert Millan <rmh@aybabtu.com>
23729
23730 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
23731 grub_ata_device_initialize() calls.
23732
23733 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
23734
23735 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
23736 iteration failed.
23737 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
23738
23739 2008-11-28 Robert Millan <rmh@aybabtu.com>
23740
23741 Fix build on powerpc-ieee1275. Based on patch created by
23742 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
23743 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23744 `kern/ieee1275/mmap.c'.
23745 * include/grub/powerpc/ieee1275/memory.h: New file.
23746
23747 Provide grub-install on coreboot.
23748 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
23749 (grub_install_SOURCES): New variable.
23750 * util/i386/pc/grub-install.in: Add a few condition checks to make it
23751 usable on coreboot.
23752
23753 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
23754
23755 * util/grub-fstest.c (grub_term_get_current_input): Change return type
23756 to `grub_term_input_t'.
23757 (grub_term_get_current_output): Change return type to
23758 `grub_term_output_t'.
23759
23760 2008-11-22 Robert Millan <rmh@aybabtu.com>
23761
23762 Fix breakage on coreboot due to declaration mismatch.
23763 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
23764 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
23765 grub_vga_text_cls().
23766
23767 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
23768 comments. Avoid copying one more byte than necessary (just in case).
23769
23770 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
23771 to 0x200000 (avoids trouble with some OFW implementations, and matches
23772 with the one in Yaboot).
23773 Reported by Manoel Abranches
23774
23775 2008-11-20 Robert Millan <rmh@aybabtu.com>
23776
23777 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
23778 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
23779
23780 * util/grub-mkconfig_lib.in (grub_warn): New function.
23781 (convert_system_path_to_grub_path): Use grub_warn() when issuing
23782 warnings, to obtain consistent formatting.
23783 * util/grub.d/00_header.in: Likewise.
23784 * util/update-grub_lib.in: Likewise.
23785
23786 * loader/i386/linux.c (allocate_pages): Fix a warning.
23787 Move comment text to `#error' stanza.
23788
23789 Harmonize ieee1275's grub_available_iterate() with the generic
23790 grub_machine_mmap_iterate() interface (fixes a recently-introduced
23791 build problem on i386-ieee1275):
23792 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
23793 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
23794 parameter `type'. Update all users of this function.
23795 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23796 `kern/ieee1275/mmap.c'.
23797 * kern/ieee1275/init.c
23798 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
23799 with ...
23800 (grub_machine_mmap_iterate): ... this.
23801 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
23802 return type to `grub_err_t'. Update all implementations of this
23803 function prototype.
23804 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
23805 Likewise.
23806
23807 Add `lsmmap' command (lists firmware-provided memory map):
23808 * commands/lsmmap.c: New file.
23809 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
23810 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
23811 variables.
23812 * conf/powerpc-ieee1275.rmk: Likewise.
23813 * conf/i386-coreboot.rmk: Likewise.
23814 * conf/i386-ieee1275.rmk: Likewise.
23815
23816 2008-11-19 Robert Millan <rmh@aybabtu.com>
23817
23818 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
23819 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
23820 constraints to initrd allocation (based on code from
23821 loader/i386/pc/linux.c). Without them, initrd was allocated too high
23822 for Linux to find it.
23823
23824 2008-11-14 Robert Millan <rmh@aybabtu.com>
23825
23826 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
23827 order to cope with duplicate slashes.
23828
23829 2008-11-14 Robert Millan <rmh@aybabtu.com>
23830
23831 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
23832 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
23833 don't want to mess with lower memory, because it is used in the Linux
23834 loader.
23835
23836 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
23837 an appropriate place in lower memory, between 0x10000 and 0x90000,
23838 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
23839 is in our heap (probably as a result of it being corrupted during
23840 decompression). Add #error instance with comment to explain why this
23841 loader isn't currently usable on PC/BIOS.
23842
23843 2008-11-14 Robert Millan <rmh@aybabtu.com>
23844
23845 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
23846 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
23847
23848 2008-11-12 Robert Millan <rmh@aybabtu.com>
23849
23850 Make loader/i386/linux.c buildable on i386-pc (although disabled).
23851
23852 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
23853 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
23854 from here ...
23855 * include/grub/i386/pc/memory.h: ... to here.
23856
23857 2008-11-12 Robert Millan <rmh@aybabtu.com>
23858
23859 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
23860 split).
23861
23862 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
23863 (grub_console_cur_color, grub_console_real_putchar)
23864 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23865 (grub_console_setcolorstate, grub_console_setcolor)
23866 (grub_console_getcolor): Move from here ...
23867 * include/grub/i386/vga_common.h: ... to here (new file).
23868
23869 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
23870 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
23871 `<grub/i386/io.h>'.
23872 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
23873 `<grub/i386/vga_common.h>'.
23874
23875 2008-11-12 Robert Millan <rmh@aybabtu.com>
23876
23877 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
23878 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
23879 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
23880 variables.
23881 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23882 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
23883
23884 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
23885 grub_console_init() with call to grub_vga_text_init().
23886 (grub_machine_fini): Replace call to
23887 grub_console_fini() with call to grub_vga_text_fini() and
23888 grub_at_keyboard_fini().
23889
23890 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
23891 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23892 (grub_console_setcolorstate, grub_console_setcolor)
23893 (grub_console_getcolor): New function prototypes.
23894
23895 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
23896 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
23897 (grub_vga_text_setcursor): Static-ize.
23898 (grub_vga_text_term): New structure.
23899 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
23900
23901 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
23902 (grub_console_cur_color, grub_console_standard_color)
23903 (grub_console_normal_color, grub_console_highlight_color)
23904 (map_char, grub_console_putchar, grub_console_getcharwidth)
23905 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
23906 (grub_console_getcolor): Move from here ...
23907 * term/i386/vga_common.c: ... to here (same function names).
23908
23909 2008-11-12 Robert Millan <rmh@aybabtu.com>
23910
23911 Use newly-added Multiboot support in coreboot.
23912
23913 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23914 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
23915
23916 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
23917 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
23918 (codestart): Store the MBI in `startup_multiboot_info' when we're
23919 being loaded using Multiboot.
23920
23921 * kern/i386/coreboot/init.c (grub_machine_init): Move
23922 grub_at_keyboard_init() call to beginning of function (useful for
23923 debugging). Call grub_machine_mmap_init() before attempting to use
23924 grub_machine_mmap_iterate().
23925 (grub_lower_mem, grub_upper_mem): Move from here ...
23926 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
23927 here (new file).
23928
23929 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
23930 function prototype.
23931
23932 2008-11-12 Robert Millan <rmh@aybabtu.com>
23933
23934 Fix a regression introduced by the at_keyboard.mod split. Because
23935 some terminals are default on some platforms and non-default on
23936 others, the first terminal being registered determines which is
23937 going to be default.
23938
23939 * kern/term.c (grub_term_register_input): If this is the first
23940 terminal being registered, set it as the current one.
23941 (grub_term_register_output): Likewise.
23942
23943 * term/efi/console.c (grub_console_init): Do not call
23944 grub_term_set_current_output() or grub_term_set_current_input().
23945 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
23946 * term/i386/pc/console.c (grub_console_init): Likewise.
23947 (grub_console_fini): Do not call grub_term_set_current_input()
23948 (but leave grub_term_set_current_output() to restore text mode).
23949
23950 2008-11-10 Robert Millan <rmh@aybabtu.com>
23951
23952 * util/grub.d/00_header.in: Add backward compatibility check for
23953 versions of terminal.mod that don't understand `terminal_input' or
23954 `terminal_output'.
23955
23956 2008-11-09 Robert Millan <rmh@aybabtu.com>
23957
23958 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
23959 `terminal_input' / `terminal_output', not `terminal'.
23960
23961 2008-11-08 Robert Millan <rmh@aybabtu.com>
23962
23963 * Makefile.in (include_DATA): Fix srcdir=. assumption.
23964 (DISTCLEANFILES): Add `build_env.mk'.
23965
23966 2008-11-08 Robert Millan <rmh@aybabtu.com>
23967
23968 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
23969 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
23970 members. Update all users.
23971 * util/console.c (grub_ncurses_term): Split in ...
23972 (grub_ncurses_term_input): ... this, and ...
23973 (grub_ncurses_term_output): ... this. Update all users.
23974 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
23975
23976 2008-11-08 Robert Millan <rmh@aybabtu.com>
23977
23978 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
23979 (PKGDATA): Add $(pkgdata_SRCDIR).
23980 (pkglib_BUILDDIR): New variable.
23981 (pkgdata_SRCDIR): New variable.
23982 (build_env.mk): New target.
23983 (include_DATA): New variable.
23984 (install-local): Install $(include_DATA) files in $(includedir).
23985
23986 2008-11-07 Pavel Roskin <proski@gnu.org>
23987
23988 * gendistlist.sh: Use C locale for sorting to ensure consistent
23989 output on all systems.
23990
23991 * util/grub.d/00_header.in: Remove incorrect space before
23992 "serial".
23993
23994 2008-11-07 Robert Millan <rmh@aybabtu.com>
23995
23996 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
23997 per specification.
23998 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
23999 * loader/multiboot_loader.c (find_multi_boot2_header): New function
24000 (based on find_multi_boot1_header).
24001 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
24002 using find_multi_boot2_header(), and abort if neither Multiboot or
24003 Multiboot headers were found.
24004
24005 2008-11-07 Robert Millan <rmh@aybabtu.com>
24006
24007 Modularize at_keyboard.mod:
24008
24009 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
24010 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24011 (at_keyboard_mod_LDFLAGS): New variables.
24012
24013 Actual terminal split:
24014
24015 * include/grub/term.h (struct grub_term): Split in ...
24016 (struct grub_term_input): ... this, and ...
24017 (struct grub_term_output): ... this. Update all users.
24018 (grub_term_set_current): Split in ...
24019 (grub_term_set_current_input): ... this, and ...
24020 (grub_term_set_current_output): ... this.
24021 (grub_term_get_current): Split in ...
24022 (grub_term_get_current_input): ... this, and ...
24023 (grub_term_get_current_output): ... this.
24024 (grub_term_register): Split in ...
24025 (grub_term_register_input): ... this, and ...
24026 (grub_term_register_output): ... this.
24027 (grub_term_unregister): Split in ...
24028 (grub_term_unregister_input): ... this, and ...
24029 (grub_term_unregister_output): ... this.
24030 (grub_term_iterate): Split in ...
24031 (grub_term_iterate_input): ... this, and ...
24032 (grub_term_iterate_output): ... this.
24033
24034 * kern/term.c (grub_term_list): Split in ...
24035 (grub_term_list_input): ... this, and ...
24036 (grub_term_list_output): ... this. Update all users.
24037 (grub_cur_term): Split in ...
24038 (grub_cur_term_input): ... this, and ...
24039 (grub_cur_term_output): ... this. Update all users.
24040 (grub_term_set_current): Split in ...
24041 (grub_term_set_current_input): ... this, and ...
24042 (grub_term_set_current_output): ... this.
24043 (grub_term_get_current): Split in ...
24044 (grub_term_get_current_input): ... this, and ...
24045 (grub_term_get_current_output): ... this.
24046 (grub_term_register): Split in ...
24047 (grub_term_register_input): ... this, and ...
24048 (grub_term_register_output): ... this.
24049 (grub_term_unregister): Split in ...
24050 (grub_term_unregister_input): ... this, and ...
24051 (grub_term_unregister_output): ... this.
24052 (grub_term_iterate): Split in ...
24053 (grub_term_iterate_input): ... this, and ...
24054 (grub_term_iterate_output): ... this.
24055
24056 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
24057 a check for input and one for output (and only attempt to get keys
24058 from user when input works).
24059
24060 * util/grub-probe.c (grub_term_get_current): Split in ...
24061 (grub_term_get_current_input): ... this, and ...
24062 (grub_term_get_current_output): ... this.
24063 * util/grub-fstest.c: Likewise.
24064 * util/i386/pc/grub-setup.c: Likewise.
24065 * util/grub-editenv.c: Likewise.
24066
24067 Portability adjustments:
24068
24069 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
24070 `term/i386/pc/at_keyboard.c'.
24071 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
24072 grub_keyboard_controller_init() (now handled by terminal .init).
24073 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
24074 grub_at_keyboard_init().
24075 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
24076 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
24077 at_keyboard.mod via input terminal interface).
24078 * include/grub/i386/coreboot/console.h: Convert into a stub for
24079 `<grub/i386/pc/console.h>'.
24080
24081 Migrate full terminals to new API:
24082
24083 * term/efi/console.c (grub_console_term): Split into ...
24084 (grub_console_term_input): ... this, and ...
24085 (grub_console_term_output): ... this. Update all users.
24086 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
24087 (grub_ofconsole_init): Split into ...
24088 (grub_ofconsole_init_input): ... this, and ...
24089 (grub_ofconsole_init_output): ... this.
24090 (grub_ofconsole_term): Split into ...
24091 (grub_ofconsole_term_input): ... this, and ...
24092 (grub_ofconsole_term_output): ... this. Update all users.
24093 * term/i386/pc/serial.c (grub_serial_term): Split into ...
24094 (grub_serial_term_input): ... this, and ...
24095 (grub_serial_term_output): ... this. Update all users.
24096 * term/i386/pc/console.c (grub_console_term): Split into ...
24097 (grub_console_term_input): ... this, and ...
24098 (grub_console_term_output): ... this. Update all users.
24099 (grub_console_term_input): Only enable it on PC/BIOS platform.
24100 (grub_console_init): Remove grub_keyboard_controller_init() call.
24101
24102 Migrate input terminals to new API:
24103
24104 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
24105 `i386' and `i386/pc' to enable build on x86_64 (this driver is
24106 i386-specific anyway).
24107 (grub_console_checkkey): Rename to ...
24108 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
24109 users.
24110 (grub_keyboard_controller_orig): New variable.
24111 (grub_console_getkey): Rename to ...
24112 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
24113 users.
24114 (grub_keyboard_controller_init): Static-ize. Save original
24115 controller value so that it can be restored ...
24116 (grub_keyboard_controller_fini): ... here (new function).
24117 (grub_at_keyboard_term): New structure.
24118 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
24119 functions.
24120
24121 Migrate output terminals to new API:
24122
24123 * term/i386/pc/vga.c (grub_vga_term): Change type to
24124 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24125 members. Update all users.
24126 * term/gfxterm.c (grub_video_term): Change type to
24127 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24128 members. Update all users.
24129 * include/grub/i386/pc/console.h (grub_console_checkkey)
24130 (grub_console_getkey): Do not export (no longer needed by gfxterm,
24131 etc).
24132
24133 Migrate `terminal' command and userland tools to new API:
24134
24135 * commands/terminal.c (grub_cmd_terminal): Split into ...
24136 (grub_cmd_terminal_input): ... this, and ...
24137 (grub_cmd_terminal_output): ... this.
24138 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
24139 `terminal_input' and `terminal_output'.
24140 * util/grub.d/00_header.in: Adjust `terminal' calls to new
24141 `terminal_input' / `terminal_output' API.
24142 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
24143 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
24144 provided ${GRUB_TERMINAL}, convert it).
24145
24146 2008-11-04 Robert Millan <rmh@aybabtu.com>
24147
24148 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
24149 for FreeBSD.
24150 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
24151
24152 2008-11-03 Bean <bean123ch@gmail.com>
24153
24154 * kern/elf.c (grub_elf32_load): Revert to previous code.
24155 (grub_elf64_load): Likewise.
24156
24157 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
24158
24159 2008-11-01 Robert Millan <rmh@aybabtu.com>
24160
24161 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
24162 (TARGET_CPPFLAGS): Likewise.
24163 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
24164
24165 2008-11-01 Carles Pina i Estany <carles@pina.cat>
24166
24167 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
24168
24169 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24170
24171 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
24172 addition of objects until the code is not going to be able to fail.
24173
24174 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24175
24176 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
24177 (add a missing NULL check, and correct them by moving the pointer
24178 operations after the actual check).
24179
24180 2008-10-29 Robert Millan <rmh@aybabtu.com>
24181
24182 * util/i386/pc/grub-install.in: Handle empty string as output from
24183 make_system_path_relative_to_its_root().
24184
24185 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
24186
24187 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
24188 circular metadata worst case scenario. If the metadata is circular
24189 then copy the wrap in place.
24190 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
24191 project lib/format_text/layout.h
24192 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
24193
24194 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24195
24196 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
24197
24198 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24199
24200 * util/update-grub_lib.in: Mention filename in warning message.
24201
24202 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24203
24204 * NEWS: Update for rename of update-grub to grub-mkconfig.
24205
24206 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24207
24208 * util/update-grub_lib.in: Copy to ...
24209 * util/grub-mkconfig_lib.in: ... this. Update all users.
24210 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
24211 * util/update-grub.in: Rename to ...
24212 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
24213 option. Add `--output' option to allow users to specify the generated
24214 configuration file. Default to stdout.
24215 (update_grub_dir): Rename to ...
24216 (grub_mkconfig_dir): ... this.
24217 (grub_cfg): Default to an empty string.
24218 * conf/common.rmk (update-grub): Rename to ...
24219 (grub-mkconfig): ... this.
24220 (update-grub_lib): Copy to ...
24221 (grub-mkconfig_lib): ... this.
24222 (update-grub_SCRIPTS): Copy to ...
24223 (grub-mkconfig_SCRIPTS): ... this. Update all users.
24224 (update-grub_DATA): Rename to ...
24225 (grub-mkconfig_DATA): ... this.
24226
24227 2008-09-28 Robert Millan <rmh@aybabtu.com>
24228
24229 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
24230 to `modified'. Add the real `created' field.
24231 (grub_iso9660_uuid): Use `modified' rather than `created' for
24232 constructing the UUID.
24233
24234 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
24235
24236 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
24237 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
24238
24239 2008-09-28 Bean <bean123ch@gmail.com>
24240
24241 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
24242 Thanks to Christian Franke for finding this bug.
24243
24244 2008-09-25 Robert Millan <rmh@aybabtu.com>
24245
24246 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
24247 instances of grub_util_get_disk_name() (see previous commit).
24248
24249 2008-09-25 Robert Millan <rmh@aybabtu.com>
24250
24251 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
24252 `util/i386/get_disk_name.c'.
24253 * conf/i386-efi.rmk: Likewise.
24254 * conf/x86_64-efi.rmk: Likewise.
24255 * conf/i386-coreboot.rmk: Likewise.
24256 * conf/i386-ieee1275.rmk: Likewise.
24257 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
24258 `util/ieee1275/get_disk_name.c'.
24259 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
24260 * util/ieee1275/get_disk_name.c: Remove file.
24261 * util/i386/get_disk_name.c: Remove file.
24262 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
24263 "hd%d" for device.map entries, rather than using
24264 grub_util_get_disk_name().
24265
24266 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24267
24268 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
24269 warning.
24270 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
24271
24272 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24273
24274 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
24275 Changed to 0x5100.
24276 (GRUB_TERM_PPAGE): Changed to 0x4900.
24277
24278 2008-09-24 Robert Millan <rmh@aybabtu.com>
24279
24280 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
24281 macros (they were i386-pc specific).
24282 * include/grub/sparc64/ieee1275/console.h: Likewise.
24283 * include/grub/efi/console.h: Likewise.
24284
24285 2008-09-22 Bean <bean123ch@gmail.com>
24286
24287 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
24288 resident and in attribute list.
24289
24290 * include/grub/ntfs.h (BMP_LEN): Removed.
24291
24292 2008-09-22 Bean <bean123ch@gmail.com>
24293
24294 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
24295 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
24296
24297 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
24298 error occurs, as grub_disk_open will call grub_disk_close, which will
24299 call p->close (scsi).
24300
24301 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24302
24303 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
24304 (AC_PREREQ): Bumped to 2.59.
24305 (AC_TRY_COMPILE): Replace obsolete macro with ...
24306 (AC_COMPILE_IFELSE): ... this.
24307 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
24308 (AC_LINK_IFELSE): ... this.
24309
24310 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24311
24312 * autogen.sh: Add a call to `gendistlist.sh'.
24313
24314 2008-09-19 Christian Franke <franke@computer.org>
24315
24316 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
24317 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
24318 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
24319 Export __enable_execute_stack() to modules.
24320 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
24321 New function.
24322
24323 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24324
24325 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
24326 Sort the list.
24327
24328 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24329
24330 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
24331 #include <grub/util/hostdisk.h>.
24332
24333 2008-09-08 Robert Millan <rmh@aybabtu.com>
24334
24335 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
24336 segments when their filesz is zero (grub_file_read() interprets
24337 zero-size as "read until EOF", which results in memory corruption).
24338 Use `lowest_segment' rather than 0 for calculating the current
24339 segment load address.
24340
24341 2008-09-08 Robert Millan <rmh@aybabtu.com>
24342
24343 * util/hostdisk.c (open_device): Replace a grub_util_info() call
24344 with grub_dprintf("hostdisk", ...), as it was so verbose that it
24345 clobbered useful information.
24346
24347 2008-09-08 Robert Millan <rmh@aybabtu.com>
24348
24349 * include/grub/util/biosdisk.h: Move to ...
24350 * include/grub/util/hostdisk.h: ... here. Update all users.
24351 * util/biosdisk.c: Move to ...
24352 * util/hostdisk.c: ... here. Update all users.
24353
24354 2008-09-07 Robert Millan <rmh@aybabtu.com>
24355
24356 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24357 variables.
24358 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24359 and length can be stored directly in the `mbi->mmap_addr' and
24360 `mbi->mmap_length' struct fields.
24361
24362 2008-09-07 Robert Millan <rmh@aybabtu.com>
24363
24364 * conf/i386.rmk: New file. Provides declaration for building
24365 `cpuid.mod'.
24366 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24367 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24368 variables.
24369 Include `conf/i386.mk'.
24370 * conf/i386-efi.rmk: Likewise.
24371 * conf/x86_64-efi.rmk: Likewise.
24372 * conf/i386-coreboot.rmk: Likewise.
24373 * conf/i386-ieee1275.rmk: Likewise.
24374
24375 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24376
24377 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24378 Adds optimization support for BGR based modes.
24379
24380 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24381 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24382 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24383 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24384 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24385 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24386 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24387 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24388 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24389 (grub_video_i386_vbeblit_index_index): Likewise.
24390 (grub_video_i386_vbeblit_replace_directN): Added.
24391 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24392 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24393 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24394 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24395 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24396 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24397 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24398 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24399 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24400 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24401 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24402 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24403 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24404
24405 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24406 (grub_video_i386_vbefill_R8G8B8): Likewise.
24407 (grub_video_i386_vbefill_index): Likewise.
24408 (grub_video_i386_vbefill_direct32): Added.
24409 (grub_video_i386_vbefill_direct24): Likewise.
24410 (grub_video_i386_vbefill_direct16): Likewise.
24411 (grub_video_i386_vbefill_direct8): Likewise.
24412
24413 * include/grub/video.h (grub_video_blit_format): Removed
24414 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24415 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24416 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24417 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24418 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
24419
24420 * video/video.c (grub_video_get_blit_format): Updated to use new
24421 blit formats. Added handling for 16 bit color modes.
24422
24423 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
24424 fillers.
24425 (common_blitter): Updated to use new blitters.
24426
24427 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24428 Removed.
24429 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24430 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24431 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24432 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24433 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24434 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24435 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24436 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24437 (grub_video_i386_vbeblit_index_index): Likewise.
24438 (grub_video_i386_vbeblit_replace_directN): Added.
24439 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24440 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24441 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24442 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24443 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24444 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24445 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24446 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24447 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24448 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24449 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24450 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24451 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24452
24453 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24454 (grub_video_i386_vbefill_R8G8B8): Likewise.
24455 (grub_video_i386_vbefill_index): Likewise.
24456 (grub_video_i386_vbefill_direct32): Added.
24457 (grub_video_i386_vbefill_direct24): Likewise.
24458 (grub_video_i386_vbefill_direct16): Likewise.
24459 (grub_video_i386_vbefill_direct8): Likewise.
24460
24461 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24462 types.
24463
24464 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24465 types.
24466
24467 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24468 blitter types.
24469
24470 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24471 types.
24472
24473 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24474
24475 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24476 RAID level 1.
24477
24478 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24479
24480 * fs/iso9660.c (grub_iso9660_date): New structure.
24481 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24482 (grub_iso9660_uuid): New function.
24483
24484 2008-09-05 Bean <bean123ch@gmail.com>
24485
24486 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24487
24488 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24489 insensitive bit for names in Win32 and Win32 & DOS namespace.
24490
24491 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24492
24493 * include/grub/types.h (LONG_MAX): Likewise.
24494
24495 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24496
24497 * util/getroot.c: Include <config.h>.
24498 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24499 add support for /dev/md/N devices and handle LVM double dash escaping.
24500
24501 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24502
24503 * config.guess: Update to latest version from config git.
24504 * config.sub: Likewise.
24505
24506 2008-09-03 Robert Millan <rmh@aybabtu.com>
24507
24508 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24509 `disk->total_sectors'.
24510
24511 2008-09-01 Colin D Bennett <colin@gibibit.com>
24512
24513 * include/grub/normal.h: Fixed incorrect comment for
24514 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24515
24516 2008-09-01 Colin D Bennett <colin@gibibit.com>
24517
24518 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24519 values with defines.
24520
24521 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24522 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24523 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24524 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24525 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24526 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24527 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24528 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24529 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24530 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24531 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24532 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24533 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24534 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24535 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24536 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24537 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24538 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24539 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24540
24541 2008-08-31 Robert Millan <rmh@aybabtu.com>
24542
24543 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24544 declaration.
24545 (grub_multiboot): Fix a few warnings.
24546
24547 2008-08-31 Robert Millan <rmh@aybabtu.com>
24548
24549 * loader/i386/pc/multiboot.c: Update comment not to say that
24550 boot_device support is unimplemented.
24551
24552 2008-08-31 Robert Millan <rmh@aybabtu.com>
24553
24554 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24555 or memory map support are unimplemented.
24556
24557 2008-08-31 Colin D Bennett <colin@gibibit.com>
24558
24559 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24560
24561 2008-08-31 Colin D Bennett <colin@gibibit.com>
24562
24563 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24564 total video memory in 'vbeinfo' output; show color format details for
24565 each video mode.
24566
24567 2008-08-30 Pavel Roskin <proski@gnu.org>
24568
24569 * util/genmoddep.c: Remove for real this time.
24570 * DISTLIST: Remove util/genmoddep.c.
24571
24572 2008-08-30 Robert Millan <rmh@aybabtu.com>
24573
24574 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24575 as required by Multiboot spec (it was already 4-byte aligned, but
24576 only by chance).
24577
24578 2008-08-29 Pavel Roskin <proski@gnu.org>
24579
24580 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24581 * kern/powerpc/ieee1275/startup.S: ... this.
24582 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24583 * DISTLIST: Likewise.
24584
24585 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24586 grub/cpu/kernel.h. Add start label for consistency with other
24587 platforms. Add grub_prefix immediately after start. Add jump
24588 to the code after grub_prefix.
24589 * include/grub/powerpc/kernel.h: Provide valid values for
24590 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24591
24592 2008-08-29 Bean <bean123ch@gmail.com>
24593
24594 * configure.ac: Change host_os to cygwin for mingw.
24595 (asprintf): New check for function.
24596
24597 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24598 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24599
24600 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
24601 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
24602 sync, sleep and grub_util_get_disk_size for mingw.
24603
24604 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24605 to get size in mingw.
24606 (open_device): Use flag O_BINARY if it's defined.
24607 (find_root_device): Add dummy code for mingw.
24608
24609 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24610 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24611 (get_scsi_disk_name): Return 0 for mingw.
24612
24613 * util/hostfs.c: #include <grub/util/misc.h>.
24614 (grub_hostfs_open): Use "rb" flag to open file, use
24615 grub_util_get_disk_size to get disk size for mingw.
24616
24617 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
24618 (asprintf): New function if HAVE_ASPRINTF is not set.
24619 (sync): New function for mingw.
24620 (sleep): Likewise.
24621 (grub_util_get_disk_size): Likewise.
24622
24623 2008-08-28 Pavel Roskin <proski@gnu.org>
24624
24625 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24626 kern/time.c.
24627
24628 2008-08-28 Robert Millan <rmh@aybabtu.com>
24629
24630 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
24631
24632 2008-08-28 Robert Millan <rmh@aybabtu.com>
24633
24634 Change find_grub_drive() syntax so it doesn't prevent it from
24635 detecting NULL names as errors.
24636
24637 * util/biosdisk.c (find_grub_drive): Move free slot search code
24638 from here ...
24639 (find_free_slot): ... to here.
24640 (read_device_map): Use find_free_slot() to search for free slots.
24641
24642 2008-08-27 Marco Gerards <marco@gnu.org>
24643
24644 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
24645 (scsi_mod_SOURCES): New variable.
24646 (scsi_mod_CFLAGS): Likewise
24647 (scsi_mod_LDFLAGS): Likewise.
24648
24649 * disk/scsi.c: New file.
24650
24651 * include/grub/scsi.h: Likewise.
24652
24653 * include/grub/scsicmd.h: Likewise.
24654
24655 * disk/ata.c: Include <grub/scsi.h>.
24656 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
24657 instead.
24658 (grub_ata_iterate): Skip ATAPI devices.
24659 (grub_ata_open): Only handle ATAPI devices.
24660 (struct grub_atapi_read): Removed.
24661 (grub_atapi_readsector): Likewise.
24662 (grub_ata_read): No longer handle ATAPI devices.
24663 (grub_ata_write): Likewise.
24664 (grub_atapi_iterate): New function.
24665 (grub_atapi_read): Likewise.
24666 (grub_atapi_write): Likewise.
24667 (grub_atapi_open): Likewise.
24668 (grub_atapi_close): Likewise.
24669 (grub_atapi_dev): New variable.
24670 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
24671 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
24672
24673 * include/grub/disk.h (enum grub_disk_dev_id): Add
24674 `GRUB_DISK_DEVICE_SCSI_ID'.
24675
24676 2008-08-26 Robert Millan <rmh@aybabtu.com>
24677
24678 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
24679 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
24680 descriptive.
24681
24682 2008-08-23 Bean <bean123ch@gmail.com>
24683
24684 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
24685 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24686 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
24687 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
24688 dm_nv.mod.
24689 (raid5rec_mod_SOURCES): New macro.
24690 (raid5rec_mod_CFLAGS): Likewise.
24691 (raid5rec_mod_LDFLAGS): Likewise.
24692 (raid6rec_mod_SOURCES): Likewise.
24693 (raid6rec_mod_CFLAGS): Likewise.
24694 (raid6rec_mod_LDFLAGS): Likewise.
24695 (mdraid_mod_SOURCES): Likewise.
24696 (mdraid_mod_CFLAGS): Likewise.
24697 (mdraid_mod_LDFLAGS): Likewise.
24698 (dm_nv_mod_SOURCES): Likewise.
24699 (dm_nv_mod_CFLAGS): Likewise.
24700 (dm_nv_mod_LDFLAGS): Likewise.
24701
24702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
24703 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24704 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24705
24706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
24707 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24708
24709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24710
24711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24712
24713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24714
24715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24716
24717 * disk/raid5_recover.c: New file.
24718
24719 * disk/raid6_recover.c: Likewise.
24720
24721 * disk/mdraid_linux.c: Likewise.
24722
24723 * disk/dmraid_nvidia.c: Likewise.
24724
24725 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
24726 ULONG_MAX.
24727
24728 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
24729 calculate the size of raid device.
24730 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
24731 different layout of raid5.
24732 (grub_raid_scan_device): Remove code specific to mdraid.
24733 (grub_raid_list): New variable.
24734 (free_array): New function.
24735 (grub_raid_register): Likewise.
24736 (grub_raid_unregister): Likewise.
24737 (grub_raid_rescan): Likewise.
24738 (GRUB_MOD_INIT): Don't iterate device here.
24739 (GRUB_MOD_FINI): Use free_array to release resource.
24740
24741 * include/grub/raid.h: Remove macro and structure specific to mdraid.
24742 (grub_raid5_recover_func_t): New function variable type.
24743 (grub_raid6_recover_func_t): Likewise.
24744 (grub_raid5_recover_func): New variable.
24745 (grub_raid6_recover_func): Likewise.
24746 (grub_raid_register): New function.
24747 (grub_raid_unregister): Likewise.
24748 (grub_raid_rescan): Likewise.
24749 (grub_raid_block_xor): Likewise.
24750
24751 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
24752 (CMD_CRC): New macro.
24753 (part): Removed.
24754 (read_file): Handle device as well as file.
24755 (cmd_crc): New function.
24756 (fstest): Handle multiple disks.
24757 (options): Remove part, raw and long, add root and diskcount.
24758 (usage): Add crc, remove -p, -r, -l, add -r and -c.
24759 (main): Find the first non option entry and ignore subsequent options,
24760 add handling for the new options, support multiple disks.
24761
24762 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
24763
24764 2008-08-23 Bean <bean123ch@gmail.com>
24765
24766 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
24767
24768 * genfslist.sh: Ignore kernel.mod.
24769
24770 * genpartmaplist.sh: Likewise.
24771
24772 2008-08-23 Robert Millan <rmh@aybabtu.com>
24773
24774 * util/getroot.c (find_root_device): Skip anything that starts with
24775 a dot, not just directories. This avoids things like /dev/.tmp.md0.
24776
24777 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
24778
24779 * util/update-grub.in (GRUB_GFXMODE): Export variable.
24780 * util/grub.d/00_header.in: Allow the administrator to change default
24781 gfxmode via ${GRUB_GFXMODE}.
24782
24783 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
24784
24785 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
24786
24787 2008-08-21 Robert Millan <rmh@aybabtu.com>
24788
24789 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
24790 loader.
24791 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
24792 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
24793
24794 2008-08-20 Carles Pina i Estany <carles@pina.cat>
24795
24796 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
24797 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
24798
24799 2008-08-19 Robert Millan <rmh@aybabtu.com>
24800
24801 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
24802 (struct grub_virtual_screen): Remove `cursor_color'.
24803 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
24804 initialization.
24805 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
24806
24807 2008-08-18 Robert Millan <rmh@aybabtu.com>
24808
24809 Unify (identical) linux_normal.c files.
24810 * loader/i386/efi/linux_normal.c: Move from here ...
24811 * loader/linux_normal.c: ... to here. Update all users.
24812 * loader/i386/pc/linux_normal.c: Delete. Update all users.
24813 * loader/i386/ieee1275/linux_normal.c: Likewise.
24814
24815 2008-08-18 Robert Millan <rmh@aybabtu.com>
24816
24817 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
24818 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
24819 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
24820 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
24821 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
24822 New macros.
24823 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
24824 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
24825 (GRUB_LINUX_CL_END_OFFSET): ... to here.
24826 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
24827 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
24828 (GRUB_EFI_CL_END_OFFSET): Rename to ...
24829 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
24830 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
24831 Initialize `params->video_cursor_x' and `params->video_cursor_y'
24832 portably using grub_getxy().
24833 Replace `-EFI' with `-bzImage' in boot message.
24834
24835 2008-08-17 Robert Millan <rmh@aybabtu.com>
24836
24837 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
24838
24839 2008-08-17 Robert Millan <rmh@aybabtu.com>
24840
24841 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
24842
24843 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
24844 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
24845 (grub_machine_mmap_iterate): New function declaration.
24846 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
24847 structure.
24848 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
24849 macros.
24850
24851 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
24852 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
24853 Move e820 parsing from here ...
24854 * kern/i386/pc/mmap.c: New file.
24855 (grub_machine_mmap_iterate): ... to here.
24856
24857 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
24858 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
24859 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
24860 (grub_available_iterate): Redeclare to return `void', and redeclare
24861 its hook to use grub_uint64_t as addr and size parameters, and rename
24862 to ...
24863 (grub_machine_mmap_iterate): ... this. Update all users.
24864
24865 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
24866 to make it more readable. Rename to ...
24867 (grub_machine_mmap_iterate): ... this.
24868
24869 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
24870 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
24871 (grub_multiboot): Allocate an extra region after the payload, and fill
24872 it with a Multiboot memory map. Adjust a.out loader to calculate size
24873 with the extra space.
24874 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
24875 with the extra space.
24876
24877 2008-08-17 Carles Pina i Estany <carles@pina.cat>
24878
24879 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
24880
24881 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
24882
24883 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
24884 mdate-sh to the list `find' searches for.
24885 * DISTLIST: Regenerated.
24886
24887 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
24888
24889 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
24890 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
24891 genmoddep.awk, gensymlist.sh.in.
24892 (DISTDIRS): Add bus, docs, hook, lib.
24893 * DISTLIST: Regenerated.
24894 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
24895
24896 2008-08-16 Robert Millan <rmh@aybabtu.com>
24897
24898 * disk/raid.c (grub_raid_init): Handle/report errors set by
24899 grub_device_iterate().
24900 * disk/lvm.c (grub_lvm_init): Likewise.
24901
24902 2008-08-15 Bean <bean123ch@gmail.com>
24903
24904 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24905 and datehook.mod.
24906 (datetime_mod_SOURCES): New macro.
24907 (datetime_mod_CFLAGS): Likewise.
24908 (datetime_mod_LDFLAGS): Likewise.
24909 (date_mod_SOURCES): Likewise.
24910 (date_mod_CFLAGS): Likewise.
24911 (date_mod_LDFLAGS): Likewise.
24912 (datehook_mod_SOURCES): Likewise.
24913 (datehook_mod_CFLAGS): Likewise.
24914 (datehook_mod_LDFLAGS): Likewise.
24915
24916 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24917 and datehook.mod.
24918 (datetime_mod_SOURCES): New macro.
24919 (datetime_mod_CFLAGS): Likewise.
24920 (datetime_mod_LDFLAGS): Likewise.
24921 (date_mod_SOURCES): Likewise.
24922 (date_mod_CFLAGS): Likewise.
24923 (date_mod_LDFLAGS): Likewise.
24924 (datehook_mod_SOURCES): Likewise.
24925 (datehook_mod_CFLAGS): Likewise.
24926 (datehook_mod_LDFLAGS): Likewise.
24927
24928 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24929 and datehook.mod.
24930 (datetime_mod_SOURCES): New macro.
24931 (datetime_mod_CFLAGS): Likewise.
24932 (datetime_mod_LDFLAGS): Likewise.
24933 (date_mod_SOURCES): Likewise.
24934 (date_mod_CFLAGS): Likewise.
24935 (date_mod_LDFLAGS): Likewise.
24936 (datehook_mod_SOURCES): Likewise.
24937 (datehook_mod_CFLAGS): Likewise.
24938 (datehook_mod_LDFLAGS): Likewise.
24939
24940 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24941 and datehook.mod.
24942 (datetime_mod_SOURCES): New macro.
24943 (datetime_mod_CFLAGS): Likewise.
24944 (datetime_mod_LDFLAGS): Likewise.
24945 (date_mod_SOURCES): Likewise.
24946 (date_mod_CFLAGS): Likewise.
24947 (date_mod_LDFLAGS): Likewise.
24948 (datehook_mod_SOURCES): Likewise.
24949 (datehook_mod_CFLAGS): Likewise.
24950 (datehook_mod_LDFLAGS): Likewise.
24951
24952 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24953 and datehook.mod.
24954 (datetime_mod_SOURCES): New macro.
24955 (datetime_mod_CFLAGS): Likewise.
24956 (datetime_mod_LDFLAGS): Likewise.
24957 (date_mod_SOURCES): Likewise.
24958 (date_mod_CFLAGS): Likewise.
24959 (date_mod_LDFLAGS): Likewise.
24960 (datehook_mod_SOURCES): Likewise.
24961 (datehook_mod_CFLAGS): Likewise.
24962 (datehook_mod_LDFLAGS): Likewise.
24963
24964 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
24965
24966 * commands/date.c: New file.
24967
24968 * hook/datehook.c: Likewise.
24969
24970 * include/grub/lib/datetime.h: Likewise.
24971
24972 * include/grub/i386/cmos.h: Likewise.
24973
24974 * lib/datetime.c: Likewise.
24975
24976 * lib/i386/datetime.c: Likewise.
24977
24978 * lib/efi/datetime.c: Likewise.
24979
24980 2008-08-14 Robert Millan <rmh@aybabtu.com>
24981
24982 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
24983 (grub_mkelfimage_SOURCES): New variable.
24984 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
24985
24986 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
24987 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
24988 * conf/powerpc-ieee1275.rmk: Likewise.
24989 * conf/i386-ieee1275.rmk: Likewise.
24990
24991 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
24992 * kern/i386/coreboot/init.c: Likewise.
24993
24994 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
24995 with `<grub/cpu/kernel.h>'.
24996 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
24997 to ...
24998 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
24999 * kern/i386/coreboot/startup.S: Likewise.
25000
25001 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
25002 (GRUB_MOD_GAP): Remove.
25003 * include/grub/powerpc/kernel.h: New file.
25004 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
25005 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25006 * include/grub/i386/kernel.h: New file.
25007 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
25008 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
25009 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25010
25011 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
25012 `grub-mkelfimage'.
25013 Use --directory when invoking grub_mkimage.
25014
25015 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
25016 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
25017 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
25018 and GRUB_KERNEL_CPU_PREFIX.
25019
25020 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
25021
25022 * include/grub/err.h (grub_err_printf): New function prototype.
25023 * util/misc.c (grub_err_printf): New function.
25024 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
25025 grub_printf.
25026 * kern/err.c (grub_print_error): Use grub_err_printf.
25027
25028 2008-08-13 Robert Millan <rmh@aybabtu.com>
25029
25030 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
25031
25032 2008-08-13 Robert Millan <rmh@aybabtu.com>
25033
25034 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
25035 boot entry.
25036
25037 2008-08-12 Robert Millan <rmh@aybabtu.com>
25038
25039 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
25040 of the relocation code from here ...
25041 (grub_multiboot): ... to here.
25042 (forward_relocator, backward_relocator): Move from here ...
25043 * kern/i386/loader.S (grub_multiboot_forward_relocator)
25044 (grub_multiboot_backward_relocator): ... to here.
25045 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
25046 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
25047 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
25048 (grub_multiboot_forward_relocator_end)
25049 (grub_multiboot_backward_relocator)
25050 (grub_multiboot_backward_relocator_end): New variables.
25051
25052 2008-08-12 Bean <bean123ch@gmail.com>
25053
25054 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
25055
25056 2008-08-11 Robert Millan <rmh@aybabtu.com>
25057
25058 * kern/i386/linuxbios/startup.S: Move from here ...
25059 * kern/i386/coreboot/startup.S: ... to here.
25060
25061 * kern/i386/linuxbios/init.c: Move from here ...
25062 * kern/i386/coreboot/init.c: ... to here.
25063
25064 * kern/i386/linuxbios/table.c: Move from here ...
25065 * kern/i386/coreboot/mmap.c: ... to here.
25066
25067 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
25068
25069 2008-08-11 Robert Millan <rmh@aybabtu.com>
25070
25071 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
25072 errors. Leave it to the upper layer to handle them.
25073
25074 2008-08-09 Christian Franke <franke@computer.org>
25075
25076 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
25077 * conf/common.rmk: Install `grub-pe2elf' only if requested.
25078 Install `grub.d/10_windows' only on Cygwin.
25079 * configure.ac: Add subst of `target_os'.
25080 Check `target_os' also before setting TARGET_OBJ2ELF.
25081 Add `--enable-grub-pe2elf'.
25082
25083 2008-08-08 Robert Millan <rmh@aybabtu.com>
25084
25085 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25086 (grub_last_time): Change type to grub_uint64_t.
25087 (grub_disk_open): Migrate code from to using grub_get_time_ms().
25088 (grub_disk_close): Likewise.
25089
25090 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25091 (run_menu): Migrate code from to using grub_get_time_ms().
25092
25093 * util/misc.c (grub_get_time_ms): New function.
25094
25095 2008-08-08 Marco Gerards <marco@gnu.org>
25096
25097 * disk/ata.c (grub_ata_regget): Change return type to
25098 `grub_uint8_t'.
25099 (grub_ata_regget2): Likewise.
25100 (grub_ata_wait_status): New function.
25101 (grub_ata_wait_busy): Removed function, updated all users to use
25102 `grub_ata_wait_status'.
25103 (grub_ata_wait_drq): Likewise.
25104 (grub_ata_cmd): New function.
25105 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
25106 error handling.
25107 (grub_ata_pio_write): Add error handling.
25108 (grub_atapi_identify): Likewise.
25109 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
25110 handling.
25111 (grub_ata_identify): Use `grub_ata_cmd' and improve error
25112 handling. Actually use the detected registers. Reorder the
25113 detection logic such that it is easier to read.
25114 (grub_ata_pciinit): Do not assign the same ID to each controller.
25115 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
25116 handling.
25117 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
25118
25119 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
25120
25121 2008-08-08 Marco Gerards <marco@gnu.org>
25122
25123 * NEWS: Update.
25124
25125 2008-08-07 Bean <bean123ch@gmail.com>
25126
25127 * include/grub/x86_64/pci.h: New file.
25128
25129 2008-08-07 Christian Franke <franke@computer.org>
25130
25131 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
25132 (TIMER2_GATE): Likewise.
25133 (grub_pit_wait): Add enable/disable of the timer2 gate
25134 bit of port 0x61. This fixes a possible infinite loop.
25135
25136 2008-08-07 Bean <bean123ch@gmail.com>
25137
25138 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
25139 kern/i386/tsc.c and kern/i386/pit.c.
25140
25141 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
25142 x86_64 platform.
25143
25144 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
25145 <grub/i386/tsc.h>.
25146
25147 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
25148
25149 2008-08-07 Bean <bean123ch@gmail.com>
25150
25151 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
25152
25153 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
25154
25155 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
25156 multiple inclusion. Add #include <grub/types.h>.
25157
25158 2008-08-06 Christian Franke <franke@computer.org>
25159
25160 * conf/common.rmk: Build and install `10_windows'.
25161 * util/grub.d/10_windows.in: New script.
25162
25163 2008-08-06 Pavel Roskin <proski@gnu.org>
25164
25165 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
25166
25167 2008-08-06 Robert Millan <rmh@aybabtu.com>
25168
25169 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
25170 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
25171
25172 2008-08-06 Bean <bean123ch@gmail.com>
25173
25174 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
25175 (grub_pxefs_fs_int): Remove dummy definition.
25176 (grub_pxefs_open): Use data->block_size to store the current block
25177 size setting.
25178 (grub_pxefs_read): Use block size stored in data->block_size. As the
25179 value of grub_pxe_blksize can be changed after the file is opened.
25180
25181 2008-08-06 Bean <bean123ch@gmail.com>
25182
25183 * fs/i386/pc/pxe.c (curr_file): new variable.
25184 (grub_pxefs_open): Simply the handling of pxe file system. Don't
25185 require the dummy internal file system anymore.
25186 (grub_pxefs_read): Removed.
25187 (grub_pxefs_close): Likewise.
25188 (grub_pxefs_fs_int): Likewise.
25189 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
25190 connection when we switch file.
25191 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
25192
25193 2008-08-06 Robert Millan <rmh@aybabtu.com>
25194
25195 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
25196 `halt.mod'.
25197 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
25198 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
25199
25200 * kern/i386/halt.c: New file.
25201 * kern/i386/reboot.c: Likewise.
25202 * include/grub/i386/reboot.h: Likewise.
25203 * include/grub/i386/halt.h: Likewise.
25204
25205 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
25206 Include `<grub/cpu/halt.h>'.
25207 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
25208 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
25209
25210 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
25211 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
25212 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
25213 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
25214 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
25215 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
25216 from here ...
25217 * include/grub/i386/at_keyboard.h: ... to here.
25218
25219 2008-08-05 Robert Millan <rmh@aybabtu.com>
25220
25221 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
25222 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
25223 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
25224 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25225 `kern/generic/millisleep.c'.
25226
25227 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
25228 instead of grub_get_rtc().
25229 (grub_tsc_init): Initialize `tsc_boot_time'.
25230
25231 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
25232 (grub_machine_init): Use grub_tsc_init() rather than
25233 installing an RTC-based handler via grub_install_get_time_ms().
25234
25235 * kern/i386/pit.c: New file.
25236 * include/grub/i386/pit.h: Likewise.
25237
25238 2008-08-05 Bean <bean123ch@gmail.com>
25239
25240 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
25241
25242 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
25243 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
25244 (pxe_mod_SOURCES): New macro.
25245 (pxe_mod_CFLAGS): Likewise.
25246 (pxe_mod_LDFLAGS): Likewise.
25247 (pxecmd_mod_SOURCES): Likewise.
25248 (pxecmd_mod_CFLAGS): Likewise.
25249 (pxecmd_mod_LDFLAGS): Likewise.
25250
25251 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
25252 (grub_pxe_call): Likewise.
25253
25254 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
25255
25256 * commands/i386/pc/pxecmd.c: New file.
25257
25258 * fs/i386/pc/pxe.c: Likewise.
25259
25260 * include/grub/i386/pc/pxe.h: Likewise.
25261
25262 2008-08-05 Bean <bean123ch@gmail.com>
25263
25264 * util/console.c (grub_console_cur_color): New variable.
25265 (grub_console_standard_color): Likewise.
25266 (grub_console_normal_color): Likewise.
25267 (grub_console_highlight_color): Likewise.
25268 (color_map): Likewise.
25269 (use_color): Likewise.
25270 (NUM_COLORS): New macro.
25271 (grub_ncurses_setcolorstate): Handle color properly.
25272 (grub_ncurses_setcolor): Don't change color here, just remember the
25273 settings, color will be set in grub_ncurses_setcolorstate.
25274 (grub_ncurses_getcolor): New function.
25275 (grub_ncurses_init): Initialize color pairs.
25276 (grub_ncurses_term): New member grub_ncurses_getcolor.
25277
25278 2008-08-05 Colin D Bennett <colin@gibibit.com>
25279
25280 High resolution timer support. Implemented for x86 CPUs using TSC.
25281 Extracted generic grub_millisleep() so it's linked in only as needed.
25282 This requires a Pentium compatible CPU; if the RDTSC instruction is
25283 not supported, then it falls back on the generic grub_get_time_ms()
25284 implementation that uses the machine's RTC.
25285
25286 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
25287 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25288 `kern/generic/millisleep.c'.
25289
25290 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
25291 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
25292
25293 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
25294 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
25295
25296 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25297
25298 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25299 `kern/generic/millisleep.c'.
25300
25301 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25302
25303 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
25304
25305 * kern/generic/rtc_get_time_ms.c: New file.
25306
25307 * kern/generic/millisleep.c: New file.
25308
25309 * kern/misc.c: Don't include
25310 <kern/time.h> anymore.
25311 (grub_millisleep_generic): Removed.
25312
25313 * commands/sleep.c (grub_interruptible_millisleep): Uses
25314 grub_get_time_ms() instead of grub_get_rtc().
25315
25316 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
25317 function.
25318 (grub_cpu_is_cpuid_supported): New inline function.
25319 (grub_cpu_is_tsc_supported): New inline function.
25320 (grub_tsc_init): New function prototype.
25321 (grub_tsc_get_time_ms): New function prototype.
25322
25323 * kern/i386/tsc.c (grub_get_time_ms): New file.
25324
25325 * include/grub/time.h: Include <grub/types.h.
25326 (grub_millisleep_generic): Removed.
25327 (grub_get_time_ms): New prototype.
25328 (grub_install_get_time_ms): New prototype.
25329 (grub_rtc_get_time_ms): New prototype.
25330
25331 * kern/time.c (grub_get_time_ms): New function.
25332 (grub_install_get_time_ms): New function.
25333
25334 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
25335 <grub/time.h> anymore.
25336 (grub_millisleep): Removed.
25337 (grub_machine_init): Call grub_tsc_init.
25338
25339 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
25340 get_time_ms() implementation.
25341
25342 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
25343 (ieee1275_get_time_ms): New function.
25344 (grub_machine_init): Install get_time_ms() implementation.
25345
25346 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
25347 (grub_machine_init): Call grub_tsc_init().
25348 (grub_millisleep): Removed.
25349
25350 * kern/ieee1275/init.c (grub_millisleep): Removed.
25351 (grub_machine_init): Install ieee1275_get_time_ms()
25352 implementation.
25353 (ieee1275_get_time_ms): New function.
25354 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25355 real work.
25356
25357 2008-08-05 Marco Gerards <marco@gnu.org>
25358
25359 * disk/ata.c: Include <grub/pci.h>.
25360 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25361 (grub_ata_initialize): Rewritten.
25362 (grub_ata_device_initialize): New function.
25363
25364 2008-08-04 Pavel Roskin <proski@gnu.org>
25365
25366 * kern/main.c: Include grub/mm.h.
25367
25368 2008-08-04 Robert Millan <rmh@aybabtu.com>
25369
25370 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25371 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25372 corruption problem).
25373
25374 2008-08-04 Robert Millan <rmh@aybabtu.com>
25375
25376 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25377 warnings introduced in my last commit.
25378
25379 2008-08-03 Robert Millan <rmh@aybabtu.com>
25380
25381 Make PCI available on all i386 architectures.
25382
25383 * include/grub/i386/pc/pci.h: Move from here ...
25384 * include/grub/i386/pci.h: ... to here.
25385
25386 * include/grub/i386/pc/pci.h: Remove.
25387 * include/grub/i386/efi/pci.h: Remove.
25388 * include/grub/x86_64/efi/pci.h: Remove.
25389
25390 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25391 `<grub/cpu/pci.h>'.
25392
25393 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25394 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25395 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25396
25397 * conf/i386-ieee1275.rmk: Likewise.
25398
25399 2008-08-03 Robert Millan <rmh@aybabtu.com>
25400
25401 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25402 (grub_console_setcursor): Make it possible to set cursor off.
25403
25404 2008-08-03 Robert Millan <rmh@aybabtu.com>
25405
25406 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25407 of modules instead of assuming which platform provides what.
25408 * util/update-grub.in: Likewise.
25409
25410 2008-08-03 Robert Millan <rmh@aybabtu.com>
25411
25412 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25413 instead of `grub_install_dos_part' to determine whether a drive needs
25414 to be prepended to prefix (`grub_install_dos_part' is not reliable,
25415 because it can be overridden when loading GRUB via Multiboot).
25416
25417 2008-08-02 Robert Millan <rmh@aybabtu.com>
25418
25419 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25420
25421 2008-08-02 Robert Millan <rmh@aybabtu.com>
25422
25423 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25424 of informational grub_dprintf() calls.
25425
25426 2008-08-02 Robert Millan <rmh@aybabtu.com>
25427
25428 * disk/memdisk.c (memdisk_size): Don't initialize.
25429 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25430
25431 * include/grub/i386/pc/kernel.h
25432 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25433 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25434 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25435 (grub_arch_memdisk_size): Remove.
25436
25437 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25438 field (was only used to transfer a constant). Add `type' field to
25439 support multiple module types.
25440 (grub_module_iterate): New function.
25441
25442 * kern/device.c (grub_device_open): Do not hide error messages
25443 when grub_disk_open() fails. Use grub_print_error() instead.
25444
25445 * kern/i386/pc/init.c (grub_arch_modules_addr)
25446 (grub_arch_memdisk_size): Remove functions.
25447 (grub_arch_modules_addr): Return the module address in high memory
25448 (now that it isn't copied anymore).
25449
25450 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25451 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25452 decompression routine (grub_total_module_size already includes that
25453 now). Don't copy modules back to low memory.
25454
25455 * kern/main.c: Include `<grub/mm.h>'.
25456 (grub_load_modules): Split out (and use) ...
25457 (grub_module_iterate): ... this function, which iterates through
25458 module objects and runs a hook.
25459 Comment out grub_mm_init_region() call, as it would cause non-ELF
25460 modules to be overwritten.
25461
25462 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25463 the memdisk image in its own region, make it part of the module list.
25464 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25465 (main): Parse --memdisk|-m option, and pass user-provided path as
25466 parameter to generate_image().
25467 (add_segments): Pass `memdisk_path' down to load_modules().
25468 (load_modules): Embed memdisk image in module section when requested.
25469 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25470 `header.type' instead of `header.offset'.
25471
25472 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25473 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25474 (memdisk_mod_LDFLAGS): New variables.
25475 * conf/i386-coreboot.rmk: Likewise.
25476 * conf/i386-ieee1275.rmk: Likewise.
25477
25478 2008-08-02 Robert Millan <rmh@aybabtu.com>
25479
25480 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25481 (backward_relocator): New variables. Used to allocate and relocate
25482 the payload, respectively.
25483 (grub_multiboot_load_elf32): Load into heap instead of requested
25484 address, install the appropriate relocator code in each bound of
25485 the payload, and set the entry point such that
25486 grub_multiboot_real_boot() will jump to one of them.
25487
25488 * kern/i386/loader.S (grub_multiboot_payload_size)
25489 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25490 (grub_multiboot_payload_entry_offset): New variables.
25491 (grub_multiboot_real_boot): Set cpu context to what the relocator
25492 expects, and jump to the relocator instead of the payload.
25493
25494 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25495 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25496 (grub_multiboot_payload_entry_offset): Export.
25497
25498 2008-08-01 Bean <bean123ch@gmail.com>
25499
25500 * normal/menu_entry.c (editor_getline): Don't return the original
25501 string as result, as it will be released by lexer once it has done
25502 using it.
25503
25504 2008-08-01 Robert Millan <rmh@aybabtu.com>
25505
25506 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25507 within menuentries, not before them.
25508 util/grub.d/10_hurd.in: Likewise.
25509
25510 2008-08-01 Bean <bean123ch@gmail.com>
25511
25512 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25513 (bufio_mod_SOURCES): New macro.
25514 (bufio_mod_CFLAGS): Likewise.
25515 (bufio_mod_LDFLAGS): Likewise.
25516
25517 * include/grub/bufio.h: New file.
25518
25519 * io/bufio.c: Likewise.
25520
25521 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25522 (grub_video_reader_png): Use grub_buffile_open to open file.
25523
25524 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25525 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25526
25527 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25528 (grub_video_reader_tga): Use grub_buffile_open to open file.
25529
25530 * font/manager.c: Include <grub/bufio.h>.
25531 (add_font): Use grub_buffile_open to open file.
25532
25533 2008-07-31 Robert Millan <rmh@aybabtu.com>
25534
25535 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25536 ELF segments, use a macro for arbitrarily accessing any of them instead
25537 of preparing a pointer that allows access to one at a time.
25538 (grub_multiboot_load_elf64): Likewise.
25539
25540 2008-07-31 Bean <bean123ch@gmail.com>
25541
25542 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25543 GRUB_KERNEL_MACHINE_DATA_END.
25544
25545 2008-07-30 Robert Millan <rmh@aybabtu.com>
25546
25547 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25548 Increase from 0x50 to 0x60.
25549 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25550 use UUIDs to identify the root drive for them. If that's not
25551 possible, abort.
25552 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25553 check, for cross-disk installs.
25554
25555 2008-07-30 Robert Millan <rmh@aybabtu.com>
25556
25557 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25558 is non-empty, use it to set the `prefix' environment variable instead
25559 of the usual approach.
25560 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25561 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25562 environment variable instead of dummy make_install_device().
25563
25564 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25565 (start): Insert a data section, with `grub_prefix' variable.
25566 * kern/i386/linuxbios/startup.S: Likewise.
25567
25568 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25569 New variable reference.
25570 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25571 New macro. Defines offset of `grub_prefix' within startup.S (relative
25572 to `start').
25573 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25574 section within startup.S (relative to `start').
25575 * include/grub/i386/coreboot/kernel.h: Likewise.
25576
25577 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25578 Overwrite grub_prefix with its contents, at the beginning of the
25579 first segment.
25580 (main): Understand -p|--prefix.
25581
25582 2008-07-30 Robert Millan <rmh@aybabtu.com>
25583
25584 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25585
25586 2008-07-30 Robert Millan <rmh@aybabtu.com>
25587
25588 * term/i386/pc/vga_text.c (grub_console_cls): Use
25589 grub_console_gotoxy() to go back to beginning of the screen.
25590 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25591
25592 2008-07-29 Christian Franke <franke@computer.org>
25593
25594 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25595 Add conversion of emulated mount points on Cygwin.
25596
25597 2008-07-29 Christian Franke <franke@computer.org>
25598
25599 * util/update-grub.in: Add a check for admin
25600 group on Cygwin.
25601 Remove old `grub.cfg.new' before creation.
25602 Add `-f' to `mv' to handle the different filesystem
25603 semantics of Windows.
25604
25605 2008-07-29 Bean <bean123ch@gmail.com>
25606
25607 * normal/main.c (get_line): Fix buffer overflow bug.
25608
25609 2008-07-28 Robert Millan <rmh@aybabtu.com>
25610
25611 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25612 (struct grub_apple_header): New struct. Describes the layout of
25613 the partmap header.
25614 (apple_partition_map_iterate): Check the header magic as well as the
25615 partition magic (which was already being checked).
25616
25617 2008-07-28 Pavel Roskin <proski@gnu.org>
25618
25619 * genmk.rb: Add a warning to the beginning of the output that
25620 it's a generated file and should not be edited.
25621
25622 2008-07-28 Robert Millan <rmh@aybabtu.com>
25623
25624 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25625 with the same number are found, just use issue a warning with
25626 grub_dprintf(), as this error has been reported to be non-fatal.
25627
25628 2008-07-27 Robert Millan <rmh@aybabtu.com>
25629
25630 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
25631 information.
25632
25633 2008-07-27 Bean <bean123ch@gmail.com>
25634
25635 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
25636 (grub_fat_find_dir): Ignore case when comparing filename.
25637
25638 2008-07-27 Bean <bean123ch@gmail.com>
25639
25640 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
25641 smallino, as it's more descriptive, and i8count can be confused with
25642 the other field count.
25643 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
25644 inode type.
25645
25646 2008-07-27 Bean <bean123ch@gmail.com>
25647
25648 * commands/crc.c: New file.
25649
25650 * lib/crc.c: Likewise.
25651
25652 * include/grub/lib/crc.h: Likewise.
25653
25654 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
25655
25656 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
25657 (hexdump): Move this function to ...
25658
25659 * lib/hexdump.c: ... here.
25660
25661 * include/grub/hexdump.h: Renamed to ...
25662
25663 * include/grub/lib/hexdump.h: ... this.
25664
25665 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
25666
25667 * util/grub-editenv.c: Likewise.
25668
25669 * include/envblk.h: Renamed to ...
25670
25671 * include/lib/envblk.h: ... this.
25672
25673 * util/envblk.c: Renamed to ...
25674
25675 * lib/envblk.c: ... this.
25676
25677 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
25678 lib/hexdump.c.
25679 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
25680 (pkglib_MODULES): Add crc.mod.
25681 (hexdump_mod_SOURCES): Add lib/hexdump.c.
25682 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
25683 (crc_mod_SOURCES): New macro.
25684 (crc_mod_CFLAGS): Likewise.
25685 (crc_mod_LDFLAGS): Likewise.
25686
25687 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
25688
25689 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25690
25691 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25692
25693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25694
25695 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25696
25697 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
25698
25699 * commands/help.c: Include <grub/term.h>.
25700 (TERM_WIDTH): Removed. Updated all users.
25701
25702 2008-07-27 Pavel Roskin <proski@gnu.org>
25703
25704 * util/getroot.c (find_root_device): Rephrase a comment to avoid
25705 spurious warnings about a comment within a comment.
25706
25707 2008-07-25 Robert Millan <rmh@aybabtu.com>
25708
25709 * util/getroot.c (find_root_device): Skip devices that match
25710 /dev/dm-[0-9]. This lets the real device be found for any type of
25711 abstraction (LVM, EVMS, RAID..).
25712 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
25713 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
25714 device is found first, find_root_device() will now skip it.
25715
25716 2008-07-24 Pavel Roskin <proski@gnu.org>
25717
25718 * include/grub/types.h: Use __builtin_bswap32() and
25719 __builtin_bswap64() with gcc 4.3 and newer.
25720
25721 2008-07-24 Christian Franke <franke@computer.org>
25722
25723 * util/i386/pc/grub-install.in: If `--debug' is specified,
25724 pass `--verbose' to grub-setup.
25725 Abort script if make_system_path_relative_to_its_root() fails.
25726
25727 2008-07-24 Bean <bean123ch@gmail.com>
25728
25729 * configure.ac: Fixed a bug caused by the previous cygwin patch,
25730 variable `target_platform' should be `platform'.
25731
25732 2008-07-24 Bean <bean123ch@gmail.com>
25733
25734 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
25735 (grub_png_init_fixed_block): New function.
25736 (grub_png_decode_image_data): Handle fixed huffman code compression.
25737
25738 2008-07-24 Bean <bean123ch@gmail.com>
25739
25740 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
25741 (grub_pe2elf_SOURCES): New macro.
25742 (CLEANFILES): Add grub-pe2elf.
25743
25744 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
25745 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
25746 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
25747 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
25748 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
25749 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
25750 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
25751 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
25752 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
25753 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
25754 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
25755 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
25756 (GRUB_PE32_DT_FUNCTION): Likewise.
25757 (GRUB_PE32_REL_I386_DIR32): Likewise.
25758 (GRUB_PE32_REL_I386_REL32): Likewise.
25759 (grub_pe32_symbol): New structure.
25760 (grub_pe32_reloc): Likewise.
25761
25762 * util/grub-pe2elf.c: New file.
25763
25764 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
25765 start symbol in non pc platform.
25766
25767 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
25768
25769 The following patches are from Christian Franke.
25770
25771 * include/grub/dl.h: Remove .previous, gas supports this only
25772 for ELF format.
25773
25774 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
25775 Remove .type, gas supports this only for ELF format.
25776
25777 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
25778 nullbytes in symbol table. This fixes an infinite loop if table is
25779 zero filled.
25780
25781 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
25782 TARGET_IMG_LDFLAGS and EXEEXT.
25783
25784 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
25785 TARGET_IMG_LDFLAGS_AC.
25786 (grub_CHECK_STACK_ARG_PROBE): New function.
25787
25788 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
25789
25790 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
25791
25792 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
25793 to set TARGET_IMG_LD* accordingly.
25794 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
25795 Add call to grub_CHECK_STACK_ARG_PROBE.
25796 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
25797
25798 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
25799
25800 * genmk.rb: Add EXEEXT to CLEANFILES.
25801
25802 2008-07-23 Robert Millan <rmh@aybabtu.com>
25803
25804 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
25805 define the codes for arrows and lines used for the menu).
25806 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
25807 as well.
25808
25809 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
25810 fonts, because the latter are too slow.
25811
25812 2008-07-21 Bean <bean123ch@gmail.com>
25813
25814 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
25815 a20. Run keyboard test last, as it will cause macbook to halt.
25816
25817 2008-07-18 Pavel Roskin <proski@gnu.org>
25818
25819 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
25820 load foreign architecture modules correctly anyway. Keep
25821 support for loading host architecture modules, whether we
25822 compile them or not.
25823
25824 2008-07-17 Pavel Roskin <proski@gnu.org>
25825
25826 * configure.ac: Use -m32 or -m64 regardless of whether we had to
25827 change target_cpu. The compiler default can mismatch target_cpu
25828 in any case.
25829
25830 * disk/efi/efidisk.c: Fix format warnings on x86_64.
25831 * kern/efi/efi.c: Likewise.
25832
25833 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
25834 target compiler is functional.
25835 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
25836 are set up.
25837
25838 * configure.ac: Default to efi platform for x86_64-apple. Allow
25839 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
25840 adjustments from the rest, only do them if target is not
25841 explicitly given. Merge other adjustments with the final sanity
25842 check. Remove an extraneous check for supported CPU. Be
25843 specific which CPU and which platform is not supported.
25844
25845 * configure.ac: Default to pc platform for x86_64.
25846
25847 2008-07-17 Robert Millan <rmh@aybabtu.com>
25848
25849 Partial LinuxBIOS -> Coreboot rename.
25850
25851 * conf/i386-linuxbios.rmk: Renamed to ...
25852 * conf/i386-coreboot.rmk: ... this.
25853 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
25854 * configure.ac: Accept "coreboot" as input platform (but maintain
25855 compatibility with "linuxbios").
25856 * include/grub/i386/linuxbios: Renamed to ...
25857 * include/grub/i386/coreboot: ... this.
25858
25859 2008-07-17 Bean <bean123ch@gmail.com>
25860
25861 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
25862 (appleldr_mod_SOURCE): New variable.
25863 (appleldr_mod_CFLAGS): Likewise.
25864 (appleldr_mod_LDFLAGS): Likewise.
25865 (pci_mod_SOURCES): Likewise.
25866 (pci_mod_CFLAGS): Likewise.
25867 (pci_mod_LDFLAGS): Likewise.
25868 (lspci_mod_SOURCES): Likewise.
25869 (lspci_mod_CFLAGS): Likewise.
25870 (lspci_mod_LDFLAGS): Likewise.
25871
25872 * conf/x86_64-efi.rmk: New file.
25873
25874 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
25875 macro.
25876 (grub_efidisk_write): Likewise.
25877
25878 * include/efi/api.h (efi_call_0): New macro.
25879 (efi_call_1): Likewise.
25880 (efi_call_2): Likewise.
25881 (efi_call_3): Likewise.
25882 (efi_call_4): Likewise.
25883 (efi_call_5): Likewise.
25884 (efi_call_6): Likewise.
25885
25886 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
25887 grub_rescue_cmd_chainloader.
25888
25889 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
25890 (grub_pe32_optional_header): Change some fields based on i386 or
25891 x86_64 platform.
25892 (GRUB_PE32_PE32_MAGIC): Likewise.
25893
25894 * include/grub/efi/uga_draw.h: New file.
25895
25896 * include/grub/elf.h (STN_ABS): New constant.
25897 (R_X86_64_NONE): Relocation constant for x86_64.
25898 (R_X86_64_64): Likewise.
25899 (R_X86_64_PC32): Likewise.
25900 (R_X86_64_GOT32): Likewise.
25901 (R_X86_64_PLT32): Likewise.
25902 (R_X86_64_COPY): Likewise.
25903 (R_X86_64_GLOB_DAT): Likewise.
25904 (R_X86_64_JUMP_SLOT): Likewise.
25905 (R_X86_64_RELATIVE): Likewise.
25906 (R_X86_64_GOTPCREL): Likewise.
25907 (R_X86_64_32): Likewise.
25908 (R_X86_64_32S): Likewise.
25909 (R_X86_64_16): Likewise.
25910 (R_X86_64_PC16): Likewise.
25911 (R_X86_64_8): Likewise.
25912 (R_X86_64_PC8): Likewise.
25913
25914 * include/grub/i386/efi/pci.h: New file.
25915
25916 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
25917 Change it value based on platform.
25918 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
25919 (GRUB_E820_RAM): Likewise.
25920 (GRUB_E820_RESERVED): Likewise.
25921 (GRUB_E820_ACPI): Likewise.
25922 (GRUB_E820_NVS): Likewise.
25923 (GRUB_E820_EXEC_CODE): Likewise.
25924 (GRUB_E820_MAX_ENTRY): Likewise.
25925 (grub_e820_mmap): New structure.
25926 (linux_kernel_header): Change the efi field according to different
25927 kernel version, also field from linux_kernel_header.
25928
25929 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
25930
25931 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
25932 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
25933 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
25934 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
25935 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
25936 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
25937 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
25938 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
25939 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
25940 (GRUB_PCI_ADDR_IO_MASK): Likewise.
25941
25942 * include/grub/x86_64/efi/kernel.h: New file.
25943
25944 * include/grub/x86_64/efi/loader.h: Likewise.
25945
25946 * include/grub/x86_64/efi/machine.h: Likewise.
25947
25948 * include/grub/x86_64/efi/pci.h: Likewise.
25949
25950 * include/grub/x86_64/efi/time.h: Likewise.
25951
25952 * include/grub/x86_64/linux.h: Likewise.
25953
25954 * include/grub/x86_64/setjmp.h: Likewise.
25955
25956 * include/grub/x86_64/time.h: Likewise.
25957
25958 * include/grub/x86_64/types.h: Likewise.
25959
25960 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
25961 GRUB_TARGET_SIZEOF_VOID_P.
25962
25963 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
25964 (grub_efi_locate_handle): Likewise.
25965 (grub_efi_open_protocol): Likewise.
25966 (grub_efi_set_text_mode): Likewise.
25967 (grub_efi_stall): Likewise.
25968 (grub_exit): Likewise.
25969 (grub_reboot): Likewise.
25970 (grub_halt): Likewise.
25971 (grub_efi_exit_boot_services): Likewise.
25972 (grub_get_rtc): Likewise.
25973
25974 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
25975 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
25976 (grub_efi_allocate_pages): Wrap efi calls.
25977 (grub_efi_free_pages): Wrap efi calls.
25978 (grub_efi_get_memory_map): Wrap efi calls.
25979
25980 * kern/x86_64/dl.c: New file.
25981
25982 * kern/x86_64/efi/callwrap.S: Likewise.
25983
25984 * kern/x86_64/efi/startup.S: Likewise.
25985
25986 * loader/efi/appleloader.c: Likewise.
25987
25988 * loader/efi/chainloader.c (cmdline): New variable.
25989 (grub_chainloader_unload): Wrap efi calls.
25990 (grub_chainloader_boot): Likewise.
25991 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
25992 command line.
25993
25994 * loader/efi/chainloader_normal.c (chainloader_command):
25995 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
25996 command line.
25997
25998 * loader/i386/efi/linux.c (allocate_pages): Change allocation
25999 method.
26000 (grub_e820_add_region): New function.
26001 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
26002 booting.
26003 (grub_find_video_card): New function.
26004 (grub_linux_setup_video): New function.
26005 (grub_rescue_cmd_linux): Probe for video information.
26006
26007 * normal/x86_64/setjmp.S: New file.
26008
26009 * term/efi/console.c (map_char): New function.
26010 (grub_console_putchar): Map unicode char.
26011 (grub_console_checkkey): Wrap efi calls.
26012 (grub_console_getkey): Likewise.
26013 (grub_console_getwh): Likewise.
26014 (grub_console_gotoxy): Likewise.
26015 (grub_console_cls): Likewise.
26016 (grub_console_setcolorstate): Likewise.
26017 (grub_console_setcursor): Likewise.
26018
26019 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
26020
26021 2008-07-16 Pavel Roskin <proski@gnu.org>
26022
26023 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
26024 format strings.
26025
26026 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
26027 pointer, not an integer. This fixes a warning and prevents
26028 precision loss on 64-bit systems.
26029 (relocate_addresses): Remove unneeded cast.
26030
26031 2008-07-15 Pavel Roskin <proski@gnu.org>
26032
26033 * kern/i386/ieee1275/init.c: Include grub/cache.h.
26034
26035 * term/ieee1275/ofconsole.c: Disable code unused on i386.
26036
26037 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
26038 Fix comparison between signed and unsigned.
26039
26040 * include/grub/i386/ieee1275/console.h: Declare
26041 grub_console_init() and grub_console_fini().
26042
26043 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
26044 It's empty and unused.
26045
26046 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
26047 beginning to avoid warnings with some compilers.
26048
26049 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
26050 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
26051
26052 2008-07-14 Pavel Roskin <proski@gnu.org>
26053
26054 * kern/env.c (grub_register_variable_hook): Don't copy empty
26055 string, it leaks memory. Pass "" to grub_env_set(), it should
26056 handle constant strings.
26057
26058 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
26059 * commands/cmp.c (grub_cmd_cmp): Likewise.
26060 * kern/dl.c (grub_dl_flush_cache): Likewise.
26061 (grub_dl_load_core): Likewise.
26062 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
26063 (grub_elf64_load_phdrs): Likewise.
26064
26065 2008-07-13 Pavel Roskin <proski@gnu.org>
26066
26067 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
26068 between signed and unsigned.
26069 (LzmaEnc_Finish): Fix warning about an unused parameter.
26070
26071 2008-07-13 Bean <bean123ch@gmail.com>
26072
26073 * Makefile.in (enable_lzo): New rule.
26074
26075 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
26076
26077 * configure.ac (ENABLE_LZO): New option --enable-lzo.
26078
26079 * boot/i386/pc/lnxboot.S: #include <config.h>.
26080
26081 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
26082 its value according to the compression algorithm used, lzo or lzma.
26083
26084 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
26085 compression algorithm according to configure macro.
26086
26087 * kern/i386/pc/startup.S (codestart): Likewise.
26088
26089 * kern/i386/pc/lzma_decode.S: New file.
26090
26091 * include/grub/lib/LzFind.h: Likewise.
26092
26093 * include/grub/lib/LzHash.h: Likewise.
26094
26095 * include/grub/lib/LzmaDec.h: Likewise.
26096
26097 * include/grub/lib/LzmaEnc.h: Likewise.
26098
26099 * include/grub/lib/LzmaTypes.h: Likewise.
26100
26101 * lib/LzFind.c: Likewise.
26102
26103 * lib/LzmaDec.c: Likewise.
26104
26105 * lib/LzmaEnc.c: Likewise.
26106
26107 2008-07-13 Bean <bean123ch@gmail.com>
26108
26109 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
26110 (grub_ext4_extent_header): New structure.
26111 (grub_ext4_extent): Likewise.
26112 (grub_ext4_extent_idx): Likewise.
26113 (grub_ext4_find_leaf): New function.
26114 (grub_ext2_read_block): Handle extents.
26115
26116 2008-07-12 Robert Millan <rmh@aybabtu.com>
26117
26118 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
26119
26120 2008-07-11 Robert Millan <rmh@aybabtu.com>
26121
26122 * util/grub.d/40_custom.in: New file. Example on how to add custom
26123 entries to /etc/grub.d.
26124 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
26125 40_custom (implicitly, by merging all the grub.d rules).
26126
26127 2008-07-11 Pavel Roskin <proski@gnu.org>
26128
26129 * commands/read.c (grub_getline): Fix invalid memory access.
26130 Don't add newline to the variable value.
26131
26132 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
26133 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
26134 (serial_hw_get_port): Check validity of the port number.
26135 (grub_cmd_serial): Check return value of serial_hw_get_port().
26136
26137 2008-07-07 Pavel Roskin <proski@gnu.org>
26138
26139 * boot/i386/pc/diskboot.S (notification_string): Replace
26140 "Loading kernel" with just "loading". This is shorter, less
26141 confusing and saves a few bytes for possible future changes.
26142
26143 2008-07-05 Pavel Roskin <proski@gnu.org>
26144
26145 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
26146 size for ATAPI devices, they are undefined. Output sector
26147 number in decimal form.
26148
26149 * disk/ata.c: Use named constants for status bits.
26150
26151 2008-07-04 Pavel Roskin <proski@gnu.org>
26152
26153 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
26154 grub_addr_t before casting it to the void pointer to fix a
26155 warning. Non-addressable regions are discarded earlier.
26156 (grub_arch_modules_addr): Cast _end to grub_addr_t.
26157 * kern/i386/linuxbios/table.c: Include grub/misc.h.
26158 (check_signature): Don't shadow table_header.
26159 (grub_linuxbios_table_iterate): Cast numeric constants to
26160 grub_linuxbios_table_header_t.
26161 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
26162 grub_stop().
26163
26164 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
26165 prevent warnings.
26166
26167 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
26168 pointer, which can cause warnings. Support 64-bit addresses.
26169
26170 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
26171 of sizeof(long). This fixes PowerPC image generation on x86_64.
26172
26173 2008-07-04 Robert Millan <rmh@aybabtu.com>
26174
26175 This fixes a performance issue when pc & gpt partmap iterators
26176 didn't abort iteration even after our hook found what it was
26177 looking for (often causing expensive probes of non-existent drives).
26178
26179 Some callers relied on previous buggy behaviour, since they would
26180 raise an error when their own hooks caused early abortion of its
26181 iteration.
26182
26183 * kern/device.c (grub_device_open): Improve error message.
26184 * disk/lvm.c (grub_lvm_open): Likewise.
26185 * disk/raid.c (grub_raid_open): Likewise.
26186
26187 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
26188 when hook requests it, independently of grub_errno.
26189 (pc_partition_map_probe): Do not fail when find_func() caused
26190 early abortion of pc_partition_map_iterate().
26191
26192 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
26193 when hook requests it, independently of grub_errno.
26194 (gpt_partition_map_probe): Do not fail when find_func() caused
26195 early abortion of gpt_partition_map_iterate().
26196
26197 * kern/partition.c (grub_partition_iterate): Abort parent iteration
26198 when hook requests it, independently of grub_errno. Do not fail when
26199 part_map_iterate_hook() caused early abortion of p->iterate().
26200
26201 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
26202 when grub_partition_iterate() returned with non-zero.
26203
26204 2008-07-03 Pavel Roskin <proski@gnu.org>
26205
26206 * disk/ata.c (grub_ata_pio_write): Check status before writing,
26207 like we do in grub_ata_pio_read().
26208 (grub_ata_readwrite): Always write individual sectors. Fix the
26209 sector count for the remainder.
26210 (grub_ata_write): Enable writing to ATA devices. Correctly
26211 report error for ATAPI devices.
26212
26213 2008-07-02 Pavel Roskin <proski@gnu.org>
26214
26215 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
26216 warning.
26217
26218 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
26219 for every read sector, we already increment it for the whole
26220 batch. This fixes reading more than 256 sectors at once.
26221
26222 * util/grub-editenv.c (cmd_info): Cast argument to long
26223 explicitly. ptrdiff_t reduces to int on i386.
26224
26225 * util/grub-editenv.c (main): Be specific which parameter is
26226 missing.
26227
26228 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
26229 (memdisk): Make memdisk_orig_addr a pointer.
26230
26231 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
26232 for file offsets, use grub_off_t instead. Fix printf format
26233 warnings.
26234
26235 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
26236 there. Real unexpected warnings should not drown in the noise
26237 about known problems.
26238
26239 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
26240 grub_disk_addr_t for memory addresses.
26241
26242 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
26243 explicitly to fix a warning.
26244
26245 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
26246
26247 * Makefile.in (MODULE_LDFLAGS): New variable.
26248 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
26249 the linker accepts --build-id=none.
26250 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
26251 MODULE_LDFLAGS.
26252 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
26253
26254 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
26255 those in Linux XFS code. Provide a way to access 64-bit parent
26256 inode.
26257 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
26258 the end of struct grub_xfs_dir_header.
26259
26260 2008-07-02 Bean <bean123ch@gmail.com>
26261
26262 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
26263 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26264 and GRUB_IEEE1275_FLAG_NO_ANSI.
26265
26266 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
26267 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26268 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
26269
26270 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
26271 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
26272
26273 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
26274 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
26275
26276 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
26277 esc sequence on non ANSI terminal.
26278 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
26279
26280 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
26281 beginning of file.
26282
26283 2008-07-02 Bean <bean123ch@gmail.com>
26284
26285 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
26286 (grub_editenv_SOURCES): New variable.
26287 (pkglib_MODULES): Add loadenv.mod.
26288 (loadenv_mod_SOURCES): New variable.
26289 (loadenv_mod_CFLAGS): Likewise.
26290 (loadenv_mod_LDFLAGS): Likewise.
26291
26292 * include/grub/envblk.h: New file.
26293
26294 * util/envblk.c: New file.
26295
26296 * util/grub-editenv.c: New file.
26297
26298 * commands/loadenv.c: New file.
26299
26300 2008-07-01 Pavel Roskin <proski@gnu.org>
26301
26302 * include/multiboot2.h (struct multiboot_tag_module): Use char,
26303 not unsigned char. This fixes warnings and is consistent with
26304 other tags.
26305
26306 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
26307
26308 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
26309
26310 * term/tparm.c (analyze): Always set *popcount.
26311
26312 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
26313 cast to fix a warning.
26314
26315 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
26316 cast to suppress a warning.
26317
26318 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
26319 grub_fshelp_read_file() expects.
26320
26321 * fs/fat.c: Fix UUID calculation on big-endian systems. We
26322 write uuid as a 32-bit value in CPU byte order, so declare and
26323 use it as such.
26324
26325 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
26326 long if the format specifier expects it.
26327 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
26328 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26329 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
26330 long to fix a warning.
26331 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
26332 grub_dprintf() arguments to fix warnings.
26333
26334 2008-06-30 Pavel Roskin <proski@gnu.org>
26335
26336 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
26337 install_bsd_part immediately before core.img is embedded or
26338 modified on disk. This fixes core.img verification if core.img
26339 cannot be embedded.
26340
26341 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
26342 core_path to calculate the blocklist.
26343 Patch from Javier Martín <lordhabbit@gmail.com>
26344
26345 2008-06-29 Robert Millan <rmh@aybabtu.com>
26346
26347 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
26348 block to disk block.
26349 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
26350 Patch from Niels Böhm <bitbucket@arcor.de>
26351
26352 2008-06-29 Robert Millan <rmh@aybabtu.com>
26353
26354 * util/update-grub_lib.in (font_path): Search for fonts in
26355 /boot/grub first, which is more likely to be readable (we aren't
26356 deciding where fonts live, just looking for them).
26357
26358 2008-06-26 Pavel Roskin <proski@gnu.org>
26359
26360 * util/biosdisk.c (read_device_map): Don't leave dead map
26361 entries for devices failing stat() check.
26362
26363 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26364 core_path_dev for the core.img path on the target device.
26365
26366 2008-06-26 Robert Millan <rmh@aybabtu.com>
26367
26368 * disk/fs_uuid.c: New file.
26369 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26370 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26371 (fs_uuid_mod_LDFLAGS): New variables.
26372 * include/grub/disk.h (grub_disk_dev_id): Add
26373 `GRUB_DISK_DEVICE_UUID_ID'.
26374 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26375 implement iterate().
26376
26377 2008-06-26 Robert Millan <rmh@aybabtu.com>
26378
26379 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26380 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26381 Linux image includes no initrd.
26382
26383 2008-06-21 Javier Martín <lordhabbit@gmail.com>
26384
26385 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26386 call to resolve the core image location that effectively appended the
26387 name twice.
26388
26389 2008-06-21 Robert Millan <rmh@aybabtu.com>
26390
26391 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26392 call from here ...
26393
26394 * util/grub.d/10_hurd.in: ... to here ...
26395 * util/grub.d/10_linux.in: ... and here.
26396
26397 2008-06-19 Robert Millan <rmh@aybabtu.com>
26398
26399 * kern/main.c (grub_main): Export `prefix' variable immediately
26400 after it has been set by grub_machine_set_prefix().
26401
26402 2008-06-19 Robert Millan <rmh@aybabtu.com>
26403
26404 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26405 search result when not saving to variable, not the other way around.
26406 When saving to variable, abort iteration as soon as a match is found.
26407
26408 2008-06-19 Robert Millan <rmh@aybabtu.com>
26409
26410 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26411 check for partition that provides /boot/grub. Its logic is flawed,
26412 as it prevents prepare_grub_to_access_device() from being called
26413 multiple times.
26414
26415 2008-06-19 Robert Millan <rmh@aybabtu.com>
26416
26417 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26418 "insmod" command directly when abstraction modules are needed,
26419 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
26420 since it had already been processed).
26421
26422 2008-06-19 Pavel Roskin <proski@gnu.org>
26423
26424 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26425 changed. This is needed in case GRUB_LIBDIR changes.
26426 * conf/i386-ieee1275.rmk: Likewise.
26427 * conf/i386-linuxbios.rmk: Likewise.
26428 * conf/i386-pc.rmk: Likewise.
26429 * conf/powerpc-ieee1275.rmk: Likewise.
26430
26431 2008-06-18 Pavel Roskin <proski@gnu.org>
26432
26433 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26434 kernel_elf_symlist.c to symlist.c for consistency with other
26435 architectures. Update all users.
26436 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26437
26438 2008-06-18 Robert Millan <rmh@aybabtu.com>
26439
26440 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26441 it in prefix.
26442
26443 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26444 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26445 a RAID device, run setup() for all members independently on whether
26446 LVM abstraction is being used.
26447 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26448 If grub-mkimage has set `*install_dos_part == -2', don't override this
26449 value.
26450 Perform *install_dos_part adjustments independently on whether
26451 we're embedding or not.
26452 Clarify error message when image is too big for embedding.
26453 Remove duplicate *install_dos_part stanza.
26454
26455 2008-06-17 Robert Millan <rmh@aybabtu.com>
26456
26457 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26458 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26459 variables.
26460 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26461 values in grub_ofconsole_normal_color and
26462 grub_ofconsole_highlight_color (they're not directly related to
26463 background and foreground).
26464 (grub_ofconsole_setcolorstate): Extract background and foreground
26465 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26466
26467 2008-06-17 Robert Millan <rmh@aybabtu.com>
26468
26469 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26470 /boot/grub for the check in last commit, not /boot (they could be
26471 different partitions).
26472
26473 2008-06-16 Robert Millan <rmh@aybabtu.com>
26474
26475 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26476 asked to setup access for the same partition that provides /boot,
26477 don't bother using UUIDs since our root already has the value we
26478 want.
26479
26480 2008-06-16 Robert Millan <rmh@aybabtu.com>
26481
26482 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26483 I2O devices.
26484 Patch from Sven Mueller <sven@debian.org>.
26485
26486 2008-06-16 Robert Millan <rmh@aybabtu.com>
26487
26488 * util/update-grub.in: Check for $EUID instead of $UID.
26489 Reported by Vincent Zweije.
26490
26491 2008-06-16 Bean <bean123ch@gmail.com>
26492
26493 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
26494 (grub_ext2_read_block): Likewise.
26495 (grub_ext2_read_inode): Likewise.
26496 (grub_ext2_mount): Likewise.
26497 (grub_ext2_close): Likewise.
26498 (grub_ext3_get_journal): Removed.
26499
26500 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
26501 (grub_reiserfs_read_symlink): Likewise.
26502 (grub_reiserfs_mount): Likewise.
26503 (grub_reiserfs_open): Likewise.
26504 (grub_reiserfs_read): Likewise.
26505 (grub_reiserfs_close): Likewise.
26506 (grub_reiserfs_get_journal): Removed.
26507
26508 * fs/fshelp.c (grub_fshelp_read): Removed.
26509 (grub_fshelp_map_block): Likewise.
26510
26511 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26512 (grub_fshelp_journal): Likewise.
26513 (grub_fshelp_read): Likewise.
26514 (grub_fshelp_map_block): Likewise.
26515
26516 2008-06-16 Pavel Roskin <proski@gnu.org>
26517
26518 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26519 floating point anymore.
26520 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26521
26522 2008-06-15 Pavel Roskin <proski@gnu.org>
26523
26524 * commands/ls.c (grub_ls_list_files): Use integer calculations
26525 for human readable format, avoid floating point use.
26526 * kern/misc.c (grub_ftoa): Remove.
26527 (grub_vsprintf): Remove floating point support.
26528
26529 2008-06-15 Robert Millan <rmh@aybabtu.com>
26530
26531 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
26532 devices.
26533 Reported by Max Vozeler.
26534
26535 2008-06-15 Robert Millan <rmh@aybabtu.com>
26536
26537 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26538 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26539 skipped later.
26540 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26541 the beginning of the prefix.
26542
26543 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26544 It is assumed that if we have a memdisk, grub-mkimage has set
26545 grub_prefix to include the "(memdisk)" drive in it.
26546
26547 2008-06-15 Robert Millan <rmh@aybabtu.com>
26548
26549 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26550 Initialize keyboard controller after registering the terminal, so that
26551 grub_printf() can be called from grub_keyboard_controller_init().
26552
26553 2008-06-15 Robert Millan <rmh@aybabtu.com>
26554
26555 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26556 extent-btree which is written as big endian on disk.
26557 Reported by Alain Greppin <al@chilibi.org>.
26558
26559 2008-06-14 Robert Millan <rmh@aybabtu.com>
26560
26561 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26562 * util/i386/pc/grub-install.in (modules): Likewise.
26563
26564 2008-06-13 Pavel Roskin <proski@gnu.org>
26565
26566 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26567
26568 2008-06-13 Bean <bean123ch@gmail.com>
26569
26570 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26571
26572 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26573
26574 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26575 to indicate sparse block.
26576
26577 2008-06-12 Pavel Roskin <proski@gnu.org>
26578
26579 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26580 number, grub_fshelp_read() does it for us.
26581
26582 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26583 linear disk read with journal translation.
26584 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26585 * include/grub/fshelp.h: Declare grub_fshelp_read().
26586
26587 2008-06-09 Pavel Roskin <proski@gnu.org>
26588
26589 * fs/minix.c (grub_minix_mount): Handle error reading
26590 superblock.
26591
26592 2008-06-08 Robert Millan <rmh@aybabtu.com>
26593
26594 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26595 don't append the RAID prefix afterwards.
26596 Reported by Clint Adams.
26597
26598 2008-06-08 Robert Millan <rmh@aybabtu.com>
26599
26600 Based on description from Pavel:
26601 * kern/disk.c (grub_disk_check_range): Rename to ...
26602 (grub_disk_adjust_range): ... this. Add a comment explaining the
26603 tasks performed by this function.
26604
26605 2008-06-08 Robert Millan <rmh@aybabtu.com>
26606
26607 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26608 `num_serial' (for consistency with other variables).
26609 (struct grub_ntfs_data): Add `uuid' member.
26610 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26611 (grub_ntfs_uuid): New function.
26612 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26613
26614 2008-06-07 Pavel Roskin <proski@gnu.org>
26615
26616 * util/biosdisk.c (open_device): Revert last change to the
26617 function, it broke installation. The sector needs to be
26618 different dependent on which device is opened.
26619
26620 2008-06-06 Robert Millan <rmh@aybabtu.com>
26621
26622 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
26623 rest of GRUB, and breakage doesn't happen if its value were modified.
26624
26625 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26626 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
26627 a constant (same value).
26628 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
26629 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
26630
26631 2008-06-06 Robert Millan <rmh@aybabtu.com>
26632
26633 * util/biosdisk.c (open_device): Do not modify sector offset when
26634 accessing a partition. kern/disk.c already handles this for us.
26635
26636 2008-06-06 Robert Millan <rmh@aybabtu.com>
26637
26638 * util/grub-emu.c (grub_machine_init): Move code in this function from
26639 here ...
26640 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
26641 segfault in case grub_printf() is called).
26642
26643 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
26644 grub_probe. Update all users not to explicitly add it again.
26645 (grub_device): New variable; contains corresponding device for grubdir.
26646 (fs_module, partmap_module, devabstraction_module): Pass
26647 `--device ${grub_device}' to grub_probe to avoid traversing /dev
26648 every time.
26649
26650 2008-06-05 Robert Millan <rmh@aybabtu.com>
26651
26652 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
26653 is found, print it (same layout as with labels).
26654
26655 2008-06-04 Robert Millan <rmh@aybabtu.com>
26656
26657 * util/biosdisk.c (get_drive): Rename to ...
26658 (find_grub_drive): ... this. Update all users.
26659
26660 (get_os_disk): Rename to ...
26661 (convert_system_partition_to_system_disk): ... this. Update all users.
26662
26663 (find_drive): Rename to ...
26664 (find_system_device): ... this. Update all users.
26665
26666 2008-06-04 Robert Millan <rmh@aybabtu.com>
26667
26668 * util/biosdisk.c (get_os_disk): Handle IDA devices.
26669 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26670 (make_device_map): Likewise.
26671
26672 2008-06-01 Robert Millan <rmh@aybabtu.com>
26673
26674 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
26675 before dereferencing it.
26676
26677 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
26678 union with fat12/fat16-specific ones. Add some new fields, including
26679 `num_serial' for both versions.
26680 (struct grub_fat_data): Add `uuid' member.
26681 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
26682 names. Initialize `data->uuid' using `num_serial'.
26683 (grub_fat_uuid): New function.
26684 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
26685
26686 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
26687 (grub_reiserfs_uuid): New function.
26688 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
26689 member.
26690
26691 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
26692 (grub_xfs_uuid): New function.
26693 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
26694
26695 2008-06-01 Robert Millan <rmh@aybabtu.com>
26696
26697 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
26698 code that is backward compatible with pre-uuid search command.
26699
26700 2008-05-31 Robert Millan <rmh@aybabtu.com>
26701
26702 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
26703 floppies after everything else, to ensure floppy drive isn't accessed
26704 unnecessarily (patch from Bean).
26705
26706 2008-05-31 Robert Millan <rmh@aybabtu.com>
26707
26708 * commands/search.c (search_label, search_fs_uuid, search_file): Do
26709 not print device names when we were asked to set a variable.
26710
26711 2008-05-31 Robert Millan <rmh@aybabtu.com>
26712
26713 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
26714 using "cursor-on" and "cursor-off" commands (understood at least by
26715 the Open Firmware flavour on OLPC).
26716
26717 2008-05-31 Michael Gorven <michael@gorven.za.net>
26718
26719 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
26720 on and off sequences.
26721
26722 2008-05-31 Robert Millan <rmh@aybabtu.com>
26723
26724 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
26725 * util/update-grub.in: Likewise.
26726
26727 2008-05-30 Pavel Roskin <proski@gnu.org>
26728
26729 * util/biosdisk.c (linux_find_partition): Simplify logic and
26730 make the code more universal. Keep special processing for
26731 devfs, but use a simple rule for all other devices. If the
26732 device ends with a number, append 'p' and the partition number.
26733 Otherwise, append only the partition number.
26734
26735 2008-05-30 Robert Millan <rmh@aybabtu.com>
26736
26737 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
26738 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
26739 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
26740 the `root' parameter to Linux.
26741
26742 2008-05-30 Robert Millan <rmh@aybabtu.com>
26743
26744 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
26745 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
26746 --fs_uuid with --fs-uuid.
26747 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
26748 all filesystems support them).
26749
26750 2008-05-30 Robert Millan <rmh@aybabtu.com>
26751
26752 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
26753 grub_printf() flags, since we're printing in units of 2 bytes.
26754
26755 2008-05-30 Robert Millan <rmh@aybabtu.com>
26756
26757 * util/grub.d/00_header.in: Remove obsolete comment referencing
26758 convert_system_path_to_grub_path().
26759 * util/update-grub.in: Likewise.
26760 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
26761 (convert_system_path_to_grub_path): Add a warning message explaining
26762 that this function is deprecated. Rely on is_path_readable_by_grub()
26763 for the readability checks.
26764 (font_path): Use is_path_readable_by_grub() for the readability
26765 check rather than convert_system_path_to_grub_path().
26766
26767 2008-05-30 Robert Millan <rmh@aybabtu.com>
26768
26769 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
26770 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
26771 converting it first.
26772 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
26773 grub.cfg for access to font file, and afterwards call it again to set
26774 the root device.
26775
26776 2008-05-30 Robert Millan <rmh@aybabtu.com>
26777
26778 * commands/search.c (options): Add --fs_uuid option.
26779 (search_fs_uuid): New function.
26780 (grub_cmd_search): Fix --set argument passing.
26781 Use search_fs_uuid() when requested via --fs_uuid.
26782 (grub_search_init): Update help message.
26783 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
26784 and redeclare it as an array of 16-bit words.
26785 (grub_ext2_uuid): New function.
26786 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
26787 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
26788 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
26789 (GRUB_DEVICE_BOOT_UUID): New variables.
26790 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
26791 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
26792 whenever possible.
26793 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
26794 just assume `root' variable has the right value.
26795 * util/grub.d/10_linux.in: Likewise.
26796 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
26797 via PRINT_FS_UUID.
26798 (main): Recognise `-t fs_uuid' argument.
26799
26800 2008-05-30 Robert Millan <rmh@aybabtu.com>
26801
26802 * util/biosdisk.c (map): Redefine structure to hold information
26803 about GRUB drive name.
26804 (get_drive): Reimplement without assuming (and verifying) BIOS-like
26805 drive names.
26806 (call_hook): Remove.
26807 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
26808 member. Assume drive has partitions.
26809 (grub_util_biosdisk_open): Access device names via `.device' struct
26810 member.
26811 (open_device): Likewise.
26812 (find_drive): Likewise.
26813 (read_device_map): Adjust map[] usage to match the new struct
26814 definition. Don't check for duplicates (still possible, but not cheap
26815 anymore).
26816 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
26817 (make_device_name): Remove assumption of BIOS-like drive names.
26818
26819 2008-05-30 Pavel Roskin <proski@gnu.org>
26820
26821 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
26822 compiling execute.c doesn't need grub_script.tab.h anymore.
26823 (normal/command.c_DEPENDENCIES): Likewise.
26824 (normal/function.c_DEPENDENCIES): Likewise.
26825 * conf/i386-ieee1275.rmk: Likewise.
26826 * conf/i386-linuxbios.rmk: Likewise.
26827 * conf/i386-pc.rmk: Likewise.
26828 * conf/powerpc-ieee1275.rmk: Likewise.
26829 * conf/sparc64-ieee1275.rmk: Likewise.
26830
26831 2008-05-29 Pavel Roskin <proski@gnu.org>
26832
26833 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
26834 when scanning metadata for volume group name.
26835
26836 * include/grub/script.h: Don't include grub_script.tab.h. It's
26837 a generated file, which may only be included from the files with
26838 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
26839 use union YYSTYPE, as the later allows forward declaration.
26840 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
26841
26842 2008-05-29 Robert Millan <rmh@aybabtu.com>
26843
26844 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
26845 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
26846 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
26847 (grub_console_checkkey): Add grub_dprintf() call to report unknown
26848 scan codes.
26849
26850 2008-05-29 Robert Millan <rmh@aybabtu.com>
26851
26852 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
26853 control key combinations.
26854
26855 2008-05-29 Robert Millan <rmh@aybabtu.com>
26856
26857 * util/powerpc/ieee1275/grub-install.in: Move from here ...
26858 * util/ieee1275/grub-install.in: ... to here.
26859 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
26860 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
26861 (grub_install_SOURCES): Likewise.
26862
26863 2008-05-29 Robert Millan <rmh@aybabtu.com>
26864
26865 * fs/affs.c: Update copyright year.
26866 * fs/ext2.c: Likewise.
26867 * fs/fshelp.c: Likewise.
26868 * fs/hfsplus.c: Likewise.
26869 * fs/ntfs.c: Likewise.
26870 * fs/xfs.c: Likewise.
26871 * include/grub/fshelp.h: Likewise.
26872 * util/grub-mkdevicemap.c: Likewise.
26873
26874 2008-05-28 Robert Millan <rmh@aybabtu.com>
26875
26876 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
26877 might need to be fatfs to support some firmware implementations
26878 (e.g. OFW or EFI).
26879
26880 2008-05-28 Robert Millan <rmh@aybabtu.com>
26881
26882 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
26883 devices.
26884 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26885 (make_device_map): Likewise.
26886
26887 2008-05-20 Bean <bean123ch@gmail.com>
26888
26889 * fs/fshelp.c (grub_fshelp_map_block): New function.
26890 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
26891 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
26892
26893 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
26894 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
26895 (grub_fshelp_journal): New structure.
26896 (grub_fshelp_map_block): New function prototype.
26897 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
26898 (grub_fshelp_map_block): Likewise.
26899
26900 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
26901 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
26902 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
26903 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
26904 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
26905 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
26906 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
26907 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
26908 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
26909 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
26910 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
26911 (grub_ext2_sblock): New members for journal support.
26912 (grub_ext3_journal_header): New structure.
26913 (grub_ext3_journal_revoke_header): Likewise.
26914 (grub_ext3_journal_block_tag): Likewise.
26915 (grub_ext3_journal_sblock): Likewise.
26916 (grub_fshelp_node): New members logfile and journal.
26917 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
26918 grub_fshelp_map_block to get real block number.
26919 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
26920 number.
26921 (grub_ext2_read_inode): Likewise.
26922 (grub_ext3_get_journal): New function.
26923 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
26924 (grub_ext2_close): Release memory used by journal.
26925
26926 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
26927 (REISERFS_MAGIC_DESC_BLOCK): New macro.
26928 (grub_reiserfs_transaction_header): Renamed to
26929 grub_reiserfs_description_block, replace field data with real_blocks.
26930 (grub_reiserfs_commit_block): New structure.
26931 (grub_reiserfs_data): New member journal.
26932 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
26933 number.
26934 (grub_reiserfs_read_symlink): Likewise.
26935 (grub_reiserfs_iterate_dir): Likewise.
26936 (grub_reiserfs_open): Likewise.
26937 (grub_reiserfs_read): Likewise.
26938 (grub_reiserfs_get_journal): New function.
26939 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
26940 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
26941 using grub_reiserfs_get_journal.
26942 (grub_reiserfs_close): Release memory used by journal.
26943
26944 * fs/affs.c (grub_affs_read_block): Change block type to
26945 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
26946
26947 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
26948
26949 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
26950
26951 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
26952
26953 * fs/udf.c (grub_udf_read_block): Change block type to
26954 grub_disk_addr_t. Use type cast to avoid warning.
26955
26956 * fs/xfs.c (grub_xfs_read_block): Likewise.
26957
26958 2008-05-16 Christian Franke <franke@computer.org>
26959
26960 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
26961 to ensure that break with ESC will always work.
26962 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
26963 Remove ESC from keyboard queue.
26964
26965 2008-05-16 Christian Franke <franke@computer.org>
26966
26967 * util/biosdisk.c: [__CYGWIN__] Add includes.
26968 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
26969 (get_os_disk): Move variable declarations to OS specific
26970 parts to avoid warning.
26971 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
26972 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
26973 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
26974 Cygwin.
26975 * util/getroot.c: [__CYGWIN__] Add includes.
26976 (strip_extra_slashes): Fix "/" case.
26977 [__CYGWIN__] (get_win32_path): New function.
26978 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
26979 [__CYGWIN__] (find_root_device): Disable.
26980 [__CYGWIN__] (get_bootsec_serial): New function.
26981 [__CYGWIN__] (find_cygwin_root_device): Likewise.
26982 [__linux__] (grub_guess_root_device): Add early returns to simplify
26983 structure.
26984 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
26985 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
26986 check for Linux only.
26987
26988 2008-05-15 Bean <bean123ch@gmail.com>
26989
26990 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
26991 keyboard hang problem in apple's intel mac.
26992
26993 2008-05-09 Robert Millan <rmh@aybabtu.com>
26994
26995 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
26996 devices.
26997 * util/grub-mkdevicemap.c (get_virtio_disk_name)
26998 (make_device_map): Likewise.
26999 Reported by Aurelien Jarno <aurel32@debian.org>
27000
27001 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
27002
27003 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
27004 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
27005 (make_device_map): Output entries for xvd type disks.
27006
27007 2008-05-07 Robert Millan <rmh@aybabtu.com>
27008
27009 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
27010 devices.
27011 * util/grub-mkdevicemap.c (get_cciss_disk_name)
27012 (make_device_map): Likewise.
27013 Reported by Roland Dreier <rdreier@cisco.com>
27014
27015 2008-05-07 Robert Millan <rmh@aybabtu.com>
27016
27017 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
27018 grub_strstr() call. Correct a few mistakes in failure path handling.
27019
27020 2008-05-06 Robert Millan <rmh@aybabtu.com>
27021
27022 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27023 Do not print a trailing slash (therefore, the root directory is an
27024 empty string).
27025 (convert_system_path_to_grub_path): Do not remove trailing slash
27026 from make_system_path_relative_to_its_root() output.
27027
27028 * util/i386/pc/grub-install.in: Add trailing slash to output from
27029 make_system_path_relative_to_its_root().
27030
27031 2008-05-06 Robert Millan <rmh@aybabtu.com>
27032
27033 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
27034 ensures that output lines aren't intermangled with those sent to
27035 stderr (via grub_util_info()).
27036 * util/grub-probe.c (grub_refresh): Likewise.
27037 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
27038
27039 2008-05-05 Christian Franke <franke@computer.org>
27040
27041 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
27042 Add Cygwin device names.
27043 (get_ide_disk_name) [__CYGWIN__]: Likewise.
27044 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
27045 (check_device): Return error instead of success on empty name.
27046 (make_device_map): Move label inside linux specific code to
27047 prevent compiler warning.
27048
27049 2008-04-30 Robert Millan <rmh@aybabtu.com>
27050
27051 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
27052 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
27053 first boot option.
27054 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
27055
27056 2008-04-29 Robert Millan <rmh@aybabtu.com>
27057
27058 * docs/grub.cfg: New file (example GRUB configuration).
27059
27060 2008-04-26 Robert Millan <rmh@aybabtu.com>
27061
27062 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
27063 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
27064 and `disk/ieee1275/nand.c'.
27065
27066 2008-04-25 Bean <bean123ch@gmail.com>
27067
27068 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
27069 i386-linuxbios.
27070
27071 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
27072 change the buffer size to 4096 for cdrom device.
27073
27074 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
27075 and nand.mod.
27076 (_linux_mod_SOURCES): New variable.
27077 (_linux_mod_CFLAGS): Likewise.
27078 (_linux_mod_LDFLAGS): Likewise.
27079 (linux_mod_SOURCES): Likewise.
27080 (linux_mod_CFLAGS): Likewise.
27081 (linux_mod_LDFLAGS): Likewise.
27082 (nand_mod_SOURCES): Likewise.
27083 (nand_mod_CFLAGS): Likewise.
27084 (nand_mod_LDFLAGS): Likewise.
27085
27086 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
27087 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
27088 type property. (nand device in olpc don't have this property)
27089
27090 * include/grub/disk.h (grub_disk_dev_id): New macro
27091 GRUB_DISK_DEVICE_NAND_ID.
27092
27093 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
27094 function prototype.
27095 (grub_rescue_cmd_initrd): Likewise.
27096
27097 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
27098 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
27099 ofw_cif_handler and ofw_idt, adjust padding number.
27100
27101 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
27102 GRUB_MACHINE_IEEE1275 is defined.
27103
27104 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
27105 Use NESTED_FUNC_ATTR attribute on the hook parameter.
27106
27107 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
27108 on nested function heap_init.
27109 (grub_upper_mem): New variable for i386-ieee1275.
27110 (grub_get_extended_memory): New function for i386-ieee1275.
27111 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
27112
27113 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
27114 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
27115 property.
27116
27117 * loader/i386/ieee1275/linux.c: New file.
27118
27119 * loader/i386/ieee1275/linux_normal.c: New file.
27120
27121 * disk/ieee1275/nand.c: New file.
27122
27123 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
27124
27125 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
27126 value.
27127 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
27128
27129 2008-04-18 Robert Millan <rmh@aybabtu.com>
27130
27131 Restructures early code path on ieee1275 to unify grub_main() as
27132 the first C function that is executed in every platform.
27133
27134 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
27135 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
27136 cmain().
27137 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
27138 * kern/ieee1275/cmain.c (cmain): Rename to ...
27139 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
27140 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
27141 at the beginning.
27142
27143 2008-04-18 Robert Millan <rmh@aybabtu.com>
27144
27145 * util/update-grub.in: Fix syntax error when setting
27146 `GRUB_PRELOAD_MODULES'.
27147 Reported by Stephane Chazelas <stephane@artesyncp.com>
27148
27149 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
27150
27151 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
27152 section into account, newer toolchains generate unique build ids
27153 * configure.ac: remove the test for --build-id=none acceptance,
27154 we want build ids to be preserved
27155 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
27156 far from other sections don't cause the raw binary images grow
27157 size
27158
27159 2008-04-15 Robert Millan <rmh@aybabtu.com>
27160
27161 * disk/lvm.c: Update copyright year.
27162 * kern/misc.c: Likewise.
27163
27164 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27165
27166 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
27167 there is no memory left for physical volume name.
27168
27169 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27170
27171 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
27172 volume name mapping to support bigger than 9 character names properly.
27173
27174 2008-04-13 Robert Millan <rmh@aybabtu.com>
27175
27176 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
27177 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
27178
27179 2008-04-13 Christian Franke <franke@computer.org>
27180
27181 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
27182 to create a floppy emulation boot CD when non emulation mode
27183 does not work.
27184 Enable Joliet CD filesystem extension.
27185
27186 2008-04-13 Robert Millan <rmh@aybabtu.com>
27187
27188 * kern/misc.c (grub_strncat): Fix off-by-one error.
27189 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
27190
27191 * kern/env.c (grub_env_context_close): Clear current context, not
27192 previous one.
27193 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
27194
27195 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
27196
27197 2008-04-13 Robert Millan <rmh@aybabtu.com>
27198
27199 Improve robustness when handling LVM.
27200
27201 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
27202 (and leave `*p' unmodified).
27203 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
27204 through it.
27205 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
27206 iterating through it.
27207 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
27208 through it.
27209 (grub_lvm_scan_device): Check the return value (and fail gracefully
27210 when due) on each grub_lvm_getvalue() or grub_strstr() call.
27211 Don't assume `vg->pvs != NULL' when iterating through it.
27212
27213 2008-04-13 Robert Millan <rmh@aybabtu.com>
27214
27215 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
27216 * genmk.rb (partmap): New variable.
27217 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
27218 (#{partmap}): New target rule.
27219 * genpartmaplist.sh: New file.
27220 * Makefile.in (pkglib_DATA): Add partmap.lst.
27221 (partmap.lst): New target rule.
27222 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
27223 modules (including all partition maps), instead of preloading them.
27224
27225 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
27226
27227 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
27228 `linux-boot-prober' (if installed) to detect other operating
27229 systems which are installed on the computer and add them to
27230 the boot menu.
27231 * conf/common.rmk: Build and install 30_os-prober.
27232
27233 2008-04-12 Robert Millan <rmh@aybabtu.com>
27234
27235 * kern/powerpc/ieee1275/init.c: Move from here ...
27236 * kern/ieee1275/init.c: ... to here. Update all users.
27237
27238 * kern/powerpc/ieee1275/cmain.c: Move from here ...
27239 * kern/ieee1275/cmain.c: ... to here. Update all users.
27240
27241 * kern/powerpc/ieee1275/openfw.c: Move from here ...
27242 * kern/ieee1275/openfw.c: ... to here. Update all users.
27243
27244 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
27245 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
27246
27247 2008-04-10 Pavel Roskin <proski@gnu.org>
27248
27249 * configure.ac: Always use "_cv_" in cache variables for
27250 compatibility with Autoconf 2.62.
27251
27252 2008-04-07 Robert Millan <rmh@aybabtu.com>
27253
27254 Revert grub/machine/init.h addition by Pavel (since it breaks on
27255 i386-ieee1275 and others):
27256 * util/i386/pc/misc.c: Remove grub/machine/init.h.
27257 * util/powerpc/ieee1275/misc.c: Likewise.
27258
27259 2008-04-07 Robert Millan <rmh@aybabtu.com>
27260
27261 * util/grub-probe.c (probe): Improve error message.
27262
27263 2008-04-07 Robert Millan <rmh@aybabtu.com>
27264
27265 * util/biosdisk.c (read_device_map): Skip devices that don't exist
27266 (this prevents the presence of a bogus entry from ruining the whole
27267 thing).
27268
27269 2008-04-06 Pavel Roskin <proski@gnu.org>
27270
27271 * util/biosdisk.c: Include grub/util/biosdisk.h.
27272 * util/grub-fstest.c (execute_command): Make static.
27273 * util/grub-mkdevicemap.c (check_device): Likewise.
27274 * util/i386/pc/misc.c: Include grub/machine/init.h.
27275 * util/powerpc/ieee1275/misc.c: Likewise.
27276 * util/lvm.c: Include grub/util/lvm.h.
27277 * util/misc.c: Include grub/kernel.h, grub/misc.h and
27278 grub/cache.h.
27279 * util/raid.c: Include grub/util/raid.h.
27280 (grub_util_getdiskname): Make static.
27281
27282 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
27283 grub_hostfs_fini(), as they are called from grub_init_all() and
27284 grub_fini_all() respectively. This fixes an infinite loop in
27285 grub-fstest due to double registration of hostfs.
27286 Reported by Christian Franke <Christian.Franke@t-online.de>
27287
27288 2008-04-05 Pavel Roskin <proski@gnu.org>
27289
27290 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
27291 all 8 functions. Otherwise, probe function 0 only.
27292
27293 2008-04-04 Pavel Roskin <proski@gnu.org>
27294
27295 * commands/lspci.c (grub_lspci_iter): Print the bus number
27296 correctly.
27297
27298 * commands/lspci.c (grub_pci_classes): Fix typos.
27299 (grub_lspci_iter): Don't print func twice. Print vendor ID
27300 before device ID, as it's normally done.
27301
27302 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27303 Fix signedness warnings.
27304 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
27305 Likewise.
27306 * util/ieee1275/get_disk_name.c: Include config.h so that
27307 _GNU_SOURCE is defined and getline() is declared. Mark an
27308 unused argument as such. Fix a signedness warning.
27309
27310 2008-04-02 Pavel Roskin <proski@gnu.org>
27311
27312 * genkernsyms.sh.in: Use more robust assignments for CC and
27313 srcdir. Quote srcdir.
27314 * gensymlist.sh.in: Likewise. Assert at the compile time that
27315 the symbol table is not empty.
27316
27317 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
27318 * fs/cpio.c (grub_cpio_read): Likewise.
27319
27320 2008-04-01 Pavel Roskin <proski@gnu.org>
27321
27322 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
27323 * disk/host.c (grub_host_open): Likewise.
27324 * disk/loopback.c (grub_loopback_open): Likewise.
27325 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
27326 disk->id as in disk/host.c, not a multi-character constant.
27327
27328 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
27329 later is obsolete, potentially dangerous and sets a bad example.
27330 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
27331 * util/misc.c (grub_util_get_image_size): Likewise.
27332
27333 * disk/loopback.c (options): Improve help for "--partitions".
27334
27335 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
27336 options to align them with the short options, e.g. "echo -e".
27337
27338 2008-03-31 Bean <bean123ch@gmail.com>
27339
27340 * video/reader/png.c (grub_png_data): New member is_16bit and
27341 image_data.
27342 (grub_png_decode_image_header): Detect 16 bit png image.
27343 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
27344 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
27345 (grub_video_reader_png): Release memory occupied by image_data.
27346
27347 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
27348 4096 bytes.
27349 (grub_nfs_mount): Skip the test for sector per cluster.
27350
27351 * include/grub/ntfs.h (MAX_SPC): Removed.
27352
27353 2008-03-31 Bean <bean123ch@gmail.com>
27354
27355 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27356 (grub_probe_SOURCES): Add fs/afs.c.
27357 (grub_fstest_SOURCES): Likewise.
27358 (afs_mod_SOURCES): New variable.
27359 (afs_mod_CFLAGS): Likewise.
27360 (afs_mod_LDFLAGS): Likewise.
27361
27362 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27363 (grub_emu_SOURCES): Likewise.
27364
27365 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27366
27367 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27368
27369 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27370
27371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27372
27373 * fs/afs.c: New file.
27374
27375 2008-03-30 Pavel Roskin <proski@gnu.org>
27376
27377 * disk/host.c: Include grub/misc.h to fix a warning.
27378 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27379 warnings about implicit declarations.
27380
27381 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27382 variable.
27383 * include/grub/i386/loader.h: Change declaration of
27384 grub_linux_boot() to match what grub_loader_set() expects.
27385 * util/getroot.c (grub_guess_root_device): Return const char* to
27386 fix a warning.
27387 * util/grub-probe.c (probe): Fix a warning about uninitialized
27388 abstraction_name variable.
27389 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27390 second argument as unused to fix a warning.
27391
27392 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27393 missing grub_error() call.
27394
27395 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27396 2.60 and newer uses it to define datadir.
27397
27398 * commands/sleep.c: Fix warning about implicit declaration.
27399 * disk/memdisk.c: Likewise.
27400 * loader/aout.c: Likewise.
27401 * loader/i386/bsd_normal.c: Likewise.
27402 * util/grub-probe.c: Likewise.
27403
27404 * commands/i386/cpuid.c (has_longmode): Make static.
27405 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27406 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27407
27408 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27409 GDT. This is more robust, as %ds can change.
27410 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27411 calling real_to_prot().
27412 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27413
27414 2008-03-28 Pavel Roskin <proski@gnu.org>
27415
27416 * kern/i386/pc/startup.S: Assert that uncompressed functions
27417 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27418 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27419 code, as they push parts of the code (error handlers) beyond
27420 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27421 code as correctness and size.
27422
27423 2008-03-28 Pavel Roskin <proski@gnu.org>
27424
27425 * kern/i386/pc/startup.S
27426 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27427 data block address to the real mode, keep offset minimal. This
27428 works around a bug in AWARD BIOS on old Athlon systems, which
27429 makes CD detection hang.
27430
27431 2008-03-26 Pavel Roskin <proski@gnu.org>
27432
27433 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27434 const.
27435 * include/grub/normal.h: Add grub_parse_color_name_pair()
27436 declaration.
27437
27438 2008-03-24 Bean <bean123ch@gmail.com>
27439
27440 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27441 (cd_count): Removed.
27442 (cd_drive): New variable.
27443 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27444 (grub_biosdisk_call_hook): Likewise.
27445 (grub_biosdisk_iterate): Change cdrom detection method.
27446 (grub_biosdisk_open): Replace cd_start with cd_drive.
27447 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27448 detect cdrom device.
27449
27450 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27451 Removed.
27452 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27453 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27454 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27455 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27456 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27457 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27458 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27459 (grub_biosdisk_cdrp): New structure.
27460 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27461
27462 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27463
27464 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27465 device.
27466
27467 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27468 New function.
27469
27470 2008-03-20 Robert Millan <rmh@aybabtu.com>
27471
27472 Remove 2 TiB limit in ata.mod.
27473 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27474 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27475 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27476 grub_uint64_t instead of grub_uint32_t.
27477
27478 2008-03-05 Bean <bean123ch@gmail.com>
27479
27480 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27481 (grub_multiboot): Set boot device.
27482
27483 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27484
27485 2008-03-02 Bean <bean123ch@gmail.com>
27486
27487 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27488 symlink_buffer.
27489
27490 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27491
27492 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27493 texinfo.tex.
27494
27495 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27496 modified.
27497
27498 * docs/fdl.texi: New file.
27499
27500 * docs/mdate-sh: New file. Copied from gnulib.
27501 * docs/texinfo.tex: Likewise.
27502
27503 * config.guess: Updated from gnulib.
27504 * install-sh: Likewise.
27505
27506 2008-02-28 Robert Millan <rmh@aybabtu.com>
27507
27508 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27509 (aout_mod_SOURCES): New variable.
27510 (aout_mod_CFLAGS): Likewise.
27511 (aout_mod_LDFLAGS): Likewise.
27512
27513 * conf/i386-ieee1275.rmk: Likewise.
27514
27515 2008-02-28 Robert Millan <rmh@aybabtu.com>
27516
27517 * util/update-grub.in: Reorganise terminal validity check. Accept
27518 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27519 Based on suggestion by Franklin PIAT.
27520
27521 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27522
27523 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27524 function.
27525 * util/getroot.c (grub_util_check_block_device): New function that
27526 returns the given argument if it is a block device and returns NULL else.
27527 * util/grub-probe.c (argument_is_device): New variable.
27528 (probe): Promote device_name from a variable to an argument. Receive
27529 device_name from grub_util_check_block_device() if path is NULL and from
27530 grub_guess_root_device() else. Do not free() device_name anymore.
27531 (options): Introduce new parameter '-d, --device'.
27532 (main): Add description of the new parameter to the help screen.
27533 Rename path variable to argument. Set argument_is_device if the '-d'
27534 option is given. Pass argument to probe() depending on
27535 argument_is_device.
27536
27537 2008-02-24 Bean <bean123ch@gmail.com>
27538
27539 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27540 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27541 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27542 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27543 (GRUB_ISO9660_VOLDESC_END): Likewise.
27544 (grub_iso9660_primary_voldesc): New member escape.
27545 (grub_iso9660_data): New member joliet.
27546 (grub_iso9660_convert_string): New function.
27547 (grub_iso9660_mount): Detect joliet extension.
27548 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27549 (grub_iso9660_iso9660_label): Likewise.
27550
27551 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27552 (grub_setup_SOURCES): Add fs/udf.c.
27553 (grub_fstest_SOURCES): Likewise.
27554 (udf_mod_SOURCES): New variable.
27555 (udf_mod_CFLAGS): Likewise.
27556 (udf_mod_LDFLAGS): Likewise.
27557
27558 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27559 (grub_emu_SOURCES): Likewise.
27560
27561 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27562
27563 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27564
27565 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27566
27567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27568
27569 * fs/udf.c: New file.
27570
27571 2008-02-24 Robert Millan <rmh@aybabtu.com>
27572
27573 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27574 (normal/lexer.c_DEPENDENCIES): New variables.
27575 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27576 (normal/lexer.c_DEPENDENCIES): Likewise.
27577 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27578 (normal/lexer.c_DEPENDENCIES): Likewise.
27579 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27580 (normal/lexer.c_DEPENDENCIES): Likewise.
27581 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27582 (normal/lexer.c_DEPENDENCIES): Likewise.
27583 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27584 (normal/lexer.c_DEPENDENCIES): Likewise.
27585
27586 2008-02-23 Robert Millan <rmh@aybabtu.com>
27587
27588 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27589 since they were intended to be in hex. This didn't break previously
27590 because of a bug in gpt_partition_map_iterate() (see below).
27591
27592 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27593 when checking the validity of GPT header.
27594 Remove `partno', since it always provides the same information as `i'.
27595
27596 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27597
27598 * include/grub/efi/time.h: Fix a wrong comment.
27599
27600 2008-02-19 Pavel Roskin <proski@gnu.org>
27601
27602 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27603 message.
27604
27605 2008-02-19 Bean <bean123ch@gmail.com>
27606
27607 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27608 (aout_mod_SOURCES): New variable.
27609 (aout_mod_CFLAGS): Likewise.
27610 (aout_mod_LDFLAGS): Likewise.
27611 (_bsd_mod_SOURCES): New variable.
27612 (_bsd_mod_CFLAGS): Likewise.
27613 (_bsd_mod_LDFLAGS): Likewise.
27614 (bsd_mod_SOURCES): New variable.
27615 (bsd_mod_CFLAGS): Likewise.
27616 (bsd_mod_LDFLAGS): Likewise.
27617
27618 * include/grub/aout.h: New file.
27619
27620 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
27621
27622 * include/grub/i386/bsd.h: New file.
27623
27624 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
27625 to make it public.
27626
27627 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
27628 function is called, so that it's possible to change it inside the hook.
27629 (grub_elf64_load): Likewise.
27630 (grub_elf_file): Don't close the file if elf header is not found.
27631 (grub_elf_close): Close the file if grub_elf_file fails (The new
27632 grub_elf_file won't close it).
27633 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
27634 (grub_elf64_size): Likewise.
27635
27636 * kern/i386/loader.S (grub_unix_real_boot): New function.
27637
27638 * loader/aout.c: New file.
27639
27640 * loader/i386/bsd.c: New file.
27641
27642 * loader/i386/bsd_normal.c: New file.
27643
27644 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
27645
27646 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
27647 can test other formats.
27648
27649 2008-02-19 Robert Millan <rmh@aybabtu.com>
27650
27651 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
27652 (grub_gpt_partition_type_empty): Redefine with macro from
27653 `<grub/gpt_partition.h>'.
27654 (gpt_partition_map_iterate): Adjust partition type comparison.
27655
27656 Export `entry' as partmap-specific `part.data' struct.
27657 (grub_gpt_header, grub_gpt_partentry): Move from here ...
27658
27659 * include/grub/gpt_partition.h (grub_gpt_header)
27660 (grub_gpt_partentry): ... to here (new file).
27661
27662 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
27663
27664 (grub_gpt_partition_type_bios_boot): New const variable, defined
27665 with macro from `<grub/gpt_partition.h>'.
27666
27667 (setup): Replace `first_start' with `embed_region', which keeps
27668 track of the embed region (and is partmap-agnostic).
27669
27670 Replace find_first_partition_start() with find_usable_region(),
27671 which finds a usable region for embedding using partmap-specific
27672 knowledge (supports PC/MSDOS and GPT).
27673
27674 Fix all assumptions that the embed region start at sector 1, using
27675 `embed_region.start' from now on. Similarly, use `embed_region.end'
27676 rather than `first_start' to calculate available size.
27677
27678 In grub_util_info() message, replace "into after the MBR" with an
27679 indication of the specific sector our embed region starts at.
27680
27681 2008-02-19 Robert Millan <rmh@aybabtu.com>
27682
27683 * DISTLIST: Replace `commands/ieee1275/halt.c' and
27684 `commands/ieee1275/reboot.c' with `commands/halt.c' and
27685 `commands/reboot.c'.
27686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27687 (halt_mod_SOURCES): Likewise.
27688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27689 (halt_mod_SOURCES): Likewise.
27690
27691 2008-02-17 Christian Franke <franke@computer.org>
27692
27693 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
27694
27695 2008-02-17 Robert Millan <rmh@aybabtu.com>
27696
27697 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27698 set `first_start' to 0 for non-PC/MSDOS partition maps.
27699
27700 2008-02-16 Robert Millan <rmh@aybabtu.com>
27701
27702 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27703 do not assume partition map is PC/MSDOS before performing checks that
27704 are specific to that layout.
27705
27706 2008-02-13 Robert Millan <rmh@aybabtu.com>
27707
27708 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
27709 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
27710 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
27711
27712 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
27713
27714 * configure.ac: Only a cosmetic change on the handling of
27715 -fno-stack-protector.
27716
27717 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
27718
27719 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
27720 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
27721 reboot.c.
27722 (grub_install_SOURCES): Add halt.mod and reboot.mod.
27723 (halt_mod_SOURCES): New variable.
27724 (halt_mod_CFLAGS): Likewise.
27725 (halt_mod_LDFLAGS): Likewise.
27726 (reboot_mod_SOURCES): Likewise.
27727 (reboot_mod_CFLAGS): Likewise.
27728 (reboot_mod_LDFLAGS): Likewise.
27729
27730 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
27731 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
27732 reboot.c.
27733 (halt_mod_SOURCES): Likewise.
27734 (reboot_mod_SOURCES): Likewise.
27735
27736 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
27737 commands/i386/pc/reboot.c by commands/reboot.c.
27738 (reboot_mod_SOURCES): Likewise.
27739
27740 * commands/i386/pc/reboot.c: merge this file ...
27741
27742 * commands/ieee1275/reboot.c: ... and this file ...
27743
27744 * commands/reboot.c: ... to this file.
27745 Add some precompiler directive to include the correct header for
27746 each machine.
27747
27748 * commands/ieee1275/halt.c: move this file ...
27749
27750 * commands/halt.c: ... to here.
27751 Add some precompiler directive to include the correct header for
27752 each machine.
27753
27754 * include/grub/efi/efi.h (grub_reboot): New function declaration.
27755 (grub_halt): Likewise.
27756
27757 * kern/efi/efi.c (grub_reboot): New function.
27758 (grub_halt): Likewise.
27759
27760 2008-02-12 Robert Millan <rmh@aybabtu.com>
27761
27762 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
27763 /dev (like it is done for /dev/mapper). This doesn't provide support
27764 for EVMS, but at least it is now easy to identify the problem when it
27765 arises.
27766
27767 2008-02-11 Robert Millan <rmh@aybabtu.com>
27768
27769 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
27770 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
27771 comparing it with -1, not 0.
27772
27773 2008-02-10 Robert Millan <rmh@aybabtu.com>
27774
27775 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
27776 `disk/lvm.c'.
27777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27778 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27779
27780 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
27781 `disk/lvm.c' to the end of the list.
27782 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27783 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27784
27785 2008-02-10 Robert Millan <rmh@aybabtu.com>
27786
27787 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
27788 grub_print_error() instead. This will let user know why we're entering
27789 rescue mode.
27790 Based on suggestions from Sam Morris.
27791
27792 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
27793
27794 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
27795 on remaining N args, instead of "--" arg N times.
27796
27797 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
27798
27799 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
27800 (fill_with_default_glyph): Changed to use unknown_glyph for fill
27801 pattern for unknown glyphs.
27802
27803 2008-02-09 Robert Millan <rmh@aybabtu.com>
27804
27805 * configure.ac: Probe for `help2man'.
27806 * Makefile.in (builddir): New variable.
27807 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
27808 or otherwise add a few flags/options to it.
27809 (install-local): For every executable utility or script that is
27810 installed, invoke $(HELP2MAN) to install a manpage based on --help
27811 output.
27812
27813 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
27814 that it doesn't prevent --help from working in build tree.
27815
27816 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
27817 with `bug-grub@gnu.org'.
27818 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
27819 * util/update-grub.in (usage): New function.
27820 Implement proper argument check, with support for --help and --version
27821 (as well as existing -y).
27822
27823 2008-02-09 Christian Franke <franke@computer.org>
27824
27825 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
27826 avoid overwriting previous output.
27827 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
27828
27829 2008-02-09 Robert Millan <rmh@aybabtu.com>
27830
27831 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
27832 drawing the menu.
27833
27834 2008-02-09 Robert Millan <rmh@aybabtu.com>
27835
27836 * commands/sleep.c: New file.
27837 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
27838 (sleep_mod_SOURCES): New variable.
27839 (sleep_mod_CFLAGS): Likewise.
27840 (sleep_mod_LDFLAGS): Likewise.
27841
27842 2008-02-09 Robert Millan <rmh@aybabtu.com>
27843
27844 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
27845 situations in which we can deduce the RAID size and the superblock
27846 doesn't match it.
27847
27848 2008-02-09 Robert Millan <rmh@aybabtu.com>
27849
27850 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
27851 and return a grub_diskmemberlist_t composed of LVM physical volumes.
27852 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
27853
27854 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
27855 and return a grub_diskmemberlist_t composed of physical array members.
27856 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
27857
27858 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
27859 prototype.
27860 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
27861 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
27862 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
27863
27864 * util/grub-probe.c (probe): Move partmap probing code from here ...
27865 (probe_partmap): ... to here.
27866 (probe): Use probe_partmap() once for the disk we're probing, and
27867 additionally, when such disk contains a memberlist() struct member,
27868 once for each disk that is contained in the structure returned by
27869 memberlist().
27870
27871 2008-02-09 Robert Millan <rmh@aybabtu.com>
27872
27873 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
27874 environment variable to 'all' in order to obtain debug output from
27875 non-util/ code.
27876 * util/i386/pc/grub-setup.c (main): Likewise.
27877
27878 2008-02-08 Robert Millan <rmh@aybabtu.com>
27879
27880 * disk/raid.c (grub_raid_scan_device): Check for
27881 `array->device[sb.this_disk.number]' rather than for
27882 `array->device[sb.this_disk.number]->name', since the latter is not
27883 guaranteed to be accessible.
27884
27885 2008-02-08 Robert Millan <rmh@aybabtu.com>
27886
27887 * disk/raid.c: Update copyright.
27888 * fs/cpio.c: Likewise.
27889 * include/grub/raid.h: Likewise.
27890 * loader/i386/pc/multiboot.c: Likewise.
27891 * util/hostfs.c: Likewise.
27892
27893 2008-02-08 Robert Millan <rmh@aybabtu.com>
27894
27895 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
27896 to a grub_disk_t array.
27897 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
27898 `device[x]'.
27899 (grub_raid_scan_device): Replace `device[x].name' accesses with
27900 `device[x]->name'. Simplify initialization of `array->device[x]'.
27901
27902 2008-02-08 Robert Millan <rmh@aybabtu.com>
27903
27904 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
27905 grub_dprintf() calls.
27906 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
27907 error message.
27908
27909 2008-02-07 Christian Franke <franke@computer.org>
27910
27911 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
27912 instead of fseek and ftell to support large files.
27913 (grub_hostfs_read): Likewise.
27914
27915 2008-02-07 Robert Millan <rmh@aybabtu.com>
27916
27917 Patch from Jeroen Dekkers.
27918 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
27919 failure, since successfully reading all array members might not be
27920 required.
27921
27922 2008-02-06 Robert Millan <rmh@aybabtu.com>
27923
27924 * util/grub-probe.c (probe): Simplify partmap probing (with the
27925 assumption that the first word up to the underscore equals to
27926 the module name).
27927
27928 2008-02-06 Christian Franke <franke@computer.org>
27929
27930 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
27931 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
27932 last block of a cpio or tar stream.
27933 Check for "TRAILER!!!" instead of any empty data
27934 block to detect last block of a cpio stream.
27935 (grub_cpio_dir): Fix constness of variable np.
27936 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
27937 cpio or tar trailer is detected. This fixes a crash
27938 on open of a non existing file.
27939
27940 2008-02-05 Bean <bean123ch@gmail.com>
27941
27942 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
27943 address of entry.
27944 (grub_multiboot_load_elf64): Likewise.
27945 (grub_multiboot): Initialize mbi structure.
27946
27947 * util/grub-fstest.c: Don't include unused header file script.h.
27948
27949 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
27950 of file.
27951 (grub_fstest_SOURCES): Likewise.
27952
27953 2008-02-05 Robert Millan <rmh@aybabtu.com>
27954
27955 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
27956 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
27957 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
27958 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
27959
27960 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
27961 (translation_table): Replace hardcoded values with macros
27962 provided by `<grub/term.h>'.
27963
27964 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
27965 (keyboard_map): Correct/add a few values, with macros provided
27966 by `<grub/term.h>'.
27967 (keyboard_map_shift): Zero values that don't differ from their
27968 `keyboard_map' equivalents.
27969 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
27970 Discard the second scan code that is always sent by Caps lock.
27971 Only use `keyboard_map_shift' when it provides a non-zero value,
27972 otherwise fallback to `keyboard_map'.
27973
27974 2008-02-04 Bean <bean123ch@gmail.com>
27975
27976 * Makefile.in (enable_grub_fstest): New variable.
27977
27978 * conf/common.rmk (grub_fstest_init.lst): New rule.
27979 (grub_fstest_init.h): Likewise.
27980 (grub_fstest_init.c): Likewise.
27981 (util/grub-fstest.c_DEPENDENCIES): New variable.
27982 (grub_fstest_SOURCES): Likewise.
27983
27984 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
27985
27986 * util/grub-fstest.c: New file.
27987
27988 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
27989
27990 Make grub-setup handle a separate root device.
27991
27992 * util/i386/pc/grub-setup.c (setup): Always open the root device,
27993 so that the root device can be compared with the destination
27994 device.
27995 When embedding the core image, if the root and destination devices
27996 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
27997 0xFF.
27998 When not embedding, set ROOT_DRIVE to 0xFF.
27999
28000 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28001
28002 Add support for having a grub directory in a different drive. This
28003 is still only the data handling part.
28004
28005 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
28006 (codestart): Save %dh in GRUB_ROOT_DRIVE.
28007 (grub_root_drive): New variable.
28008
28009 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
28010 instead of GRUB_BOOT_DRIVE to construct a device name. Set
28011 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
28012 as it was.
28013
28014 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
28015
28016 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
28017 macro.
28018 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
28019
28020 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
28021 is bogus, because PXE booting does not specify any drive
28022 correctly.
28023
28024 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
28025 am not sure if this is really correct.
28026
28027 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
28028 is always identical to the boot drive when booting from a CD.
28029
28030 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
28031 longer.
28032 (root_drive): New variable.
28033 (real_start): Unconditionally set %dh to ROOT_DRIVE.
28034 (setup_sectors): Push %dx right after popping it, because %dh will
28035 be modified later.
28036 (copy_buffer): Restore %dx.
28037
28038 2008-02-03 Robert Millan <rmh@aybabtu.com>
28039
28040 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
28041 use `cdboot.img' for cdrom images.
28042
28043 2008-02-03 Robert Millan <rmh@aybabtu.com>
28044
28045 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
28046 only setup gfxterm when `font' command has succeeded.
28047
28048 2008-02-03 Robert Millan <rmh@aybabtu.com>
28049
28050 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
28051 (grub_rescue_cmd_multiboot_loader)
28052 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
28053
28054 2008-02-03 Pavel Roskin <proski@gnu.org>
28055
28056 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
28057 %edx and %esi from stack only after grub_gate_a20() is called.
28058 grub_gate_a20() clobbers %edx.
28059
28060 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28061
28062 * configure.ac (AC_INIT): Bumped to 1.96.
28063
28064 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
28065 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
28066 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
28067 video/readers/png.c.
28068
28069 2008-02-03 Bean <bean123ch@gmail.com>
28070
28071 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
28072 (cdboot_img_SOURCES): New variable.
28073 (cdboot_img_ASFLAGS): New variable.
28074 (cdboot_img_LDFLAGS): New variable.
28075
28076 * boot/i386/pc/cdboot.S: New file.
28077
28078 * disk/i386/pc/biosdisk.c (cd_start): New variable.
28079 (cd_count): Likewise.
28080 (grub_biosdisk_get_drive): Add support for cd device.
28081 (grub_biosdisk_call_hook): Likewise.
28082 (grub_biosdisk_iterate): Likewise.
28083 (grub_biosdisk_open): Likewise.
28084 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
28085 (grub_biosdisk_rw): Support reading from cd device.
28086 (GRUB_MOD_INIT): Iterate cd devices.
28087
28088 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
28089 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
28090 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
28091
28092 * kern/i386/pc/init.c (make_install_device): Check for cd device.
28093
28094 2008-02-02 Robert Millan <rmh@aybabtu.com>
28095
28096 * commands/read.c: New file.
28097 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
28098 (read_mod_SOURCES): New variable.
28099 (read_mod_CFLAGS): Likewise.
28100 (read_mod_LDFLAGS): Likewise.
28101
28102 2008-02-02 Robert Millan <rmh@aybabtu.com>
28103
28104 * normal/main.c (grub_normal_execute): Check for `menu->size' when
28105 determining whether menu has to be displayed.
28106
28107 2008-02-02 Marco Gerards <marco@gnu.org>
28108
28109 * bus/pci.c: New file.
28110
28111 * include/grub/pci.h: Likewise.
28112
28113 * include/grub/i386/pc/pci.h: Likewise.
28114
28115 * commands/lspci.c: Likewise.
28116
28117 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
28118 `lspci.mod'.
28119 (pci_mod_SOURCES): New variable.
28120 (pci_mod_CFLAGS): Likewise.
28121 (pci_mod_LDFLAGS): Likewise.
28122 (lspci_mod_SOURCES): Likewise.
28123 (lspci_mod_CFLAGS): Likewise.
28124 (lspci_mod_LDFLAGS): Likewise.
28125
28126 2008-02-02 Bean <bean123ch@gmail.com>
28127
28128 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
28129 (grub_ufs_get_file_block): Fix indirect block calculation problem.
28130
28131 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
28132 (grub_xfs_btree_node): New structure.
28133 (grub_xfs_btree_root): New structure.
28134 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
28135 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
28136 (GRUB_XFS_EXTENT_BLOCK): Likewise.
28137 (GRUB_XFS_EXTENT_SIZE): Likewise.
28138 (grub_xfs_read_block): Support btree format type.
28139 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
28140 Use directory block as basic unit.
28141
28142 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
28143
28144 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
28145 __attribute__ ((__regparm__ (1))).
28146
28147 2008-02-01 Robert Millan <rmh@aybabtu.com>
28148
28149 Correct a mistake in previous commit.
28150
28151 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
28152 top.
28153 (normal/command.c_DEPENDENCIES): New variable.
28154
28155 2008-02-01 Robert Millan <rmh@aybabtu.com>
28156
28157 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
28158 top.
28159 (normal/command.c_DEPENDENCIES): New variable.
28160 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
28161 * conf/i386-ieee1275.rmk: Likewise.
28162 * conf/i386-linuxbios.rmk: Likewise.
28163 * conf/i386-pc.rmk: Likewise.
28164 * conf/sparc64-ieee1275.rmk: Likewise.
28165 * conf/powerpc-ieee1275.rmk: Likewise.
28166 (grub_emu_SOURCES): Add `fs/fshelp.c'.
28167
28168 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
28169
28170 2008-02-01 Robert Millan <rmh@aybabtu.com>
28171
28172 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
28173 call at beginning of function.
28174
28175 2008-01-31 Pavel Roskin <proski@gnu.org>
28176
28177 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
28178 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
28179 (grub_mkrescue_SOURCES): Likewise.
28180 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
28181
28182 2008-01-30 Robert Millan <rmh@aybabtu.com>
28183
28184 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
28185 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
28186 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
28187 (grub_probe_SOURCES): ... to here.
28188
28189 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
28190 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
28191 * conf/i386-ieee1275.rmk: Likewise.
28192 * conf/i386-linuxbios.rmk: Likewise.
28193 * conf/powerpc-ieee1275.rmk: Likewise.
28194
28195 2008-01-30 Tristan Gingold <gingold@free.fr>
28196
28197 * kern/rescue.c: Silently accept empty lines.
28198
28199 2008-01-29 Bean <bean123ch@gmail.com>
28200
28201 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
28202 (real_code_2): Code cleanup and change comment style.
28203 (move_memory): Avoid using 32-bit address mode.
28204
28205 2008-01-29 Bean <bean123ch@gmail.com>
28206
28207 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
28208 (png_mod_SOURCES): New variable.
28209 (png_mod_CFLAGS): Likewise.
28210 (png_mod_LDFLAGS): Likewise.
28211
28212 * video/readers/png.c: New file.
28213
28214 2008-01-28 Robert Millan <rmh@aybabtu.com>
28215
28216 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
28217 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
28218 `ifndef GRUB_MOD_GAP' hack.
28219 * util/elf/grub-mkimage.c (add_segments): Likewise.
28220
28221 2008-01-27 Robert Millan <rmh@aybabtu.com>
28222
28223 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
28224 `GRUB_MOD_GAP' for platforms in which it's not defined.
28225 * util/elf/grub-mkimage.c (add_segments): Likewise.
28226
28227 2008-01-27 Robert Millan <rmh@aybabtu.com>
28228
28229 Get grub-emu to build again (including parallel builds).
28230
28231 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
28232 Split into ...
28233 (util/grub-emu.c_DEPENDENCIES): ... this, ...
28234 (normal/execute.c_DEPENDENCIES): ... this, ...
28235 (grub-emu_DEPENDENCIES): ... and this.
28236
28237 * conf/i386-efi.rmk: Likewise.
28238 * conf/i386-linuxbios.rmk: Likewise.
28239 * conf/i386-ieee1275.rmk: Likewise.
28240 * conf/powerpc-ieee1275.rmk: Likewise.
28241 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
28242
28243 2008-01-27 Robert Millan <rmh@aybabtu.com>
28244
28245 * NEWS: Add a few items.
28246
28247 2008-01-27 Robert Millan <rmh@aybabtu.com>
28248
28249 Fix parallel builds with grub-emu. Based on earlier commit for
28250 grub-probe and grub-setup.
28251
28252 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28253 (util/grub-emu.c_DEPENDENCIES): ... this.
28254 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28255 (util/grub-emu.c_DEPENDENCIES): ... this.
28256 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28257 (util/grub-emu.c_DEPENDENCIES): ... this.
28258 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28259 (util/grub-emu.c_DEPENDENCIES): ... this.
28260 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28261 (util/grub-emu.c_DEPENDENCIES): ... this.
28262
28263 2008-01-27 Pavel Roskin <proski@gnu.org>
28264
28265 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
28266 to create a gap between _end and the modules added to the image
28267 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
28268 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
28269 * util/elf/grub-mkimage.c (add_segments): Likewise.
28270
28271 2008-01-26 Pavel Roskin <proski@gnu.org>
28272
28273 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
28274 just return an error.
28275
28276 2008-01-26 Bean <bean123ch@gmail.com>
28277
28278 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
28279 (grub_reiserfs_get_item): Save offset of the next item.
28280 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
28281
28282 2008-01-25 Robert Millan <rmh@aybabtu.com>
28283
28284 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
28285 make all filesystem sources appear together (possibly fixing omissions
28286 while at it).
28287 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28288 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28289 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28291
28292 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
28293 add `kern/file.c'.
28294 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
28295 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28296 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
28297 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28298
28299 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
28300 (probe): Add a sanity check to make sure of our ability to read
28301 requested files when probing for filesystem type.
28302
28303 * genmk.rb: Update copyright year (2007).
28304
28305 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
28306 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
28307 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
28308 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
28309 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
28310 : Remove function prototypes.
28311
28312 2008-01-25 Robert Millan <rmh@aybabtu.com>
28313
28314 Revert my previous commits (based on wrong assumption of how grub_errno
28315 works).
28316
28317 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
28318 * kern/file.c (grub_file_open): Likewise.
28319
28320 2008-01-24 Pavel Roskin <proski@gnu.org>
28321
28322 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
28323 that hang if GRUB tries to setup colors.
28324 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
28325 colors for firmwares that don't support it.
28326 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
28327 Recognize Open Hack'Ware, set flags to work around its
28328 limitations.
28329
28330 2008-01-24 Robert Millan <rmh@aybabtu.com>
28331
28332 * kern/file.c (grub_file_open): Do not account previous failures of
28333 unrelated functions when grub_errno is checked for.
28334 Reported by Oleg Strikov.
28335
28336 2008-01-24 Bean <bean123ch@gmail.com>
28337
28338 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
28339 (grub_ufs_sblock): New member volume name.
28340 (grub_ufs_find_file): Fix string copy bug.
28341 (grub_ufs_label): Implement this function properly.
28342
28343 * fs/hfs.c (grub_hfs_cnid_type): New enum.
28344 (grub_hfs_iterate_records): Use the correct file number for extents
28345 and catalog file. Fix problem in next index calculation.
28346 (grub_hfs_find_node): Replace recursive function call with loop.
28347 (grub_hfs_iterate_dir): Replace recursive function call with loop.
28348
28349 2008-01-23 Robert Millan <rmh@aybabtu.com>
28350
28351 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
28352 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28353 (grub_multiboot2_real_boot): New function prototype.
28354
28355 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28356 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28357
28358 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28359 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28360
28361 2008-01-23 Robert Millan <rmh@aybabtu.com>
28362
28363 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28364 #ifdef'ed out grub_printf().
28365
28366 2008-01-23 Robert Millan <rmh@aybabtu.com>
28367
28368 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28369 grub_dprintf calls, since they make "debug=all" mode unusable.
28370 (grub_console_checkkey): Likewise.
28371
28372 2008-01-23 Robert Millan <rmh@aybabtu.com>
28373
28374 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28375 `term/i386/pc/at_keyboard.c'.
28376 (pkglib_MODULES): Add `serial.mod'.
28377 (serial_mod_SOURCES): New variable.
28378 (serial_mod_CFLAGS): Likewise.
28379 (serial_mod_LDFLAGS): Likewise.
28380
28381 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28382 `<grub/powerpc/ieee1275/console.h>'.
28383 (grub_keyboard_controller_init): New function prototype.
28384 (grub_console_checkkey): Likewise.
28385 (grub_console_getkey): Likewise.
28386
28387 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28388 keyboard on i386.
28389
28390 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28391 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28392
28393 2008-01-23 Robert Millan <rmh@aybabtu.com>
28394
28395 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28396 present, "(memdisk)/boot/grub" becomes the default prefix.
28397
28398 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28399 a memdisk tarball with all the modules. Add --overlay=DIR option that
28400 allows users to overlay additional files into the image.
28401
28402 2008-01-23 Robert Millan <rmh@aybabtu.com>
28403
28404 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28405 and `machine/memory.h'.
28406 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28407 (_multiboot_mod_SOURCES): New variable.
28408 (_multiboot_mod_CFLAGS): Likewise.
28409 (_multiboot_mod_LDFLAGS): Likewise.
28410 (multiboot_mod_SOURCES): Likewise.
28411 (multiboot_mod_CFLAGS): Likewise.
28412 (multiboot_mod_LDFLAGS): Likewise.
28413
28414 * include/grub/i386/ieee1275/loader.h: New file.
28415
28416 * include/grub/i386/ieee1275/machine.h: Likewise.
28417
28418 * include/grub/i386/ieee1275/memory.h: Likewise.
28419
28420 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28421 variable declaration.
28422 (grub_os_area_size): Likewise.
28423
28424 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28425 (grub_lower_mem, grub_upper_mem): New variables.
28426 (grub_stop_floppy): New function (just to make
28427 grub_multiboot2_real_boot() happy).
28428
28429 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28430 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28431 (grub_stop): New function.
28432 Include `"../realmode.S"' and `"../loader.S"'.
28433
28434 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28435 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28436
28437 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28438 rely on grub_multiboot2_real_boot() for final boot.
28439
28440 2008-01-22 Robert Millan <rmh@aybabtu.com>
28441
28442 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28443 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28444 device that doesn't look like an SD card.
28445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28446 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28447 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28448 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28449 found.
28450
28451 2008-01-22 Robert Millan <rmh@aybabtu.com>
28452
28453 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28454 avoid claiming over our own code.
28455
28456 2008-01-22 Bean <bean123ch@gmail.com>
28457
28458 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28459 (jpeg_mod_SOURCES): New variable.
28460 (jpeg_mod_CFLAGS): Likewise.
28461 (jpeg_mod_LDFLAGS): Likewise.
28462
28463 * video/readers/jpeg.c : New file.
28464
28465 2008-01-22 Bean <bean123ch@gmail.com>
28466
28467 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28468 there are no more items.
28469
28470 2008-01-21 Robert Millan <rmh@aybabtu.com>
28471
28472 * kern/mm.c (grub_mm_init_region): Improve debug message.
28473
28474 2008-01-21 Robert Millan <rmh@aybabtu.com>
28475
28476 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28477 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28478 address.
28479 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28480 a C macro.
28481 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28482 Indicates start of upper memory.
28483 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28484 (generate_image): Abort when image size is big enough to corrupt
28485 upper memory.
28486
28487 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28488 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28489 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28490 instead of hardcoding 0xA0000.
28491 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28492 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28493 instead of hardcoding 0xA0000.
28494
28495 2008-01-21 Robert Millan <rmh@aybabtu.com>
28496
28497 * disk/memdisk.c (memdisk_size): New variable.
28498 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28499 `memdisk_size'.
28500 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28501 image to dynamic memory.
28502 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28503 `memdisk_size'. Free memdisk block.
28504
28505 2008-01-21 Robert Millan <rmh@aybabtu.com>
28506
28507 Fix detection of very small filesystems (like tar).
28508
28509 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28510 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28511 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28512 a problem with this disk).
28513
28514 2008-01-21 Robert Millan <rmh@aybabtu.com>
28515
28516 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28517 on grub_biosdisk_rw_standard() error.
28518
28519 2008-01-21 Robert Millan <rmh@aybabtu.com>
28520
28521 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28522 recent changes.
28523 * kern/elf.c: Likewise.
28524 * kern/ieee1275/ieee1275.c: Likewise.
28525 * kern/powerpc/ieee1275/openfw.c: Likewise.
28526 * term/ieee1275/ofconsole.c: Likewise.
28527
28528 2008-01-21 Robert Millan <rmh@aybabtu.com>
28529
28530 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28531
28532 * include/grub/kernel.h (grub_arch_memdisk_addr)
28533 (grub_arch_memdisk_size): Moved from here ...
28534
28535 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28536 (grub_arch_memdisk_size): ... to here.
28537
28538 2008-01-21 Robert Millan <rmh@aybabtu.com>
28539
28540 Mostly based on bugfix from Bean.
28541
28542 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28543 attribute with hook() parameter.
28544 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28545 declaration.
28546 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28547 attribute with hook() parameter.
28548 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28549 declaration.
28550
28551 2008-01-21 Robert Millan <rmh@aybabtu.com>
28552
28553 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28554 (pkglib_MODULES): Add `memdisk.mod'.
28555 (memdisk_mod_SOURCES): New variable.
28556 (memdisk_mod_CFLAGS): Likewise.
28557 (memdisk_mod_LDFLAGS): Likewise.
28558
28559 * disk/memdisk.c: New file.
28560
28561 * include/grub/disk.h (grub_disk_dev_id): Add
28562 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28563
28564 * include/grub/i386/pc/kernel.h
28565 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28566 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28567 (grub_kernel_image_size): New variable declaration.
28568 (grub_total_module_size): Likewise.
28569 (grub_memdisk_image_size): Likewise.
28570
28571 * include/grub/i386/pc/memory.h
28572 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28573
28574 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28575 (grub_arch_memdisk_addr): New variable declaration.
28576 (grub_arch_memdisk_size): Likewise.
28577
28578 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28579 (grub_arch_memdisk_size): Likewise.
28580
28581 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28582 (codestart): Replace hardcoded `0x100000' with
28583 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28584
28585 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28586 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28587 not NULL, append the contents of the file it refers to, at the end of
28588 the compressed kernel image. Initialize `grub_memdisk_image_size'
28589 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28590 (options): Add "memdisk"|'m' option.
28591 (main): Parse --memdisk|-m option, and pass user-provided path as
28592 parameter to generate_image().
28593
28594 2008-01-20 Robert Millan <rmh@aybabtu.com>
28595
28596 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28597 grub_dprintf() calls from here ...
28598 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28599
28600 2008-01-20 Robert Millan <rmh@aybabtu.com>
28601
28602 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28603
28604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28605 declaration.
28606 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28607 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28608 `GRUB_IEEE1275_FLAG_REAL_MODE'.
28609 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
28610 property).
28611 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28612 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28613
28614 2008-01-19 Robert Millan <rmh@aybabtu.com>
28615
28616 Get rid of confusing function (superseded by
28617 `grub_ieee1275_get_integer_property')
28618 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
28619 prototype.
28620 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
28621 function.
28622 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
28623 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
28624 in native endianness from grub_ieee1275_get_integer_property().
28625
28626 2008-01-19 Robert Millan <rmh@aybabtu.com>
28627
28628 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
28629 command after "shut-down", since implementations differ on which
28630 the command for halt is.
28631
28632 2008-01-19 Robert Millan <rmh@aybabtu.com>
28633
28634 * include/grub/i386/linuxbios/console.h: Add header protection.
28635 (grub_keyboard_controller_init): New function prototype.
28636 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
28637 (KEYBOARD_COMMAND_READ): Likewise.
28638 (KEYBOARD_COMMAND_WRITE): Likewise.
28639 (KEYBOARD_SCANCODE_SET1): Likewise.
28640 (grub_keyboard_controller_write): New function.
28641 (grub_keyboard_controller_read): Likewise.
28642 (grub_keyboard_controller_init): Likewise.
28643
28644 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
28645 (grub_console_init): On coreboot/LinuxBIOS, call
28646 grub_keyboard_controller_init().
28647
28648 2008-01-19 Robert Millan <rmh@aybabtu.com>
28649
28650 PowerPC changes provided by Pavel Roskin.
28651
28652 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
28653 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
28654 don't rely on cmain() doing it.
28655 * kern/i386/ieee1275/startup.S (_start): Store %eax in
28656 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
28657
28658 2008-01-16 Robert Millan <rmh@aybabtu.com>
28659
28660 * include/grub/i386/linuxbios/memory.h
28661 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
28662 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
28663 receive `table_header' as argument. Instead, probe for it in the
28664 known memory ranges where it can be present.
28665 (grub_available_iterate): Do not pass a fixed `table_header' address
28666 to grub_linuxbios_table_iterate().
28667
28668 2008-01-15 Robert Millan <rmh@aybabtu.com>
28669
28670 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
28671 * conf/i386-ieee1275.rmk: New file.
28672 * include/grub/i386/ieee1275/console.h: Likewise.
28673 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
28674 * include/grub/i386/ieee1275/kernel.h: Likewise.
28675 * include/grub/i386/ieee1275/time.h: Likewise.
28676 * kern/i386/ieee1275/init.c: Likewise.
28677 * kern/i386/ieee1275/startup.S: Likewise.
28678
28679 2008-01-15 Robert Millan <rmh@aybabtu.com>
28680
28681 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
28682 when pointers are 32-bit (but still do set it to one when they are
28683 64-bit).
28684
28685 2008-01-15 Robert Millan <rmh@aybabtu.com>
28686
28687 * include/grub/ieee1275/ieee1275.h
28688 (grub_ieee1275_get_integer_property): New function prototype.
28689
28690 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
28691 (grub_ieee1275_get_integer_property): New function. Wraps around
28692 grub_ieee1275_get_property() to handle endianness.
28693
28694 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
28695 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
28696 where appropriate.
28697 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
28698 (grub_map): Likewise.
28699 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
28700
28701 2008-01-15 Bean <bean123ch@gmail.com>
28702
28703 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
28704 (grub_script_execute_cmdline): Reset grub_errno.
28705
28706 * normal/main.c (read_config_file): Reset grub_errno.
28707
28708 * normal/parse.y (script_init): New.
28709 (script): Move function and menuentry here.
28710 (delimiter): New.
28711 (command): Add delimiter at the end of command.
28712 (commands): Adjust to match the new command.
28713 (commandblock): Remove grub_script_lexer_record_start.
28714 (menuentry): Add grub_script_lexer_record_start, use the new commands.
28715 (if): Use the new commands.
28716
28717 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
28718
28719 2008-01-15 Robert Millan <rmh@aybabtu.com>
28720
28721 * normal/menu.c (run_menu): Move timeout message from here ...
28722 (print_timeout): ... to here.
28723 (run_menu): Use print_timeout() once during initial draw to print
28724 the whole message, and again in every clock tick to update only
28725 the number of seconds.
28726
28727 2008-01-15 Robert Millan <rmh@aybabtu.com>
28728
28729 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
28730 actual size of `available' from grub_ieee1275_get_property(), and
28731 restrict parsing to that bound.
28732
28733 2008-01-15 Christian Franke <franke@computer.org>
28734
28735 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
28736 (argp_program_version): Remove variable.
28737 (argp_program_bug_address): Likewise.
28738 (options): Convert from struct argp_option to struct option.
28739 (struct arguments): Remove.
28740 (parse_opt): Remove.
28741 (usage): New function.
28742 (main): Replace struct args members by simple variables.
28743 Replace argp_parse() by getopt_long().
28744 Add switch to evaluate options.
28745 Add missing "(...)" around root_dev in prefix string.
28746
28747 2008-01-14 Robert Millan <rmh@aybabtu.com>
28748
28749 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
28750 for grub_ieee1275_exit(), in order to improve portability.
28751
28752 2008-01-14 Robert Millan <rmh@aybabtu.com>
28753
28754 * util/grub.d/10_linux.in (prefix): Define.
28755 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
28756
28757 2008-01-13 Pavel Roskin <proski@gnu.org>
28758
28759 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
28760 grub_errno if no errors have been detected.
28761
28762 2008-01-12 Robert Millan <rmh@aybabtu.com>
28763
28764 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
28765 (grub_util_get_dev_abstraction): New function prototype.
28766
28767 * util/getroot.c: Include `<grub/util/getroot.h>'
28768 (grub_util_get_grub_dev): Move detection of abstraction type to ...
28769 (grub_util_get_dev_abstraction): ... here (new function).
28770
28771 * util/grub-probe.c: Convert PRINT_* to an enum. Add
28772 `PRINT_ABSTRACTION'.
28773 (probe): Probe for abstraction type when requested.
28774 (main): Understand `--target=abstraction'.
28775
28776 * util/i386/efi/grub-install.in: Add abstraction module to core
28777 image when it is found to be necessary.
28778 * util/i386/pc/grub-install.in: Likewise.
28779 * util/powerpc/ieee1275/grub-install.in: Likewise.
28780
28781 * util/update-grub_lib.in (font_path): Return system path without
28782 converting to GRUB path.
28783 * util/update-grub.in: Convert system path returned by font_path()
28784 to a GRUB path. Use `grub-probe -t abstraction' to determine what
28785 abstraction module is needed for loading fonts (if any). Export
28786 that as `GRUB_PRELOAD_MODULES'.
28787 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
28788 insmod commands).
28789
28790 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
28791
28792 Remove some unused code from reiserfs.
28793
28794 * fs/reiserfs.c (struct grub_reiserfs_key)
28795 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
28796 (struct grub_reiserfs_node_body): Removed.
28797 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28798 Likewise.
28799 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28800 Likewise.
28801 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28802 Likewise.
28803 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28804 Likewise.
28805 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28806 Likewise.
28807 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
28808 Likewise.
28809 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28810 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28811 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28812
28813 2008-01-10 Robert Millan <rmh@aybabtu.com>
28814
28815 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
28816 Determines if a file is garbage left by packaging systems, etc.
28817 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
28818 for processing /etc/grub.d scripts.
28819 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
28820 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
28821 as a condition for processing Linux images.
28822
28823 2008-01-10 Pavel Roskin <proski@gnu.org>
28824
28825 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
28826 to compile reiserfs.c on PowerPC.
28827
28828 2008-01-10 Robert Millan <rmh@aybabtu.com>
28829
28830 * kern/device.c (grub_device_iterate): Do not abort device iteration
28831 when one of the devices cannot be opened.
28832 * kern/disk.c (grub_disk_open): Do not account previous failures of
28833 unrelated functions when grub_errno is checked for.
28834
28835 2008-01-08 Robert Millan <rmh@aybabtu.com>
28836
28837 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
28838 `! grub_linux_is_bzimage', change order of address comparison to make
28839 it more intuitive, and improve "too big zImage" error message.
28840
28841 2008-01-08 Robert Millan <rmh@aybabtu.com>
28842
28843 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
28844 `$(update-grub_DATA)'.
28845 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
28846 targets.
28847
28848 2008-01-07 Robert Millan <rmh@aybabtu.com>
28849
28850 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
28851 which instruction is modified by grub-setup during installation
28852 (since it wasn't obvious by only looking at this file).
28853
28854 2008-01-07 Robert Millan <rmh@aybabtu.com>
28855
28856 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
28857 listing actual TODO items.
28858
28859 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28860
28861 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
28862 correctly.
28863 (grub_reiserfs_get_key_offset): Likewise.
28864 (grub_reiserfs_set_key_offset): Likewise.
28865 (grub_reiserfs_set_key_type): Likewise.
28866 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
28867
28868 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
28869 better to remove the bitfield version completely.
28870
28871 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28872
28873 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
28874 allocated from the heap, due to the fshelp implementation.
28875 (grub_reiserfs_dir): Free NODE, due to the same reason.
28876
28877 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28878
28879 Mostly from Vincent Pelletier:
28880
28881 * fs/reiserfs.c: New file.
28882
28883 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
28884 (reiserfs_mod_SOURCES): New variable.
28885 (reiserfs_mod_CFLAGS): Likewise.
28886 (reiserfs_mod_LDFLAGS): Likewise.
28887
28888 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
28889 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
28890 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
28891 normal/color.c.
28892
28893 2008-01-06 Robert Millan <rmh@aybabtu.com>
28894
28895 * normal/color.c: Remove `<grub/env.h>'.
28896
28897 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
28898
28899 * include/grub/normal.h: Include <grub/env.h>.
28900
28901 2008-01-05 Robert Millan <rmh@aybabtu.com>
28902
28903 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
28904 usage example with `(hd0,1)'.
28905 Reported by Samuel Thibault.
28906
28907 2008-01-05 Robert Millan <rmh@aybabtu.com>
28908
28909 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
28910 (grub_linux_boot_zimage): Rename to ...
28911 (grub_linux_boot): ... this.
28912 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
28913 (grub_linux_boot_zimage): Conditionalize zImage copy.
28914
28915 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
28916 (grub_linux_boot_bzimage): Remove prototype.
28917 (grub_linux_boot_zimage): Rename to ...
28918 (grub_linux_boot): ... this.
28919
28920 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
28921 (grub_linux_boot): Remove function.
28922
28923 2008-01-05 Robert Millan <rmh@aybabtu.com>
28924
28925 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
28926 (grub_env_write_color_highlight): Likewise.
28927 (grub_wait_after_message): Likewise.
28928
28929 * normal/color.c: New file.
28930
28931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28932 (normal_mod_DEPENDENCIES): Likewise.
28933
28934 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28935 (normal_mod_DEPENDENCIES): Likewise.
28936
28937 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28938 (normal_mod_DEPENDENCIES): Likewise.
28939
28940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28941 (normal_mod_DEPENDENCIES): Likewise.
28942
28943 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
28944 for waiting after a message is printed.
28945 * normal/main.c (read_config_file): Likewise.
28946 (grub_normal_init): Register grub_env_write_color_normal() and
28947 grub_env_write_color_highlight() hooks. Mark `color_normal' and
28948 `color_highlight' variables as global.
28949
28950 * normal/menu.c (grub_wait_after_message): New function.
28951 (grub_color_menu_normal): New variable. Replaces ...
28952 (GRUB_COLOR_MENU_NORMAL): ... this macro.
28953 (grub_color_menu_highlight): New variable. Replaces ...
28954 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
28955 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
28956 `GRUB_TERM_COLOR_STANDARD'.
28957 (print_message): Use `grub_setcolorstate' to reload colors. Rename
28958 `normal_code' and `highlight_code' to `old_color_normal' and
28959 `old_color_highlight', respectively.
28960 (grub_menu_init_page): Update colors when drawing the menu, based on
28961 `menu_color_normal' and `menu_color_highlight' variables.
28962 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
28963 a message is printed.
28964
28965 2008-01-05 Robert Millan <rmh@aybabtu.com>
28966
28967 * kern/env.c (grub_env_context_open): Propagate hooks for global
28968 variables to new context.
28969
28970 * kern/main.c (grub_set_root_dev): Export `root' variable.
28971
28972 2008-01-05 Robert Millan <rmh@aybabtu.com>
28973
28974 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
28975 discs unconditionally, since udev and others have options to provide
28976 them.
28977
28978 2008-01-05 Robert Millan <rmh@aybabtu.com>
28979
28980 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
28981
28982 2008-01-04 Christian Franke <franke@computer.org>
28983
28984 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
28985 of eisa_mmap.
28986
28987 2008-01-03 Pavel Roskin <proski@gnu.org>
28988
28989 * kern/i386/linuxbios/init.c: Put "void" to all function
28990 declarations with no arguments.
28991 * kern/powerpc/ieee1275/init.c: Likewise.
28992 * term/i386/pc/at_keyboard.c: Likewise.
28993 * term/i386/pc/vga_text.c: Likewise.
28994 * util/grub-mkdevicemap.c: Likewise.
28995
28996 2008-01-02 Robert Millan <rmh@aybabtu.com>
28997
28998 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
28999 message when loaded image is out of bounds.
29000 (grub_multiboot_load_elf64): Likewise.
29001
29002 2008-01-02 Pavel Roskin <proski@gnu.org>
29003
29004 * util/grub.d/10_linux.in: Try version without ".old" when
29005 looking for initrd. It's better to use initrd from the newer
29006 kernel of the same version than no initrd at all.
29007
29008 2008-01-01 Robert Millan <rmh@aybabtu.com>
29009
29010 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
29011
29012 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
29013
29014 * include/grub/video.h: Added grub_video_unmap_color and
29015 grub_video_get_active_render_target.
29016 (grub_video_adapter): Added unmap_color and get_active_render_target.
29017
29018 * video/video.c: Added grub_video_unmap_color and
29019 grub_video_get_active_render_target.
29020 (grub_video_get_info): Changed method to accept NULL pointer as an
29021 argument to allow detection of active video adapter.
29022
29023 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
29024 grub_video_vbe_unmap_color_int.
29025 Added grub_video_vbe_unmap_color and
29026 grub_video_vbe_get_active_render_target.
29027 (grub_video_vbe_adapter): Added unmap_color and
29028 get_active_render_target.
29029
29030 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
29031 with grub_video_vbe_unmap_color_int.
29032
29033 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
29034 (DEFAULT_NORMAL_COLOR): Likewise.
29035 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
29036 (DEFAULT_FG_COLOR): Removed.
29037 (DEFAULT_BG_COLOR): Likewise.
29038 (DEFAULT_CURSOR_COLOR): Changed value.
29039 (grub_virtual_screen): Added standard_color_setting,
29040 normal_color_setting, highlight_color_setting and term_color.
29041 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
29042 (bitmap_width): Added.
29043 (bitmap_height): Likewise.
29044 (bitmap): Likewise.
29045 (set_term_color): Likewise.
29046 (grub_virtual_screen_setup): Changed to use new terminal coloring
29047 settings.
29048 (grub_gfxterm_init): Added init for bitmap.
29049 (grub_gfxterm_fini): Added destroy for bitmap.
29050 (redraw_screen_rect): Updated to use background bitmap and new
29051 terminal coloring.
29052 (scroll_up): Added optimization for case when there is no bitmap.
29053 (grub_gfxterm_cls): Fixed to use correct background color.
29054 (grub_virtual_screen_setcolorstate): Changed to use new terminal
29055 coloring.
29056 (grub_virtual_screen_setcolor): Likewise.
29057 (grub_virtual_screen_getcolor): Added.
29058 (grub_gfxterm_background_image_cmd): Likewise.
29059 (grub_video_term): Added setcolor and getcolor.
29060 (MOD_INIT): Added registration of background_image command.
29061 (MOD_TERM): Added unregistration for background_image command.
29062
29063 2007-12-30 Pavel Roskin <proski@gnu.org>
29064
29065 * loader/multiboot_loader.c: Fix multiboot command
29066 unregistration. Fix all typos in the word "multiboot".
29067
29068 2007-12-29 Pavel Roskin <proski@gnu.org>
29069
29070 * util/grub.d/10_linux.in: Refactor search for initrd. Add
29071 support for initrd names used in Fedora.
29072
29073 2007-12-26 Bean <bean123ch@gmail.com>
29074
29075 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
29076 (cpio_mod_SOURCES): New variable.
29077 (cpio_mod_CFLAGS): Likewise.
29078 (cpio_mod_LDFLAGS): Likewise.
29079
29080 * fs/cpio.c: New file.
29081
29082 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
29083
29084 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29085
29086 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29087
29088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29089
29090 2007-12-25 Robert Millan <rmh@aybabtu.com>
29091
29092 * include/grub/term.h (struct grub_term): Add `getcolor' function.
29093 (grub_getcolor): New function.
29094
29095 * kern/term.c (grub_getcolor): New function.
29096 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
29097 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
29098 (print_entry): Set normal and highlight colors to
29099 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
29100 respectively, before printing and restore them to old
29101 values afterwards.
29102 (grub_menu_init_page): Likewise. Fill an additional colored space
29103 that would otherwise be left blank.
29104
29105 * term/efi/console.c (grub_console_getcolor): New function.
29106 (struct grub_console_term.getcolor): New variable.
29107 * term/i386/pc/console.c (grub_console_getcolor): New function.
29108 (struct grub_console_term.getcolor): New variable.
29109 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
29110 (struct grub_console_term.getcolor): New variable.
29111
29112 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
29113 (struct grub_console_term.setcolor): Remove variable.
29114 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
29115 (struct grub_console_term.setcolor): Remove variable.
29116 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
29117 (struct grub_console_term.setcolor): Remove variable.
29118 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
29119 (struct grub_console_term.setcolor): Remove variable.
29120
29121 2007-12-25 Robert Millan <rmh@aybabtu.com>
29122
29123 * configure.ac: Search for possible unifont.hex locations, and
29124 define UNIFONT_HEX if found.
29125
29126 * Makefile.in (UNIFONT_HEX): Define variable.
29127 (DATA): Rename to ...
29128 (PKGLIB): ... this. Update all users.
29129 (PKGDATA): New variable.
29130 (pkgdata_IMAGES): Rename to ...
29131 (pkglib_IMAGES): ... this. Update all users.
29132 (pkgdata_MODULES): Rename to ...
29133 (pkglib_MODULES): ... this. Update all users.
29134 (pkgdata_PROGRAMS): Rename to ...
29135 (pkglib_PROGRAMS): ... this. Update all users.
29136 (pkgdata_DATA): Rename to ...
29137 (pkglib_DATA): ... this. Update all users.
29138 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
29139 (unicode.pff, ascii.pff): New rules.
29140 (all-local): Add `$(PKGDATA)' dependency.
29141 (install-local): Process `$(PKGDATA)'.
29142
29143 * util/update-grub_lib.in (font_path): Search for *.pff files in
29144 a few more locations, including `${pkgdata}'.
29145
29146 2007-12-23 Robert Millan <rmh@aybabtu.com>
29147
29148 Patch from Bean <bean123ch@gmail.com>:
29149 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
29150 `size'.
29151
29152 2007-12-21 Bean <bean123ch@gmail.com>
29153
29154 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
29155 (ntfscomp_mod_SOURCES): New variable.
29156 (ntfscomp_mod_CFLAGS): Likewise.
29157 (ntfscomp_mod_LDFLAGS): Likewise.
29158
29159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
29160 (grub_probe_SOURCES): Likewise.
29161 (grub_emu_SOURCES): Likewise.
29162
29163 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29164 (grub_emu_SOURCES): Likewise.
29165
29166 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29167 (grub_emu_SOURCES): Likewise.
29168
29169 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29170 (grub_emu_SOURCES): Likewise.
29171
29172 * fs/ntfs.c (grub_ntfscomp_func): New variable.
29173 (read_run_list): Renamed to grub_ntfs_read_run_list.
29174 (decomp_nextvcn): Moved to ntfscomp.c.
29175 (decomp_getch): Likewise.
29176 (decomp_get16): Likewise.
29177 (decomp_block): Likewise.
29178 (read_block): Likewise.
29179 (read_data): Partially moved to ntfscomp.c.
29180 (fixup): Change unsigned to grub_uint16_t.
29181 (read_mft): Change unsigned long to grub_uint32_t.
29182 (read_attr): Likewise.
29183 (read_data): Likewise.
29184 (read_run_data): Likewise.
29185 (read_run_list): Likewise.
29186 (read_mft): Likewise.
29187
29188 * fs/ntfscomp.c: New file.
29189
29190 * include/grub/ntfs.h: New file.
29191
29192 2007-12-16 Robert Millan <rmh@aybabtu.com>
29193
29194 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
29195 IDE disk check, since Linux is known to support 20 IDE disks.
29196 Reported by Colin Watson.
29197
29198 2007-12-15 Bean <bean123ch@gmail.com>
29199
29200 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
29201 (lnxboot_img_SOURCES): New variable.
29202 (lnxboot_img_ASFLAGS): Likewise.
29203 (lnxboot_img_LDFLAGS): Likewise.
29204
29205 * boot/i386/pc/lnxboot.S: New file.
29206
29207 2007-11-24 Pavel Roskin <proski@gnu.org>
29208
29209 * configure.ac: Test if '--build-id=none' is supported by the
29210 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
29211 objcopy to generate incorrect binary files (binutils
29212 2.17.50.0.18-1 as shipped by Fedora 8).
29213 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
29214 linking, so that build ID doesn't break the test.
29215
29216 2007-11-24 Pavel Roskin <proski@gnu.org>
29217
29218 * include/grub/i386/time.h: use "void" in the argument list
29219 of grub_cpu_idle().
29220 * include/grub/powerpc/time.h: Likewise.
29221 * include/grub/sparc64/time.h: Likewise.
29222
29223 2007-11-18 Christian Franke <franke@computer.org>
29224
29225 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
29226 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
29227 This fixes the problem that function keys did not work in grub-emu.
29228
29229 2007-11-18 Christian Franke <franke@computer.org>
29230
29231 * disk/host.c (grub_host_open): Remove attribute unused from
29232 name parameter. Add check for "host". This fixes the problem
29233 that grub-emu does not find partitions.
29234
29235 2007-11-18 Christian Franke <franke@computer.org>
29236
29237 * util/hostfs.c (is_dir): New function.
29238 (grub_hostfs_dir): Handle missing dirent.d_type case.
29239 (grub_hostfs_read): Add missing fseek().
29240 (grub_hostfs_label): Clear label pointer. This fixes a crash
29241 of grub-emu on "ls (host)".
29242
29243 2007-11-18 Christian Franke <franke@computer.org>
29244
29245 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
29246 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
29247 to 64 bit boundary by default.
29248
29249 2007-11-18 Bean <bean123ch@gmail.com>
29250
29251 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
29252 (hexdump_mod_SOURCES): New variable.
29253 (hexdump_mod_CFLAGS): Likewise.
29254 (hexdump_mod_LDFLAGS): Likewise.
29255
29256 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29257
29258 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29259
29260 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29261
29262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29263
29264 * include/grub/hexdump.h: New file.
29265
29266 * commands/hexdump.c: New file.
29267
29268 2007-11-10 Robert Millan <rmh@aybabtu.com>
29269
29270 * commands/i386/pc/play.c (beep_off): Switch order of arguments
29271 in grub_outb() calls.
29272 (beep_on): Likewise.
29273
29274 2007-11-10 Christian Franke <franke@computer.org>
29275
29276 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
29277 (grub_menu_run): Likewise.
29278
29279 2007-11-10 Robert Millan <rmh@aybabtu.com>
29280
29281 * include/grub/i386/efi/machine.h: New file.
29282 * include/grub/i386/linuxbios/machine.h: Likewise.
29283 * include/grub/i386/pc/machine.h: Likewise.
29284 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29285 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29286
29287 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
29288 (serial_hw_io_addr): New variable.
29289 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
29290 instead of `(unsigned short *) 0x400'.
29291
29292 2007-11-10 Bean <bean123ch@gmail.com>
29293
29294 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
29295
29296 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29297
29298 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
29299 (vga_mod_SOURCES): Added.
29300 (vga_mod_CFLAGS): Likewise.
29301 (vga_mod_LDFLAGS): Likewise.
29302
29303 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
29304 grub_outb() calls.
29305 (set_map_mask): Likewise.
29306 (set_read_map): Likewise.
29307 (set_read_address): Likewise.
29308 (vga_font): Removed variable.
29309 (get_vga_glyph): Removed function.
29310 (invalidate_char): Likewise.
29311 (write_char): Changed to use grub_font_get_glyph() for font
29312 information.
29313 (grub_vga_putchar): Likewise.
29314 (grub_vga_getcharwidth): Likewise.
29315
29316 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29317
29318 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
29319 flags.
29320 (pxeboot_img_LDFLAGS): Likewise.
29321 (diskboot_img_LDFLAGS): Likewise.
29322 (kernel_img_LDFLAGS): Likewise.
29323
29324 2007-11-06 Robert Millan <rmh@aybabtu.com>
29325
29326 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
29327 in grub_outb() calls.
29328 (serial_hw_init): Likewise.
29329
29330 2007-11-05 Robert Millan <rmh@aybabtu.com>
29331
29332 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
29333 spaces. Skip non-regular files.
29334
29335 2007-11-05 Robert Millan <rmh@aybabtu.com>
29336
29337 * kern/disk.c (grub_disk_firmware_fini)
29338 (grub_disk_firmware_is_tainted): New variables.
29339
29340 * include/grub/disk.h (grub_disk_firmware_fini)
29341 (grub_disk_firmware_is_tainted): Likewise.
29342
29343 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
29344 (grub_disk_biosdisk_fini): ... to here.
29345 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
29346 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
29347 is set. Register grub_disk_biosdisk_fini() in
29348 `grub_disk_firmware_fini'.
29349
29350 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
29351 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
29352 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29353 to finish existing firmware disk interface.
29354
29355 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29356 (ata_mod_SOURCES): New variable.
29357 (ata_mod_CFLAGS): Likewise.
29358 (ata_mod_LDFLAGS): Likewise.
29359
29360 2007-11-05 Robert Millan <rmh@aybabtu.com>
29361
29362 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29363 (grub_ata_wait): Reimplement using grub_millisleep().
29364
29365 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29366 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29367
29368 2007-11-03 Marco Gerards <marco@gnu.org>
29369
29370 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29371 (CRTC_ADDR_PORT): New macro.
29372 (CRTC_DATA_PORT): Likewise.
29373 (CRTC_CURSOR): Likewise.
29374 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29375 (CRTC_CURSOR_ADDR_LOW): Likewise.
29376 (update_cursor): New function.
29377 (grub_console_real_putchar): Call `update_cursor'.
29378 (grub_console_gotoxy): Likewise.
29379 (grub_console_cls): Set the default color when clearing the
29380 screen.
29381 (grub_console_setcursor): Implemented.
29382
29383 2007-11-03 Marco Gerards <marco@gnu.org>
29384
29385 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29386 become activate.
29387 (grub_ata_pio_write): Likewise.
29388
29389 (grub_atapi_identify): Wait after issuing an ATA command.
29390 (grub_atapi_packet): Likewise.
29391 (grub_ata_identify): Likewise.
29392 (grub_ata_readwrite): Likewise.
29393
29394 2007-11-03 Marco Gerards <marco@gnu.org>
29395
29396 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29397 (grub_ata_pio_write): Likewise.
29398 (grub_ata_readwrite): Use `grub_error', instead of
29399 returning `grub_errno'.
29400
29401 2007-11-03 Marco Gerards <marco@gnu.org>
29402
29403 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29404 grub_ata_pio_write once for every single sector, instead of for
29405 multiple sectors.
29406
29407 2007-10-31 Robert Millan <rmh@aybabtu.com>
29408
29409 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29410
29411 * conf/i386-linuxbios.rmk: New file.
29412
29413 * kern/i386/pc/hardware.c: Likewise.
29414 * term/i386/pc/at_keyboard.c: Likewise.
29415 * term/i386/pc/vga_text.c: Likewise.
29416
29417 * include/grub/i386/linuxbios/boot.h: Likewise.
29418 * include/grub/i386/linuxbios/console.h: Likewise.
29419 * include/grub/i386/linuxbios/init.h: Likewise.
29420 * include/grub/i386/linuxbios/kernel.h: Likewise.
29421 * include/grub/i386/linuxbios/loader.h: Likewise.
29422 * include/grub/i386/linuxbios/memory.h: Likewise.
29423 * include/grub/i386/linuxbios/serial.h: Likewise.
29424 * include/grub/i386/linuxbios/time.h: Likewise.
29425
29426 * kern/i386/linuxbios/init.c: Likewise.
29427 * kern/i386/linuxbios/startup.S: Likewise.
29428 * kern/i386/linuxbios/table.c: Likewise.
29429
29430 2007-10-31 Marco Gerards <marco@gnu.org>
29431
29432 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29433 (ata_mod_SOURCES): New variable.
29434 (ata_mod_CFLAGS): Likewise.
29435 (ata_mod_LDFLAGS): Likewise.
29436
29437 * disk/ata.c: New file.
29438
29439 * include/grub/disk.h (grub_disk_dev_id): Add
29440 `GRUB_DISK_DEV_ATA_ID'.
29441
29442 2007-10-31 Robert Millan <rmh@aybabtu.com>
29443
29444 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29445 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29446
29447 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29448 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29449
29450 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29451 `<grub/types.h>'.
29452
29453 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29454
29455 2007-10-27 Robert Millan <rmh@aybabtu.com>
29456
29457 * include/grub/types.h (ULONG_MAX): Define macro.
29458
29459 2007-10-22 Robert Millan <rmh@aybabtu.com>
29460
29461 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29462 `"../realmode.S"'.
29463 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29464
29465 2007-10-22 Robert Millan <rmh@aybabtu.com>
29466
29467 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29468 (pkgdata_MODULES): Add `biosdisk.mod'.
29469 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29470 variables.
29471
29472 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29473 (grub_biosdisk_init): Replace with ...
29474 (GRUB_MOD_INIT(biosdisk)): ... this.
29475 (grub_biosdisk_fini): Replace with ...
29476 (GRUB_MOD_FINI(biosdisk)): ... this.
29477
29478 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29479 (grub_machine_init): Remove call to grub_biosdisk_init().
29480 (grub_machine_fini): Remove call to grub_machine_fini().
29481
29482 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29483
29484 2007-10-22 Robert Millan <rmh@aybabtu.com>
29485
29486 * include/grub/time.h: New file.
29487 * include/grub/i386/time.h: Likewise.
29488 * include/grub/powerpc/time.h: Likewise.
29489 * include/grub/sparc64/time.h: Likewise.
29490
29491 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29492 instances to ...
29493 (KERNEL_MACHINE_TIME_HEADER): ... this.
29494 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29495 instances to ...
29496 (KERNEL_MACHINE_TIME_HEADER): ... this.
29497 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29498 instances to ...
29499 (KERNEL_MACHINE_TIME_HEADER): ... this.
29500
29501 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29502 (grub_millisleep): New function.
29503 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29504 (grub_millisleep): New function.
29505 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29506 Remove `grub/machine/time.h' include.
29507 (grub_millisleep): New function.
29508 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29509 Remove `grub/machine/time.h' include.
29510 (grub_millisleep): New function.
29511
29512 * include/grub/misc.h (grub_div_roundup): New function.
29513
29514 * kern/misc.c: Include `<grub/time.h>'.
29515 (grub_millisleep_generic): New function.
29516
29517 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29518 Add `time.h'.
29519 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29520 Add `time.h'.
29521 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29522 `machine/time.h'. Add `time.h'.
29523 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29524
29525 2007-10-21 Robert Millan <rmh@aybabtu.com>
29526
29527 * include/grub/misc.h (grub_max): New function.
29528
29529 2007-10-21 Robert Millan <rmh@aybabtu.com>
29530
29531 * util/misc.c (grub_util_info): Call fflush() before returning.
29532
29533 2007-10-20 Robert Millan <rmh@aybabtu.com>
29534
29535 * genmk.rb (Image): Copy `extra_flags' from here ...
29536 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29537
29538 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29539 to `argc' and `args' arguments.
29540
29541 2007-10-17 Robert Millan <rmh@aybabtu.com>
29542
29543 * kern/i386/loader.S: New file.
29544
29545 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29546 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29547 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29548 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29549 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29550 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29551 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29552 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29553 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29554 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29555 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29556 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29557 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29558 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29559
29560 * kern/i386/realmode.S: New file.
29561
29562 * kern/i386/pc/startup.S (protstack): Moved from here ...
29563 * kern/i386/realmode.S (protstack)... to here.
29564 * kern/i386/pc/startup.S (gdt): Moved from here ...
29565 * kern/i386/realmode.S (gdt)... to here.
29566 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29567 * kern/i386/realmode.S (prot_to_real)... to here.
29568
29569 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29570 `kern/i386/realmode.S'.
29571
29572 2007-10-17 Robert Millan <rmh@aybabtu.com>
29573
29574 * include/grub/i386/loader.h: New file.
29575
29576 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29577 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29578 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29579 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29580 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29581 * include/grub/i386/loader.h (grub_linux_prot_size)
29582 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29583 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29584 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29585 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29586
29587 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29588
29589 2007-10-15 Robert Millan <rmh@aybabtu.com>
29590
29591 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29592 filesystem when dev->disk is unset.
29593 Do probe for filesystem even when dev->disk->has_partitions is set.
29594 In case a filesystem is found, always report it.
29595 In case it isn't, if dev->disk->has_partitions is set, report that
29596 a partition table was found instead of reporting that no filesystem
29597 could be identified.
29598
29599 2007-10-12 Robert Millan <rmh@aybabtu.com>
29600
29601 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29602 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29603
29604 * include/grub/types.h (grub_host_to_target16): New macro.
29605 (grub_host_to_target32): Likewise.
29606 (grub_host_to_target64): Likewise.
29607 (grub_target_to_host16): Likewise.
29608 (grub_target_to_host32): Likewise.
29609 (grub_target_to_host64): Likewise.
29610
29611 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29612 Renamed from to ...
29613 (GRUB_MOD_ALIGN): ...this. Update all users.
29614
29615 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29616 grub_host_to_target32.
29617 Replace grub_be_to_cpu32 with grub_target_to_host32.
29618 (load_modules): Likewise.
29619 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
29620 Replace grub_be_to_cpu32 with grub_target_to_host32.
29621 Replace grub_cpu_to_be16 with grub_host_to_target16.
29622 Replace grub_cpu_to_be32 grub_host_to_target32.
29623
29624 2007-10-12 Robert Millan <rmh@aybabtu.com>
29625
29626 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
29627 * util/elf/grub-mkimage.c: ... here.
29628
29629 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
29630 `util/powerpc/ieee1275/grub-mkimage.c'.
29631
29632 2007-10-07 Robert Millan <rmh@aybabtu.com>
29633
29634 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
29635 and make it easier to figure out.
29636 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
29637 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
29638 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
29639 leave us with less than HEAP_MIN_SIZE total heap.
29640 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
29641
29642 2007-10-03 Robert Millan <rmh@aybabtu.com>
29643
29644 * include/grub/i386/io.h: New file.
29645 * commands/i386/pc/play.c (inb): Removed.
29646 (outb): Removed.
29647 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29648 with grub_outb().
29649 * term/i386/pc/serial.c (inb): Removed.
29650 (outb): Removed.
29651 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29652 with grub_outb().
29653 * term/i386/pc/vga.c (inb): Removed.
29654 (outb): Removed.
29655 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29656 with grub_outb().
29657
29658 2007-10-02 Robert Millan <rmh@aybabtu.com>
29659
29660 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
29661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29662 Reported by Marcin Kurek.
29663
29664 2007-09-07 Robert Millan <rmh@aybabtu.com>
29665
29666 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
29667 SmartFirmware version updates (as released by Sven Luther), and avoid
29668 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
29669 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
29670 known broken.
29671
29672 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29673
29674 From Hitoshi Ozeki:
29675 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
29676 when merging two regions.
29677
29678 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29679
29680 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
29681 * normal/completion.c (grub_normal_do_completion): Likewise.
29682 Reported by Hitoshi Ozeki.
29683
29684 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29685
29686 Do not use devices at boot in chainloading.
29687
29688 * loader/i386/pc/chainloader.c (boot_drive): New variable.
29689 (boot_part_addr): Likewise.
29690 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
29691 with BOOT_DRIVE and BOOT_PART_ADDR.
29692 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
29693 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
29694
29695 2007-08-29 Robert Millan <rmh@aybabtu.com>
29696
29697 Patch from Simon Peter <dn.tlp@gmx.net>:
29698 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
29699 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
29700 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
29701 util/i386/pc/grub-setup.c_DEPENDENCIES.
29702 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
29703 util/grub-probe.c_DEPENDENCIES.
29704 * conf/powerpc-ieee1275.rmk: Likewise.
29705
29706 2007-08-28 Robert Millan <rmh@aybabtu.com>
29707
29708 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
29709 to tell grub-mkdevicemap how to name devices.
29710 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
29711 feature).
29712
29713 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
29714 util/i386/get_disk_name.c.
29715 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
29716 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
29717 util/ieee1275/get_disk_name.c.
29718
29719 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
29720
29721 * DISTLIST: Add util/i386/get_disk_name.c and
29722 util/ieee1275/get_disk_name.c.
29723
29724 * util/grub-mkdevicemap.c: Replace device naming logic with
29725 grub_util_get_disk_name() calls.
29726
29727 2007-08-20 Robert Millan <rmh@aybabtu.com>
29728
29729 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
29730 (so that it works for both plural and singular quantities).
29731
29732 2007-08-05 Robert Millan <rmh@aybabtu.com>
29733
29734 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
29735 so that [xz] isn't taken into account when determining order.
29736
29737 2007-08-02 Marco Gerards <marco@gnu.org>
29738
29739 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
29740 `include/multiboot2.h', `include/grub/elfload.h',
29741 `include/multiboot.h', `include/grub/multiboot.h',
29742 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
29743 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
29744 `kern/elf.c', `loader/multiboot_loader.c',
29745 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
29746 `loader/i386/pc/multiboot2.c',
29747 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
29748 `util/i386/pc/grub-mkrescue.in'. Remove
29749 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
29750 `include/grub/i386/pc/util/biosdisk.h' and
29751 `include/grub/powerpc/ieee1275/multiboot.h'.
29752
29753 2007-08-02 Bean <bean123ch@gmail.com>
29754
29755 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
29756 (ntfs_mod_SOURCES): New variable.
29757 (ntfs_mod_CFLAGS): Likewise.
29758 (ntfs_mod_LDFLAGS): Likewise.
29759
29760 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
29761 (grub_probe_SOURCES): Likewise.
29762 (grub_emu_SOURCES): Likewise.
29763
29764 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29765 (grub_emu_SOURCES): Likewise.
29766
29767 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29768 (grub_emu_SOURCES): Likewise.
29769
29770 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
29771
29772 * fs/ntfs.c: New file.
29773
29774 2007-08-02 Bean <bean123ch@gmail.com>
29775
29776 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
29777
29778 * file.h (grub_file): Likewise.
29779
29780 * fshelp.h (grub_fshelp_read_file): Likewise.
29781
29782 * util/i386/pc/grub-setup.c (setup): Likewise.
29783 (save_first_sector): Likewise.
29784 (save_blocklists): Likewise.
29785
29786 * fs/affs.c (grub_affs_read_file): Likewise.
29787
29788 * fs/ext2.c (grub_ext2_read_file): Likewise.
29789
29790 * fs/fat.c (grub_fat_read_data): Likewise.
29791
29792 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
29793
29794 * fs/hfs.c (grub_hfs_read_file): Likewise.
29795
29796 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29797
29798 * fs/jfs.c (grub_jfs_read_file): Likewise.
29799
29800 * fs/minix.c (grub_minix_read_file): Likewise.
29801
29802 * fs/sfs.c (grub_sfs_read_file): Likewise.
29803
29804 * fs/ufs.c (grub_ufs_read_file): Likewise.
29805
29806 * fs/xfs.c (grub_xfs_read_file): Likewise.
29807
29808 * command/blocklist.c (read_blocklist): Likewise.
29809 (print_blocklist): Likewise.
29810
29811 2007-08-02 Marco Gerards <marco@gnu.org>
29812
29813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
29814 `util/hostfs.c'.
29815
29816 * disk/host.c: New file.
29817
29818 * util/hostfs.c: Likewise.
29819
29820 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
29821 return `GRUB_ERR_BAD_FS'.
29822 * fs/sfs.c (grub_sfs_mount): Likewise.
29823 * fs/xfs.c (grub_xfs_mount): Likewise.
29824
29825 * include/grub/disk.h (enum grub_disk_dev_id): Add
29826 `GRUB_DISK_DEVICE_HOST_ID'.
29827
29828 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
29829
29830 2007-07-24 Jerone Young <jerone@gmail.com>
29831
29832 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
29833 modules for compilation.
29834 * conf/powerpc-ieee1275.rmk: Likewise.
29835
29836 * include/multiboot.h: Move multiboot definitions to one file. Rename
29837 many definitions to not get grub specific.
29838 * include/multiboot2.h: Create header with multiboot 2 definitions.
29839 * include/grub/multiboot.h: Header for grub specific function
29840 prototypes and definitions.
29841 * include/grub/multiboot2.h: Likewise.
29842 * include/grub/multiboot_loader.h: Likewise.
29843 * include/grub/i386/pc/multiboot.h: Removed.
29844 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
29845
29846 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
29847 and 2 to allow for one multiboot and module commands.
29848 * loader/multiboot2.c: Add multiboot2 functionality.
29849 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
29850 and definition names.
29851 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
29852 2 functions.
29853 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
29854 ieee1275 specific multiboot2 code.
29855
29856 * kern/i386/pc/startup.S: Change headers and definition names for
29857 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
29858
29859 2007-07-22 Robert Millan <rmh@aybabtu.com>
29860
29861 * geninitheader.sh: Process file specified in first parameter rather
29862 than hardcoding grub_modules_init.lst.
29863 * geninit.sh: Likewise. Also, construct header name dynamically rather
29864 than hardcoding grub_modules_init.h.
29865
29866 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
29867 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
29868 grub_probe_init.[ch] and grub_setup_init.[ch].
29869
29870 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
29871 grub_modules_init.h with grub_emu_init.h.
29872 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
29873 grub_probe_init.[ch] files.
29874 * conf/i386-efi.rmk: Likewise.
29875 * conf/i386-pc.rmk: Likewise.
29876 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
29877 grub_setup_init.[ch] files.
29878
29879 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
29880 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
29881 to initialize modules rather than a list of hardcoded functions.
29882 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
29883 grub_init_all() to initialize modules rather than a list of hardcoded
29884 functions.
29885
29886 2007-07-22 Robert Millan <rmh@aybabtu.com>
29887
29888 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
29889 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
29890
29891 2007-07-22 Robert Millan <rmh@aybabtu.com>
29892
29893 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29894 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
29895 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
29896 flag when running on SmartFirmware.
29897 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
29898 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
29899 was set.
29900
29901 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29902 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
29903 rather than decreasing it.
29904
29905 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
29906 there's not enough space to do it, fail in the same way as when it
29907 can't be done because there are no partitions.
29908
29909 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
29910 when nvsetenv failed.
29911
29912 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29913
29914 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
29915 because this rule is automatically generated.
29916 (grub-mkrescue): Removed for the same reason as above.
29917
29918 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29919
29920 Migrate to GNU General Public License Version 3.
29921
29922 * COPYING: Replaced with the plain text version of GPLv3.
29923
29924 * config.guess: Updated from gnulib.
29925 * config.sub: Likewise.
29926
29927 * geninit.sh: Output a GPLv3 copyright notice.
29928 * geninitheader.sh: Likewise.
29929 * genmodsrc.sh: Likewise.
29930 * gensymlist.sh.in: Likewise.
29931
29932 * boot/i386/pc/boot.S: Upgraded to GPLv3.
29933 * boot/i386/pc/diskboot.S: Likewise.
29934 * boot/i386/pc/pxeboot.S: Likewise.
29935 * commands/blocklist.c: Likewise.
29936 * commands/boot.c: Likewise.
29937 * commands/cat.c: Likewise.
29938 * commands/cmp.c: Likewise.
29939 * commands/configfile.c: Likewise.
29940 * commands/echo.c: Likewise.
29941 * commands/help.c: Likewise.
29942 * commands/ls.c: Likewise.
29943 * commands/search.c: Likewise.
29944 * commands/terminal.c: Likewise.
29945 * commands/test.c: Likewise.
29946 * commands/videotest.c: Likewise.
29947 * commands/i386/cpuid.c: Likewise.
29948 * commands/i386/pc/halt.c: Likewise.
29949 * commands/i386/pc/play.c: Likewise.
29950 * commands/i386/pc/reboot.c: Likewise.
29951 * commands/i386/pc/vbeinfo.c: Likewise.
29952 * commands/i386/pc/vbetest.c: Likewise.
29953 * commands/ieee1275/halt.c: Likewise.
29954 * commands/ieee1275/reboot.c: Likewise.
29955 * commands/ieee1275/suspend.c: Likewise.
29956 * disk/loopback.c: Likewise.
29957 * disk/lvm.c: Likewise.
29958 * disk/raid.c: Likewise.
29959 * disk/efi/efidisk.c: Likewise.
29960 * disk/i386/pc/biosdisk.c: Likewise.
29961 * disk/ieee1275/ofdisk.c: Likewise.
29962 * font/manager.c: Likewise.
29963 * fs/affs.c: Likewise.
29964 * fs/ext2.c: Likewise.
29965 * fs/fat.c: Likewise.
29966 * fs/fshelp.c: Likewise.
29967 * fs/hfs.c: Likewise.
29968 * fs/hfsplus.c: Likewise.
29969 * fs/iso9660.c: Likewise.
29970 * fs/jfs.c: Likewise.
29971 * fs/minix.c: Likewise.
29972 * fs/sfs.c: Likewise.
29973 * fs/ufs.c: Likewise.
29974 * fs/xfs.c: Likewise.
29975 * hello/hello.c: Likewise.
29976 * include/grub/acorn_filecore.h: Likewise.
29977 * include/grub/arg.h: Likewise.
29978 * include/grub/bitmap.h: Likewise.
29979 * include/grub/boot.h: Likewise.
29980 * include/grub/cache.h: Likewise.
29981 * include/grub/device.h: Likewise.
29982 * include/grub/disk.h: Likewise.
29983 * include/grub/dl.h: Likewise.
29984 * include/grub/elfload.h: Likewise.
29985 * include/grub/env.h: Likewise.
29986 * include/grub/err.h: Likewise.
29987 * include/grub/file.h: Likewise.
29988 * include/grub/font.h: Likewise.
29989 * include/grub/fs.h: Likewise.
29990 * include/grub/fshelp.h: Likewise.
29991 * include/grub/gzio.h: Likewise.
29992 * include/grub/hfs.h: Likewise.
29993 * include/grub/kernel.h: Likewise.
29994 * include/grub/loader.h: Likewise.
29995 * include/grub/lvm.h: Likewise.
29996 * include/grub/misc.h: Likewise.
29997 * include/grub/mm.h: Likewise.
29998 * include/grub/net.h: Likewise.
29999 * include/grub/normal.h: Likewise.
30000 * include/grub/parser.h: Likewise.
30001 * include/grub/partition.h: Likewise.
30002 * include/grub/pc_partition.h: Likewise.
30003 * include/grub/raid.h: Likewise.
30004 * include/grub/rescue.h: Likewise.
30005 * include/grub/script.h: Likewise.
30006 * include/grub/setjmp.h: Likewise.
30007 * include/grub/symbol.h: Likewise.
30008 * include/grub/term.h: Likewise.
30009 * include/grub/terminfo.h: Likewise.
30010 * include/grub/tparm.h: Likewise.
30011 * include/grub/types.h: Likewise.
30012 * include/grub/video.h: Likewise.
30013 * include/grub/efi/api.h: Likewise.
30014 * include/grub/efi/chainloader.h: Likewise.
30015 * include/grub/efi/console.h: Likewise.
30016 * include/grub/efi/console_control.h: Likewise.
30017 * include/grub/efi/disk.h: Likewise.
30018 * include/grub/efi/efi.h: Likewise.
30019 * include/grub/efi/pe32.h: Likewise.
30020 * include/grub/efi/time.h: Likewise.
30021 * include/grub/i386/linux.h: Likewise.
30022 * include/grub/i386/setjmp.h: Likewise.
30023 * include/grub/i386/types.h: Likewise.
30024 * include/grub/i386/efi/kernel.h: Likewise.
30025 * include/grub/i386/efi/loader.h: Likewise.
30026 * include/grub/i386/efi/time.h: Likewise.
30027 * include/grub/i386/pc/biosdisk.h: Likewise.
30028 * include/grub/i386/pc/boot.h: Likewise.
30029 * include/grub/i386/pc/chainloader.h: Likewise.
30030 * include/grub/i386/pc/console.h: Likewise.
30031 * include/grub/i386/pc/init.h: Likewise.
30032 * include/grub/i386/pc/kernel.h: Likewise.
30033 * include/grub/i386/pc/loader.h: Likewise.
30034 * include/grub/i386/pc/memory.h: Likewise.
30035 * include/grub/i386/pc/multiboot.h: Likewise.
30036 * include/grub/i386/pc/serial.h: Likewise.
30037 * include/grub/i386/pc/time.h: Likewise.
30038 * include/grub/i386/pc/vbe.h: Likewise.
30039 * include/grub/i386/pc/vbeblit.h: Likewise.
30040 * include/grub/i386/pc/vbefill.h: Likewise.
30041 * include/grub/i386/pc/vbeutil.h: Likewise.
30042 * include/grub/i386/pc/vga.h: Likewise.
30043 * include/grub/ieee1275/ieee1275.h: Likewise.
30044 * include/grub/ieee1275/ofdisk.h: Likewise.
30045 * include/grub/powerpc/libgcc.h: Likewise.
30046 * include/grub/powerpc/setjmp.h: Likewise.
30047 * include/grub/powerpc/types.h: Likewise.
30048 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
30049 * include/grub/powerpc/ieee1275/console.h: Likewise.
30050 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
30051 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30052 * include/grub/powerpc/ieee1275/loader.h: Likewise.
30053 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
30054 * include/grub/powerpc/ieee1275/time.h: Likewise.
30055 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
30056 * include/grub/sparc64/libgcc.h: Likewise.
30057 * include/grub/sparc64/setjmp.h: Likewise.
30058 * include/grub/sparc64/types.h: Likewise.
30059 * include/grub/sparc64/ieee1275/console.h: Likewise.
30060 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30061 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30062 * include/grub/sparc64/ieee1275/time.h: Likewise.
30063 * include/grub/util/biosdisk.h: Likewise.
30064 * include/grub/util/getroot.h: Likewise.
30065 * include/grub/util/lvm.h: Likewise.
30066 * include/grub/util/misc.h: Likewise.
30067 * include/grub/util/raid.h: Likewise.
30068 * include/grub/util/resolve.h: Likewise.
30069 * io/gzio.c: Likewise.
30070 * kern/device.c: Likewise.
30071 * kern/disk.c: Likewise.
30072 * kern/dl.c: Likewise.
30073 * kern/elf.c: Likewise.
30074 * kern/env.c: Likewise.
30075 * kern/err.c: Likewise.
30076 * kern/file.c: Likewise.
30077 * kern/fs.c: Likewise.
30078 * kern/loader.c: Likewise.
30079 * kern/main.c: Likewise.
30080 * kern/misc.c: Likewise.
30081 * kern/mm.c: Likewise.
30082 * kern/parser.c: Likewise.
30083 * kern/partition.c: Likewise.
30084 * kern/rescue.c: Likewise.
30085 * kern/term.c: Likewise.
30086 * kern/efi/efi.c: Likewise.
30087 * kern/efi/init.c: Likewise.
30088 * kern/efi/mm.c: Likewise.
30089 * kern/i386/dl.c: Likewise.
30090 * kern/i386/efi/init.c: Likewise.
30091 * kern/i386/efi/startup.S: Likewise.
30092 * kern/i386/pc/init.c: Likewise.
30093 * kern/i386/pc/lzo1x.S: Likewise.
30094 * kern/i386/pc/startup.S: Likewise.
30095 * kern/ieee1275/ieee1275.c: Likewise.
30096 * kern/powerpc/cache.S: Likewise.
30097 * kern/powerpc/dl.c: Likewise.
30098 * kern/powerpc/ieee1275/cmain.c: Likewise.
30099 * kern/powerpc/ieee1275/crt0.S: Likewise.
30100 * kern/powerpc/ieee1275/init.c: Likewise.
30101 * kern/powerpc/ieee1275/openfw.c: Likewise.
30102 * kern/sparc64/cache.S: Likewise.
30103 * kern/sparc64/dl.c: Likewise.
30104 * kern/sparc64/ieee1275/init.c: Likewise.
30105 * kern/sparc64/ieee1275/openfw.c: Likewise.
30106 * loader/efi/chainloader.c: Likewise.
30107 * loader/efi/chainloader_normal.c: Likewise.
30108 * loader/i386/efi/linux.c: Likewise.
30109 * loader/i386/efi/linux_normal.c: Likewise.
30110 * loader/i386/pc/chainloader.c: Likewise.
30111 * loader/i386/pc/chainloader_normal.c: Likewise.
30112 * loader/i386/pc/linux.c: Likewise.
30113 * loader/i386/pc/linux_normal.c: Likewise.
30114 * loader/i386/pc/multiboot.c: Likewise.
30115 * loader/i386/pc/multiboot_normal.c: Likewise.
30116 * loader/powerpc/ieee1275/linux.c: Likewise.
30117 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30118 * normal/arg.c: Likewise.
30119 * normal/cmdline.c: Likewise.
30120 * normal/command.c: Likewise.
30121 * normal/completion.c: Likewise.
30122 * normal/execute.c: Likewise.
30123 * normal/function.c: Likewise.
30124 * normal/lexer.c: Likewise.
30125 * normal/main.c: Likewise.
30126 * normal/menu.c: Likewise.
30127 * normal/menu_entry.c: Likewise.
30128 * normal/misc.c: Likewise.
30129 * normal/parser.y: Likewise.
30130 * normal/script.c: Likewise.
30131 * normal/i386/setjmp.S: Likewise.
30132 * normal/powerpc/setjmp.S: Likewise.
30133 * normal/sparc64/setjmp.S: Likewise.
30134 * partmap/acorn.c: Likewise.
30135 * partmap/amiga.c: Likewise.
30136 * partmap/apple.c: Likewise.
30137 * partmap/gpt.c: Likewise.
30138 * partmap/pc.c: Likewise.
30139 * partmap/sun.c: Likewise.
30140 * term/gfxterm.c: Likewise.
30141 * term/terminfo.c: Likewise.
30142 * term/efi/console.c: Likewise.
30143 * term/i386/pc/console.c: Likewise.
30144 * term/i386/pc/serial.c: Likewise.
30145 * term/i386/pc/vesafb.c: Likewise.
30146 * term/i386/pc/vga.c: Likewise.
30147 * term/ieee1275/ofconsole.c: Likewise.
30148 * util/biosdisk.c: Likewise.
30149 * util/console.c: Likewise.
30150 * util/genmoddep.c: Likewise.
30151 * util/getroot.c: Likewise.
30152 * util/grub-emu.c: Likewise.
30153 * util/grub-mkdevicemap.c: Likewise.
30154 * util/grub-probe.c: Likewise.
30155 * util/lvm.c: Likewise.
30156 * util/misc.c: Likewise.
30157 * util/raid.c: Likewise.
30158 * util/resolve.c: Likewise.
30159 * util/update-grub.in: Likewise.
30160 * util/update-grub_lib.in: Likewise.
30161 * util/grub.d/00_header.in: Likewise.
30162 * util/grub.d/10_hurd.in: Likewise.
30163 * util/grub.d/10_linux.in: Likewise.
30164 * util/i386/efi/grub-install.in: Likewise.
30165 * util/i386/efi/grub-mkimage.c: Likewise.
30166 * util/i386/pc/grub-install.in: Likewise.
30167 * util/i386/pc/grub-mkimage.c: Likewise.
30168 * util/i386/pc/grub-mkrescue.in: Likewise.
30169 * util/i386/pc/grub-setup.c: Likewise.
30170 * util/i386/pc/misc.c: Likewise.
30171 * util/powerpc/ieee1275/grub-install.in: Likewise.
30172 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
30173 * util/powerpc/ieee1275/misc.c: Likewise.
30174 * video/bitmap.c: Likewise.
30175 * video/video.c: Likewise.
30176 * video/i386/pc/vbe.c: Likewise.
30177 * video/i386/pc/vbeblit.c: Likewise.
30178 * video/i386/pc/vbefill.c: Likewise.
30179 * video/i386/pc/vbeutil.c: Likewise.
30180 * video/readers/tga.c: Likewise.
30181
30182 2007-07-02 Robert Millan <rmh@aybabtu.com>
30183
30184 * conf/i386-efi.rmk: Replace obsolete reference to
30185 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
30186 with util/getroot.c.
30187 * conf/powerpc-ieee1275.rmk: Likewise.
30188 * conf/sparc64-ieee1275.rmk: Likewise.
30189
30190 * util/grub-emu.c (main): Fix unchecked pointer handling.
30191
30192 2007-07-02 Robert Millan <rmh@aybabtu.com>
30193
30194 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
30195 invocation to fail, in order to support partition-less media.
30196
30197 * util/i386/pc/grub-install.in: Likewise.
30198
30199 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
30200 which fs or partmap modules are needed (akin to its sister scripts).
30201
30202 Also use grub-probe to get rid of unportable /proc/mounts check.
30203
30204 Print the same informational message that the other scripts do, before
30205 exiting.
30206
30207 2007-06-23 Robert Millan <rmh@aybabtu.com>
30208
30209 * util/update-grub_lib.in (font_path): New function. Determine whether
30210 a font file can be found and, if so, echo the GRUB path to it.
30211
30212 * util/update-grub.in: Handle multiple terminals depending on user
30213 input, platform availability and font file presence. Propagate
30214 variables of our findings to /etc/grub.d/ children.
30215
30216 * util/grub.d/00_header.in: Handle multiple terminals, based on
30217 environment setup by update-grub.
30218
30219 2007-06-23 Robert Millan <rmh@aybabtu.com>
30220
30221 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
30222
30223 2007-06-21 Robert Millan <rmh@aybabtu.com>
30224
30225 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
30226 indicate end of data section in kernel image.
30227 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
30228 GRUB_KERNEL_MACHINE_DATA_END.
30229
30230 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
30231 space for it.
30232 * kern/i386/efi/startup.S: Likewise.
30233
30234 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
30235 during image generation. Implement --prefix option to override this
30236 patch.
30237 * util/i386/efi/grub-mkimage.c: Likewise.
30238
30239 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
30240 code to make path relative to its root into a separate function.
30241
30242 * util/i386/pc/grub-install.in: Use newly provided
30243 make_system_path_relative_to_its_root() to convert ${grubdir}, then
30244 pass the result to grub-install --prefix.
30245
30246 2007-06-13 Robert Millan <rmh@aybabtu.com>
30247
30248 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
30249 DEFAULT_DEVICE_MAP.
30250 * util/grub-emu.c: Use above definitions from misc.h instead of
30251 defining them.
30252 * util/grub-mkdevicemap.c: Likewise.
30253 * util/i386/pc/grub-setup.c: Likewise.
30254 * util/grub-probe.c: Likewise.
30255 (probe): Abort with grub_util_error() when either
30256 grub_guess_root_device or grub_util_get_grub_dev fails.
30257
30258 2007-06-12 Robert Millan <rmh@aybabtu.com>
30259
30260 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
30261 "pager" assignment.
30262 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
30263 "pcdata".
30264 * util/grub-probe.c (probe): Likewise for "drive_name".
30265
30266 2007-06-11 Robert Millan <rmh@aybabtu.com>
30267
30268 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
30269 not just the cdrom one.
30270
30271 2007-06-11 Robert Millan <rmh@aybabtu.com>
30272
30273 * util/i386/pc/grub-mkrescue.in: Add "set -e".
30274 Add --pkglibdir=DIR option to override pkglibdir.
30275 Mention --image-type=TYPE in help output.
30276 Fix --grub-mkimage (it was a no-op).
30277 Abort gracefully when no parameter is given.
30278
30279 2007-06-11 Robert Millan <rmh@aybabtu.com>
30280
30281 * util/i386/pc/grub-mkrescue.in: New file.
30282 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
30283 * Makefile.in: Handle bin_SCRIPTS.
30284
30285 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
30286
30287 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
30288 list of video modes.
30289
30290 2007-06-06 Robert Millan <rmh@aybabtu.com>
30291
30292 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
30293 file doesn't exist, or if it is in a filesystem grub can't read.
30294
30295 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
30296 not abort if GRUB_DRIVE could not be defined. Rearrange generated
30297 header comment to fit in 80 columns when the variables are resolved.
30298
30299 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
30300 could be identified by update-grub. Remove redundant check for
30301 unifont.pff existence (since convert_system_path_to_grub_path now
30302 handles that).
30303
30304 2007-06-04 Robert Millan <rmh@aybabtu.com>
30305
30306 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
30307
30308 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
30309
30310 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
30311
30312 2007-06-04 Robert Millan <rmh@aybabtu.com>
30313
30314 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
30315
30316 * include/grub/partition.h: Declare grub_apple_partition_map_init and
30317 grub_apple_partition_map_fini.
30318
30319 * util/biosdisk.c
30320 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
30321 to access >2 TiB disks).
30322
30323 Print disk->total_sectors with %llu instead of %lu, since this
30324 variable is always 64-bit (prevents wrong disk size from being displayed
30325 on either >2 TiB disk or big-endian CPU).
30326
30327 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
30328 into a generic case that supports all (sane) partition maps.
30329
30330 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
30331 breaks big-endian.
30332
30333 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
30334 and grub_apple_partition_map_fini() after that.
30335
30336 2007-06-01 Robert Millan <rmh@aybabtu.com>
30337
30338 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
30339
30340 * util/grub.d/00_header.in: Only enable gfxterm when
30341 convert_system_path_to_grub_path() succeeds.
30342
30343 2007-05-20 Robert Millan <rmh@aybabtu.com>
30344
30345 * util/update-grub_lib.in: New file.
30346 * DISTLIST: Add update-grub_lib.in.
30347 * conf/common.rmk: Generate update-grub_lib and install it in
30348 $(lib_DATA).
30349 * Makefile.in: Add install routine for $(lib_DATA).
30350
30351 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
30352 function provided by update-grub_lib to support arbitrary paths of
30353 unifont.pff.
30354 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30355 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30356
30357 2007-05-19 Robert Millan <rmh@aybabtu.com>
30358
30359 * commands/i386/cpuid.c: New module.
30360 * DISTLIST: Add it.
30361 * conf/i386-efi.rmk: Enable cpuid.mod.
30362 * conf/i386-pc.rmk: Likewise.
30363
30364 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30365
30366 * kern/disk.c (grub_disk_read): Check return value of
30367 grub_realloc().
30368
30369 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30370
30371 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30372 arrays.
30373 * disk/raid.c (grub_raid_open): Likewise.
30374
30375 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30376
30377 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30378 stack instead of on the heap.
30379
30380 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30381 before doing a read on it.
30382
30383 * configure.ac: Only use -fno-stack-protector for the target
30384 environment.
30385
30386 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30387
30388 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30389 __attribute_ ((unused)) to mode_type argument.
30390
30391 * util/getroot.c (grub_guess_root_device): Fix #endif.
30392
30393 * kern/misc.c (memcmp): Fix prototype.
30394
30395 * include/grub/partition.h [GRUB_UTIL]
30396 (grub_gpt_partition_map_init): Add prototype.
30397 (grub_gpt_partition_map_fini): Likewise.
30398
30399 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30400 at the right place.
30401
30402 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30403 (grub_fat_read_data): Likewise.
30404 (grub_fat_find_dir): Likewise.
30405
30406 * font/manager.c (find_glyph): Make table a const.
30407 (grub_font_get_glyph): Remove bitmap from if statement.
30408
30409 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30410
30411 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30412 code, first search for device in /dev/mapper, then in /dev.
30413 (grub_util_get_grub_dev): New function.
30414 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30415 prototype.
30416 * util/grub-probe.c (probe): Remove check for RAID, call
30417 grub_util_get_grub_dev() instead of
30418 grub_util_biosdisk_get_grub_dev().
30419 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30420 grub_util_biosdisk_get_grub_dev().
30421 * util/i386/pc/grub-setup.c (main): Likewise.
30422
30423 2007-05-16 Robert Millan <rmh@aybabtu.com>
30424
30425 * DISTLIST: Update for the latest changes.
30426 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30427 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30428 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30429 grub/util/biosdisk.h.
30430 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30431 grub/util/biosdisk.h.
30432
30433 2007-05-16 Robert Millan <rmh@aybabtu.com>
30434
30435 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30436
30437 2007-05-16 Robert Millan <rmh@aybabtu.com>
30438
30439 * util/i386/efi/grub-install.in: New.
30440 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30441 newly added grub-install.
30442 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30443 include.
30444 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30445 grub/util/biosdisk.h.
30446 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30447 grub/util/biosdisk.h.
30448
30449 2007-05-16 Robert Millan <rmh@aybabtu.com>
30450
30451 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30452 * include/grub/util/biosdisk.h: ... here.
30453 * util/i386/pc/biosdisk.c: Moved to ...
30454 * util/biosdisk.c: ... here.
30455 * util/i386/pc/getroot.c: Moved to ...
30456 * util/getroot.c: ... here.
30457 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30458 * util/grub-mkdevicemap.c: ... here.
30459 * util/i386/pc/grub-probe.c: Moved to ...
30460 * util/grub-probe.c: ... here.
30461
30462 2007-05-15 Robert Millan <rmh@aybabtu.com>
30463
30464 * util/update-grub.in: Remove duplicated line in grub.cfg header
30465 message.
30466
30467 2007-05-13 Robert Millan <rmh@aybabtu.com>
30468
30469 * util/update-grub.in: Fix a few assumptions about the devices holding
30470 /, /boot and /boot/grub being the same.
30471 * util/grub.d/00_header.in: Likewise.
30472 * util/grub.d/10_hurd.in: Likewise.
30473 * util/grub.d/10_linux.in: Likewise.
30474
30475 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30476 patterns. Use that to define the `.old' suffix as older than `'.
30477
30478 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30479
30480 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30481 the grub.cfg header message.
30482
30483 2007-05-11 Robert Millan <rmh@aybabtu.com>
30484
30485 * util/update-grub.in: Create device.map if it doesn't already exist,
30486 before attempting to run grub-probe.
30487 Check for grub-probe and grub-mkdevicemap with the same code
30488 grub-install is using.
30489 Remove test mode.
30490
30491 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30492
30493 * Makefile.in: Add the datarootdir autoconf variable.
30494
30495 2007-05-09 Robert Millan <rmh@aybabtu.com>
30496
30497 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
30498 fail gracefully if dev->disk->partition == NULL.
30499
30500 2007-05-07 Robert Millan <rmh@aybabtu.com>
30501
30502 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30503 determine partition map module.
30504 * util/i386/pc/grub-install.in: Use this feature to decide which
30505 partition module to load, instead of hardcoding pc and gpt.
30506
30507 2007-05-07 Robert Millan <rmh@aybabtu.com>
30508
30509 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30510 source directory differs from build directory.
30511
30512 2007-05-05 Robert Millan <rmh@aybabtu.com>
30513
30514 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30515 initialisation.
30516
30517 2007-05-05 Robert Millan <rmh@aybabtu.com>
30518
30519 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30520
30521 2007-05-05 Robert Millan <rmh@aybabtu.com>
30522
30523 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30524 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30525
30526 2007-05-05 Robert Millan <rmh@aybabtu.com>
30527
30528 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30529 (grub_probe_SOURCES): Likewise.
30530 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30531 GPT and initialize dos_part and bsd_part accordingly.
30532 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30533 install_bsd_part.
30534 (main): Activate gpt module for use during partition identification,
30535 and deactivate it afterwards.
30536 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30537 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30538 partition identification, and deactivate it afterwards.
30539
30540 2007-05-05 Robert Millan <rmh@aybabtu.com>
30541
30542 * term/i386/pc/console.c (grub_console_fini): Call
30543 grub_term_set_current() before grub_term_unregister().
30544
30545 2007-05-04 Robert Millan <rmh@aybabtu.com>
30546
30547 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30548 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30549 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30550 and update-grub_DATA.
30551 * conf/common.rmk: Build and install update-grub components.
30552 * conf/common.mk: Regenerate.
30553 * util/update-grub.in: New. Core of update-grub.
30554 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30555 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30556 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30557 * util/grub.d/README: New. Document grub.d directory layout.
30558
30559 2007-05-01 Robert Millan <rmh@aybabtu.com>
30560
30561 * util/grub-emu.c: Move initialization functions
30562 grub_util_biosdisk_init() and grub_init_all() before
30563 grub_util_biosdisk_get_grub_dev(), which relies on them.
30564
30565 2007-04-19 Robert Millan <rmh@aybabtu.com>
30566
30567 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30568 it is used later.
30569
30570 2007-04-18 Jerone Young <jerone@gmail.com>
30571
30572 * kernel/elf.c: Add missing parenthesis for conditional statement
30573 stanza.
30574
30575 2007-04-10 Jerone Young <jerone@gmail.com>
30576
30577 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30578 continue on and look for device node with real device name.
30579
30580 2007-04-10 Jerone Young <jerone@gmail.com>
30581
30582 * configure.ac: Add argument for autoconf to use transformation
30583 ability.
30584 * Makefile.in: Add autoconf package transformation code.
30585 * util/i386/pc/grub-install.in: Likewise.
30586 * util/powerpc/ieee1275/grub-install.in: Likewise.
30587
30588 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30589
30590 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30591 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30592 (EXT2_REVISION): Likewise.
30593 (EXT2_INODE_SIZE): Likewise.
30594 (struct grub_ext2_block_group): Added a missing member
30595 "used_dirs".
30596 (grub_ext2_read_inode): Divide by the inode size in a superblock
30597 instead of 128 to obtain INODES_PER_BLOCK.
30598 Use the macro EXT2_INODE_SIZE instead of directly using
30599 SBLOCK->INODE_SIZE.
30600
30601 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30602
30603 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30604 superblock instead of the structure size to compute an
30605 offset. This fixes the problem that GRUB could not read a
30606 filesystem when inode size is different from 128-byte.
30607
30608 2007-03-05 Marco Gerards <marco@gnu.org>
30609
30610 * normal/main.c (read_config_file): When "menu" is not set, create
30611 an initial context.
30612
30613 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30614
30615 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30616 (HEAP_LIMIT): New macro.
30617 (grub_claim_heap): Claim memory up to `heaplimit'.
30618
30619 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30620
30621 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
30622 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
30623 (_start): Likewise.
30624 (grub_arch_modules_addr): Return address after `_end'.
30625 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
30626 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
30627 (add_segments): Calculate `_end' from phdr size and location.
30628 (ALIGN_UP): Moved to ...
30629 * include/grub/misc.h: here.
30630 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30631 New macro.
30632 (GRUB_IEEE1275_MODULE_BASE): Removed.
30633
30634 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30635
30636 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
30637 loop boundary.
30638
30639 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30640
30641 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
30642 All users updated.
30643 (grub_elf64_load_hook_t): Likewise.
30644 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
30645 debug output.
30646
30647 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30648
30649 * kern/mm.c: Update copyright.
30650 (grub_mm_debug): Correct syntax error.
30651 (grub_mm_dump_free): New function.
30652 (grub_debug_free): Call `grub_free'.
30653 * include/grub/mm.h: Update copyright.
30654 (grub_mm_dump_free): Add declaration.
30655
30656 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30657
30658 * include/grub/ieee1275/ieee1275.h: Update copyright.
30659 * kern/powerpc/ieee1275/init.c: Likewise.
30660 * kern/powerpc/ieee1275/openfw.c: Likewise.
30661
30662 * loader/powerpc/ieee1275/linux.c: Likewise.
30663 * include/grub/elfload.h: Likewise.
30664 * kern/elf.c: Likewise.
30665 (grub_elf32_load): Pass `base' and `size' parameters. Update all
30666 callers.
30667 (grub_elf64_load): Likewise.
30668 (grub_elf32_load_segment): Move to a nested function.
30669 (grub_elf64_load_segment): Likewise.
30670
30671 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30672
30673 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
30674 prototype.
30675 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
30676 (grub_heap_len): Likewise.
30677 (HEAP_SIZE): New macro.
30678 (grub_claim_heap): New function.
30679 (grub_machine_init): Don't claim heap directly. Call
30680 `grub_claim_heap'.
30681 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
30682 (grub_available_iterate): New function.
30683
30684 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
30685
30686 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
30687 * configure.ac: Use it for testing the HOST and TARGET compilers.
30688
30689 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
30690
30691 * Makefile.in (enable_grub_emu): New variable.
30692 * configure.ac (--enable-grub-emu): New option.
30693 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
30694 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
30695 * conf/i386-pc.rmk: Likewise.
30696 * conf/powerpc-ieee1275.rmk: Likewise.
30697 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
30698
30699 2006-12-12 Marco Gerards <marco@gnu.org>
30700
30701 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
30702
30703 * kern/env.c (grub_env_unset): Don't free the member `value' when
30704 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
30705 pointer.
30706
30707 * normal/main.c (current_menu): Removed.
30708 (free_menu): Unset the `menu' environment variable.
30709 (grub_normal_menu_addentry): Make use of the environment variable
30710 `menu', instead of using the global `current_menu'. Allocate
30711 memory for the sourcecode of this entry.
30712 (read_config_file): New argument `nested', changed all callers.
30713 Only in the case of a new context, initialize a new menu. Set the
30714 `menu' environment variable.
30715 (grub_normal_execute): Don't set and unset the environment
30716 variable `menu' here anymore. Only free the menu when leaving the
30717 context.
30718
30719 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
30720 leak.
30721
30722 2006-12-11 Marco Gerards <marco@gnu.org>
30723
30724 * normal/menu_entry.c (run): Fix off by one bug so the last line
30725 is executed. Move the loader check to outside the loop.
30726
30727 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
30728
30729 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
30730
30731 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
30732
30733 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
30734 the number of sectors. Reported by Andrey Shuvikov
30735 <mr_hyro@yahoo.com>.
30736
30737 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
30738
30739 * kern/disk.c (grub_disk_read): When there is a read error, always
30740 try to read only the necessary data.
30741
30742 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
30743 disk/raid.c.
30744 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
30745 prototype.
30746 [GRUB_UTIL] (grub_raid_fini): Likewise.
30747 [GRUB_UTIL] (grub_lvm_init): Likewise.
30748 [GRUB_UTIL] (grub_lvm_fini): Likewise.
30749 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
30750 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
30751 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
30752 and grub_raid_fini().
30753
30754 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30755
30756 * include/grub/types.h (__unused): Rename to UNUSED.
30757 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
30758 (grub_elf64_size): Likewise.
30759
30760 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30761
30762 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
30763 grub_error_push and grub_error_pop in the error-handling path.
30764 (grub_elf32_load_segment): Only call grub_file_read with non-zero
30765 length.
30766
30767 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30768
30769 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
30770 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30772 (kernel_elf_SOURCES): Likewise.
30773 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
30774 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
30775 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30776 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30777 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
30778 (elf_mod_SOURCES): New variable.
30779 (elf_mod_CFLAGS): Likewise.
30780 (elf_mod_LDFLAGS): Likewise.
30781 * include/grub/types.h (__unused): New macro.
30782 * include/grub/elfload.h: New file.
30783 * kern/elf.c: Likewise.
30784 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
30785 (ELF32_LOADMASK): New macro.
30786 (ELF64_LOADMASK): Likewise.
30787 (vmlinux): Removed.
30788 (grub_linux_load32): New function.
30789 (grub_linux_load64): Likewise.
30790 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
30791 Use grub_elf_t instead of grub_file_t.
30792
30793 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
30794
30795 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
30796 `catch_result' to struct set_color_args.
30797
30798 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30799
30800 * normal/menu.c: Include grub/script.h.
30801 * normal/menu_entry.c: Likewise.
30802 * include/grub/normal.h: Do not include grub/script.h.
30803
30804 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30805
30806 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
30807
30808 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30809
30810 * kern/disk.c (grub_disk_open): Print debug messages when opening a
30811 disk.
30812 (grub_disk_close): Print debug messages when closing a disk.
30813 (grub_disk_read): Print debug messages when disk read fails.
30814 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
30815 filesystem type.
30816 * kern/partition.c: Include misc.h.
30817 (grub_partition_iterate): Print debug messages when detecting
30818 partition type.
30819
30820 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30821
30822 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
30823 is negative.
30824 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
30825
30826 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
30827
30828 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30829 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
30830
30831 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
30832
30833 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
30834 instead of sizeof(lv). Patch by Michael Guntsche.
30835
30836 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
30837
30838 * disk/lvm.c: Rename VGS to VG_LIST.
30839 (grub_lvm_iterate): Change VGS->LV to VG-LV.
30840 (grub_lvm_open): Likewise.
30841 Thanks to Michael Guntsche for finding this bug.
30842
30843 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30844
30845 * configure.ac (AC_INIT): Bumped to 1.95.
30846
30847 2006-10-14 Robert Millan <rmh@aybabtu.com>
30848
30849 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
30850 with "/dev/.static/dev/md".
30851
30852 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30853
30854 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
30855 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
30856 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
30857 DRIVE_NAME are always freed.
30858
30859 * util/i386/pc/biosdisk.c (make_device_name): Add one into
30860 DOS_PART, as a DOS partition is counted from one instead of zero
30861 now. Reported by Robert Millan.
30862
30863 2006-10-14 Robert Millan <rmh@aybabtu.com>
30864
30865 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
30866 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
30867 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
30868 string returned by grub_guess_root_device.
30869 * util/i386/pc/grub-setup.c: Likewise.
30870 * util/i386/pc/grub-probefs.c: Likewise.
30871
30872 * util/i386/pc/grub-probefs.c: Rename to ...
30873 * util/i386/pc/grub-probe.c: ... this.
30874 * DISTLIST: Remove grub-probefs, add grub-probe.
30875 * conf/i386-efi.rmk: Likewise.
30876 * conf/i386-pc.rmk: Likewise.
30877 * util/i386/pc/grub-install.in: Likewise.
30878
30879 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
30880 choose which information we want to print.
30881
30882 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30883
30884 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
30885 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
30886 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
30887 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
30888 video/readers/tga.c and video/i386/pc/vbeutil.c.
30889
30890 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
30891
30892 Added support for RAID and LVM.
30893
30894 * disk/lvm.c: New file.
30895 * disk/raid.c: Likewise.
30896 * include/grub/lvm.h: Likewise.
30897 * include/grub/raid.h: Likewise.
30898 * include/grub/util/lvm.h: Likewise.
30899 * include/grub/util/raid.h: Likewise.
30900 * util/lvm.c: Likewise.
30901 * util/raid.c: Likewise.
30902
30903 * include/grub/disk.h (grub_disk_dev_id): Add
30904 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
30905 (grub_disk_get_size): New prototype.
30906 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
30907 returns a partition.
30908 (grub_disk_get_size): New function.
30909
30910 * kern/i386/pc/init.c (make_install_device): Copy the prefix
30911 verbatim if grub_install_dos_part is -2.
30912
30913 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
30914 and LVM devices.
30915
30916 * util/i386/pc/grub-setup.c (setup): New argument
30917 MUST_EMBED. Force embedding of GRUB when the argument is
30918 true. Close FILE before returning.
30919 (main): Add support for RAID and LVM.
30920
30921 * conf/common.rmk: Add RAID and LVM modules.
30922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
30923 util/lvm.c.
30924 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
30925
30926 * kern/misc.c (grub_strstr): New function.
30927 * include/grub/misc.h (grub_strstr): New prototype.
30928
30929 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
30930
30931 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
30932
30933 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
30934
30935 * kern/misc.c (grub_strtoull): Guess the base only if not
30936 specified.
30937
30938 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30939
30940 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
30941 PowerMac support.
30942
30943 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30944
30945 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
30946
30947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
30948 Remove `flags' argument. All callers changed.
30949 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
30950 (IEEE1275_IHANDLE_INVALID): New variable.
30951 (IEEE1275_CELL_INVALID): New variable.
30952 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30953 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
30954 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
30955 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
30956 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
30957 codes from Open Firmware. All callers updated.
30958 (grub_ieee1275_next_property): Directly return Open Firmware return
30959 code.
30960 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30961 Standardize error checking from `grub_ieee1275_get_property'.
30962 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
30963 `devalias' to `aliases'. Correct comments. Consolidate error paths.
30964
30965 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30966
30967 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
30968 `instance_to_package_args' to `instance_to_path_args'.
30969
30970 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
30971 `grub_ieee1275_chosen'.
30972
30973 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
30974 `grub_ieee1275_interpret'.
30975
30976 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
30977
30978 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
30979
30980 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
30981
30982 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
30983 (__cmpdi): Likewise.
30984
30985 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
30986 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
30987 `grub_ssize_t'.
30988
30989 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
30990
30991 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
30992 to type `grub_ssize_t'.
30993 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
30994
30995 2006-09-22 Marco Gerards <marco@gnu.org>
30996
30997 * normal/script.c (grub_script_create_cmdmenu): Skip leading
30998 newlines.
30999
31000 2006-09-22 Marco Gerards <marco@gnu.org>
31001
31002 * commands/echo.c: New file.
31003
31004 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
31005
31006 * conf/common.rmk (echo_mod_SOURCES): New variable.
31007 (echo_mod_CFLAGS): Likewise.
31008 (echo_mod_LDFLAGS): Likewise.
31009
31010 2006-09-22 Marco Gerards <marco@gnu.org>
31011
31012 * normal/main.c (get_line): Malloc memory instead of using
31013 preallocated memory. Removed the arguments `cmdline' and
31014 `max_len'. Updated all callers.
31015
31016 2006-09-22 Marco Gerards <marco@gnu.org>
31017
31018 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
31019 (normal_mod_DEPENDENCIES): Likewise.
31020
31021 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
31022 (normal_mod_DEPENDENCIES): Likewise.
31023
31024 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
31025
31026 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
31027
31028 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
31029 programs.
31030 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
31031 (normal_mod_DEPENDENCIES): Likewise.
31032 * conf/i386-pc.mk: Regenerate.
31033 * conf/i386-efi.mk: Likewise
31034 * conf/common.mk: Likewise.
31035 * conf/powerpc-ieee1275.mk: Likewise.
31036 * conf/sparc64-ieee1275.mk: Likewise.
31037
31038 2006-09-22 Robert Millan <rmh@aybabtu.com>
31039
31040 Sync with i386 version.
31041 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
31042 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
31043
31044 2006-09-21 Robert Millan <rmh@aybabtu.com>
31045
31046 Import from GRUB Legacy (lib/device.c):
31047 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
31048 (init_device_map) [__linux__]: Add support for I2O devices.
31049
31050 2006-09-14 Marco Gerards <marco@gnu.org>
31051
31052 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
31053 `-melf_i386'.
31054
31055 2006-09-14 Robert Millan <rmh@aybabtu.com>
31056
31057 * util/i386/pc/grub-install.in: Skip menu.lst when removing
31058 /boot/grub/*.lst.
31059
31060 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
31061
31062 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
31063 before adding it to device.map.
31064
31065 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
31066
31067 * genmk.rb: Let GCC generate dependencies the first time it
31068 compiles a file; using the -MD option.
31069 * conf/common.mk: Regenerate.
31070 * conf/i386-pc.mk: Likewise.
31071 * conf/i386-efi.mk: Likewise.
31072 * conf/powerpc-ieee1275.mk: Likewise.
31073 * conf/sparc64-ieee1275.mk: Likewise.
31074
31075 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
31076
31077 Move the prototypes of grub_setjmp and grub_longjmp to
31078 cpu/setjmp.h, so that each architecture may specify different
31079 attributes.
31080
31081 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
31082 (grub_longjmp): Likewise.
31083 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
31084 (grub_longjmp): Likewise.
31085 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
31086 (grub_longjmp): Likewise.
31087
31088 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
31089 [!GRUB_UTIL] (grub_longjmp): Removed.
31090
31091 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
31092
31093 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
31094 "color!" method does not return any value.
31095
31096 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31097
31098 * include/grub/bitmap.h: New file.
31099
31100 * include/grub/i386/pc/vbeutil.h: Likewise.
31101
31102 * video/bitmap.c: Likewise.
31103
31104 * video/readers/tga.c: Likewise.
31105
31106 * video/i386/pc/vbeutil.c: Likewise.
31107
31108 * commands/videotest.c: Code cleanup and updated to reflect to new
31109 video API.
31110
31111 * term/gfxterm.c: Likewise.
31112
31113 * video/video.c: Likewise.
31114
31115 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
31116 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
31117 (bitmap_mod_SOURCES): New entry.
31118 (bitmap_mod_CFLAGS): Likewise.
31119 (bitmap_mod_LDFLAGS): Likewise.
31120 (tga_mod_SOURCES): Likewise.
31121 (tga_mod_CFLAGS): Likewise.
31122 (tga_mod_LDFLAGS): Likewise.
31123
31124 * include/grub/video.h (grub_video_blit_operators): New enum type.
31125 (grub_video_render_target): Changed as forward declaration and moved
31126 actual definition to be video driver specific.
31127 (grub_video_adapter.blit_bitmap): Added blitting operator.
31128 (grub_video_adapter.blit_render_target): Likewise.
31129 (grub_video_blit_bitmap): Likewise.
31130 (grub_video_blit_render_target): Likewise.
31131
31132 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
31133 driver specific render target definition.
31134 (grub_video_vbe_map_rgba): Added driver internal helper.
31135 (grub_video_vbe_unmap_color): Updated to use
31136 grub_video_i386_vbeblit_info.
31137 (grub_video_vbe_get_video_ptr): Likewise.
31138
31139 * include/grub/i386/pc/vbeblit.h
31140 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
31141 grub_video_i386_vbeblit_info.
31142 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31143 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31144 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31145 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31146 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31147 (grub_video_i386_vbeblit_index_index): Likewise.
31148 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
31149 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31150 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31151 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
31152 operator.
31153 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
31154 operator.
31155
31156 * video/i386/pc/vbeblit.c: Updated to reflect changes on
31157 include/grub/i386/pc/vbeblit.h.
31158
31159 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
31160 Updated to use grub_video_i386_vbeblit_info.
31161 (grub_video_i386_vbefill_R8G8B8): Likewise.
31162 (grub_video_i386_vbefill_index): Likewise.
31163 (grub_video_i386_vbefill): Added generic filler.
31164
31165 * video/i386/pc/vbefill.c: Updated to reflect changes on
31166 include/grub/i386/pc/vbefill.h.
31167
31168 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
31169 grub_video_i386_vbeblit_info.
31170 (grub_video_vbe_unmap_color): Likewise.
31171 (grub_video_vbe_blit_glyph): Likewise.
31172 (grub_video_vbe_scroll): Likewise.
31173 (grub_video_vbe_draw_pixel): Removed function.
31174 (grub_video_vbe_get_pixel): Likewise.
31175 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
31176 updated code to use it.
31177 (common_blitter): Added common blitter for render target and bitmap.
31178 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
31179 (grub_video_vbe_blit_render_target): Likewise.
31180
31181 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
31182
31183 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
31184 is in text mode if there is no console control protocol instance
31185 available.
31186
31187 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31188
31189 * include/grub/video.h: Code cleanup.
31190
31191 * include/grub/i386/pc/vbe.h: Likewise.
31192
31193 * video/i386/pc/vbe.c: Likewise.
31194
31195 * video/i386/pc/vbeblit.c: Likewise.
31196
31197 * video/i386/pc/vbefill.c: Likewise.
31198
31199 * video/video.c: Likewise. Also added more comments.
31200
31201 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31202
31203 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
31204 (struct grub_biosdisk_dap): Likewise.
31205
31206 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
31207 linkage settings for all functions.
31208
31209 2006-07-12 Marco Gerards <marco@gnu.org>
31210
31211 * configure.ac (--enable-mm-debug): Fix typo.
31212
31213 * genkernsyms.sh.in: Use proper quoting for `CC'.
31214
31215 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
31216
31217 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
31218 (normal_mod_ASFLAGS): Remove "-m32".
31219
31220 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
31221
31222 * util/misc.c: Include config.h.
31223 [!HAVE_MEMALIGN]: Do not include malloc.h.
31224 (grub_memalign): Use posix_memalign, if present. Then, use
31225 memalign, if present. Otherwise, emit an error.
31226
31227 * util/grub-emu.c: Do not include malloc.h.
31228
31229 * include/grub/util/misc.h: Include unistd.h. This is required for
31230 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
31231 D. Eades III <hde@foobar-qux.org>.
31232
31233 * configure.ac (AC_GNU_SOURCE): Added.
31234 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
31235 type.
31236
31237 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
31238
31239 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
31240 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
31241
31242 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
31243
31244 * include/grub/types.h (grub_host_addr_t): Rename to
31245 grub_target_addr_t.
31246 (grub_host_off_t): Rename to grub_target_off_t.
31247 (grub_host_size_t): Rename to grub_target_size_t.
31248 (grub_host_ssize_t): Rename to grub_target_ssize_t.
31249 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
31250
31251 * include/grub/kernel.h (struct grub_module_header): Change type
31252 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
31253 (grub_module_info): Likewise.
31254
31255 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31256
31257 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
31258 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
31259 Velazquez <jesus.velazquez@gmail.com>.
31260
31261 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31262
31263 Count partitions from 1 instead of 0 in the string representation
31264 of partitions. Still use 0-based internally.
31265
31266 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
31267 (sun_partition_map_iterate): Use grub_partition_t instead of
31268 struct grub_partition *. Cast DESC->START_CYLINDER to
31269 grub_uint64_t after converting the endian.
31270 (sun_partition_map_probe): Subtract 1 for PARTNUM.
31271 (sun_partition_map_get_name): Add 1 to P->INDEX.
31272
31273 * partmap/pc.c (grub_partition_parse): Subtract 1 for
31274 PCDATA->DOS_PART.
31275 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
31276
31277 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
31278 zero instead of one.
31279 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
31280 (gpt_partition_map_get_name): Add 1 into P->INDEX.
31281
31282 * partmap/apple.c (apple_partition_map_iterate): Change the type
31283 of POS to unsigned.
31284 (apple_partition_map_probe): Subtract 1 for PARTNUM.
31285 (apple_partition_map_get_name): Add 1 into P->INDEX.
31286
31287 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
31288 of POS to unsigned.
31289 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
31290 calculate the offset of a partition.
31291 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
31292 (amiga_partition_map_get_name): Add 1 into P->INDEX.
31293
31294 * partmap/acorn.c (acorn_partition_map_find): Change the type of
31295 SECTOR to grub_disk_addr_t.
31296 (acorn_partition_map_iterate): Likewise.
31297 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
31298 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
31299 top.
31300 (acorn_partition_map_get_name): Add 1 into P->INDEX.
31301
31302 * kern/i386/pc/init.c (make_install_device): Add 1 into
31303 GRUB_INSTALL_DOS_PART.
31304
31305 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
31306 conditional.
31307
31308 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31309
31310 Clean up the code to support 64-bit addressing in disks and
31311 files. This change is not enough for filesystems yet.
31312
31313 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
31314 type of "start" to grub_uint64_t.
31315 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
31316 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
31317 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
31318 convert addresses.
31319
31320 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
31321 to grub_disk_addr_t.
31322
31323 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
31324 string.
31325
31326 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31327
31328 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
31329 to char *.
31330
31331 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
31332
31333 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
31334
31335 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
31336
31337 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
31338 to grub_off_t, to detect an error from grub_file_seek.
31339 (grub_multiboot_load_elf32): Likewise.
31340
31341 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
31342 maximum unsigned long value when an overflow is detected.
31343 (grub_strtoull): New function.
31344 (grub_divmod64): Likewise.
31345 (grub_lltoa): use grub_divmod64.
31346
31347 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
31348 grub_disk_addr_t.
31349 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
31350 the pointer to next character. Use grub_strtoull instead of
31351 grub_strtoul.
31352 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31353 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31354 respectively.
31355
31356 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
31357 return value is signed.
31358 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31359 test if OFFSET is less than zero, as OFFSET is unsigned now.
31360
31361 * kern/disk.c (struct grub_disk_cache): Change the type of
31362 "sector" to grub_disk_addr_t.
31363 (grub_disk_cache_get_index): Change the type of SECTOR to
31364 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31365 unsigned after shifting.
31366 (grub_disk_cache_invalidate): Change the type of SECTOR to
31367 grub_disk_addr_t.
31368 (grub_disk_cache_unlock): Likewise.
31369 (grub_disk_cache_store): Likewise.
31370 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31371 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31372 grub_disk_addr_t and grub_uint64_t, respectively.
31373 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31374 body, as the value of OFFSET is tweaked by
31375 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31376 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31377 respectively.
31378 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31379 body, as the value of OFFSET is tweaked by
31380 grub_disk_check_range. Change the types of LEN and N to
31381 grub_size_t.
31382
31383 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31384 and "saved_offset" to grub_off_t.
31385 (test_header): Cast BUF to char *.
31386 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31387 to char *.
31388 (grub_gzio_read): Change the types of OFFSET and SIZE to
31389 grub_off_t and grub_size_t, respectively.
31390
31391 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31392 Removed.
31393 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31394 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31395 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31396 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31397 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31398
31399 * include/grub/types.h (grub_off_t): Unconditionally set to
31400 grub_uint64_t.
31401 (grub_disk_addr_t): Changed to grub_uint64_t.
31402
31403 * include/grub/partition.h (struct grub_partition): Change the
31404 types of "start", "len" and "offset" to grub_disk_addr_t,
31405 grub_uint64_t and grub_disk_addr_t, respectively.
31406 (grub_partition_get_start): Return grub_disk_addr_t.
31407 (grub_partition_get_len): Return grub_uint64_t.
31408
31409 * include/grub/misc.h (grub_strtoull): New prototype.
31410 (grub_divmod64): Likewise.
31411
31412 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31413 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31414 grub_off_t, respectively.
31415 All callers and references changed.
31416
31417 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31418 grub_size_t in "read".
31419 All callers and references changed.
31420
31421 * include/grub/file.h (struct grub_file): Change the types of
31422 "offset" and "size" to grub_off_t and grub_off_t,
31423 respectively. Change the type of SECTOR to grub_disk_addr_t in
31424 "read_hook".
31425 (grub_file_read): Change the type of LEN to grub_size_t.
31426 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31427 grub_off_t.
31428 (grub_file_size): Return grub_off_t.
31429 (grub_file_tell): Likewise.
31430 All callers and references changed.
31431
31432 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31433 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31434 "write".
31435 (struct grub_disk): Change the type of "total_sectors" to
31436 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
31437 "read_hook".
31438 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31439 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31440 (grub_disk_write): Likewise.
31441 All callers and references changed.
31442
31443 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31444 char * for grub_strncmp to silence gcc.
31445 (grub_iso9660_mount): Likewise.
31446 (grub_iso9660_mount): Likewise.
31447 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31448 return statement.
31449 (grub_iso9660_iterate_dir): Likewise.
31450 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31451
31452 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31453 LEN to grub_disk_addr_t and grub_size_t, respectively.
31454
31455 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31456
31457 * fs/jfs.c (grub_jfs_read_file): Likewise.
31458
31459 * fs/minix.c (grub_jfs_read_file): Likewise.
31460
31461 * fs/sfs.c (grub_jfs_read_file): Likewise.
31462
31463 * fs/ufs.c (grub_jfs_read_file): Likewise.
31464
31465 * fs/xfs.c (grub_jfs_read_file): Likewise.
31466
31467 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31468 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31469 respectively.
31470
31471 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31472 BLKNR to -1 instead of returning GRUB_ERRNO.
31473 (grub_ext2_read_file): Change the types of SECTOR and
31474 LEN to grub_disk_addr_t and grub_size_t, respectively.
31475
31476 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31477 LEN to grub_disk_addr_t and grub_size_t, respectively.
31478
31479 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31480 grub_file_read.
31481
31482 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31483 string. Do not cast SECTOR explicitly.
31484
31485 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31486 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31487 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31488 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31489 over 2TB and LBA mode is not supported, raise an error.
31490 (get_safe_sectors): New function.
31491 (grub_biosdisk_read): Use get_safe_sectors.
31492 (grub_biosdisk_write): Likewise.
31493
31494 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31495 (grub_efidisk_write): Likewise.
31496
31497 * disk/loopback.c (delete_loopback): Cosmetic changes.
31498 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31499 correctly.
31500 (grub_loopback_open): Likewise.
31501 (grub_loopback_read): Likewise. Also, change the type of POS to
31502 grub_off_t, and fix the usage of grub_memset.
31503
31504 * commands/i386/pc/play.c: Include grub/machine/time.h.
31505
31506 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31507 print FILE->SIZE.
31508
31509 * commands/configfile.c: Include grub/env.h.
31510
31511 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31512 GRUB_ERRNO directly instead. Change the type of POS to
31513 grub_off_t. Follow the coding standard.
31514
31515 * commands/blocklist.c: Include grub/partition.h.
31516 (grub_cmd_blocklist): Return an error if the underlying device is
31517 not a disk. Take the starting sector of a partition into account,
31518 if a partition is used.
31519
31520 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31521 a length field.
31522 (lba_mode): Support 64-bit addresses.
31523 (chs_mode): Likewise.
31524 (copy_buffer): Adapted to the new offsets of a length field and a
31525 segment field.
31526 (blocklist_default_start): Allocate 64-bit space.
31527
31528 * boot/i386/pc/boot.S (force_lba): Removed.
31529 (boot_drive): Moved to under KERNEL_SECTOR.
31530 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
31531 space.
31532 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31533 is useless.
31534 (lba_mode): Refactored to support a 64-bit address. More size
31535 optimization.
31536 (setup_sectors): Likewise.
31537
31538 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31539
31540 * DISTLIST: Added include/grub/i386/linux.h. Removed
31541 include/grub/i386/pc/linux.h
31542
31543 * configure.ac (AC_INIT): Bumped to 1.94.
31544
31545 * config.guess: Updated from gnulib.
31546 * config.sub: Likewise.
31547 * install-sh: Likewise.
31548 * mkinstalldirs: Likewise.
31549
31550 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31551
31552 * conf/common.rmk (grub_modules_init.lst): Depended on
31553 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31554 MODSRCFILES.
31555
31556 * genmk.rb (PModule::rule): Reverted the previous change.
31557
31558 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31559
31560 * conf/common.rmk (grub_modules_init.lst): Depends on
31561 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31562 that the target does not exist before producing.
31563 (grub_modules_init.h): Remove the target before generating.
31564 (grub_emu_init.c): Likewise.
31565
31566 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31567
31568 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31569
31570 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31571 for the target-specific tests. Make sure that we also have the
31572 up-to-date target variables for those tests.
31573
31574 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31575
31576 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31577 (PModule::rule): Likewise.
31578
31579 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31580
31581 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31582 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31583 target-specific flags should be prefixed.
31584 (PModule::rule): Likewise.
31585
31586 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31587
31588 * configure.ac (CMP): Check if cmp is available explicitly.
31589
31590 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31591
31592 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31593 (target_cpu): New variable.
31594 (pkglibdir): Use target_cpu instead of host_cpu.
31595
31596 * util/i386/pc/grub-install.in (host_cpu): Removed.
31597 (target_cpu): New variable.
31598 (pkglibdir): Use target_cpu instead of host_cpu.
31599
31600 * util/genmoddep.c: Removed.
31601
31602 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31603 instead of GRUB_HOST_SIZEOF_VOID_P.
31604 * kern/dl.c: Likewise.
31605
31606 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31607 ...
31608 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31609 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31610 (GRUB_TARGET_SIZEOF_LONG): ... this.
31611 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31612 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31613 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31614 to ...
31615 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31616 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31617 (GRUB_TARGET_SIZEOF_LONG): ... this.
31618 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31619 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31620 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31621 to ...
31622 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31623 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31624 (GRUB_TARGET_SIZEOF_LONG): ... this.
31625 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31626 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31627
31628 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
31629 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
31630 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
31631 instead of GRUB_HOST_SIZEOF_LONG.
31632 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
31633 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
31634 GRUB_CPU_WORDS_BIGENDIAN.
31635 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
31636 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
31637 grub_host_ssize_t.
31638
31639 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
31640 (genmoddep_SOURCES): Likewise.
31641 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
31642 (genmoddep_SOURCES): Likewise.
31643 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
31644 (genmoddep_SOURCES): Likewise.
31645 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
31646 Likewise.
31647 (genmoddep_SOURCES): Likewise.
31648
31649 * genmoddep.awk: New file.
31650
31651 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
31652 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
31653 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
31654 (PModule::rule): Likewise.
31655 (Program::rule): Likewise.
31656 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
31657 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
31658 respectively.
31659
31660 * configure.ac: Rewritten intensively to use host and target
31661 instead of build and host, respectively.
31662
31663 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
31664 (host_cpu): Removed.
31665 (target_cpu): New variable.
31666 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
31667 (BUILD_CC): Removed.
31668 (BUILD_CFLAGS): Likewise.
31669 (BUILD_CPPFLAGS): Likewise.
31670 (TARGET_CC): New variable.
31671 (TARGET_CFLAGS): Likewise.
31672 (TARGET_CPPFLAGS): Likewise.
31673 (TARGET_LDFLAGS): Likewise.
31674 (AWK): Likewise.
31675 (include): Use target_cpu instead of host_cpu.
31676 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
31677
31678 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
31679
31680 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
31681
31682 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
31683 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
31684 field 'false' to 'exec_on_false'.
31685 (grub_script_create_cmdif): Renamed argument names to reflect above
31686 changes.
31687
31688 * normal/execute.c (grub_script_execute_cmdif): Likewise.
31689
31690 * normal/script.c (grub_script_create_cmdif): Likewise.
31691
31692 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
31693
31694 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
31695 top.
31696 (grub_hfsplus_btree_recptr): Likewise.
31697 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
31698 FILEBLOCK both to pass a block number and store next block
31699 number.
31700 (grub_hfsplus_read_block): Rewritten heavily to support an extent
31701 overflow file correctly. Specify errors appropriately, because
31702 fshelp expects that GRUB_ERRNO is set when fails. Reuse
31703 grub_hfsplus_btree_recptr to get the pointer to a found key.
31704 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
31705 is found.
31706
31707 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
31708 linux.mod.
31709 (_linux_mod_SOURCES): New variable.
31710 (_linux_mod_CFLAGS): Likewise.
31711 (_linux_mod_LDFLAGS): Likewise.
31712 (linux_mod_SOURCES): Likewise.
31713 (linux_mod_CFLAGS): Likewise.
31714 (linux_mod_LDFLAGS): Likewise.
31715
31716 * DISTLIST: Added loader/i386/efi/linux.c,
31717 loader/i386/efi/linux_normal.c and
31718 include/grub/i386/efi/loader.h.
31719
31720 * loader/i386/efi/linux.c: New file.
31721 * loader/i386/efi/linux_normal.c: Likewise.
31722 * include/grub/i386/efi/loader.h: Likewise.
31723
31724 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
31725
31726 * commands/blocklist.c: New file.
31727
31728 * DISTLIST: Added commands/blocklist.c.
31729
31730 * term/efi/console.c (grub_console_highlight_color): Use a lighter
31731 color for the background, and a darker color for the foreground.
31732 (grub_console_checkkey): Return READ_KEY.
31733 (grub_console_cls): Set the background to
31734 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
31735
31736 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
31737
31738 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
31739 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
31740
31741 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
31742 prototype.
31743
31744 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
31745 BG. The spec is wrong again.
31746
31747 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
31748 prototype.
31749 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
31750
31751 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31752 commands/blocklist.c.
31753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31754
31755 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
31756 (blocklist_mod_SOURCES): New variable.
31757 (blocklist_mod_CFLAGS): Likewise.
31758 (blocklist_mod_LDFLAGS): Likewise.
31759
31760 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
31761
31762 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
31763 duplication.
31764 (lba_mode): Use %eax more intensively to reduce the code size.
31765
31766 2006-05-20 Marco Gerards <marco@gnu.org>
31767
31768 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
31769
31770 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
31771 for `menuentry'.
31772 (script): Accept leading newlines.
31773 (newlines): New rule to describe 0 or more newlines.
31774 (commands): Accept `command' with trailing newline. Fixed the
31775 order in which arguments were passed to `grub_script_add_cmd'.
31776 Accept commands separated by newlines.
31777 (function): Changed to accept newlines.
31778 (menuentry) Rewritten.
31779
31780 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
31781 front of the list, instead of to the end.
31782
31783 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
31784
31785 * util/i386/pc/grub-install.in (bindir): New variable.
31786 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
31787 Shaver <lbgwjl@gmail.com>.
31788
31789 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
31790
31791 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
31792 grub/machine/linux.h
31793 * loader/i386/pc/linux.c: Likewise.
31794
31795 * include/grub/i386/pc/linux.h: Moved to ...
31796 * include/grub/i386/linux.h: ... here.
31797
31798 * include/grub/i386/linux.h (struct linux_kernel_params): New
31799 struct.
31800
31801 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
31802
31803 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
31804 checking.
31805 (grub_video_vbe_blit_glyph): Likewise.
31806 (grub_video_vbe_blit_bitmap): Likewise.
31807 (grub_video_vbe_blit_render_target): Likewise.
31808
31809 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
31810
31811 * configure.ac (--with-platform): Properly quote the square
31812 brackets.
31813
31814 2006-05-08 Marco Gerards <marco@gnu.org>
31815
31816 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
31817 this...
31818 (kernel_elf_HEADERS): ...to this. Updated all users.
31819 (grubof_symlist.c): Renamed from this...
31820 (kernel_elf_symlist.c): ...to this. Updated all users.
31821 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31822 (grubof_SOURCES): Renamed from this...
31823 (kernel_elf_SOURCES): ...to this.
31824 (grubof_HEADERS): Renamed from this...
31825 (kernel_elf_HEADERS): ...to this.
31826 (grubof_CFLAGS): Renamed from this...
31827 (kernel_elf_CFLAGS): ...to this.
31828 (grubof_ASFLAGS): Renamed from this...
31829 (kernel_elf_ASFLAGS): ...to this.
31830 (grubof_LDFLAGS): Renamed from this...
31831 (kernel_elf_LDFLAGS): ...to this.
31832
31833 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
31834 this...
31835 (kernel_elf_HEADERS): ...to this. Updated all users.
31836 (grubof_symlist.c): Renamed from this...
31837 (kernel_elf_symlist.c): ...to this. Updated all users.
31838 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31839 (grubof_SOURCES): Renamed from this...
31840 (kernel_elf_SOURCES): ...to this.
31841 (grubof_HEADERS): Renamed from this...
31842 (kernel_elf_HEADERS): ...to this.
31843 (grubof_CFLAGS): Renamed from this...
31844 (kernel_elf_CFLAGS): ...to this.
31845 (grubof_ASFLAGS): Renamed from this...
31846 (kernel_elf_ASFLAGS): ...to this.
31847 (grubof_LDFLAGS): Renamed from this...
31848 (kernel_elf_LDFLAGS): ...to this.
31849
31850 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
31851 `kernel.elf' instead of `grubof'.
31852
31853 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
31854
31855 Add --with-platform to configure. Use pkglibdir instead of
31856 pkgdatadir. This is reported by Roger Leigh.
31857
31858 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
31859 (host_vendor): Likewise.
31860 (host_os): Likewise.
31861 (pkgdatadir): Likewise.
31862 (platform): New variable.
31863 (pkglibdir): Likewise.
31864 Use PKGLIBDIR instead of PKGDATADIR.
31865
31866 * util/i386/pc/grub-install.in (datadir): Removed.
31867 (host_vendor): Likewise.
31868 (host_os): Likewise.
31869 (pkgdatadir): Likewise.
31870 (platform): New variable.
31871 (pkglibdir): Likewise.
31872 Use PKGLIBDIR instead of PKGDATADIR.
31873
31874 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
31875 instead of GRUB_DATADIR.
31876 (main): Likewise.
31877 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31878 (main): Likewise.
31879 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31880 (main): Likewise.
31881
31882 * configure.ac (--with-platform): New option.
31883 Use PLATFORM instead of HOST_VENDOR to specify a platform.
31884
31885 * Makefile.in: Include a makefile based on PLATFORM instead of
31886 HOST_VENDOR.
31887 (pkgdatadir): Not appended by the machine type.
31888 (pkglibdir): Appended by the machine type.
31889 (host_vendor): Removed.
31890 (platform): New variable.
31891 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
31892 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
31893 (uninstall): Likewise.
31894
31895 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
31896
31897 Use the environment context in the menu. Remove the commands
31898 "default" and "timeout", and use variables instead.
31899
31900 * normal/menu.c: Include grub/env.h.
31901 (print_entry): Cast TITLE to silence gcc.
31902 (get_timeout): New function.
31903 (set_timeout): Likewise.
31904 (get_entry_number): Likewise.
31905 (run_menu): Use a default entry, a fallback entry and a timeout
31906 in the environment variables "default", "fallback" and
31907 "timeout". Also, tweak the default entry if it is not within the
31908 current menu entries.
31909 (grub_menu_run): Use a fallback entry in the environment variable
31910 "fallback".
31911
31912 * normal/main.c (read_config_file): Do not initialize
31913 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
31914 NEWMENU->TIMEOUT.
31915 (grub_normal_execute): Use a data slot to store the menu.
31916
31917 * include/grub/normal.h (struct grub_menu): Removed default_entry,
31918 fallback_entry and timeout.
31919 (struct grub_menu_list): Removed.
31920 (grub_menu_list_t): Likewise.
31921 (struct grub_context): Likewise.
31922 (grub_context_t): Likewise.
31923 (grub_context_get): Likewise.
31924 (grub_context_get_current_menu): Likewise.
31925 (grub_context_push_menu): Likewise.
31926 (grub_context_pop_menu): Likewise.
31927 (grub_default_init): Likewise.
31928 (grub_default_fini): Likewise.
31929 (grub_timeout_init): Likewise.
31930 (grub_timeout_fini): Likewise.
31931
31932 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
31933 and timeout.mod.
31934 (normal_mod_SOURCES): Removed normal/context.c.
31935
31936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
31937 commands/default.c, commands/timeout.c and normal/context.c.
31938 (normal_mod_SOURCES): Removed normal/context.c.
31939
31940 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
31941 commands/timeout.c and normal/context.c.
31942 (normal_mod_SOURCES): Removed normal/context.c.
31943
31944 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
31945 commands/default.c, commands/timeout.c and normal/context.c.
31946 (normal_mod_SOURCES): Removed normal/context.c.
31947
31948 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
31949 timeout.mod.
31950 (default_mod_SOURCES): Removed.
31951 (default_mod_CFLAGS): Likewise.
31952 (default_mod_LDFLAGS): Likewise.
31953 (timeout_mod_SOURCES): Removed.
31954 (timeout_mod_CFLAGS): Likewise.
31955 (timeout_mod_LDFLAGS): Likewise.
31956
31957 * DISTLIST: Removed commands/default.c, commands/timeout.c and
31958 normal/context.c.
31959
31960 * commands/default.c: Removed.
31961 * commands/timeout.c: Likewise.
31962 * normal/context.c: Likewise.
31963
31964 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
31965
31966 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
31967
31968 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
31969
31970 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
31971 "next" to "prev" for readability.
31972 (struct grub_env_sorted_var): New struct.
31973 (grub_env_context): Renamed to ...
31974 (initial_context): ... this.
31975 (grub_env_var_context): Renamed to ...
31976 (current_context): ... this.
31977 (grub_env_find): Look only at CURRENT_CONTEXT.
31978 (grub_env_context_open): Rewritten to copy exported variables from
31979 previous context.
31980 (grub_env_context_close): Rewritten according to the new
31981 scheme. Also, add an assertion to prevent the initial context from
31982 removed.
31983 (grub_env_insert): Removed the code for the sorted list.
31984 (grub_env_remove): Likewise.
31985 (grub_env_export): Simply mark the variable with
31986 GRUB_ENV_VAR_GLOBAL.
31987 (grub_env_set): A cosmetic change for naming consistency.
31988 (grub_env_get): Likewise.
31989 (grub_env_unset): Likewise.
31990 (grub_env_iterate): Rewritten to sort variables within this
31991 function.
31992 (grub_register_variable_hook): Fixed for naming consistency. Call
31993 grub_env_find again, only if NAME is not found at the first time.
31994 (mangle_data_slot_name): New function.
31995 (grub_env_set_data_slot): Likewise.
31996 (grub_env_get_data_slot): Likewise.
31997 (grub_env_unset_data_slot): Likewise.
31998
31999 * include/grub/env.h (grub_env_var_type): New enum.
32000 (GRUB_ENV_VAR_LOCAL): New constant.
32001 (GRUB_ENV_VAR_GLOBAL): Likewise.
32002 (GRUB_ENV_VAR_DATA): Likewise.
32003 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
32004 "type".
32005 (grub_env_set): Replace VAR with NAME for consistency.
32006 (grub_register_variable_hook): Likewise.
32007 (grub_env_export): Specify the name of the argument.
32008 (grub_env_set_data_slot): New prototype.
32009 (grub_env_get_data_slot): Likewise.
32010 (grub_env_unset_data_slot): Likewise.
32011
32012 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32013
32014 Extend the loader so that GRUB can accept a loader which comes
32015 back to GRUB when a loaded image exits. Also, this change adds
32016 support for a chainloader on EFI.
32017
32018 * term/efi/console.c: Include grub/misc.h.
32019 (grub_console_checkkey): Display a scan code on the top for
32020 debugging. This will be removed once the EFI port gets stable.
32021 Correct the scan code mapping.
32022
32023 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
32024 allocate memory from larger regions, in order to reduce the number
32025 of allocated regions. Otherwise, the MacOSX loader panics.
32026 (filter_memory_map): Avoid less than 1MB for compatibility with
32027 other loaders.
32028 (add_memory_regions): Allocate from the tail of a region, if
32029 possible, to avoid allocating a region near to 1MB, for the MacOSX
32030 loader.
32031
32032 * kern/efi/init.c (grub_efi_set_prefix): Specify
32033 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
32034
32035 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
32036 argument IMAGE_HANDLE and specify it to get a loaded image.
32037 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
32038 grub_efi_get_loaded_image.
32039 (grub_efi_get_filename): Divide the length by the size of
32040 grub_efi_char16_t.
32041 (grub_efi_get_device_path): New function.
32042 (grub_efi_print_device_path): Print End Device Path nodes. Divide
32043 the length by the size of grub_efi_char16_t for a file path device
32044 path node.
32045
32046 * kern/loader.c (grub_loader_noreturn): New variable.
32047 (grub_loader_set): Accept a new argument NORETURN. Set
32048 GRUB_LOADER_NORETURN to NORETURN.
32049 All callers changed.
32050 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
32051 grub_machine_fini.
32052
32053 * include/grub/efi/efi.h (grub_efi_get_device_path): New
32054 prototype.
32055 (grub_efi_get_loaded_image): Take an argument to specify an image
32056 handle.
32057
32058 * include/grub/loader.h (grub_loader_set): Added one more argument
32059 NORETURN.
32060
32061 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
32062 instead of grub_efi_open_protocol.
32063 (grub_efidisk_get_device_name): Likewise.
32064 (grub_efidisk_close): Print a newline.
32065 (grub_efidisk_get_device_handle): Fixed to use
32066 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
32067 GRUB_EFI_DEVICE_PATH_TYPE.
32068
32069 * disk/efi/efidisk.c (device_path_guid): Moved to ...
32070 * kern/efi/efi.c (device_path_guid): ... here.
32071
32072 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
32073 chain.mod.
32074 (kernel_mod_HEADERS): Added efi/disk.h.
32075 (_chain_mod_SOURCES): New variable.
32076 (_chain_mod_CFLAGS): Likewise.
32077 (_chain_mod_LDFLAGS): Likewise.
32078 (chain_mod_SOURCES): Likewise.
32079 (chain_mod_CFLAGS): Likewise.
32080 (chain_mod_LDFLAGS): Likewise.
32081
32082 * DISTLIST: Added include/grub/efi/chainloader.h,
32083 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
32084
32085 * include/grub/efi/chainloader.h: New file.
32086 * loader/efi/chainloader.c: Likewise.
32087 * loader/efi/chainloader_normal.c: Likewise.
32088
32089 2006-04-30 Marco Gerards <marco@gnu.org>
32090
32091 * commands/configfile.c (grub_cmd_source): New function.
32092 (GRUB_MOD_INIT): Register the commands `source' and `.'.
32093 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
32094
32095 2006-04-30 Marco Gerards <marco@gnu.org>
32096
32097 * normal/execute.c (grub_script_execute_cmd): Change the return
32098 type to `grub_err_t'. Correctly return the error.
32099 (grub_script_execute_cmdline): In case a command line is not a
32100 command or a function, try to interpret it as an assignment.
32101
32102 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32103
32104 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
32105 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
32106 skip a node whose name is obviously invalid as UTF-16,
32107 i.e. contains a NUL character. Stop the iteration when the last
32108 directory entry is found. Instead of using the return value of
32109 grub_hfsplus_btree_iterate_node, store the value in RET and use
32110 it, because the iterator can be stopped by the last directory
32111 entry.
32112
32113 2006-04-30 Marco Gerards <marco@gnu.org>
32114
32115 * include/grub/env.h (grub_env_export): New prototype. Reported
32116 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
32117
32118 2006-04-30 Marco Gerards <marco@gnu.org>
32119
32120 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
32121 size of the extents in a catalog file record.
32122
32123 2006-04-29 Marco Gerards <marco@gnu.org>
32124
32125 * commands/configfile.c (grub_cmd_configfile): Execute the
32126 configfile within its own context.
32127
32128 * include/grub/env.h (grub_env_context_open): New prototype.
32129 (grub_env_context_close): Likewise.
32130
32131 * kern/env.c (grub_env): Removed.
32132 (grub_env_sorted): Likewise.
32133 (grub_env_context): New variable.
32134 (grub_env_var_context): Likewise.
32135 (grub_env_find): Search both the active context and the global
32136 context.
32137 (grub_env_context_open): New function.
32138 (grub_env_context_close): Likewise.
32139 (grub_env_insert): Likewise.
32140 (grub_env_remove): Likewise.
32141 (grub_env_export): Likewise.
32142 (grub_env_set): Changed to use helper functions to avoid code
32143 duplication.
32144 (grub_env_iterate): Rewritten so both the current context and the
32145 global context are being used.
32146
32147 * normal/command.c (export_command): New function.
32148 (grub_command_init): Register the `export' function.
32149
32150 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
32151
32152 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
32153 explicitly to suppress gcc's warnings.
32154 * fs/fat.c (grub_fat_find_dir): Likewise.
32155 (grub_fat_label): Likewise.
32156 * fs/xfs.c (grub_xfs_read_inode): Likewise.
32157 (grub_xfs_mount): Likewise.
32158 (grub_xfs_label): Likewise.
32159 * fs/affs.c (grub_affs_mount): Likewise.
32160 (grub_affs_label): Likewise.
32161 (grub_affs_iterate_dir): Likewise.
32162 * fs/sfs.c (grub_sfs_mount): Likewise.
32163 (grub_sfs_iterate_dir): Likewise.
32164 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
32165 * fs/hfs.c (grub_hfs_mount): Likewise.
32166 (grub_hfs_cmp_catkeys): Likewise.
32167 (grub_hfs_find_dir): Likewise.
32168 (grub_hfs_dir): Likewise.
32169 (grub_hfs_label): Likewise.
32170 * fs/jfs.c (grub_jfs_mount): Likewise.
32171 (grub_jfs_opendir): Likewise.
32172 (grub_jfs_getent): Likewise.
32173 (grub_jfs_lookup_symlink): Likewise.
32174 (grub_jfs_label): Likewise.
32175 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
32176 (grub_hfsplus_iterate_dir): Likewise.
32177 (grub_hfsplus_btree_iterate_node): Made static.
32178
32179 * util/grub-emu.c (prefix): New variable.
32180 (grub_machine_set_prefix): New function.
32181 (main): Do not set the environment variable "prefix" here. Only
32182 set PREFIX, which is used later by grub_machine_set_prefix.
32183
32184 * include/grub/video.h: Do not include grub/symbol.h.
32185 (grub_video_register): Not exported. This symbol is not defined in
32186 the kernel.
32187 (grub_video_unregister): Likewise.
32188 (grub_video_iterate): Likewise.
32189 (grub_video_setup): Likewise.
32190 (grub_video_restore): Likewise.
32191 (grub_video_get_info): Likewise.
32192 (grub_video_get_blit_format): Likewise.
32193 (grub_video_set_palette): Likewise.
32194 (grub_video_get_palette): Likewise.
32195 (grub_video_set_viewport): Likewise.
32196 (grub_video_get_viewport): Likewise.
32197 (grub_video_map_color): Likewise.
32198 (grub_video_map_rgb): Likewise.
32199 (grub_video_map_rgba): Likewise.
32200 (grub_video_fill_rect): Likewise.
32201 (grub_video_blit_glyph): Likewise.
32202 (grub_video_blit_bitmap): Likewise.
32203 (grub_video_blit_render_target): Likewise.
32204 (grub_video_scroll): Likewise.
32205 (grub_video_swap_buffers): Likewise.
32206 (grub_video_create_render_target): Likewise.
32207 (grub_video_delete_render_target): Likewise.
32208 (grub_video_set_active_render_target): Likewise.
32209
32210 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
32211 Undefined.
32212 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
32213
32214 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
32215 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32216 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32217 instead of $(srcdir)/genkernsyms.sh.
32218
32219 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
32220 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32221 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32222 instead of $(srcdir)/genkernsyms.sh.
32223
32224 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
32225 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32226 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32227 instead of $(srcdir)/genkernsyms.sh.
32228
32229 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
32230 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32231 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32232 instead of $(srcdir)/genkernsyms.sh.
32233
32234 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
32235 genkernsyms.sh.
32236
32237 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
32238 genkernsyms.sh.
32239 (gensymlist.sh): New target.
32240 (genkernsyms.sh): Likewise.
32241
32242 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
32243 genkernsyms.sh.in and gensymlist.sh.in.
32244
32245 * genkernsyms.sh: Removed.
32246 * gensymlist.sh: Likewise.
32247
32248 * genkernsyms.sh.in: New file.
32249 * gensymlist.sh.in: Likewise.
32250
32251 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32252
32253 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
32254 clobber "prefix", since we may have already set it manually.
32255
32256 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32257
32258 * kern/misc.c (abort): New alias for grub_abort.
32259
32260 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
32261
32262 A new machine-specific function "grub_machine_set_prefix" is
32263 defined. This is called after loading modules, so that a prefix
32264 initialization can use modules. Also, this change adds an
32265 intensive debugging feature for the memory manager via the
32266 configure option "--enable-mm-debug".
32267
32268 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
32269 PART.LEN.
32270
32271 * kern/sparc64/ieee1275/init.c (abort): Removed.
32272 (grub_stop): Likewise.
32273 (grub_exit): New function.
32274 (grub_set_prefix): Renamed to ...
32275 (grub_machine_set_prefix): ... this.
32276 (grub_machine_init): Do not call grub_set_prefix.
32277
32278 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
32279 (grub_machine_set_prefix): ... this.
32280 (grub_machine_init): Do not call grub_set_prefix.
32281
32282 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
32283 (grub_machine_init): Do not set the prefix here.
32284
32285 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
32286
32287 * kern/efi/init.c: Include grub/mm.h.
32288 (grub_efi_set_prefix): New function.
32289
32290 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
32291 (grub_efi_get_filename): New function.
32292 (grub_print_device_path): Renamed to ...
32293 (grub_efi_print_device_path): ... this.
32294
32295 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
32296 [MM_DEBUG] (grub_realloc): Likewise.
32297 [MM_DEBUG] (grub_free): Likewise.
32298 [MM_DEBUG] (grub_memalign): Likewise.
32299 [MM_DEBUG] (grub_mm_debug): New variable.
32300 [MM_DEBUG] (grub_debug_malloc): New function.
32301 [MM_DEBUG] (grub_debug_free): New function.
32302 [MM_DEBUG] (grub_debug_realloc): New function.
32303 [MM_DEBUG] (grub_debug_memalign): New function.
32304
32305 * kern/misc.c (grub_abort): Print a newline to distinguish
32306 the message.
32307
32308 * kern/main.c (grub_main): Call grub_machine_set_prefix and
32309 grub_set_root_dev after loading modules. This is necessary when
32310 setting a prefix depends on modules.
32311
32312 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
32313 (grub_efi_print_device_path): ... this.
32314 (grub_efi_get_filename): New prototype.
32315 (grub_efi_set_prefix): Likewise.
32316
32317 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
32318 and grub/disk.h.
32319 (grub_efidisk_get_device_handle): New prototype.
32320 (grub_efidisk_get_device_name): Likewise.
32321
32322 * include/grub/mm.h: Include config.h.
32323 (MM_DEBUG): Removed.
32324 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
32325 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
32326 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
32327 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
32328 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
32329 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
32330 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
32331 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
32332 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
32333
32334 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
32335
32336 * disk/efi/efidisk.c: Include grub/partition.h.
32337 (iterate_child_devices): New function.
32338 (add_device): First, compare only last device path nodes, so that
32339 devices are sorted by the types.
32340 (grub_efidisk_get_device_handle): New function.
32341 (grub_efidisk_get_device_name): Likewise.
32342
32343 * configure.ac (--enable-mm-debug): New option to enable the
32344 memory manager debugging feature. This makes the binary much
32345 bigger, so is disabled by default.
32346
32347 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
32348
32349 Use grub_abort instead of grub_stop, and grub_exit must be
32350 define in each architecture now. Also, this change adds support
32351 for EFI disks.
32352
32353 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32354 (grub_getkey): New function.
32355 (grub_term_get_current): Likewise.
32356
32357 * util/i386/pc/grub-setup.c: Include grub/term.h.
32358 (grub_getkey): New function.
32359 (grub_term_get_current): Likewise.
32360
32361 * util/misc.c (grub_stop): Renamed to ...
32362 (grub_exit): ... this.
32363
32364 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32365 (grub_exit): ... this.
32366 (grub_machine_init): Use grub_abort instead of abort.
32367 (grub_stop): Removed.
32368
32369 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32370 abort.
32371
32372 * kern/i386/pc/startup.S (grub_exit): New function.
32373 (cold_reboot): New label.
32374
32375 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32376 (grub_efi_init): Call grub_efidisk_init.
32377 (grub_efi_fini): Call grub_efidisk_fini.
32378
32379 * kern/efi/efi.c: Include grub/mm.h.
32380 (grub_efi_console_control_guid): Renamed to ...
32381 (console_control_guid): ... this.
32382 (grub_efi_loaded_image_guid): Renamed to ...
32383 (loaded_image_guid): ... this.
32384 (grub_efi_locate_handle): New function.
32385 (grub_efi_open_protocol): Likewise.
32386 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32387 GRUB_EFI_CONSOLE_CONTROL_GUID.
32388 (grub_efi_exit): Removed.
32389 (grub_stop): Likewise.
32390 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32391 (grub_exit): New function.
32392 (grub_print_device_path): Likewise.
32393
32394 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32395 (grub_enter_rescue_mode): Register "exit".
32396
32397 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32398 (grub_abort): New function.
32399
32400 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32401
32402 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32403
32404 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32405
32406 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32407 (grub_print_device_path): New prototype.
32408 (grub_efi_locate_handle): Likewise.
32409 (grub_efi_open_protocol): Likewise.
32410
32411 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32412 * disk/efi/efidisk.c: Likewise.
32413
32414 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32415
32416 * include/grub/efi/console_control.h
32417 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32418
32419 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32420 last 8 bytes as an array.
32421 (GRUB_EFI_DISK_IO_GUID): New macro.
32422 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32423 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32424 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32425 grub_uint8_t.
32426 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32427 (struct grub_efi_device_path): Rename the member "sub_type" to
32428 "subtype".
32429 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32430 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32431 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32432 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32433 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32434 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32435 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32436 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32437 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32438 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32439 (struct grub_efi_pci_device_path): New structure.
32440 (grub_efi_pci_device_path_t): New type.
32441 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32442 (struct grub_efi_pccard_device_path): New structure.
32443 (grub_efi_pccard_device_path_t): New type.
32444 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32445 (struct grub_efi_memory_mapped_device_path): New structure.
32446 (grub_efi_memory_mapped_device_path_t): New type.
32447 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32448 (struct grub_efi_vendor_device_path): New structure.
32449 (grub_efi_vendor_device_path_t): New type.
32450 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32451 (struct grub_efi_controller_device_path): New structure.
32452 (grub_efi_controller_device_path_t): New type.
32453 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32454 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32455 (struct grub_efi_acpi_device_path): New structure.
32456 (grub_efi_acpi_device_path_t): New type.
32457 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32458 (struct grub_efi_expanded_acpi_device_path): New structure.
32459 (grub_efi_expanded_acpi_device_path_t): New type.
32460 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32461 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32462 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32463 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32464 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32465 (struct grub_efi_atapi_device_path): New structure.
32466 (grub_efi_atapi_device_path_t): New type.
32467 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32468 (struct grub_efi_fibre_channel_device_path): New structure.
32469 (grub_efi_fibre_channel_device_path_t): New type.
32470 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32471 (struct grub_efi_1394_device_path): New structure.
32472 (grub_efi_1394_device_path_t): New type.
32473 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32474 (struct grub_efi_usb_device_path): New structure.
32475 (grub_efi_usb_device_path_t): New type.
32476 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32477 (struct grub_efi_usb_class_device_path): New structure.
32478 (grub_efi_usb_class_device_path_t): New type.
32479 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32480 (struct grub_efi_i2o_device_path): New structure.
32481 (grub_efi_i2o_device_path_t): New type.
32482 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32483 (struct grub_efi_mac_address_device_path): New structure.
32484 (grub_efi_mac_address_device_path_t): New type.
32485 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32486 (struct grub_efi_ipv4_device_path): New structure.
32487 (grub_efi_ipv4_device_path_t): New type.
32488 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32489 (struct grub_efi_ipv6_device_path): New structure.
32490 (grub_efi_ipv6_device_path_t): New type.
32491 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32492 (struct grub_efi_infiniband_device_path): New structure.
32493 (grub_efi_infiniband_device_path_t): New type.
32494 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32495 (struct grub_efi_uart_device_path): New structure.
32496 (grub_efi_uart_device_path_t): New type.
32497 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32498 (struct grub_efi_vendor_messaging_device_path): New structure.
32499 (grub_efi_vendor_messaging_device_path_t): New type.
32500 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32501 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32502 (struct grub_efi_hard_drive_device_path): New structure.
32503 (grub_efi_hard_drive_device_path_t): New type.
32504 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32505 (struct grub_efi_cdrom_device_path): New structure.
32506 (grub_efi_cdrom_device_path_t): New type.
32507 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32508 (struct grub_efi_vendor_media_device_path): New structure.
32509 (grub_efi_vendor_media_device_path_t): New type.
32510 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32511 (struct grub_efi_file_path_device_path): New structure.
32512 (grub_efi_file_path_device_path_t): New type.
32513 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32514 (struct grub_efi_protocol_device_path): New structure.
32515 (grub_efi_protocol_device_path_t): New type.
32516 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32517 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32518 (struct grub_efi_bios_device_path): New structure.
32519 (grub_efi_bios_device_path_t): New type.
32520 (struct grub_efi_disk_io): New structure.
32521 (grub_efi_disk_io_t): New type.
32522 (struct grub_efi_block_io_media): New structure.
32523 (grub_efi_block_io_media_t): New type.
32524 (struct grub_efi_block_io): New structure.
32525 (grub_efi_block_io_t): New type.
32526
32527 * include/grub/misc.h (grub_stop): Removed.
32528 (grub_exit): New prototype.
32529 (grub_abort): Likewise.
32530
32531 * include/grub/disk.h (enum grub_disk_dev_id): Added
32532 GRUB_DISK_DEVICE_EFIDISK_ID.
32533
32534 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32535 disk/efi/efidisk.c.
32536 (kernel_syms.lst): Remove the target if an error occurs.
32537
32538 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32539
32540 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32541 as it was simply too buggy.
32542
32543 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32544
32545 * kern/misc.c (grub_lltoa): New function.
32546 (grub_vsprintf): Added support for the long long suffix,
32547 i.e. "ll".
32548
32549 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32550
32551 * Makefile.in (LDFLAGS): Add variable.
32552 (LD): Remove variable.
32553 * configure.ac: Add -m32 to LDFLAGS.
32554 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32555 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32556 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32557 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32558 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32559 variables.
32560 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32561 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32562 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32563
32564 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32565
32566 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32567 length for unknown glyph.
32568
32569 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32570
32571 Add support for pre-loaded modules into the EFI port.
32572
32573 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32574 completely. Accept one more argument DIR. The caller has changed.
32575
32576 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32577
32578 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32579 (grub_efi_loaded_image_guid): New variable.
32580 (grub_efi_get_loaded_image): New function.
32581 (grub_arch_modules_addr): Likewise.
32582
32583 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32584 prototype.
32585
32586 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32587 (struct grub_efi_loaded_image): New structure.
32588 (grub_efi_loaded_image_t): New type.
32589
32590 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32591
32592 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32593 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32594 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32595
32596 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32597
32598 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32599
32600 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32601
32602 * DISTLIST: Added include/grub/efi/console.h,
32603 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32604 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32605
32606 * include/grub/efi/console.h: New file.
32607 * include/grub/efi/time.h: Likewise.
32608 * include/grub/i386/efi/kernel.h: Likewise.
32609 * kern/efi/init.c: Likewise.
32610 * kern/efi/mm.c: Likewise.
32611 * term/efi/console.c: Likewise.
32612
32613 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32614 (grub_stop): Removed.
32615 (grub_get_rtc): Likewise.
32616 (grub_machine_init): Simply call grub_efi_init.
32617 (grub_machine_fini): Call grub_efi_fini.
32618
32619 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
32620 (grub_efi_output_string): Removed.
32621 (grub_efi_stall): New function.
32622 (grub_stop): Likewise.
32623 (grub_get_rtc): Likewise.
32624
32625 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
32626 (grub_efi_stall): New prototype.
32627 (grub_efi_allocate_pages): Likewise.
32628 (grub_efi_free_pages): Likewise.
32629 (grub_efi_get_memory_map): Likewise.
32630 (grub_efi_mm_init): Likewise.
32631 (grub_efi_mm_fini): Likewise.
32632 (grub_efi_init): Likewise.
32633 (grub_efi_fini): Likewise.
32634
32635 * include/grub/i386/efi/time.h: Do not include
32636 grub/symbol.h. Include grub/efi/time.h.
32637 (GRUB_TICKS_PER_SECOND): Removed.
32638 (grub_get_rtc): Likewise.
32639
32640 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
32641 Added padding. The EFI spec is buggy.
32642 (GRUB_EFI_BLACK): New macro.
32643 (GRUB_EFI_BLUE): Likewise.
32644 (GRUB_EFI_GREEN): Likewise.
32645 (GRUB_EFI_CYAN): Likewise.
32646 (GRUB_EFI_RED): Likewise.
32647 (GRUB_EFI_MAGENTA): Likewise.
32648 (GRUB_EFI_BROWN): Likewise.
32649 (GRUB_EFI_LIGHTGRAY): Likewise.
32650 (GRUB_EFI_BRIGHT): Likewise.
32651 (GRUB_EFI_DARKGRAY): Likewise.
32652 (GRUB_EFI_LIGHTBLUE): Likewise.
32653 (GRUB_EFI_LIGHTGREEN): Likewise.
32654 (GRUB_EFI_LIGHTCYAN): Likewise.
32655 (GRUB_EFI_LIGHTRED): Likewise.
32656 (GRUB_EFI_LIGHTMAGENTA): Likewise.
32657 (GRUB_EFI_YELLOW): Likewise.
32658 (GRUB_EFI_WHITE): Likewise.
32659 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
32660 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
32661 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
32662 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
32663 (GRUB_EFI_BACKGROUND_RED): Likewise.
32664 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
32665 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
32666 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
32667 (GRUB_EFI_TEXT_ATTR): Likewise.
32668
32669 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
32670 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32671 (kernel_mod_HEADERS): Added efi/time.h.
32672
32673 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
32674
32675 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
32676 include/grub/efi/api.h, include/grub/efi/console_control.h,
32677 include/grub/efi/efi.h, include/grub/efi/pe32.h,
32678 include/grub/i386/efi/time.h, kern/efi/efi.c,
32679 kern/i386/efi/init.c, kern/i386/efi/startup.S,
32680 and util/i386/efi/grub-mkimage.c.
32681
32682 * Makefile.in (RMKFILES): Added i386-efi.rmk.
32683
32684 * genmk.rb (PModule#rule): Do not export symbols if
32685 #{prefix}_EXPORTS is set to "no".
32686
32687 * conf/i386-efi.mk: New file.
32688 * conf/i386-efi.rmk: Likewise.
32689 * include/grub/efi/api.h: Likewise.
32690 * include/grub/efi/console_control.h: Likewise.
32691 * include/grub/efi/efi.h: Likewise.
32692 * include/grub/efi/pe32.h: Likewise.
32693 * include/grub/i386/efi/time.h: Likewise.
32694 * kern/efi/efi.c: Likewise.
32695 * kern/i386/efi/init.c: Likewise.
32696 * kern/i386/efi/startup.S: Likewise.
32697 * util/i386/efi/grub-mkimage.c: Likewise.
32698
32699 2006-04-17 Marco Gerards <marco@gnu.org>
32700
32701 * include/grub/script.h: Include <grub/parser.h> and
32702 "grub_script.tab.h".
32703 (struct grub_lexer_param): New struct.
32704 (struct grub_parser_param): Likewise.
32705 (grub_script_create_arglist): Pass the state in an argument.
32706 (grub_script_add_arglist): Likewise.
32707 (grub_script_create_cmdline): Likewise.
32708 (grub_script_create_cmdblock): Likewise.
32709 (grub_script_create_cmdif): Likewise.
32710 (grub_script_create_cmdmenu): Likewise.
32711 (grub_script_add_cmd): Likewise.
32712 (grub_script_arg_add): Likewise.
32713 (grub_script_lexer_ref): Likewise.
32714 (grub_script_lexer_deref): Likewise.
32715 (grub_script_lexer_record_start): Likewise.
32716 (grub_script_lexer_record_stop): Likewise.
32717 (grub_script_mem_record): Likewise.
32718 (grub_script_mem_record_stop): Likewise.
32719 (grub_script_malloc): Likewise.
32720 (grub_script_yylex): Likewise.
32721 (grub_script_yyparse): Likewise.
32722 (grub_script_yyerror): Likewise.
32723 (grub_script_yylex): Likewise.
32724 (grub_script_lexer_init): Return the state.
32725
32726 * normal/lexer.c (grub_script_lexer_state): Removed variable.
32727 (grub_script_lexer_done): Likewise.
32728 (grub_script_lexer_getline): Likewise.
32729 (grub_script_lexer_refs): Likewise.
32730 (script): Likewise.
32731 (newscript): Likewise.
32732 (record): Likewise.
32733 (recording): Likewise.
32734 (recordpos): Likewise.
32735 (recordlen): Likewise.
32736 (grub_script_lexer_init): Return the state instead of setting
32737 global variables.
32738 (grub_script_lexer_ref): Use the newly added argument for state
32739 instead of globals.
32740 (grub_script_lexer_deref): Likewise.
32741 (grub_script_lexer_record_start): Likewise.
32742 (grub_script_lexer_record_stop): Likewise.
32743 (recordchar): Likewise.
32744 (nextchar): Likewise.
32745 (grub_script_yylex2): Likewise.
32746 (grub_script_yylex): Likewise.
32747 (grub_script_yyerror): Likewise.
32748
32749 * normal/parser.y (func_mem): Removed variable.
32750 (menu_entry): Likewise.
32751 (err): Likewise.
32752 (%lex-param): New parser option.
32753 (%parse-param): Likewise.
32754 (script): Always return the AST.
32755 (argument): Pass the state around.
32756 (arguments): Likewise.
32757 (grubcmd): Likewise.
32758 (commands): Likewise.
32759 (function): Likewise.
32760 (menuentry): Likewise.
32761 (if_statement): Likewise.
32762 (if): Likewise.
32763
32764 * normal/script.c (grub_script_memused): Removed variable.
32765 (grub_script_parsed): Likewise.
32766 (grub_script_malloc): Added a state argument. Use that instead of
32767 global variables.
32768 (grub_script_mem_record): Likewise.
32769 (grub_script_mem_record_stop): Likewise.
32770 (grub_script_arg_add): Likewise.
32771 (grub_script_add_arglist): Likewise.
32772 (grub_script_create_cmdline): Likewise.
32773 (grub_script_create_cmdif): Likewise.
32774 (grub_script_create_cmdmenu): Likewise.
32775 (grub_script_add_cmd): Likewise.
32776 (grub_script_parse): Setup the state before calling the parser.
32777
32778 2006-04-16 Marco Gerards <marco@gnu.org>
32779
32780 * normal/command.c (grub_command_init): Remove the title command.
32781
32782 * normal/lexer.c (grub_script_yylex): Renamed from this...
32783 (grub_script_yylex2): ... to this.
32784 (grub_script_yylex): New function. Temporary
32785 introduced to filter some tokens.
32786 (grub_script_yyerror): Print a newline.
32787
32788 * normal/main.c (read_config_file): Output information about the
32789 lines that contain errors. Wait for a key after all lines have
32790 been processed. Don't return an empty menu.
32791
32792 * normal/parser.y (func_mem): Don't initialize.
32793 (menu_entry): Likewise.
32794 (err): New variable.
32795 (script): Don't return anything when an error was encountered.
32796 (ws, returns): Removed rules.
32797 (argument): Disabled concatenated variable support.
32798 (arguments): Remove explicit separators.
32799 (grubcmd): Likewise.
32800 (function): Likewise.
32801 (menuentry): Likewise.
32802 (if): Likewise.
32803 (commands): Likewise. Add error handling.
32804
32805 * normal/script.c (grub_script_create_cmdline): If
32806 `grub_script_parsed' is 0, assume the parser encountered an error.
32807
32808 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
32809
32810 * configure.ac: Add support for EFI. Fix the typo
32811 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
32812
32813 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32814
32815 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
32816 foreign multibyte characters should be shown correctly.
32817
32818 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32819
32820 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
32821 calculation.
32822 (read_config_file): Made it to close file before returning.
32823
32824 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
32825
32826 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
32827 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
32828 video/i386/pc/vbefill.c.
32829
32830 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
32831 video/i386/pc/vbefill.c.
32832
32833 * include/grub/video.h (grub_video_blit_format): New enum.
32834 (grub_video_mode_info): Added new member blit_format.
32835 (grub_video_get_blit_format): New function prototype.
32836
32837 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
32838 function prototype.
32839 (grub_video_vbe_map_rgb): Likewise.
32840 (grub_video_vbe_unmap_color): Likewise.
32841
32842 * include/grub/i386/pc/vbeblit.h: New file.
32843
32844 * include/grub/i386/pc/vbefill.h: New file.
32845
32846 * video/video.c (grub_video_get_blit_format): New function.
32847 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
32848 (grub_video_vbe_map_rgb): Likewise.
32849 (grub_video_vbe_unmap_color): Likewise.
32850
32851 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
32852 optimized fills.
32853 (grub_video_vbe_blit_render_target): Changed to use more optimized
32854 blits.
32855 (grub_video_vbe_setup): Added detection for optimized settings.
32856 (grub_video_vbe_create_render_target): Likewise.
32857
32858 * video/i386/pc/vbeblit.c: New file.
32859
32860 * video/i386/pc/vbefill.c: New file.
32861
32862 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
32863
32864 * font/manager.c (grub_font_get_glyph): Removed font fixup from
32865 here...
32866
32867 * util/unifont2pff.rb: ... and moved it to here. Improved argument
32868 parsing to support both hex and dec ranges. If filename was missing
32869 show usage information.
32870
32871 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
32872
32873 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
32874 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
32875
32876 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
32877 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
32878 (video_mod_SOURCES): Added.
32879 (video_mod_CFLAGS): Likewise.
32880 (video_mod_LDFLAGS): Likewise.
32881 (gfxterm_mod_SOURCES): Likewise.
32882 (gfxterm_mod_CFLAGS): Likewise.
32883 (gfxterm_mod_LDFLAGS): Likewise.
32884 (videotest_mod_SOURCES): Likewise.
32885 (videotest_mod_CFLAGS): Likewise.
32886 (videotest_mod_LDFLAGS): Likewise.
32887 (vesafb_mod_SOURCES): Removed.
32888 (vesafb_mod_CFLAGS): Likewise.
32889 (vesafb_mod_LDFLAGS): Likewise.
32890 (vga_mod_SOURCES): Likewise.
32891 (vga_mod_CFLAGS): Likewise.
32892 (vga_mod_LDFLAGS): Likewise.
32893
32894 * commands/videotest.c: New file.
32895
32896 * font/manager.c (fill_with_default_glyph): Modified to use
32897 grub_font_glyph.
32898 (grub_font_get_glyph): Likewise.
32899 (fontmanager): Renamed from this...
32900 (font_manager): ... to this.
32901
32902 * include/grub/font.h (grub_font_glyph): Added new structure.
32903 (grub_font_get_glyph): Modified to use grub_font_glyph.
32904
32905 * include/grub/misc.h (grub_abs): Added as inline function.
32906
32907 * include/grub/video.h: New file.
32908
32909 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
32910 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
32911 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
32912 (grub_vbe_get_controller_info): Renamed from this...
32913 (grub_vbe_bios_get_controller_info): ... to this.
32914 (grub_vbe_get_mode_info): Renamed from this...
32915 (grub_vbe_bios_get_mode_info): ... to this.
32916 (grub_vbe_set_mode): Renamed from this...
32917 (grub_vbe_bios_set_mode): ... to this.
32918 (grub_vbe_get_mode): Renamed from this...
32919 (grub_vbe_bios_get_mode): ... to this.
32920 (grub_vbe_set_memory_window): Renamed from this...
32921 (grub_vbe_bios_set_memory_window): ... to this.
32922 (grub_vbe_get_memory_window): Renamed from this...
32923 (grub_vbe_bios_get_memory_window): ... to this.
32924 (grub_vbe_set_scanline_length): Renamed from this...
32925 (grub_vbe_set_scanline_length): ... to this.
32926 (grub_vbe_get_scanline_length): Renamed from this...
32927 (grub_vbe_bios_get_scanline_length): ... to this.
32928 (grub_vbe_set_display_start): Renamed from this...
32929 (grub_vbe_bios_set_display_start): ... to this.
32930 (grub_vbe_get_display_start): Renamed from this...
32931 (grub_vbe_bios_get_display_start): ... to this.
32932 (grub_vbe_set_palette_data): Renamed from this...
32933 (grub_vbe_bios_set_palette_data): ... to this.
32934 (grub_vbe_set_pixel_rgb): Removed.
32935 (grub_vbe_set_pixel_index): Likewise.
32936
32937 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
32938 from this...
32939 (grub_vbe_bios_get_controller_info): ... to this.
32940 (grub_vbe_get_mode_info): Renamed from this...
32941 (grub_vbe_bios_get_mode_info): ... to this.
32942 (grub_vbe_set_mode): Renamed from this...
32943 (grub_vbe_bios_set_mode): ... to this.
32944 (grub_vbe_get_mode): Renamed from this...
32945 (grub_vbe_bios_get_mode): ... to this.
32946 (grub_vbe_set_memory_window): Renamed from this...
32947 (grub_vbe_bios_set_memory_window): ... to this.
32948 (grub_vbe_get_memory_window): Renamed from this...
32949 (grub_vbe_bios_get_memory_window): ... to this.
32950 (grub_vbe_set_scanline_length): Renamed from this...
32951 (grub_vbe_set_scanline_length): ... to this.
32952 (grub_vbe_get_scanline_length): Renamed from this...
32953 (grub_vbe_bios_get_scanline_length): ... to this.
32954 (grub_vbe_set_display_start): Renamed from this...
32955 (grub_vbe_bios_set_display_start): ... to this.
32956 (grub_vbe_get_display_start): Renamed from this...
32957 (grub_vbe_bios_get_display_start): ... to this.
32958 (grub_vbe_set_palette_data): Renamed from this...
32959 (grub_vbe_bios_set_palette_data): ... to this.
32960 (grub_vbe_bios_get_controller_info): Fixed problem with registers
32961 getting corrupted after calling it. Added more pushes and pops.
32962 (grub_vbe_bios_set_mode): Likewise.
32963 (grub_vbe_bios_get_mode): Likewise.
32964 (grub_vbe_bios_get_memory_window): Likewise.
32965 (grub_vbe_bios_set_scanline_length): Likewise.
32966 (grub_vbe_bios_get_scanline_length): Likewise.
32967 (grub_vbe_bios_get_display_start): Likewise.
32968 (grub_vbe_bios_set_palette_data): Likewise.
32969
32970 * normal/cmdline.c (cl_set_pos): Refresh the screen.
32971 (cl_insert): Likewise.
32972 (cl_delete): Likewise.
32973
32974 * term/gfxterm.c: New file.
32975
32976 * term/i386/pc/vesafb.c: Removed file.
32977
32978 * video/video.c: New file.
32979
32980 * video/i386/pc/vbe.c (real2pm): Added new function.
32981 (grub_video_vbe_draw_pixel): Likewise.
32982 (grub_video_vbe_get_video_ptr): Likewise.
32983 (grub_video_vbe_get_pixel): Likewise
32984 (grub_video_vbe_init): Likewise.
32985 (grub_video_vbe_fini): Likewise.
32986 (grub_video_vbe_setup): Likewise.
32987 (grub_video_vbe_get_info): Likewise.
32988 (grub_video_vbe_set_palette): Likewise.
32989 (grub_video_vbe_get_palette): Likewise.
32990 (grub_video_vbe_set_viewport): Likewise.
32991 (grub_video_vbe_get_viewport): Likewise.
32992 (grub_video_vbe_map_color): Likewise.
32993 (grub_video_vbe_map_rgb): Likewise.
32994 (grub_video_vbe_map_rgba): Likewise.
32995 (grub_video_vbe_unmap_color): Likewise.
32996 (grub_video_vbe_fill_rect): Likewise.
32997 (grub_video_vbe_blit_glyph): Likewise.
32998 (grub_video_vbe_blit_bitmap): Likewise.
32999 (grub_video_vbe_blit_render_target): Likewise.
33000 (grub_video_vbe_scroll): Likewise.
33001 (grub_video_vbe_swap_buffers): Likewise.
33002 (grub_video_vbe_create_render_target): Likewise.
33003 (grub_video_vbe_delete_render_target): Likewise.
33004 (grub_video_vbe_set_active_render_target): Likewise.
33005 (grub_vbe_set_pixel_rgb): Remove function.
33006 (grub_vbe_set_pixel_index): Likewise.
33007 (index_color_mode): Remove static variable.
33008 (active_mode): Likewise.
33009 (framebuffer): Likewise.
33010 (bytes_per_scan_line): Likewise.
33011 (grub_video_vbe_adapter): Added new static variable.
33012 (framebuffer): Likewise.
33013 (render_target): Likewise.
33014 (initial_mode): Likewise.
33015 (mode_in_use): Likewise.
33016 (mode_list): Likewise.
33017
33018 2006-03-10 Marco Gerards <marco@gnu.org>
33019
33020 * configure.ac (AC_INIT): Bumped to 1.93.
33021
33022 * DISTLIST: Added `include/grub/hfs.h'.
33023
33024 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
33025
33026 * boot/i386/pc/boot.S (general_error): Before looping, try INT
33027 18H, which might help the BIOS falling back to next boot media.
33028
33029 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
33030
33031 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
33032 Poe Chen <poe.poechen@gmail.com>.
33033
33034 2006-01-17 Marco Gerards <marco@gnu.org>
33035
33036 * include/grub/normal.h: Include <grub/script.h>.
33037 (grub_command_list): Removed struct.
33038 (grub_command_list_t): Removed type.
33039 (grub_menu_entry): Remove members `num' and `command_list'. Add
33040 members `commands' and `sourcecode'.
33041 * include/grub/script.h: Add inclusion guards.
33042 (grub_script_cmd_menuentry): New struct.
33043 (grub_script_execute_menuentry): New prototype.
33044 (grub_script_lexer_record_start): Likewise.
33045 (grub_script_lexer_record_stop): Likewise.
33046 * normal/execute.c (grub_script_execute_menuentry): New function.
33047 * normal/lexer.c (record, recording, recordpos, recordlen): New
33048 variables.
33049 (grub_script_lexer_record_start): New function.
33050 (grub_script_lexer_record_stop): Likewise.
33051 (recordchar): Likewise.
33052 (nextchar): Likewise.
33053 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
33054 2048 as the buffer size. Add the tokens `menuentry' and `@'.
33055 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
33056 (current_menu): New variable.
33057 (free_menu): Mainly rewritten.
33058 (grub_normal_menu_addentry): New function.
33059 (read_config_file): Rewritten.
33060 * normal/menu.c (run_menu_entry): Mainly rewritten.
33061 * normal/menu_entry.c (make_screen): Rewritten the code to insert
33062 the menu entry.
33063 (run): Mainly rewritten.
33064 * normal/parser.y (menu_entry): New variable.
33065 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
33066 (menuentry): New rule.
33067 (command): Add `menuentry'.
33068 (if_statement): Allow additional returns before `fi'.
33069 * normal/script.c (grub_script_create_cmdmenu): New function.
33070
33071 2006-01-03 Marco Gerards <marco@gnu.org>
33072
33073 * INSTALL: GNU Bison is required.
33074 * configure.ac: Rewritten the test to detect Bison.
33075 * Makefile.in (YACC): New variable. Reported by Xun Sun
33076 <xun.sun.cn@gmail.com>.
33077
33078 2006-01-03 Marco Gerards <marco@gnu.org>
33079
33080 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
33081 the HFS+ filesystem to filesystem blocks.
33082 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
33083 GCC warning is silenced.
33084
33085 2006-01-03 Marco Gerards <marco@gnu.org>
33086
33087 * partmap/apple.c (apple_partition_map_iterate): Convert the data
33088 read from disk from big endian to host byte order.
33089
33090 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
33091
33092 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
33093 documentation.
33094 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
33095 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
33096 embedded HFS+ filesystem.
33097 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
33098 (grub_hfs_sblock): Move from here...
33099 * include/grub/hfs.h: To here... New file.
33100 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
33101 documentation.
33102 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
33103 New macros.
33104 (grub_hfsplus_volheader): Change type of member `magic' to
33105 `grub_uint16_t'.
33106 (grub_hfsplus_data): Add new member `embedded_offset'.
33107 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
33108 returned block.
33109 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
33110 Calculate the offset.
33111
33112 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33113
33114 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
33115 Removed.
33116 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
33117
33118 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33119
33120 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
33121 ENV->NAME is NULL after allocating ENV->VALUE.
33122
33123 2005-12-25 Marco Gerards <marco@gnu.org>
33124
33125 * kern/env.c (grub_env_set): Rewritten the error handling code.
33126
33127 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33128
33129 * geninit.sh: Made more robust, and more portable.
33130
33131 2005-12-25 Marco Gerards <marco@gnu.org>
33132
33133 Add support for Apple HFS+ filesystems.
33134
33135 * fs/hfsplus.c: New file.
33136
33137 * DISTLIST: Added `fs/hfsplus.c'.
33138
33139 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
33140 (hfsplus_mod_SOURCES): New variable.
33141 (hfsplus_mod_CFLAGS): Likewise.
33142 (hfsplus_mod_LDFLAGS): Likewise.
33143 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
33144 (grub_setup_SOURCES): Likewise.
33145 (grub_mkdevicemap_SOURCES): Likewise.
33146 (grub_emu_SOURCES): Likewise.
33147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33148
33149 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
33150
33151 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
33152
33153 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33154
33155 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
33156 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
33157 include/grub/parser.h, include/grub/script.h, kern/parser.c,
33158 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
33159 normal/lexer.c, normal/parser.y, normal/script.c, and
33160 partmap/gpt.c.
33161 Removed kern/sparc64/cache.c.
33162
33163 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
33164 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
33165 grub_emu_init.c.
33166
33167 * configure.ac (AC_INIT): Bumped to 1.92.
33168
33169 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
33170
33171 * kern/err.c (grub_error_push): Added new function to support error
33172 stacks.
33173 (grub_error_pop): Likewise.
33174 (grub_error_stack_items): New local variable to support error stacks.
33175 (grub_error_stack_pos): Likewise.
33176 (grub_error_stack_assert): Likewise.
33177 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
33178 stack depth.
33179 (grub_print_error): Added support to print errors from error stack.
33180
33181 * include/grub/err.h (grub_error_push): Added function prototype.
33182 (grub_error_pop): Likewise.
33183
33184 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
33185
33186 * configure.ac: Accept `powerpc64' as host_cpu.
33187 (amd64): Rename to `biarch32'.
33188
33189 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
33190 non-cacheline-aligned addresses.
33191
33192 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
33193 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
33194 if `size' is non-zero.
33195
33196 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
33197
33198 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
33199 and `cd' to make sure the filename is not prefixed with a
33200 directory name.
33201 (pkgdata_MODULES): Add `gpt.mod'.
33202 (gpt_mod_SOURCES): New variable.
33203 (gpt_mod_CFLAGS): Likewise.
33204 (gpt_mod_LDFLAGS): Likewise.
33205
33206 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
33207
33208 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
33209 New macro.
33210
33211 * partmap/gpt.c: New file.
33212
33213 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
33214 GPT partition map is detected.
33215
33216 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
33217
33218 * commands/i386/pc/play.c: New file.
33219 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
33220 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
33221 macros.
33222
33223 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
33224
33225 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
33226 ((unused))' to silence gcc warning.
33227
33228 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
33229
33230 * configure.ac: Correct `AC_PROG_YACC' test.
33231
33232 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33233
33234 * util/powerpc/ieee1275/grub-install.in: Run the mount point
33235 check before installing files.
33236
33237 2005-11-22 Mike Small <smallm@panix.com>
33238
33239 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
33240 number regex so multidigit numbers are recognized correctly.
33241
33242 2005-11-22 Mike Small <smallm@panix.com>
33243
33244 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
33245 debugging message before attempting to claim memory.
33246 (grub_rescue_cmd_initrd): Add a claim debugging message and try
33247 multiple addresses in case of failure.
33248
33249 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33250
33251 * term/tparm.c (get_space): Remove empty `if' statement.
33252
33253 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
33254
33255 * kern/parser.c (check_varstate): Rename `state' to 's'.
33256
33257 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33258
33259 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
33260 variable definitions to the beginning of each function. Sort stack
33261 variables by size.
33262 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
33263 `buf' argument to `char *'.
33264
33265 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33266
33267 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
33268 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33269 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33270 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33271 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33272 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33273 configfile.mod, search.mod, gzio.mod and test.mod.
33274 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33275 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33276 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33277 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33278 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33279 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33280 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33281 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33282 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33283 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33284 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33285 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33286 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33287 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33288 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33289 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33290 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33291 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33292 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33293 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33294 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33295 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33296 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
33297
33298 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
33299 `grep --include'.
33300 (pkgdata_MODULES): Add test.mod.
33301
33302 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33303
33304 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
33305 appending to variables with "+=".
33306 (PModule): Use full pathname to generate *.lst filenames.
33307
33308 * Makefile.in: Fixed list rules moved from genmk.rb.
33309 (.DELETE_ON_ERROR): New special target.
33310 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
33311
33312 * conf/i386-pc.rmk: Include conf/common.mk.
33313 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33314 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33315 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33316 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33317 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33318 configfile.mod, search.mod, gzio.mod and test.mod.
33319 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33320 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33321 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33322 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33323 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33324 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33325 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33326 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33327 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33328 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33329 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33330 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33331 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33332 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33333 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33334 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33335 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33336 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33337 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33338 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33339 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33340 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33341 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
33342 here...
33343 * conf/common.rmk: ... to here. New file.
33344
33345 * conf/common.mk: New file.
33346
33347 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
33348
33349 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
33350 (grub_script.tab.c): ... here.
33351
33352 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33353 (grub_script.tab.c): ... here.
33354
33355 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33356 (grub_script.tab.c): ... here.
33357
33358 * normal/command.c (grub_command_find): Fixed a memory leak of
33359 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33360
33361 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33362
33363 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33364 "@" which marks the start of a comment on ARM.
33365 (VARIABLE): Likewise.
33366
33367 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33368
33369 Add support for Linux/ADFS partition tables.
33370
33371 * partmap/acorn.c: New file.
33372
33373 * include/grub/acorn_filecore.h: Likewise.
33374
33375 * DISTLIST: Added `partmap/acorn.c' and
33376 `include/grub/acorn_filecore.h'.
33377
33378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33379 `partmap/acorn.c'.
33380 (pkgdata_MODULES): Add `acorn.mod'.
33381 (acorn_mod_SOURCES): New variable.
33382 (acorn_mod_CFLAGS): Likewise.
33383
33384 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33385 `partmap/acorn.c'.
33386 (pkgdata_MODULES): Add `acorn.mod'.
33387 (acorn_mod_SOURCES): New variable.
33388 (acorn_mod_CFLAGS): Likewise.
33389
33390 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33391 (pkgdata_MODULES): Add `acorn.mod'.
33392 (acorn_mod_SOURCES): New variable.
33393 (acorn_mod_CFLAGS): Likewise.
33394 (acorn_mod_LDFLAGS): Likewise.
33395
33396 * include/types.h (grub_disk_addr_t): New typedef.
33397
33398 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
33399
33400 * geninit.sh: New file.
33401
33402 * geninitheader.sh: Likewise.
33403
33404 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33405 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33406 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33407 * commands/configfile.c (grub_configfile_init)
33408 (grub_configfile_fini): Likewise.
33409 * commands/default.c (grub_default_init, grub_default_fini):
33410 Likewise.
33411 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33412 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33413 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33414 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33415 Likewise.
33416 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33417 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33418 Likewise.
33419 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
33420 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
33421 Likewise.
33422 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33423 Likewise.
33424 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
33425 Likewise.
33426 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33427 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33428 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33429 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33430 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33431 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33432 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33433 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33434 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33435 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33436 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33437 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33438 * partmap/amiga.c (grub_amiga_partition_map_init)
33439 (grub_amiga_partition_map_fini): Likewise.
33440 * partmap/apple.c (grub_apple_partition_map_init)
33441 (grub_apple_partition_map_fini): Likewise.
33442 * partmap/pc.c (grub_pc_partition_map_init)
33443 (grub_pc_partition_map_fini): Likewise.
33444 * partmap/sun.c (grub_sun_partition_map_init,
33445 grub_sun_partition_map_fini): Likewise.
33446 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33447 Likewise.
33448
33449 * util/grub-emu.c: Include <grub_modules_init.h>.
33450 (main): Don't initialize and de-initialize any modules directly,
33451 use `grub_init_all' and `grub_fini_all' instead.
33452
33453 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33454 `grub_vesafb_mod_init'.
33455 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33456 all users.
33457 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33458 `grub_vga_mod_init'. Updated all users.
33459 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
33460
33461 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33462 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33463 rules.
33464
33465 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33466 Generate a function to initialize the module in utilities.
33467 Updated all callers.
33468 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33469 initialize the module in utilities. Updated all callers.
33470
33471 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33472
33473 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33474 escape sequence and a literal ^L to clear the screen.
33475
33476 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33477 when returning from Open Firmware.
33478
33479 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33480
33481 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33482 (grub_ofconsole_height): Likewise.
33483 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33484 manually insert a '\n'.
33485 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33486 `grub_ofconsole_height'. Return early if these are already set.
33487
33488 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33489
33490 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33491 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33492 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33493 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33494 and `normal/script.c'.
33495 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33496 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33497 (test_mod_SOURCES): New variable.
33498 (test_mod_CFLAGS): Likewise.
33499 (test_mod_LDFLAGS): Likewise.
33500 (pkgdata_MODULES): Add `test.mod'.
33501 (grub_script.tab.c): New rule.
33502 (grub_script.tab.h): Likewise.
33503
33504 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
33505
33506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33507 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33508 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33509 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33510 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33511 (test_mod_SOURCES): New variable.
33512 (test_mod_CFLAGS): Likewise.
33513 (pkgdata_MODULES): Add `test.mod'.
33514 (grub_script.tab.c): New rule.
33515 (grub_script.tab.h): Likewise.
33516
33517 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
33518
33519 Add initial scripting support.
33520
33521 * commands/test.c: New file.
33522 * include/grub/script.h: Likewise.
33523 * normal/execute.c: Likewise.
33524 * normal/function.c: Likewise.
33525 * normal/lexer.c: Likewise.
33526 * normal/parser.y: Likewise.
33527 * normal/script.c: Likewise.
33528
33529 * configure.ac: Add `AC_PROG_YACC' test.
33530
33531 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33532 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33533 `normal/function.c' and `normal/script.c'.
33534 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33535 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33536 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33537 variables.
33538 (pkgdata_MODULES): Add `test.mod'.
33539 (grub_script.tab.c): New rule.
33540 (grub_script.tab.h): Likewise.
33541
33542 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33543
33544 * include/grub/normal.h (grub_test_init): New prototype.
33545 (grub_test_fini): Likewise.
33546
33547 * normal/command.c: Include <grub/script.h>.
33548 (grub_command_execute): Rewritten.
33549
33550 * util/grub-emu.c (main): Call `grub_test_init' and
33551 `grub_test_fini'.
33552
33553 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33554
33555 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33556 to 0.
33557 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33558 there are no pending characters.
33559
33560 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33561
33562 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33563 `grub_strndup' to drop device arguments. Replace unnecessary
33564 `grub_strndup' with `grub_strdup'.
33565
33566 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33567
33568 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33569 `debug' environment variable has been set.
33570
33571 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
33572
33573 * Makefile.in (install-local): Use $(DATA).
33574 (uninstall): Likewise.
33575 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33576 (sbin_UTILITIES): ... to here.
33577 (sbin_SCRIPTS): New variable.
33578 (grub_install_SOURCES): New variable.
33579 * util/powerpc/ieee1275/grub-install.in: New file.
33580 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33581 variable.
33582 (add_segments): Call `grub_util_get_path'.
33583
33584 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33585
33586 From Timothy Baldwin:
33587 * commands/ls.c (grub_ls_list_files): Close FILE with
33588 grub_file_close.
33589 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33590
33591 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
33592
33593 * include/grub/parser.h: New file.
33594
33595 * kern/parser.c: Likewise.
33596
33597 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33598 (grub_setup_SOURCES): Likewise.
33599 (grub_probefs_SOURCES): Likewise.
33600 (grub_emu_SOURCES): Likewise.
33601 (kernel_img_HEADERS): Add `parser.h'.
33602
33603 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33604 (grub_emu_SOURCES): Add `kern/parser.c'.
33605 (grubof_SOURCES): Likewise.
33606
33607 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33608 (grubof_SOURCES): Add `kern/parser.c'.
33609
33610 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33611
33612 * kern/misc.c (grub_split_cmdline): Removed function.
33613
33614 * kern/rescue.c: Include <grub/parser.h>.
33615 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33616 of `grub_split_cmdline'.
33617
33618 * normal/command.c: Include <grub/parser.h>.
33619 (grub_command_execute): Use `grub_parser_split_cmdline' instead
33620 of `grub_split_cmdline'.
33621
33622 * normal/completion.c: Include <grub/parser.h>.
33623 (cmdline_state): New variable.
33624 (iterate_dir): End the filename with a quote depending on the
33625 command line state.
33626 (get_state): new function.
33627 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
33628 split the arguments and determine the current argument. When the
33629 argument string is not quoted, escape all spaces.
33630
33631 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33632
33633 * normal/sparc64/setjmp.S: New file.
33634
33635 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33636
33637 * include/grub/sparc64/libgcc.h: New file.
33638 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
33639 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
33640 normal/sparc64/setjmp.c.
33641
33642 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33643
33644 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
33645 * kern/sparc64/cache.S: New file.
33646 * kern/sparc64/cache.c: Removed.
33647 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
33648 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
33649 -mtune=ultrasparc.
33650 (COMMON_LDFLAGS): Add -melf64_sparc.
33651 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
33652 (grubof_SOURCES): Use cache.S instead of cache.c.
33653 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
33654 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
33655 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
33656 commented though.
33657 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
33658 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
33659 (linux_mod_CFLAGS): Commented out.
33660 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
33661 out because module isn't built.
33662 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
33663 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
33664 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
33665 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
33666 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
33667 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33668 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33669 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
33670 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
33671 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
33672 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33673 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33674 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
33675 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
33676
33677 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
33678
33679 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
33680 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
33681 longer, because HFS should not be used on PC.
33682
33683 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33684
33685 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
33686 consistently within the loop.
33687
33688 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
33689
33690 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
33691 directory can not be read.
33692
33693 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33694
33695 * configure.ac (AC_INIT): Increase the version number to 1.91.
33696
33697 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
33698 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
33699 term/i386/pc/serial.c.
33700
33701 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33702
33703 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
33704 file size must be permitted.
33705
33706 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
33707 between %ah and %al.
33708
33709 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33710
33711 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
33712 grub_uint64_t.
33713 Call the hook with a NUL-terminated filename.
33714 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
33715 grub_cpu_to_be32.
33716
33717 * kern/term.c (cursor_state): New variable.
33718 (grub_term_set_current): Reset the cursor state on a new
33719 terminal.
33720 (grub_setcursor): Rewritten to use CURSOR_STATE.
33721 (grub_getcursor): New function.
33722
33723 * include/grub/term.h (grub_getcursor): New prototype.
33724
33725 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
33726 integers on ARM. Reported by Timothy Baldwin
33727 <T.E.Baldwin99@members.leeds.ac.uk>.
33728
33729 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
33730
33731 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
33732 allocated.
33733 (grub_sfs_dir): Likewise.
33734
33735 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
33736
33737 Add support for the SFS filesystem.
33738
33739 * fs/sfs.c: New file.
33740
33741 * DISTLIST: Added `fs/sfs.c'.
33742
33743 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
33744 (grub_probefs_SOURCES): Likewise.
33745 (grub_emu_SOURCES): Likewise.
33746 (pkgdata_MODULES): Add `sfs.mod'.
33747 (sfs_mod_SOURCES): New variable.
33748 (sfs_mod_CFLAGS): Likewise.
33749 (sfs_mod_LDFLAGS): Likewise.
33750
33751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
33752 (pkgdata_MODULES): Add `sfs.mod'.
33753 (sfs_mod_SOURCES): New variable.
33754 (sfs_mod_CFLAGS): Likewise.
33755
33756 * util/grub-emu.c (main): Call `grub_sfs_init' and
33757 `grub_sfs_fini'.
33758
33759 * include/grub/fs.h (grub_sfs_init): New prototype.
33760 (grub_sfs_fini): Likewise.
33761
33762 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
33763
33764 Add support for the AFFS filesystem.
33765
33766 * fs/affs.c: New file.
33767
33768 * DISTLIST: Added `fs/affs.c'.
33769
33770 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
33771 (grub_probefs_SOURCES): Likewise.
33772 (grub_emu_SOURCES): Likewise.
33773 (pkgdata_MODULES): Add `affs.mod'.
33774 (affs_mod_SOURCES): New variable.
33775 (affs_mod_CFLAGS): Likewise.
33776 (affs_mod_LDFLAGS): Likewise.
33777
33778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
33779 (pkgdata_MODULES): Add `affs.mod'.
33780 (affs_mod_SOURCES): New variable.
33781 (affs_mod_CFLAGS): Likewise.
33782
33783 * util/grub-emu.c (main): Call `grub_affs_init' and
33784 `grub_affs_fini'.
33785
33786 * include/grub/fs.h (grub_affs_init): New prototype.
33787 (grub_affs_fini): Likewise.
33788
33789 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
33790
33791 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
33792
33793 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
33794
33795 * configure.ac: Accept `x86_64' as host_cpu. In that case add
33796 `-m32' to CFLAGS.
33797
33798 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
33799 linking.
33800
33801 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
33802 (COMMON_LDFLAGS): New variable.
33803 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
33804 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
33805 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
33806 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
33807 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
33808 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
33809 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
33810 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
33811 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
33812 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
33813 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33814 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33815 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
33816 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
33817 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
33818 variables.
33819 (normal_mod_ASFLAGS): Add `-m32'.
33820
33821 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
33822 (grub_host_size_t, grub_host_ssize_t): New types.
33823 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
33824 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
33825 `GRUB_HOST_SIZEOF_VOID_P'.
33826
33827 * include/grub/kernel.h (struct grub_module_header): Type of
33828 member offset changed to `grub_host_off_t'. Type of member size
33829 changed to `grub_host_size_t'.
33830 (struct grub_module_info): Type of member offset changed to
33831 `grub_host_off_t'. Type of member size changed to
33832 `grub_host_size_t'.
33833
33834 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
33835
33836 Make GRUB's kernel compliant to Multiboot Specification.
33837
33838 * kern/i386/pc/startup.S (multiboot_header): New label.
33839 (multiboot_entry): Likewise.
33840 (multiboot_trampoline): Likewise.
33841
33842 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33843 Increased to 0x4A0.
33844
33845 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
33846 put parentheses after a question mark.
33847 [!GRUB_UTIL] (my_mod): New variable.
33848
33849 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
33850
33851 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
33852
33853 Adds support for the XFS filesystem. Btrees are not supported
33854 yet.
33855
33856 * fs/xfs.c: New file.
33857
33858 * DISTLIST: Added `fs/xfs.c'.
33859
33860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
33861 (grub_probefs_SOURCES): Likewise.
33862 (grub_emu_SOURCES): Likewise.
33863 (pkgdata_MODULES): Add `xfs.mod'.
33864 (xfs_mod_SOURCES): New variable.
33865 (xfs_mod_CFLAGS): Likewise.
33866
33867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
33868 (pkgdata_MODULES): Add `xfs.mod'.
33869 (xfs_mod_SOURCES): New variable.
33870 (xfs_mod_CFLAGS): Likewise.
33871
33872 * util/grub-emu.c (main): Call `grub_xfs_init' and
33873 `grub_xfs_fini'.
33874
33875 * include/grub/fs.h (grub_xfs_init): New prototype.
33876 (grub_xfs_fini): Likewise.
33877
33878
33879 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
33880
33881 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
33882 color modes, allow greater than 16 colors to be configured as
33883 a default palette.
33884
33885 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33886
33887 * normal/completion.c (complete_arguments): Add the qualifier
33888 const into OPTIONS.
33889
33890 From Omniflux <omniflux+lists@omniflux.com>:
33891 * include/grub/terminfo.h: New file.
33892 * include/grub/tparm.h: Likewise.
33893 * include/grub/i386/pc/serial.h: Likewise.
33894 * term/terminfo.c: Likewise.
33895 * term/tparm.c: Likewise.
33896 * term/i386/pc/serial.c: Likewise.
33897 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
33898 serial.mod.
33899 (terminfo_mod_SOURCES): New variable.
33900 (terminfo_mod_CFLAGS): Likewise.
33901 (serial_mod_SOURCES): Likewise.
33902 (serial_mod_CFLAGS): Likewise.
33903
33904 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
33905
33906 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
33907 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
33908 and kern/powerpc/ieee1275/cmain.c, respectively.
33909
33910 * boot/powerpc/ieee1275/crt0.S: Moved to ...
33911 * kern/powerpc/ieee1275/crt0.S: ... here.
33912
33913 * boot/powerpc/ieee1275/cmain.c: Moved to ...
33914 * kern/powerpc/ieee1275/cmain.c: ... here.
33915
33916 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
33917 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
33918 instead of boot/powerpc/ieee1275/crt0.S and
33919 boot/powerpc/ieee1275/cmain.c, respectively.
33920
33921 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
33922 sectors. It was not used anyway.
33923
33924 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33925
33926 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
33927 `unused parameter' warning.
33928
33929 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33930
33931 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
33932 function.
33933 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
33934 getcharwidth.
33935
33936 2005-08-28 Marco Gerards <metgerards@student.han.nl>
33937
33938 * include/grub/normal.h (enum grub_completion_type): Added
33939 `GRUB_COMPLETION_TYPE_ARGUMENT'.
33940
33941 * normal/cmdline.c (print_completion): Handle
33942 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
33943 * normal/menu_entry.c (store_completion): Likewise.
33944
33945 * normal/completion.c (complete_arguments): New function.
33946 (grub_normal_do_completion): Call `complete_arguments' when the
33947 current words start with a dash.
33948
33949 2005-08-27 Marco Gerards <metgerards@student.han.nl>
33950
33951 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
33952 `gzio.mod' instead of `io.mod').
33953
33954 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
33955
33956 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
33957 (DISTDIRS): Added io and video.
33958 Rewrite the search routine to make an output consistently.
33959
33960 * DISTLIST: Added conf/sparc64-ieee1275.mk,
33961 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
33962 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
33963 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
33964 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
33965 util/powerpc/ieee1275/misc.c.
33966
33967 * include/grub/gzio.h: New file.
33968 * io/gzio.c: Likewise.
33969
33970 * kern/file.c (grub_file_close): Call grub_device_close only if
33971 FILE->DEVICE is not NULL.
33972
33973 * include/grub/mm.h [!NULL] (NULL): New macro.
33974
33975 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
33976
33977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
33978 (pkgdata_MODULES): Added gzio.mod.
33979 (gzio_mod_SOURCES): New variable.
33980 (gzio_mod_CFLAGS): Likewise.
33981
33982 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
33983 (pkgdata_MODULES): Added gzio.mod.
33984 (gzio_mod_SOURCES): New variable.
33985 (gzio_mod_CFLAGS): Likewise.
33986
33987 * commands/cat.c: Include grub/gzio.h.
33988 (grub_cmd_cat): Use grub_gzfile_open instead of
33989 grub_file_open.
33990
33991 * commands/cmp.c: Include grub/gzio.h.
33992 (grub_cmd_cmp): Use grub_gzfile_open instead of
33993 grub_file_open.
33994
33995 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
33996 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
33997 grub_file_open.
33998 (grub_rescue_cmd_module): Likewise.
33999
34000 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34001
34002 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
34003 kern/sparc64/ieee1275/init.c because it contains _start.
34004 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
34005
34006 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34007
34008 * configure.ac: Add support for sparc64 host with ieee1275
34009 firmware.
34010 * configure: Generated from configure.ac.
34011 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
34012 instead of int.
34013 (grub_ofdisk_read): Likewise.
34014 (grub_ofdisk_open): Use %p to print pointer values, and cast the
34015 pointers as (void *) to remove a warning.
34016 (grub_ofdisk_close): Likewise.
34017 (grub_ofdisk_read): Likewise.
34018 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
34019 returns, so make it return void to remove a warning.
34020 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
34021 Corresponding prototype change.
34022 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
34023 values, and cast the pointers as (void *) to remove a warning.
34024 (grub_mm_dump): Likewise.
34025 * conf/sparc64-ieee1275.mk: New file.
34026 * conf/sparc64-ieee1275.rmk: Likewise.
34027 * include/grub/sparc64/setjmp.h: Likewise.
34028 * include/grub/sparc64/types.h: Likewise.
34029 * include/grub/sparc64/ieee1275/console.h: Likewise.
34030 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34031 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34032 * include/grub/sparc64/ieee1275/time.h: Likewise.
34033 * kern/sparc64/cache.c: Likewise.
34034 * kern/sparc64/dl.c: Likewise.
34035 * kern/sparc64/ieee1275/init.c: Likewise.
34036 * kern/sparc64/ieee1275/openfw.c: Likewise.
34037
34038 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34039
34040 * util/console.c (grub_ncurses_putchar): If C is greater than
34041 0x7f, set C to a question mark.
34042 (grub_ncurses_getcharwidth): New function.
34043 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
34044 getcharwidth.
34045
34046 * normal/menu.c (print_entry): Made aware of Unicode. First,
34047 convert TITLE to UCS-4, and predict the cursor position by
34048 grub_getcharwidth.
34049
34050 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
34051 const to SRC.
34052 * kern/misc.c (grub_utf16_to_utf8): Likewise.
34053
34054 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34055
34056 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
34057 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34058 grub_strcat.
34059
34060 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
34061 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34062 grub_strcpy and grub_strlen. Take it into account that a space
34063 character is inserted as a delimiter.
34064
34065 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34066
34067 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
34068 invalid magic in the error.
34069
34070 * commands/search.c: New file.
34071
34072 * util/grub-emu.c (main): Call grub_search_init and
34073 grub_search_fini.
34074
34075 * kern/rescue.c (grub_rescue_print_disks): Removed.
34076 (grub_rescue_print_devices): New function.
34077 (grub_rescue_cmd_ls): Use grub_device_iterate with
34078 grub_rescue_print_devices instead of grub_disk_dev_iterate with
34079 grub_rescue_print_disks.
34080
34081 * kern/partition.c (grub_partition_iterate): Return the result of
34082 PARTMAP->ITERATE instead of GRUB_ERRNO.
34083
34084 * kern/device.c: Include grub/partition.h.
34085 (grub_device_iterate): New function.
34086
34087 * include/grub/partition.h (grub_partition_iterate): Return int
34088 instead of grub_err_t.
34089
34090 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
34091 prototype.
34092 [GRUB_UTIL] (grub_search_fini): Likewise.
34093
34094 * include/grub/device.h (grub_device_iterate): New prototype.
34095
34096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34097 commands/search.c.
34098 (pkgdata_MODULES): Added search.mod.
34099 (search_mod_SOURCES): New variable.
34100 (search_mod_CFLAGS): Likewise.
34101
34102 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
34103 (pkgdata_MODULES): Added search.mod.
34104 (search_mod_SOURCES): New variable.
34105 (search_mod_CFLAGS): Likewise.
34106
34107 * commands/ls.c (grub_ls_list_disks): Renamed to ...
34108 (grub_ls_list_devices): ... this, and use grub_device_iterate.
34109 All callers changed.
34110
34111 * DISTLIST: Added commands/search.c.
34112
34113 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34114
34115 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
34116 conversion.
34117 (grub_getcharwidth): New function.
34118
34119 * kern/misc.c (grub_utf8_to_ucs4): New function.
34120
34121 * include/grub/term.h (struct grub_term): Added a new member
34122 "getcharwidth".
34123 (grub_getcharwidth): New prototype.
34124
34125 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
34126
34127 * term/i386/pc/console.c (map_char): New function. Segregated from
34128 grub_console_putchar.
34129 (grub_console_putchar): Use map_char.
34130 (grub_console_getcharwidth): New function.
34131 (grub_console_term): Specified grub_console_getcharwidth as
34132 getcharwidth.
34133
34134 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
34135 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
34136
34137 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
34138 GRUB_ERRNO.
34139 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
34140 on grub_strtoul completely.
34141 (write_char): Declare local variables in the beginning of the
34142 function.
34143 (grub_vesafb_getcharwidth): New function.
34144 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
34145 getcharwidth.
34146
34147 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
34148
34149 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
34150 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
34151 commands/i386/pc/vbetest.c.
34152
34153 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
34154 call grub_vbe_get_controller_info again, because the returned
34155 information is volatile.
34156 (grub_vbe_set_video_mode): Mostly rewritten.
34157 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
34158 grub_vbe_status_t correctly.
34159 (grub_vbe_get_video_mode_info): Likewise.
34160 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
34161 several if statements.
34162
34163 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
34164 * commands/i386/pc/vbeinfo.c: ... this.
34165
34166 * commands/i386/pc/vbe_test.c: Renamed to ...
34167 * commands/i386/pc/vbetest.c: ... this.
34168
34169 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
34170 ...
34171 (grub_cmd_vbeinfo): ... this. Save video modes before
34172 iterating. Skip a video mode, if it is not available, not enough
34173 information is given or it is monochrome. Show the memory
34174 model. Leave the interpretation of MODEVAR to grub_strtoul
34175 completely.
34176 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
34177 (GRUB_MOD_FINI): Likewise.
34178
34179 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
34180 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
34181 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
34182 duplicated grub_env_get. Leave the interpretation of MODEVAR to
34183 grub_strtoul completely.
34184 (real2pm): Removed.
34185 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
34186 (GRUB_MOD_FINI): Likewise.
34187
34188 * normal/misc.c: Include grub/mm.h.
34189
34190 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
34191 vbe_list_modes with vbetest.mod and vbeinfo.mod.
34192 (vbe_list_modes_mod_SOURCES): Removed.
34193 (vbe_list_modes_mod_CFLAGS): Likewise.
34194 (vbe_test_mod_SOURCES): Likewise.
34195 (vbe_test_mod_CFLAGS): Likewise.
34196 (vbeinfo_mod_SOURCES): New variable.
34197 (vbeinfo_mod_CFLAGS): Likewise.
34198 (vbetest_mod_SOURCES): Likewise.
34199 (vbetest_mod_CFLAGS): Likewise.
34200
34201 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
34202
34203 * normal/misc.c: New file.
34204
34205 * DISTLIST: Added normal/misc.c.
34206
34207 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
34208 DISK to HOOK. Call HOOK with DISK.
34209 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34210 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34211 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34212
34213 * normal/menu_entry.c (struct screen): Added a new member
34214 "completion_shown".
34215 (completion_buffer): New global variable.
34216 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
34217 (store_completion): New function.
34218 (complete): Likewise.
34219 (clear_completions): Likewise.
34220 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
34221 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
34222 a tab, call complete.
34223
34224 * normal/completion.c (disk_dev): Removed.
34225 (print_simple_completion): Likewise.
34226 (print_partition_completion): Likewise.
34227 (print_func): New global variable.
34228 (add_completion): Do not take the arguments WHAT or PRINT any
34229 longer. Added a new argument TYPE. Instead of printing directly,
34230 call PRINT_FUNC if not NULL.
34231 All callers changed.
34232 (complete_device): Use a local variable DEV instead of
34233 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
34234 (grub_normal_do_completion): Take a new argument HOOK. Do not
34235 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
34236 empty string, return NULL instead.
34237 All callers changed.
34238
34239 * normal/cmdline.c (print_completion): New function.
34240
34241 * kern/partition.c (grub_partition_iterate): Add an argument DISK
34242 to HOOK.
34243 All callers changed.
34244
34245 * kern/disk.c (grub_print_partinfo): Removed.
34246
34247 * include/grub/partition.h (struct grub_partition_map): Add a new
34248 argument DISK into HOOK of ITERATE.
34249 (grub_partition_iterate): Add a new argument DISK to HOOK.
34250
34251 * include/grub/normal.h (enum grub_completion_type): New enum.
34252 (grub_completion_type_t): New type.
34253 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
34254 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
34255 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
34256 (GRUB_COMPLETION_TYPE_FILE): Likewise.
34257 (grub_normal_do_completion): Added a new argument HOOK.
34258 (grub_normal_print_device_info): New prototype.
34259
34260 * include/grub/disk.h (grub_print_partinfo): Removed.
34261
34262 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
34263 (normal_mod_SOURCES): Likewise.
34264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34265 (normal_mod_SOURCES): Likewise.
34266
34267 * commands/ls.c (grub_ls_list_disks): Use
34268 grub_normal_print_device_info instead of grub_print_partinfo. Free
34269 PNAME.
34270 (grub_ls_list_files): Use grub_normal_print_device_info instead of
34271 duplicating the code.
34272
34273 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34274
34275 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
34276 follow GCS more precisely.
34277 * commands/i386/pc/vbe_test.c: Likewise.
34278 * include/grub/i386/pc/vbe.h: Likewise.
34279 * term/i386/pc/vesafb.c: Likewise.
34280 * video/i386/pc/vbe.c: Likewise.
34281
34282 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34283
34284 * DISTLIST: Added term/i386/pc/vesafb.c
34285 DISTLIST: Added video/i386/pc/vbe.c
34286 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
34287 DISTLIST: Added commands/i386/pc/vbe_test.c.
34288 * commands/i386/pc/vbe_list_modes.c: New file.
34289 * commands/i386/pc/vbe_test.c: Likewise.
34290 * term/i386/pc/vesafb.c: Likewise.
34291 * video/i386/pc/vbe.c: Likewise.
34292 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
34293 (grub_vbe_probe) Added prototype.
34294 (grub_vbe_set_video_mode) Likewise.
34295 (grub_vbe_get_video_mode) Likewise.
34296 (grub_vbe_get_video_mode_info) Likewise.
34297 (grub_vbe_set_pixel_rgb) Likewise.
34298 (grub_vbe_set_pixel_index) Likewise.
34299 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
34300 (pkgdata_MODULES): Added vesafb.mod.
34301 (pkgdata_MODULES): Added vbe_list_modes.mod.
34302 (pkgdata_MODULES): Added vbe_test.mod.
34303 (vbe_mod_SOURCES): Added.
34304 (vbe_mod_CFLAGS): Likewise.
34305 (vesafb_mod_SOURCES): Likewise.
34306 (vesafb_mod_CFLAGS): Likewise.
34307 (vbe_list_modes_mod_SOURCES): Likewise.
34308 (vbe_list_modes_mod_CFLAGS): Likewise.
34309 (vbe_test_mod_SOURCES): Likewise.
34310 (vbe_test_mod_CFLAGS): Likewise.
34311
34312 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
34313
34314 * normal/command.c (grub_command_execute): If INTERACTIVE is
34315 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
34316 CMDLINE. Disable the pager if INTERACTIVE is true.
34317 All callers are changed.
34318
34319 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
34320 before reading a config file.
34321 * normal/main.c (read_config_file): Even if a command is not
34322 found, register it if it is within an entry.
34323
34324 * util/grub-emu.c: Include sys/types.h and unistd.h.
34325 (options): Added --hold.
34326 (struct arguments): Added a new member "hold".
34327 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
34328 missing.
34329 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
34330 cleared by a debugger, if it is not zero.
34331
34332 * include/grub/normal.h (grub_command_execute): Add an argument
34333 INTERACTIVE.
34334
34335 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
34336
34337 * DISTLIST: Added include/grub/i386/pc/vbe.h.
34338
34339 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
34340
34341 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
34342 program with another one, because the old one didn't detect a bug
34343 in gcc-3.4. Always use regparm 2, because the new test is still
34344 not enough for gcc-4.0. Someone must investigate a simple test
34345 case which detects a bug in gcc-4.0.
34346
34347 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
34348
34349 * DISTLIST: Added normal/completion.c.
34350
34351 * normal/completion.c: New file.
34352
34353 * term/i386/pc/console.c (grub_console_getwh): New function.
34354 (grub_console_term): Assign grub_console_getwh to getwh.
34355
34356 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34357 function is defined in normal/completion.c as
34358 grub_normal_do_completion.
34359 (grub_cmdline_get): Use grub_normal_do_completion instead of
34360 grub_tab_complete.
34361
34362 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34363 returns non-zero, otherwise return 0.
34364 (grub_partition_iterate): First, probe the partition map. Then,
34365 call ITERATE only for this partition map.
34366
34367 * kern/misc.c (grub_strncmp): Rewritten.
34368
34369 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34370 returns non-zero. Otherwise return 0.
34371
34372 * include/grub/partition.h (grub_partition_map_iterate): Return
34373 int instead of void.
34374
34375 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34376
34377 * include/grub/misc.h (grub_strncmp): Change the type of N to
34378 grub_size_t.
34379
34380 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34381 of void.
34382
34383 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
34384 unsigned explicitly before comparing it with I.
34385
34386 * kern/main.c (grub_env_write_root): Add the attribute unused into
34387 VAR.
34388
34389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34390 normal/completion.c.
34391 (normal_mod_SOURCES): Likewise.
34392 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34393 (normal_mod_SOURCES): Likewise.
34394
34395 * normal/command.c (grub_iterate_commands): If ITERATE returns
34396 non-zero, return one immediately.
34397
34398 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34399
34400 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34401 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34402 descriptions.
34403 (grub_vbe_get_controller_info): New function.
34404 (grub_vbe_get_mode_info): Likewise.
34405 (grub_vbe_set_mode): Likewise.
34406 (grub_vbe_get_mode): Likewise.
34407 (grub_vbe_set_memory_window): Likewise.
34408 (grub_vbe_get_memory_window): Likewise.
34409 (grub_vbe_set_scanline_length): Likewise.
34410 (grub_vbe_get_scanline_length): Likewise.
34411 (grub_vbe_set_display_start): Likewise.
34412 (grub_vbe_get_display_start): Likewise.
34413 (grub_vbe_set_palette_data): Likewise.
34414 * include/grub/i386/pc/vbe.h: New file.
34415
34416 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34417
34418 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34419 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34420 * DISTLIST: Likewise.
34421 * kern/ieee1275/of.c: Moved to ...
34422 * kern/ieee1275/ieee1275.c: ... here.
34423
34424 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34425
34426 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34427 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34428 Pass 0 as `end' parameter to grub_strtoul().
34429
34430 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34431
34432 * include/grub/powerpc/ieee1275/console.h: Do not include
34433 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34434 ifdef.
34435 (grub_console_cur_color): Remove i386-specific prototype.
34436 (grub_console_real_putchar): Likewise.
34437 (grub_console_checkkey): Likewise.
34438 (grub_console_getkey): Likewise.
34439 (grub_console_getxy): Likewise.
34440 (grub_console_gotoxy): Likewise.
34441 (grub_console_cls): Likewise.
34442 (grub_console_setcursor): Likewise.
34443 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34444 Include <grub/machine/console.h>.
34445 * term/ieee1275/ofconsole.c: Likewise.
34446
34447 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34448
34449 * Makefile.in (LIBLZO): New variable.
34450
34451 * configure.ac: Check for LZO version 2.
34452
34453 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34454 lzo/lzo1x.h instead of lzo1x.h.
34455
34456 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34457 of -llzo.
34458
34459 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34460 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34461
34462 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34463 copying the data from PARTITION to P.
34464
34465 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34466
34467 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34468 negative, unload the module.
34469
34470 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34471 map is "pc_partition_map" but not "pc".
34472 (usage): Fix the description. The options are --boot-image and
34473 --core-image but not --boot-file or --core-file.
34474 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34475 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34476 DEFAULT_DIRECTORY.
34477
34478 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34479 --core-file. Specify INSTALL_DEVICE as an argument.
34480
34481 * util/console.c: Include config.h.
34482 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34483 [HAVE_NCURSES_H]: Include ncurses.h.
34484 [HAVE_CURSES_H]: Include curses.h.
34485 [!A_NORMAL] (A_NORMAL): Defined as zero.
34486 [!A_STANDOUT] (A_STANDOUT): Likewise.
34487
34488 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34489 -lncurses.
34490 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34491
34492 * configure.ac: Check for curses libraries and headers.
34493
34494 * Makefile.in (LIBCURSES): New variable.
34495
34496 * genmk.rb (Script::rule): Set the executable bits.
34497
34498 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34499 name of the PC partition map is "pc_partition_map" but not "pc".
34500
34501 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34502
34503 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34504 (modules): Likewise.
34505 (usage): Added descriptions for --modules and --grub-probefs.
34506 Handle --modules and --grub-probefs. Save the arguments in MODULES
34507 and GRUB_PROBEFS, respectively.
34508 Auto-detect a filesystem module against GRUBDIR. If the result is
34509 empty and modules are not specified explicitly, abort the
34510 installation. Add the result to MODULES.
34511
34512 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34513 disk/powerpc/ieee1275/ofdisk.c,
34514 include/grub/powerpc/ieee1275/init.h and
34515 term/powerpc/ieee1275/ofconsole.c.
34516 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34517 term/ieee1275/ofconsole.c.
34518
34519 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34520
34521 * COPYING: Upgraded to the latest version. Only the address of the
34522 FSF office has changed.
34523
34524 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34525
34526 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34527 kern/ieee1275.c with kern/ieee1275/of.c.
34528
34529 * kern/ieee1275.c: Moved to ...
34530 * kern/ieee1275/of.c: ... here.
34531
34532 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34533
34534 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
34535 readability.
34536
34537 * config.guess: Updated to the latest version from gnulib.
34538 * config.sub: Likewise.
34539 * install.sh: Likewise.
34540 * mkinstalldirs: Likewise.
34541
34542 * include/grub/console.h: Removed. This file is arch-specific. Do
34543 not put this in include/grub.
34544
34545 * include/grub/i386/pc/console.h: Resurrected.
34546
34547 * util/console.c: Include grub/machine/console.h instead of
34548 grub/console.h.
34549 * util/grub-emu.c: Likewise.
34550
34551 2005-08-04 Marco Gerards <metgerards@student.han.nl>
34552
34553 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34554 hardcoded value.
34555
34556 From Vincent Pelletier <subdino2004@yahoo.fr>
34557 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34558 Redefined to use grub_getwh.
34559 (grub_term): New member named getwh.
34560 (grub_getwh): New prototype.
34561 * kern/term.c (grub_getwh): New function.
34562 * term/i386/pc/console.c (grub_console_getwh): New function.
34563 (grub_console_term): New member `getwh'.
34564 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34565 (grub_vga_term): New member `getwh'.
34566 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
34567 grub_ssize_t.
34568 (grub_ofconsole_getw): New function.
34569 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34570 (grub_ofconsole_term): New field named getwh and new initial
34571 value.
34572
34573 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34574
34575 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34576 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34577 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34578 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34579 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34580 of <grub/machine/ieee1275.h>.
34581 * commands/ieee1275/reboot.c: Likewise.
34582 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34583 * kern/ieee1275.c: ... to here. All users updated. Change all
34584 parameter structs to use new type `grub_ieee1275_cell_t'.
34585 * term/powerpc/ieee1275/ofconsole.c: Move ...
34586 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34587 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34588 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34589 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34590 to return int.
34591 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34592 Remove unused prototypes. All users updated.
34593 * include/grub/powerpc/ieee1275/console.h: Removed.
34594 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34595 `grub_ieee1275_cell_t'.
34596 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34597 Cast comparisons with -1 to the correct type.
34598 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34599 type to match `grub_ieee1275_entry_fn'.
34600
34601 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34602
34603 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34604
34605 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34606 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34607 partmap/sun.c.
34608 (grub_probefs_SOURCES): New variable.
34609
34610 * util/i386/pc/grub-probefs.c: New file.
34611
34612 * util/i386/pc/grub-setup.c (main): Call
34613 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34614 grub_hfs_init and grub_jfs_init to initialize the system. Call
34615 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34616 grub_pc_partition_map_fini to finish the system.
34617
34618 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
34619
34620 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
34621 function.
34622 (grub_multiboot_load_elf32): Likewise.
34623 (grub_multiboot_is_elf64): Likewise.
34624 (grub_multiboot_load_elf64): Likewise.
34625 (grub_multiboot_load_elf): Likewise.
34626 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
34627 an ELF32 or ELF64 file.
34628 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
34629
34630 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
34631 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
34632 NULL before calling FS->LABEL.
34633 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
34634 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
34635 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
34636 before calling FS->LABEL.
34637
34638 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
34639
34640 * util/i386/pc/grub-install.in (datadir): New variable.
34641 (libdir): Removed.
34642 (pkgdatadir): New variable.
34643 (pkglibdir): Removed.
34644
34645 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
34646
34647 * DISTLIST: Added util/i386/pc/grub-install.in.
34648
34649 * util/i386/pc/grub-install.in: New file.
34650
34651 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
34652 (grub_install_SOURCES): Likewise.
34653
34654 * genmk.rb: Added support for scripts.
34655 (Script): New class.
34656 (scripts): New variable.
34657
34658 * Makefile.in (install-local): Install sbin_SCRIPTS by
34659 INSTALL_SCRIPT.
34660 (uninstall): Remove sbin_SCRIPTS.
34661
34662 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
34663 device, try to get a GRUB device by
34664 grub_util_biosdisk_get_grub_dev.
34665 Free DEST_DEV.
34666
34667 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
34668 description for --device-map.
34669
34670 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34671
34672 Change the semantics of variable hooks. They now return strings
34673 instead of error values.
34674
34675 * util/i386/pc/grub-setup.c: Include grub/env.h.
34676 (setup): Use grub_device_set_root instead of grub_env_set.
34677
34678 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
34679 grub_env_get instead of grub_device_set_root and
34680 grub_device_get_root, respectively.
34681
34682 * kern/main.c (grub_env_write_root): New function.
34683 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
34684 grub_env_set instead of grub_device_set_root.
34685
34686 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
34687 many variables.
34688 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
34689 rather than calling ENV->WRITE_HOOK afterwards.
34690 (grub_env_get): Return the result of ENV->READ_HOOK rather than
34691 passing a pointer of a pointer.
34692 (grub_register_variable_hook): Change the types of "read_hook" and
34693 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
34694 respectively.
34695 Allocate the default empty string on the heap, because this string
34696 may be freed later.
34697
34698 * kern/device.c: Include grub/env.h.
34699 (grub_device_set_root): Removed.
34700 (grub_device_get_root): Likewise.
34701 (grub_device_open): Use grub_env_get instead of
34702 grub_device_get_root.
34703
34704 * include/grub/env.h (grub_env_read_hook_t): New type.
34705 (grub_env_write_hook_t): Likewise.
34706 (grub_env_var): Change the types of "read_hook" and "write_hook"
34707 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
34708 (grub_register_variable_hook): Likewise.
34709
34710 * include/grub/device.h (grub_device_set_root): Removed.
34711 (grub_device_set_root): Likewise.
34712
34713 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
34714 make sure that DIRNAME terminates with '/', so that
34715 grub_fat_find_dir will fail if PATH is not a directory.
34716
34717 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
34718 from DIRNAME.
34719 Use the qualifier auto for print_files and print_files_long.
34720 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
34721 as a regular file.
34722 Put a newline only if there is no error.
34723 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
34724 used.
34725
34726 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34727
34728 * kern/partition.c (grub_partition_probe): Initialize PART to
34729 NULL. Otherwise, when no partition map is registered, this returns
34730 a garbage.
34731
34732 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
34733
34734 * partmap/apple.c (apple_partition_map_iterate): Check if POS
34735 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
34736 valid.
34737
34738 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
34739
34740 * commands/ls.c (grub_ls_list_disks): Print the filesystem
34741 information on each device, if it does not have partitions. Print
34742 "Device" instead of "Disk", because this function is not specific
34743 to disk devices.
34744
34745 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
34746 static to ensure that it is put on the memory rather than a
34747 register.
34748
34749 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34750
34751 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
34752 (grub_cat_init): Likewise.
34753 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
34754 (options): Likewise.
34755 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
34756 (grub_configfile_init): Likewise.
34757 * font/manager.c (GRUB_MOD_INIT): Likewise.
34758 * commands/help.c (GRUB_MOD_INIT): Likewise.
34759 (grub_help_init): Likewise.
34760 * normal/command.c (grub_command_init): Likewise.
34761 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
34762 * disk/loopback.c (grub_loop_init): Likewise.
34763 (GRUB_MOD_INIT): Likewise.
34764 * commands/ls.c (grub_ls_init): Likewise.
34765 (GRUB_MOD_INIT): Likewise.
34766 (options): Likewise.
34767 * commands/boot.c (grub_boot_init): Likewise.
34768 (GRUB_MOD_INIT): Likewise.
34769 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
34770 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
34771 (GRUB_MOD_INIT): Likewise.
34772 * commands/cmp.c (grub_cmp_init): Likewise.
34773 (GRUB_MOD_INIT): Likewise.
34774
34775 * normal/arg.c: Use <> instead of "" to include header files.
34776 (SHORT_ARG_HELP): New macro.
34777 (SHORT_ARG_USAGE): Likewise.
34778 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
34779 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
34780 descriptions.
34781 (find_short): Check if C is 'h' or 'u' explicitly.
34782 (grub_arg_show_help): Use space characters instead of tabs. Treat
34783 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
34784 are shown with --help and --usage only if they are not used for
34785 the command itself.
34786 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
34787 'h' and 'u'.
34788
34789 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
34790 const into "longarg". Change the type of "shortarg" to int.
34791
34792 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34793
34794 * boot/i386/pc/boot.S (boot_drive_check): New label.
34795
34796 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
34797 macro.
34798
34799 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
34800 which do not pass a boot drive correctly. Copied from GRUB Legacy.
34801
34802 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34803
34804 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
34805 When turning off Gate A20, skip the check and return immediately,
34806 because this is not fatal usually.
34807
34808 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34809
34810 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
34811 be 0x7C00 instead of 0x8000.
34812
34813 * boot/i386/pc/pxeboot.S: Rewritten.
34814
34815 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
34816 EXT_C.
34817 (gate_a20_check_state): Read a byte from 0x108000. Invert the
34818 result.
34819
34820 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
34821
34822 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
34823 robustness. This routine now supports a BIOS call and System
34824 Control Port A to modify the gate A20.
34825
34826 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34827 Increased to 0x440.
34828
34829 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
34830
34831 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
34832 device path and resulting ihandle.
34833 (grub_ofdisk_close): dprintf the ihandle being closed.
34834 (grub_ofdisk_read): dprintf function parameters.
34835 * kern/mm.c (grub_mm_init_region): Likewise.
34836 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
34837 (grub_linux_boot): dprintf the Linux entry point, initrd address and
34838 size, and boot arguments.
34839 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
34840 before loading into memory.
34841 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
34842 before loading into memory.
34843
34844 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
34845
34846 * kern/mm.c: Added much documentation.
34847 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
34848 8, set to 5 instead of 8.
34849
34850 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
34851
34852 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
34853
34854 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
34855 (grub_mkdevicemap_SOURCES): New variable.
34856
34857 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
34858 lib/device.c of GRUB Legacy.
34859
34860 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
34861
34862 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
34863 instead of PATH is NULL.
34864
34865 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
34866
34867 * commands/cmp.c (BUFFER_SIZE): New macro.
34868 (grub_cmd_cmp): Close the right file at the right time. Compare
34869 only data just read. Don't report files of different size as
34870 identical. Dynamically allocate buffers. Move variable
34871 declarations at the beginning of function.
34872
34873 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
34874
34875 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
34876 reverse.
34877
34878 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
34879
34880 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
34881 when backspace is pressed at beginning of line.
34882
34883 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
34884
34885 * DISTLIST: Added genfslist.sh.
34886
34887 * normal/main.c (fs_module_list): New variable.
34888 (autoload_fs_module): New function.
34889 (read_fs_list): Likewise.
34890 (grub_normal_execute): Call read_fs_list.
34891
34892 * kern/fs.c (grub_fs_autoload_hook): New variable.
34893 (grub_fs_probe): Added support for auto-loading.
34894
34895 * include/grub/normal.h (struct grub_fs_module_list): New struct.
34896 (grub_fs_module_list_t): New type.
34897
34898 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
34899 (grub_fs_autoload_hook): New prototype.
34900
34901 * genfslist.sh: New file.
34902
34903 * genmk.rb: Added a rule to generate a filesystem list.
34904
34905 2005-06-30 Marco Gerards <metgerards@student.han.nl>
34906
34907 * configure.ac: Fix the test for cross-compiling.
34908
34909 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
34910 define GRUB_UTIL anymore.
34911
34912 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
34913 so this function works on other systems than just big endian.
34914 (load_modules): Likewise.
34915 (add_segments): Likewise.
34916
34917 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
34918
34919 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
34920 contains `l' modifier, get a long from va_arg().
34921
34922 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
34923
34924 * kern/mm.c (grub_free): If the next free block which is being
34925 merged is the first free block, set the first block to the block
34926 being freed.
34927 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
34928
34929 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34930
34931 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
34932 `grub_ieee1275_chosen'.
34933
34934 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34935
34936 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
34937 (grub_ieee1275_chosen): New variable.
34938 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
34939 `chosen'.
34940 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
34941 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34942 Rename first argument to `phandle' for consistency.
34943 (grub_ieee1275_get_property_length): Likewise.
34944 (grub_ieee1275_next_property): Likewise. Change type of first argument
34945 to grub_ieee1275_phandle_t.
34946 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
34947 Move export next to declaration.
34948 (grub_ieee1275_chosen): New variable.
34949 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
34950 Correct cosmetic typo.
34951 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
34952 `grub_ieee1275_chosen'.
34953 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
34954 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
34955 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
34956 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
34957 `grub_ieee1275_chosen'.
34958
34959 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
34960
34961 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
34962 /chosen/bootargs.
34963 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
34964 /chosen/bootargs as "variable=value" pairs.
34965
34966 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
34967
34968 * include/grub/misc.h (grub_dprintf): New macro.
34969 (grub_real_dprintf): New prototype.
34970 (grub_strword): Likewise.
34971 (grub_iswordseparator): Likewise.
34972 * kern/misc.c (grub_real_dprintf): New function.
34973 (grub_strword): Likewise.
34974 (grub_iswordseparator): Likewise.
34975
34976 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
34977
34978 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
34979 (roundup): Remove macro.
34980 (grub_ieee1275_flags): Make static.
34981 (grub_ieee1275_realmode): Remove.
34982 (grub_ieee1275_test_flag): New function.
34983 (grub_ieee1275_set_flag): Likewise.
34984 (find_options): Rename to `grub_ieee1275_find_options'; update
34985 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
34986 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
34987 (cmain): New prototype.
34988 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
34989 `grub_ieee1275_flags' directly.
34990 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
34991 machine/biosdisk.h.
34992 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
34993 Don't include grub/machine/init.h.
34994 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
34995 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
34996 Remove prototype.
34997 (grub_ieee1275_realmode): Likewise.
34998 (grub_ieee1275_flag): New enum.
34999 (grub_ieee1275_test_flag): New prototype.
35000 (grub_ieee1275_set_flag): New prototype.
35001 * include/grub/powerpc/ieee1275/init.h: Remove file.
35002 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
35003 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
35004 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
35005 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
35006 comment.
35007 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
35008 `grub_ieee1275_test_flag'.
35009 (grub_ieee1275_encode_devname): Likewise.
35010
35011 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
35012
35013 * include/grub/powerpc/ieee1275/ieee1275.h
35014 (grub_ieee1275_encode_devname): New prototype.
35015 (grub_ieee1275_get_filename): Likewise.
35016 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
35017 function.
35018 (grub_set_prefix): Likewise.
35019 (grub_machine_init): Call grub_set_prefix.
35020 * kern/powerpc/ieee1275/openfw.c: Fix typos.
35021 (grub_parse_type): New enum.
35022 (grub_ieee1275_get_devargs): New function.
35023 (grub_ieee1275_get_devname): Likewise.
35024 (grub_ieee1275_parse_args): Likewise.
35025 (grub_ieee1275_get_filename): Likewise.
35026 (grub_ieee1275_encode_devname): Likewise.
35027
35028 2005-03-30 Marco Gerards <metgerards@student.han.nl>
35029
35030 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
35031 `grub_loader_unset'.
35032
35033 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
35034
35035 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
35036 instead of grub_ieee1275_interpret.
35037 (grub_halt_init): New function.
35038 (grub_halt_fini): Likewise.
35039 (GRUB_MOD_INIT): Correct message grammar.
35040 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
35041 instead of grub_ieee1275_interpret.
35042 (grub_reboot_init): New function.
35043 (grub_reboot_fini): Likewise.
35044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
35045 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
35046 util/i386/pc/misc.c with commands/ieee1275/halt.c,
35047 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
35048 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
35049 function.
35050 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
35051 Add prototype.
35052 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
35053 prototype.
35054 (grub_halt): Likewise.
35055 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
35056 (cmain): Remove __attribute__((unused)).
35057 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
35058 (grub_heap_len): Likewise.
35059 (grub_machine_fini): New function.
35060 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
35061 (grub_halt): Likewise.
35062 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
35063 function.
35064 * util/powerpc/ieee1275/misc.c: New file.
35065
35066 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35067
35068 * DISTLIST: New file.
35069 * gendistlist.sh: Likewise.
35070
35071 * Makefile.in (COMMON_DISTFILES): Removed.
35072 (BOOT_DISTFILES): Likewise.
35073 (CONF_DISTFILES): Likewise.
35074 (DISK_DISTFILES): Likewise.
35075 (FS_DISTFILES): Likewise.
35076 (INCLUDE_DISTFILES): Likewise.
35077 (KERN_DISTFILES): Likewise.
35078 (LOADER_DISTFILES): Likewise.
35079 (TERM_DISTFILES): Likewise.
35080 (UTIL_DISTFILES): Likewise.
35081 (DISTFILES): Likewise.
35082 (uninstall): Uninstall files in $(pkgdata_DATA).
35083 (DISTLIST): New target.
35084 (distdir): Use the contents of the file DISTLIST to get a list of
35085 distributed files.
35086
35087 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35088
35089 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
35090 descriptor. This is ported from GRUB Legacy.
35091
35092 * gencmdlist.sh: Added an extra semicolon to make it work with
35093 old sed versions. Reported by Robert Bihlmeyer
35094 <robbe@orcus.priv.at>.
35095
35096 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
35097
35098 Automatic loading of commands is supported.
35099
35100 * normal/main.c (read_command_list): New function.
35101 (grub_normal_execute): Call read_command_list.
35102
35103 * normal/command.c (grub_register_command): Return zero or CMD.
35104 Allocate CMD->NAME from the heap.
35105 Initialize CMD->MODULE_NAME to zero.
35106 Find the same name as well. If the same command is found and it is
35107 a dummy command, overwrite members. If it is not a dummy command,
35108 return zero.
35109 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
35110 (grub_command_find): If a dummy command is found, load a module
35111 and retry to find a command only once.
35112
35113 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
35114 make sure that each command is loaded.
35115
35116 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
35117 macro.
35118 (struct grub_command): Remove const from the member `name'.
35119 Add a new member `module_name'.
35120 (grub_register_command): Return grub_command_t.
35121
35122 * commands/help.c (grub_cmd_help): Call grub_command_find to make
35123 sure that each command is loaded.
35124
35125 * genmk.rb (PModule::rule): Specify a module name without the
35126 suffix ".mod" to gencmdlist.sh.
35127
35128 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35129
35130 * gencmdlist.sh: New file.
35131
35132 * genmk.rb (PModule::rule): Generate a rule for a command list.
35133 Clean command.lst.
35134 Generate command.lst from $(COMMANDFILES).
35135
35136 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
35137 (DATA): Added $(pkgdata_DATA).
35138 (install-local): Install files in $(pkgdata_DATA).
35139
35140 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35141
35142 * term/i386/pc/vga.c (debug_command): Removed.
35143 (GRUB_MOD_INIT): Do not register the command "debug".
35144
35145 From Hollis Blanchard:
35146 * commands/configfile.c: New file.
35147 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35148 commands/configfile.c.
35149 (pkgdata_MODULES): Added configfile.mod.
35150 (configfile_mod_SOURCES): New variable.
35151 (configfile_mod_CFLAGS): Likewise.
35152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35153 commands/configfile.c.
35154 (pkgdata_MODULES): Added configfile.mod.
35155 (configfile_mod_SOURCES): New variable.
35156 (configfile_mod_CFLAGS): Likewise.
35157 * util/grub-emu.c (main): Call grub_configfile_init and
35158 grub_configfile_fini.
35159 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
35160 prototype.
35161 [GRUB_UTIL] (grub_configfile_fini): Likewise.
35162
35163 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35164
35165 * normal/arg.c (grub_arg_show_help): Do not show the bug report
35166 address.
35167
35168 * commands/help.c (grub_cmd_help): Do not print newlines after
35169 the last command in print_command_help.
35170
35171 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35172
35173 * commands/default.h: New file.
35174 * commands/timeout.h: Likewise.
35175 * normal/context.c: Likewise.
35176
35177 * util/misc.c: Do not include sys/times.h.
35178 Include sys/time.h and grub/machine/time.h.
35179 (grub_get_rtc): Rewritten with gettimeofday.
35180
35181 * util/grub-emu.c (main): Call grub_default_init and
35182 grub_timeout_init before grub_normal_init, and call
35183 grub_timeout_fini and grub_default_fini after grub_main.
35184
35185 * util/console.c (grub_ncurses_checkkey): Return the read
35186 character or -1.
35187
35188 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
35189 timeouts.
35190
35191 * normal/main.c (read_config_file): Push MENU. If this fails,
35192 print an error and wait for a user input.
35193 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
35194 If a menu is empty or an error occurs, pop MENU.
35195 (grub_normal_execute): Pop and free MENU after grub_menu_run
35196 returns.
35197
35198 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
35199
35200 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
35201 include time.h.
35202 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35203 without GRUB_UTIL.
35204 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
35205 time.h.
35206 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35207 without GRUB_UTIL.
35208
35209 * include/grub/normal.h (struct grub_menu_list): New struct.
35210 (grub_menu_list_t): New type.
35211 (struct grub_context): New struct.
35212 (grub_context_t): New type.
35213 (grub_register_command): Got rid of EXPORT_FUNC.
35214 (grub_unregister_command): Likewise.
35215 (grub_context_get): New prototype.
35216 (grub_context_get_current_menu): Likewise.
35217 (grub_context_push_menu): Likewise.
35218 (grub_context_pop_menu): Likewise.
35219 [GRUB_UTIL] (grub_default_init): Likewise.
35220 [GRUB_UTIL] (grub_default_fini): Likewise.
35221 [GRUB_UTIL] (grub_timeout_init): Likewise.
35222 [GRUB_UTIL] (grub_timeout_fini): Likewise.
35223
35224 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
35225 commands/timeout.c and normal/context.c.
35226 (pkgdata_MODULES): Added default.mod and timeout.mod.
35227 (normal_mod_SOURCES): Added normal/context.c.
35228 (default_mod_SOURCES): New variable.
35229 (default_mod_CFLAGS): Likewise.
35230 (timeout_mod_SOURCES): Likewise.
35231 (timeout_mod_CFLAGS): Likewise.
35232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
35233 conf/i386-pc.rmk.
35234 (pkgdata_MODULES): Added default.mod and timeout.mod.
35235 (normal_mod_SOURCES): Added normal/context.c.
35236 (default_mod_SOURCES): New variable.
35237 (default_mod_CFLAGS): Likewise.
35238 (timeout_mod_SOURCES): Likewise.
35239 (timeout_mod_CFLAGS): Likewise.
35240
35241 * Makefile.in (all-local): Added $(MKFILES).
35242
35243 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
35244
35245 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
35246 (grub_emu_SOURCES): Likewise.
35247 (pkgdata_MODULES): Add `sun.mod'.
35248 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35250 `partmap/sun.c'.
35251 (pkgdata_MODULES): Add `sun.mod'.
35252 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35253 * include/grub/partition.h (grub_sun_partition_map_init): New
35254 prototype.
35255 (grub_sun_partition_map_fini): Likewise.
35256 * partmap/sun.c: New file.
35257 * util/grub-emu.c (main): Initialize and de-initialize the sun
35258 partitionmap support.
35259
35260 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
35261
35262 This implements an Emacs-like menu entry editor.
35263
35264 * normal/menu_entry.c: New file.
35265
35266 * util/console.c (grub_ncurses_putchar): Translate some Unicode
35267 characters to ASCII.
35268 (saved_char): New variable.
35269 (grub_ncurses_checkkey): Rewritten completely.
35270 (grub_ncurses_getkey): Likewise.
35271 (grub_ncurses_init): Call raw instead of cbreak.
35272
35273 * normal/menu.c (print_entry): Do not put a space.
35274 (init_page): Renamed to ...
35275 (grub_menu_init_page): ... this. All callers changed.
35276 (edit_menu_entry): Removed.
35277 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
35278
35279 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
35280
35281 * kern/misc.c (grub_vprintf): Call grub_refresh.
35282
35283 * normal/menu.c (DISP_LEFT): Renamed to ...
35284 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
35285 * normal/menu.c (DISP_UP): Renamed to ...
35286 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
35287 * normal/menu.c (DISP_RIGHT): Renamed to ...
35288 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
35289 * normal/menu.c (DISP_DOWN): Renamed to ...
35290 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
35291 * normal/menu.c (DISP_HLINE): Renamed to ...
35292 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
35293 * normal/menu.c (DISP_VLINE): Renamed to ...
35294 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
35295 * normal/menu.c (DISP_UL): Renamed to ...
35296 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
35297 * normal/menu.c (DISP_UR): Renamed to ...
35298 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
35299 * normal/menu.c (DISP_LL): Renamed to ...
35300 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
35301 * normal/menu.c (DISP_LR): Renamed to ...
35302 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
35303 * normal/menu.c (TERM_WIDTH): Renamed to ...
35304 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
35305 * normal/menu.c (TERM_HEIGHT): Renamed to ...
35306 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
35307 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
35308 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
35309 * normal/menu.c (TERM_MARGIN): Renamed to ...
35310 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
35311 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
35312 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
35313 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
35314 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
35315 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
35316 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
35317 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
35318 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
35319 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
35320 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
35321 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
35322 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
35323 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
35324 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
35325 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
35326 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
35327 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
35328 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
35329 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
35330 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
35331 All callers changed.
35332
35333 * include/grub/normal.h: New prototype.
35334
35335 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35336 normal/menu_entry.c.
35337 (normal_mod_SOURCES): Likewise.
35338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35339 (normal_mod_SOURCES): Likewise.
35340
35341 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
35342
35343 * include/grub/normal.h (grub_halt_init): New prototype.
35344 (grub_halt_fini): Likewise.
35345 (grub_reboot_init): Likewise.
35346 (grub_reboot_fini): Likewise.
35347
35348 * util/grub-emu.c: Include signal.h.
35349 (main_env): New global variable.
35350 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
35351 catch C-c.
35352 (grub_machine_fini): New function.
35353 (main): Call grub_halt_init and grub_reboot_init before
35354 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35355 Call setjmp with MAIN_ENV to go back afterwards.
35356 Call grub_machine_fini right before return.
35357
35358 * include/grub/util/misc.h: Include setjmp.h.
35359 (main_env): New prototype.
35360
35361 * include/grub/kernel.h (grub_machine_fini): New prototype.
35362 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35363 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35364
35365 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35366 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35367 * term/i386/pc/console.c (grub_console_fini): Likewise.
35368
35369 * util/i386/pc/misc.c: New file.
35370
35371 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35372 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35373 commands/i386/pc/reboot.c.
35374
35375 2005-02-14 Guillem Jover <guillem@hadrons.org>
35376
35377 * include/grub/dl.h (grub_dl_check_header): New prototype.
35378 (grub_arch_dl_check_header): Change return type to grub_err_t,
35379 remove size parameter and export function. Update all callers.
35380 * kern/dl.c (grub_dl_check_header): New function.
35381 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35382 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35383 are inside the core.
35384 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35385 independent ELF header checks.
35386 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35387 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35388 `grub_dl_check_header' instead of explicit checks. Check for the
35389 ELF type.
35390 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35391 `grub_dl_check_header' instead of explicit checks. Remove arch
35392 specific ELF header checks.
35393
35394 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35395 argument SIZE.
35396
35397 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35398
35399 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35400 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35401
35402 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35403
35404 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
35405 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
35406 (part_map_iterate): Clear `grub_errno' and return 0 if
35407 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
35408 * partmap/amiga.c (amiga_partition_map_iterate): Return
35409 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35410 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35411
35412 2005-02-01 Guillem Jover <guillem@hadrons.org>
35413
35414 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35415 help info.
35416
35417 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35418
35419 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35420 Removed prototype.
35421 (grub_rescue_cmd_linux): New prototype.
35422 (grub_rescue_cmd_initrd): Likewise.
35423 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35424 `bi_rec'.
35425 (grub_linux_release_mem): Release the memory for the initrd.
35426 (grub_load_linux): Renamed from this...
35427 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35428 Changed `entry' not to be static. Loop over memory regions to
35429 find another one when the default fails.
35430 (grub_rescue_cmd_initrd): New function.
35431 (grub_linux_init): Remove function.
35432 (grub_linux_fini): Likewise.
35433 (GRUB_MOD_INIT): Register `initrd'.
35434 (GRUB_MOD_FINI): Unregister `initrd'.
35435 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35436 Function removed.
35437 (grub_linux_normal_fini): Likewise.
35438 (GRUB_MOD_INIT): Register `initrd'.
35439 (GRUB_MOD_FINI): Unregister `initrd'.
35440
35441 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35442
35443 * commands/help.c: New file.
35444 * normal/arg.c (show_help): Renamed to...
35445 (grub_arg_show_help): ... this.
35446 * commands/i386/pc/halt.c: New file.
35447 * commands/i386/pc/reboot.c: Likewise.
35448 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35449 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35450 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35451 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35452 variables.
35453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35454 `commands/help.c'.
35455 (pkgdata_MODULES): Add `help.mod'.
35456 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35457 * grub/i386/pc/init.h (grub_reboot): New prototype.
35458 (grub_halt): Likewise.
35459 * include/grub/normal.h (grub_arg_show_help): New prototype.
35460 (grub_help_init): Likewise.
35461 (grub_help_fini): Likewise.
35462 * util/grub-emu.c (main): Initialize and deinitialize the help
35463 command.
35464
35465 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35466
35467 * normal/command.c (grub_command_init): Fixed the description of
35468 the `set' and `unset' commands.
35469
35470 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35471
35472 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35473 function.
35474 * commands/ieee1275/halt.c: New file.
35475 * commands/ieee1275/reboot.c: Likewise.
35476 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35477 `__attribute__ ((unused))'. Some GCS related fixed.
35478 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35479 (grub_suspend_fini): Likewise.
35480 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35481 and `halt.mod'.
35482 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35483 (halt_mod_CFLAGS): New variables.
35484 * include/grub/powerpc/ieee1275/ieee1275.h
35485 (grub_ieee1275_interpret): New prototype.
35486
35487 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35488
35489 * include/grub/misc.h (memmove): New prototype.
35490 (memcpy): Likewise.
35491
35492 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35493
35494 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35495 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35496
35497 2005-01-22 Marco Gerards <metgerards@student.han.nl>
35498
35499 * kern/misc.c (grub_strndup): Function rewritten.
35500
35501 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35502
35503 * normal/menu.c (TERM_WIDTH): Macro redefined.
35504 (TERM_TOP_BORDER_Y): Likewise.
35505 (draw_border): Replaced while-loop by a for-loop. Make the number
35506 of lines consistent with the number of lines displayed in
35507 print_entries. Added a margin below the rectangle.
35508 (print_entry): Make the entry fit in the rectangle.
35509 (print_entries): Display the scroll arrows next to the right
35510 border.
35511
35512 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35513
35514 * fs/minix.c (grub_minix_find_file): Reserve more space for
35515 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35516 `grub_strncpy' to copy `path' into it.
35517
35518 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35519
35520 Add the loopback device, a device via which files can be accessed
35521 as devices.
35522
35523 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35524 (pkgdata_MODULES): Add loopback.mod.
35525 (loopback_mod_SOURCES): New variable.
35526 (loopback_mod_CFLAGS): Likewise.
35527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35528 `disk/loopback.c'.
35529 (pkgdata_MODULES): Add loopback.mod.
35530 (loopback_mod_SOURCES): New variable.
35531 (loopback_mod_CFLAGS): Likewise.
35532 * disk/loopback.c: new file.
35533 * include/grub/normal.h (grub_loop_init): New prototype.
35534 (grub_loop_fini): New prototype.
35535 * util/grub-emu.c (main): Initialize and de-initialize loopback
35536 support.
35537 * include/grub/disk.h (grub_disk_dev_id): Add
35538 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35539
35540 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35541
35542 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35543 function.
35544 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35545 (suspend_mod_SOURCES): New variable.
35546 (suspend_mod_CFLAGS): Likewise.
35547 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35548 New prototype.
35549 * commands/ieee1275/suspend.c: New file.
35550
35551 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35552
35553 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
35554 ((unused))' to `__attribute__ ((used))'.
35555 (GRUB_MOD_FINI): Likewise.
35556 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35557 * genmk.rb (PModule): Assign space to common symbols when linking
35558 modules.
35559
35560 2005-01-20 Marco Gerards <metgerards@student.han.nl>
35561
35562 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35563 `unsigned' arguments to `grub_size_t'.
35564 (grub_malloc): Likewise.
35565 (grub_realloc): Likewise.
35566 (grub_memalign): Likewise.
35567 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35568 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35569 * util/misc.c (grub_malloc): Likewise.
35570 (grub_realloc): Likewise.
35571 * kern/mm.c (get_header_from_pointer): Change the casts to
35572 `unsigned' into a cast to `grub_size_t'.
35573
35574 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35575 point to `currnode' when `currnode' is changed.
35576
35577 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35578 Schottelius <nico-linux@schottelius.org>.
35579
35580 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35581
35582 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35583 (note_path): Remove variable.
35584 (GRUB_IEEE1275_NOTE_NAME): New macro.
35585 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35586 (grub_ieee1275_note_hdr): New structure.
35587 (grub_ieee1275_note_desc): Likewise.
35588 (grub_ieee1275_note): Likewise.
35589 (load_note): Remove `dir' argument. All callers updated. Remove
35590 `note_img' and `path'. Do not load a file from `note_path'.
35591 Initialize a struct grub_ieee1275_note and write that to `out'.
35592 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35593
35594 2005-01-05 Marco Gerards <metgerards@student.han.nl>
35595
35596 * util/misc.c (grub_util_read_image): Revert last change. It
35597 called `grub_util_read_at', which seeks from the beginning of the
35598 file.
35599
35600 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35601
35602 * TODO: Add note about endianness in grub-mkimage.
35603 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35604 section.
35605 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35606 (grub_mkimage_SOURCES): New target.
35607 * include/grub/kernel.h (grub_start_addr): Remove variable.
35608 (grub_end_addr): Likewise.
35609 (grub_total_module_size): Likewise.
35610 (grub_kernel_image_size): Likewise.
35611 (GRUB_MODULE_MAGIC): New constant.
35612 (grub_module_info): New structure.
35613 (grub_arch_modules_addr): New prototype.
35614 (grub_get_end_addr): Remove prototype.
35615 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35616 * include/grub/powerpc/ieee1275/kernel.h: New file.
35617 * include/grub/util/misc.h (grub_util_get_fp_size): New
35618 prototype.
35619 (grub_util_read_at): Likewise.
35620 (grub_util_write_image_at): Likewise.
35621 * kern/main.c (grub_get_end_addr): Remove function.
35622 (grub_load_modules): Call grub_arch_modules_addr instead of using
35623 grub_end_addr. Look for a grub_module_info struct in memory. Use
35624 the grub_module_info fields instead of calling grub_get_end_addr
35625 as loop conditions. Move grub_add_unused_region code here.
35626 (grub_add_unused_region): Remove function.
35627 * kern/i386/pc/init.c: Include grub/cache.h.
35628 (grub_machine_init): Remove call to grub_get_end_addr. Remove
35629 one call to add_mem_region.
35630 (grub_arch_modules_addr): New function.
35631 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
35632 (grub_total_module_size): Likewise.
35633 Include grub/machine/kernel.h.
35634 (grub_arch_modules_addr): New function.
35635 * util/grub-emu.c (grub_end_addr): Remove variable.
35636 (grub_total_module_size): Likewise.
35637 (grub_arch_modules_addr): New function.
35638 * util/misc.c: Include unistd.h.
35639 (grub_util_get_fp_size): New function.
35640 (grub_util_read_at): Likewise.
35641 (grub_util_write_image_at): Likewise.
35642 (grub_util_read_image): Call grub_util_read_at.
35643 (grub_util_write_image): Call grub_util_write_image_at.
35644 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
35645 additional memory in kernel_img for a struct grub_module_info.
35646 Fill in that grub_module_info.
35647 * util/powerpc/ieee1275/grub-mkimage.c: New file.
35648
35649 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35650
35651 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
35652 New function.
35653 * include/grub/powerpc/ieee1275/ieee1275.h
35654 (grub_ieee1275_milliseconds): New prototype.
35655 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
35656 Change to 1000.
35657 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
35658 grub_ieee1275_milliseconds.
35659
35660 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35661
35662 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
35663 variable.
35664 (find_options): New function.
35665 (cmain): Call find_options.
35666 * include/grub/powerpc/ieee1275/ieee1275.h
35667 (grub_ieee1275_realmode): New extern variable.
35668 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
35669 grub_map if grub_ieee1275_realmode is false.
35670
35671 2004-12-29 Marco Gerards <metgerards@student.han.nl>
35672
35673 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
35674 lines are inserted and make it work like readline. Reported by
35675 Vincent Pelletier <subdino2004@yahoo.fr>.
35676
35677 2004-12-28 Marco Gerards <metgerards@student.han.nl>
35678
35679 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
35680
35681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
35682 `kern/powerpc/cache.S'.
35683
35684 2004-12-27 Marco Gerards <metgerards@student.han.nl>
35685
35686 * genmk.rb: Handle the `Program' class in the main loop. Written
35687 by Johan Rydberg <jrydberg@gnu.org>.
35688 (Program): New class.
35689 (programs): New variable.
35690 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
35691 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
35692 instead of "grub/kernel.h". Include <grub/machine/init.h>.
35693 (help_arch): Function removed.
35694 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
35695 `powerpc/libgcc.h' and `loader.h'.
35696 (pkgdata_PROGRAMS): New variable.
35697 (sbin_UTILITIES): Variable removed.
35698 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
35699 (grubof_SOURCES): Variable re-defined so it only includes the
35700 core functionality.
35701 (grubof_CFLAGS): Remove `-DGRUBOF'.
35702 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
35703 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
35704 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
35705 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
35706 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
35707 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
35708 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
35709 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
35710 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
35711 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
35712 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35713 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
35714 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
35715 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
35716 (pc_mod_CFLAGS): New variables.
35717 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
35718 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
35719 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
35720 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
35721 Moved from here...
35722 * include/grub/i386/pc/init.h (grub_os_area_addr)
35723 (rub_os_area_size): ... to here.
35724 * include/grub/powerpc/ieee1275/ieee1275.h
35725 (grub_ieee1275_entry_fn): Export symbol.
35726 * include/grub/powerpc/ieee1275/init.h: New file.
35727 * include/grub/powerpc/libgcc.h: Likewise.
35728 * include/grub/cache.h: Likewise.
35729 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
35730 <hollis@penguinppc.org>.
35731 * kern/dl.c: Include <grub/cache.h>.
35732 (grub_dl_flush_cache): New function.
35733 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
35734 for this module.
35735 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
35736 (grub_console_init): Removed prototypes.
35737 (grub_machine_init): Don't initialize the modules anymore.
35738 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
35739 static.
35740 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
35741 Macro undef removed.
35742 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
35743 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
35744 relocation `R_PPC_REL32'. Return an error when the relocation is
35745 unknown.
35746 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
35747 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
35748 * util/misc.c (grub_arch_sync_caches): Likewise.
35749
35750 2004-12-19 Marco Gerards <metgerards@student.han.nl>
35751
35752 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
35753 `symlist.c', add `grubof_symlist.c'.
35754 (symlist.c): Variable removed.
35755 (grubof_HEADERS): Variable added.
35756 (grubof_symlist.c): New target.
35757 (kernel_syms.lst): Use `grubof_HEADERS' instead of
35758 `kernel_img_HEADERS'.
35759 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
35760 * kern/powerpc/dl.c: New file.
35761 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
35762 Function removed.
35763 (grub_arch_dl_relocate_symbols): Likewise.
35764 (grub_register_exported_symbols): Likewise.
35765
35766 2004-12-13 Marco Gerards <metgerards@student.han.nl>
35767
35768 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
35769 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
35770 to fail instead. Reported by Vincent Pelletier
35771 <subdino2004@yahoo.fr>.
35772
35773 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
35774 it is not allocated. Reported by Vincent Pelletier
35775 <subdino2004@yahoo.fr>.
35776
35777 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
35778 output so the output looks better.
35779
35780 2004-12-04 Marco Gerards <metgerards@student.han.nl>
35781
35782 Modulize the partition map support and add support for the amiga
35783 partition map.
35784
35785 * commands/ls.c: Include <grub/partition.h> instead of
35786 <grub/machine/partition.h>.
35787 * kern/disk.c: Likewise.
35788 * kern/rescue.c: Likewise.
35789 * loader/i386/pc/chainloader.c: Likewise.
35790 * normal/cmdline.c: Likewise.
35791 * kern/powerpc/ieee1275/init.c: Likewise.
35792 (grub_machine_init): Call `grub_pc_partition_map_init',
35793 `grub_amiga_partition_map_init' and
35794 `grub_apple_partition_map_init'.
35795 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
35796 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
35797 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
35798 `partition.h' and `pc_partition.h'.
35799 (grub_setup_SOURCES): Remove
35800 `disk/i386/pc/partition.c'. Add `kern/partition.c',
35801 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35802 (grub_emu_SOURCES): Likewise.
35803 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
35804 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
35805 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
35806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35807 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
35808 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35809 (grubof_SOURCES): Likewise.
35810 * disk/i386/pc/partition.c: File removed.
35811 * disk/powerpc/ieee1275/partition.c: Likewise.
35812 * include/grub/powerpc/ieee1275/partition.h: Likewise.
35813 * include/grub/i386/pc/partition.h: Likewise.
35814 * kern/partition.c: New file.
35815 * partmap/amiga.c: Likewise.
35816 * partmap/apple.c: Likewise.
35817 * partmap/pc.c: Likewise.
35818 * include/grub/partition.h: Likewise..
35819 * include/grub/pc_partition.h: Likewise.
35820 * util/grub-emu.c: Include <grub/partition.h> instead of
35821 <grub/machine/partition.h>.
35822 (main): Call `grub_pc_partition_map_init',
35823 `grub_amiga_partition_map_init' and
35824 `grub_apple_partition_map_init' and deinitialize afterwards.
35825 * util/i386/pc/biosdisk.c: Include `#include
35826 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35827 `<grub/machine/partition.h>'.
35828 * util/i386/pc/grub-setup.c: Likewise.
35829 * util/i386/pc/biosdisk.c: Likewise.
35830 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
35831 partition information in case of a PC partition.
35832 * util/i386/pc/grub-setup.c: Include `#include
35833 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35834 `<grub/machine/partition.h>'.
35835 (setup): Only access the PC specific partition information in case
35836 of a PC partition.
35837
35838 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
35839
35840 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
35841 (grub_longjmp): Likewise.
35842 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
35843 20.
35844 * normal/powerpc/setjmp.S: New file.
35845 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
35846 `normal/powerpc/setjmp.S'.
35847 (grubof_CFLAGS): Add `-DGRUBOF'.
35848 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
35849 [GRUB_UTIL && !GRUBOF].
35850
35851 2004-11-16 Marco Gerards <metgerards@student.han.nl>
35852
35853 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
35854 property named `name'. Correctly handle the error returned by
35855 `grub_ieee1275_finddevice' if a device can not be opened.
35856
35857 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
35858
35859 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
35860 `actual' for negativity.
35861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35862 kern/fshelp.c.
35863
35864 2004-11-01 Marco Gerards <metgerards@student.han.nl>
35865
35866 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
35867 (PAGE_OFFSET): New macro.
35868 (CRTC_ADDR_PORT): Likewise.
35869 (CRTC_DATA_PORT): Likewise.
35870 (START_ADDR_HIGH_REGISTER): Likewise.
35871 (START_ADDR_LOW_REGISTER): Likewise.
35872 (GRAPHICS_ADDR_PORT): Likewise.
35873 (GRAPHICS_DATA_PORT): Likewise.
35874 (READ_MAP_REGISTER): Likewise.
35875 (INPUT_STATUS1_REGISTER): Likewise.
35876 (INPUT_STATUS1_VERTR_BIT): Likewise.
35877 (page): New variable.
35878 (wait_vretrace): New function.
35879 (set_read_map): Likewise.
35880 (set_start_address): Likewise.
35881 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
35882 the right page.
35883 (check_vga_mem): Take the page into account.
35884 (write_char): Likewise.
35885 (write_cursor): Likewise.
35886 (scroll_up): Likewise. Copy the page to the page that is not
35887 shown and switch between both pages.
35888 (grub_vga_putchar): Fix off by one error.
35889 (grub_vga_cls): Wait for the vertical retrace. Take the page into
35890 account.
35891
35892 2004-11-01 Marco Gerards <metgerards@student.han.nl>
35893
35894 Add support for iso9660 (including rockridge).
35895
35896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35897 (iso9660_mod_SOURCES): New variable.
35898 (iso9660_mod_CFLAGS): Likewise.
35899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35900 * include/grub/fs.h (grub_iso9660_init): New prototype.
35901 * util/grub-emu.c (main): Call `grub_iso9660_init'.
35902 * fs/iso9660.c: New file.
35903
35904 * include/grub/misc.h (grub_strncat): New prototype.
35905 * kern/misc.c (grub_strncat): New function.
35906
35907 * fs/hfs.c (grub_hfs_mount): Translate the error
35908 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
35909 * fs/jfs.c (grub_jfs_mount): Likewise.
35910 * fs/ufs.c (grub_ufs_mount): Likewise.
35911
35912 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
35913
35914 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
35915 which initialized BAT registers.
35916 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
35917 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35918 Move from here...
35919 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
35920 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35921 ... to here.
35922 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
35923 (grub_mapclaim): Likewise.
35924 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
35925 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
35926 hand.
35927
35928 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
35929
35930 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
35931 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
35932 -ffreestanding and -msoft-float.
35933
35934 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
35935
35936 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
35937 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
35938 set in grub_ieee1275_flags.
35939
35940 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
35941
35942 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
35943 prototype.
35944 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
35945 grub_console_init first.
35946 Change the memory range used for grub_ieee1275_claim and
35947 grub_mm_init_region.
35948 Print an error message if the claim fails.
35949 Include <grub/misc.h>.
35950
35951 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
35952
35953 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
35954 Call grub_children_iterate for device nodes of type `scsi',
35955 `ide', or `ata'.
35956 (grub_ofdisk_open): Remove manual device alias resolution.
35957 Fix memory leak when device cannot be opened.
35958 * include/grub/powerpc/ieee1275/ieee1275.h
35959 (grub_children_iterate): New prototype.
35960 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
35961 New function.
35962 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
35963 Return -1 if args.size was -1.
35964
35965 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35966
35967 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
35968 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
35969 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
35970 Open Firmware's memory for it; claim memory from _start to _end.
35971 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
35972 (_end): New extern.
35973 (_start): Zero BSS from __bss_start to _end.
35974 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35975 New extern.
35976 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
35977
35978 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35979
35980 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
35981 -1 if args.base was -1.
35982
35983 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
35984
35985 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
35986 escape sequence instead of a literal ^L. Also call
35987 grub_ofconsole_gotoxy.
35988
35989 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
35990
35991 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
35992 void * arguments to grub_addr_t. All callers updated. Also make
35993 the `result' argument optional.
35994 (grub_ieee1275_release): change void * arguments to grub_addr_t.
35995 All callers updated.
35996
35997 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
35998
35999 * commands/ls.c (grub_ls_list_files): Use the string following the
36000 initial ')', if present, as the filesystem path.
36001 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
36002
36003 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
36004
36005 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
36006
36007 Make the source code of the menu interface more readable.
36008
36009 * normal/menu.c: Include grub/mm.h.
36010 (TERM_WIDTH): New macro.
36011 (TERM_HEIGHT): Likewise.
36012 (TERM_INFO_HEIGHT): Likewise.
36013 (TERM_MARGIN): Likewise.
36014 (TERM_SCROLL_WIDTH): Likewise.
36015 (TERM_TOP_BORDER_Y): Likewise.
36016 (TERM_LEFT_BORDER_X): Likewise.
36017 (TERM_BORDER_WIDTH): Likewise.
36018 (TERM_MESSAGE_HEIGHT): Likewise.
36019 (TERM_BORDER_HEIGHT): Likewise.
36020 (TERM_NUM_ENTRIES): Likewise.
36021 (TERM_FIRST_ENTRY_Y): Likewise.
36022 (TERM_ENTRY_WIDTH): Likewise.
36023 (TERM_CURSOR_X): Likewise.
36024 (draw_border): Use macros instead of magic numbers.
36025 (print_entry): Likewise.
36026 (print_entries): Likewise.
36027 (run_menu): Likewise. Also, handle the key 'e'.
36028 (run_menu_entry): Ignore empty command lines.
36029 (print_message): Added a new argument EDIT. If EDIT is true,
36030 print a different message.
36031 (init_page): Likewise.
36032 (edit_menu_entry): New function. Not implemented yet.
36033
36034 2004-09-17 Marco Gerards <metgerards@student.han.nl>
36035
36036 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
36037 can be loaded from normal mode.
36038
36039 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
36040 `multiboot.mod'.
36041 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
36042 (multiboot_mod_CFLAGS): New variables.
36043 * loader/i386/pc/linux_normal.c: New file.
36044 * loader/i386/pc/multiboot_normal.c: Likewise.
36045
36046 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
36047 attribute `unused'.
36048
36049 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
36050 `fdiro' to read the mode information from instead of `diro'.
36051
36052 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
36053 looking up a symlink.
36054
36055 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
36056 macro.
36057 * normal/command.c (grub_command_execute): Don't parse the
36058 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
36059 flags of the command.
36060
36061 * normal/menu.c (grub_menu_run): Fix typo.
36062
36063 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
36064
36065 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
36066
36067 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
36068 `y + 1' instead of `y - 1'.
36069
36070 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
36071
36072 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
36073
36074 From Hollis Blanchard <hollis@penguinppc.org>:
36075 * kern/misc.c (memmove): New alias for grub_memmove.
36076 (memcmp): New alias for grub_memcmp.
36077 (memset): New alias for grub_memset.
36078 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36079 Change "int handle" to "grub_ieee1275_phandle_t handle".
36080 * include/grub/powerpc/ieee1275/ieee1275.h
36081 (grub_ieee1275_get_property): Likewise.
36082
36083 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
36084
36085 Added normal mode command `chainloader' as module chain.mod, which
36086 depends on normal.mod and _chain.mod.
36087
36088 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
36089 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
36090 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
36091 Deleted prototype.
36092 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
36093 but arguments parsing moved to ...
36094 (grub_chainloader_cmd): ... here. New function.
36095 * include/grub/i386/pc/chainloader.h: New file.
36096 * loader/i386/pc/chainloader_normal.c: Likewise.
36097
36098 2004-09-11 Marco Gerards <metgerards@student.han.nl>
36099
36100 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
36101 (grub_mkimage_LDFLAGS): Likewise.
36102 (grub_emu_SOURCES): Likewise.
36103 (kernel_img_HEADERS): Added fshelp.h.
36104 * fs/ext2.c: Include <grub/fshelp.h>.
36105 (FILETYPE_REG): New macro.
36106 (FILETYPE_INO_REG): Likewise.
36107 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
36108 Changed all users.
36109 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
36110 all users.
36111 (grub_fshelp_node): New struct.
36112 (grub_ext2_data): Added member `diropen'. Changed member `inode'
36113 to a pointer.
36114 (grub_ext2_get_file_block): Removed function.
36115 (grub_ext2_read_block): New function.
36116 (grub_ext2_read_file): Replaced parameter `data' by `node'.
36117 This function was written.
36118 (grub_ext2_mount): Read the root inode. Create a diropen struct.
36119 (grub_ext2_find_file): Removed function.
36120 (grub_ext2_read_symlink): New function.
36121 (grub_ext2_iterate_dir): Likewise.
36122 (grub_ext2_open): Rewritten.
36123 (grub_ext2_dir): Rewritten.
36124 * include/grub/fshelp.h: New file.
36125 * fs/fshelp.c: Likewise.
36126
36127 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
36128
36129 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
36130 (print_message): Add a missing newline.
36131 (run_menu): Added timeout support.
36132 (run_menu_entry): New local function.
36133 (grub_menu_run): Added support for booting.
36134
36135 * kern/loader.c (grub_loader_is_loaded): New function.
36136
36137 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
36138 (grub_get_rtc): Exported.
36139
36140 * include/grub/i386/pc/time.h: Include grub/symbol.h.
36141 (grub_get_rtc): Exported.
36142
36143 * include/grub/normal.h (struct grub_command_list): Remove
36144 constant from the member `command'.
36145
36146 * include/grub/loader.h (grub_loader_is_loaded): Declared.
36147
36148 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
36149
36150 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
36151
36152 2004-08-28 Marco Gerards <metgerards@student.han.nl>
36153
36154 Add support for the JFS filesystem.
36155
36156 * fs/jfs.c: New file.
36157 * include/grub/fs.h (grub_jfs_init): New prototype.
36158 (grub_jfs_fini): New prototype.
36159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
36160 (grub_emu_SOURCES): Likewise.
36161 (pkgdata_MODULES): Add jfs.mod.
36162 (jfs_mod_SOURCES): New variable.
36163 (jfs_mod_CFLAGS): Likewise.
36164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
36165 (grubof_SOURCES): Likewise.
36166 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
36167
36168 * fs/fat.c (grub_fat_find_dir): Convert the filename little
36169 endian to the host endian.
36170 (grub_fat_utf16_to_utf8): Move function from there...
36171 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
36172 the endianness of the source string anymore.
36173 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
36174
36175 2004-08-24 Marco Gerards <metgerards@student.han.nl>
36176
36177 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
36178 (grub_boot_fini) [GRUB_UTIL]: Likewise.
36179 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
36180 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
36181
36182 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
36183 (grub_hfs_iterate_dir): Make the function static. Add prototypes
36184 for `node_found' and `it_dir'.
36185 (grub_hfs_dir): Add prototype for `dir_hook'.
36186
36187 * fs/minix.c (grub_minix_get_file_block): Add prototype for
36188 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
36189 and `indir32' to silence a gcc warning.
36190
36191 * include/grub/fs.h (grub_hfs_init): New prototype.
36192 (grub_hfs_fini): Likewise.
36193
36194
36195 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36196
36197 Each disk device has its own id now. This is useful to make use
36198 of multiple disk devices.
36199
36200 * include/grub/disk.h (grub_disk_dev_id): New enum.
36201 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
36202 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
36203
36204 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
36205 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36206
36207 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
36208 GRUB_DISK_DEVICE_OFDISK_ID as an id.
36209
36210 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
36211 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36212
36213 * include/grub/disk.h (struct grub_disk_dev): Added a new member
36214 "id" which is used by the cache manager.
36215
36216 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
36217 of just "GRUB".
36218
36219 2004-08-18 Marco Gerards <metgerards@student.han.nl>
36220
36221 * fs/hfs.c: New file.
36222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
36223 (grub_emu_SOURCES): Likewise.
36224 (pkgdata_MODULES): Add hfs.mod.
36225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
36226 (grubof_SOURCES): Likewise.
36227 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
36228
36229 * include/grub/misc.h (grub_strncasecmp): Add prototype.
36230 * kern/misc.c (grub_strncasecmp): Add function.
36231
36232 2004-08-14 Marco Gerards <metgerards@student.han.nl>
36233
36234 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
36235 with parentheses.
36236
36237 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
36238 (grub_ext2_dir): In case the directory entry type is unknown, read
36239 it from the inode.
36240
36241 2004-08-02 Peter Bruin <pjbruin@dds.nl>
36242
36243 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
36244 grub_load_linux instead of grub_rescue_cmd_linux as second
36245 argument of grub_rescue_register_command.
36246
36247 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
36248
36249 2004-07-27 Marco Gerards <metgerards@student.han.nl>
36250
36251 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
36252 function.
36253 * commands/boot.c: Remove the check for `GRUB_UTIL'.
36254 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36255 `loader/powerpc/ieee1275/linux.c',
36256 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
36257 * include/grub/powerpc/ieee1275/ieee1275.h
36258 (grub_ieee1275_release): New prototype.
36259 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
36260 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
36261 normal, boot, linux and linux_normal.
36262 * loader/powerpc/ieee1275/linux.c: New file.
36263 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36264
36265 2004-07-12 Marco Gerards <metgerards@student.han.nl>
36266
36267 * normal/arg.c (grub_arg_parse): Correct error handling after
36268 reallocating the argumentlist (check if `argl' is not null instead
36269 of checking if `args' is not null).
36270 * kern/mm.c (grub_realloc): Return the same pointer when using the
36271 same region, instead of returning the header address.
36272
36273 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36274
36275 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
36276 one block instead of two when looking for the initial partition.
36277 (grub_partition_probe): Initialize the local variable `p' with 0.
36278 Use base 10 for the grub_strtoul call.
36279 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
36280 need for one local variable.
36281 (grub_strtoul): Don't add the new value to `num', instead of that
36282 just assign it.
36283
36284 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36285
36286 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
36287 (pxeboot_img_SOURCES): New variable.
36288 (pxeboot_img_ASFLAGS): Likewise.
36289 (pxeboot_img_LDFLAGS): Likewise.
36290 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
36291 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
36292 <lode_leroy@hotmail.com>.
36293
36294 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36295
36296 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
36297 there was no input.
36298
36299 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36300
36301 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
36302 the history buffer logic.
36303
36304 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36305
36306 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
36307 (FILETYPE_INO_SYMLINK): New macros.
36308 (grub_ext2_find_file): Check if the node is a directory using the
36309 inode stat information instead of using the filetype in the
36310 dirent. Exclude the first character of an absolute symlink.
36311 (grub_ext2_dir): Mask out the filetype part of the mode member of
36312 the inode.
36313
36314 2004-05-24 Marco Gerards <metgerards@student.han.nl>
36315
36316 Add support for UFS version 1 and 2. Add support for the minix
36317 filesystem version 1 and 2, both the variants with 14 and 30 long
36318 filenames.
36319
36320 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
36321 fs/minix.c.
36322 (grub_emu_SOURCES): Likewise.
36323 (pkgdata_MODULES): Add ufs.mod and minix.mod.
36324 (ufs_mod_SOURCES): New variable.
36325 (ufs_mod_CFLAGS): Likewise.
36326 (minix_mod_SOURCES): Likewise.
36327 (minix_mod_CFLAGS): Likewise.
36328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
36329 fs/minix.c.
36330 (grubof_SOURCES): Likewise.
36331 * fs/ufs.c: New file.
36332 * fs/minix.c: New file.
36333 * include/grub/fs.h (grub_ufs_init): New prototype.
36334 (grub_ufs_fini): Likewise.
36335 (grub_minix_init): Likewise.
36336 (grub_minix_fini): Likewise.
36337 * util/grub-emu.c (main): Initialize and deinitialize UFS and
36338 minix fs.
36339
36340 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
36341
36342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
36343 commands/ls.c, commands/terminal.c, commands/boot.c,
36344 commands/cmp.c and commands/cat.c.
36345 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
36346
36347 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
36348 "env.h"
36349
36350 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36351
36352 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36353 and grub_, respectively. Because the conversion is trivial and
36354 mechanical, I omit the details here. Please refer to the CVS
36355 if you need more information.
36356
36357 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36358
36359 * include/pupa: Renamed to ...
36360 * include/grub: ... this.
36361 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36362 * util/i386/pc/grub-mkimage.c: ... this.
36363 * util/i386/pc/pupa-setup.c: Renamed to ...
36364 * util/i386/pc/grub-setup.c: ... this.
36365 * util/pupa-emu.c: Renamed to ...
36366 * util/grub-emu.c: ... this.
36367
36368 2004-03-29 Marco Gerards <metgerards@student.han.nl>
36369
36370 Add support for the newworld apple macintosh (PPC). This has been
36371 tested on the powerbook 2000 only. It only adds support for
36372 generic ieee1275 functions, console and disk support. This should
36373 be easy to port to other architectures with support for Open
36374 Firmware.
36375
36376 * configure.ac: Accept the powerpc as host_cpu. In the case of
36377 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36378 specific tests are only executed while building for the i386.
36379 Inverse test for crosscompile.
36380 * genmk.rb (Utility): Allow assembler files.
36381 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36382 * conf/powerpc-ieee1275.rmk: New file.
36383 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36384 * disk/powerpc/ieee1275/partition.c: Likewise.
36385 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36386 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36387 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36388 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36389 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36390 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36391 * include/pupa/powerpc/ieee1275/loader.h
36392 * include/pupa/powerpc/setjmp.h: Likewise.
36393 * include/pupa/powerpc/types.h: Likewise.
36394 * kern/powerpc/ieee1275/init.c: Likewise.
36395 * kern/powerpc/ieee1275/openfw.c: Likewise.
36396 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36397
36398 These files were written by Johan Rydberg
36399 (jrydberg@night.trouble.net) and I only modified them slightly.
36400
36401 * boot/powerpc/ieee1275/cmain.c: New file.
36402 * boot/powerpc/ieee1275/crt0.S: Likewise.
36403 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36404 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36405
36406 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36407
36408 * Makefile.in: Update copyright.
36409 * genmodsrc.sh: Likewise.
36410 * gensymlist.sh: Likewise.
36411 * term/i386/pc/vga.c: Indent correctly.
36412
36413 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36414 bugreporting address.
36415 * util/i386/pc/pupa-setup.c (usage): Likewise,
36416 (main): Call pupa_ext2_init and pupa_ext2_fini.
36417
36418 * fs/fat.c (log2): Renamed to ...
36419 (fat_log2): ... this.
36420 All callers changed.
36421 * kern/misc.c (memcpy): Alias to pupa_memmove.
36422 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36423 lvalue cast.
36424 * util/console.c (pupa_ncurses_fini): Return 0.
36425
36426 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36427 Move fail label here.
36428 [__GNU__]: Don't warn when using stat.
36429 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36430 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36431 long int. Use strtol instead of strtoul.
36432
36433 2004-03-14 Marco Gerards <metgerards@student.han.nl>
36434
36435 * commands/boot.c: New file.
36436 * commands/cat.c: Likewise.
36437 * commands/cmp.c: Likewise.
36438 * commands/ls.c: Likewise.
36439 * commands/terminal.c: Likewise.
36440 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36441 (pupa_register_command): Changed interface to match the new
36442 argument parser.
36443 (pupa_command_execute): Changed (almost rewritten) so it uses
36444 pupa_split_command. Added support for setting variables using the
36445 syntax `foo=bar'.
36446 (rescue_command): Changed to work with the new argument parser.
36447 (terminal_command): Moved from here to commands/terminal.c.
36448 (set_command): New function.
36449 (unset_command): New function.
36450 (insmod_command): New function.
36451 (rmmod_command): New function.
36452 (lsmod_command): New function.
36453 (pupa_command_init): Don't initialize the command terminal
36454 anymore. Initialize the commands set, unset, insmod, rmmod and
36455 lsmod.
36456 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36457 (kernel_img_HEADERS): Add arg.h and env.h.
36458 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36459 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36460 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36461 normal/arg.c.
36462 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36463 terminal.mod.
36464 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36465 (boot_mod_SOURCES): New variable.
36466 (terminal_mod_SOURCES): Likewise.
36467 (ls_mod_SOURCES): Likewise.
36468 (cmp_mod_SOURCES): Likewise.
36469 (cat_mod_SOURCES): Likewise.
36470
36471 * normal/arg.c: New file.
36472 * kern/env.c: Likewise.
36473 * include/pupa/arg.h: Likewise.
36474 * include/pupa/env.h: Likewise.
36475 * font/manager.c (font_command): Changed to match argument parsing
36476 interface changes.
36477 (PUPA_MOD_INIT): Likewise.
36478 * hello/hello.c (pupa_cmd_hello): Likewise.
36479 (PUPA_MOD_INIT): Likewise.
36480 * include/pupa/disk.h: Include <pupa/device.h>.
36481 (pupa_print_partinfo): New prototype.
36482 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36483 (pupa_dl_get_prefix): Likewise.
36484 * include/pupa/misc.h: Include <pupa/err.h>.
36485 (pupa_isgraph): New prototype.
36486 (pupa_isdigit): Likewise.
36487 (pupa_split_cmdline): Likewise.
36488 * include/pupa/normal.h: Include <pupa/arg.h>.
36489 (pupa_command): Changed the prototype of the member `func' to
36490 match the argument parsing interface. Added member `options'.
36491 (pupa_register_command): Updated to match function.
36492 (pupa_arg_parse): New prototype.
36493 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36494 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36495 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36496 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36497 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36498 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36499 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36500 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36501 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36502 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36503 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36504 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36505 * kern/disk.c: Include <pupa/file.h>.
36506 (pupa_print_partinfo): New function.
36507 * kern/dl.c: Include <pupa/env.h>.
36508 (pupa_dl_dir): Variable removed.
36509 (pupa_dl_load): Use the environment variable `prefix' instead of
36510 the variable pupa_dl_dir.
36511 (pupa_dl_set_prefix): Function removed.
36512 (pupa_dl_get_prefix): Likewise.
36513 * kern/i386/pc/init.c: Include <pupa/env.h>.
36514 (pupa_machine_init): Use the environment variable `prefix' instead of
36515 using pupa_dl_set_prefix to set the prefix.
36516 * kern/main.c: Include <pupa/env.h>.
36517 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36518 using pupa_dl_get_prefix to get the prefix.
36519 * kern/misc.c: Include <pupa/env.h>.
36520 (pupa_isdigit): New function.
36521 (pupa_isgraph): Likewise.
36522 (pupa_ftoa): Likewise.
36523 (pupa_vsprintf): Added support for printing values of the type
36524 `double'. Make it possible to format variable output when using
36525 formatting like `%1.2%f'.
36526 (pupa_split_cmdline): New function.
36527 * kern/rescue.c: Include <pupa/env.h>.
36528 (next_word): Removed function.
36529 (pupa_rescue_cmd_prefix): Likewise.
36530 (pupa_rescue_cmd_set): New function.
36531 (pupa_rescue_cmd_unset): New function.
36532 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36533 split the command line instead of splitting it here. Added
36534 support for setting variables using the syntax `foo=bar'. Don't
36535 initialize the prefix command anymore. Initialized the set and
36536 unset commands.
36537 * normal/cmdline.c: Include <pupa/env.h>.
36538 (pupa_tab_complete): Added prototypes for print_simple_completion,
36539 print_partition_completion, add_completion, iterate_commands,
36540 iterate_dev, iterate_part and iterate_dir. Moved code to print
36541 partition information from here to kern/disk.c.
36542 (pupa_cmdline_run): Don't check if the function exists anymore.
36543 * normal/main.c: Include <pupa/env.h>.
36544 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36545 instead of using pupa_dl_get_prefix to get the prefix.
36546 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36547 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36548 warning.
36549 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36550 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36551 ((unused))' to silence a gcc warning.
36552 (pupa_vga_setcolor): Likewise.
36553 (debug_command): Changed to match argument parsing
36554 interface changes.
36555 * util/pupa-emu.c: Include <pupa/env.h>.
36556 (options): Added 0's for unused fields to silence a gcc warning.
36557 (argp): Likewise.
36558 (main): Use the environment variable `prefix' instead of using
36559 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36560 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36561 and terminal.
36562
36563 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36564 * util/misc.c: Include <malloc.h>.
36565 (pupa_malloc): Rewritten so errors are correctly reported.
36566 (pupa_realloc): Likewise.
36567 (pupa_memalign): Likewise.
36568 (pupa_mm_init_region): Declare unused variables with
36569 `__attribute__ ((unused))' to silence a gcc warning.
36570 * normal/i386/setjmp.S: Remove tab at the end of the file to
36571 silence a gcc warning.
36572 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36573 variables with `__attribute__ ((unused))' to silence a gcc
36574 warning.
36575 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36576 local variable i unsigned to silence a gcc warning.
36577
36578 * kern/term.c: Include <pupa/misc.h>.
36579 (pupa_more_lines): New variable.
36580 (pupa_more): Likewise.
36581 (pupa_putcode): When the pager is active pause at the end of every
36582 screen.
36583 (pupa_set_more): New function.
36584 * include/pupa/term.h (pupa_set_more): New prototype.
36585
36586
36587 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36588
36589 Now this project is GRUB 2 rather than PUPA. The location of
36590 the CVS repository was moved to GRUB's.
36591
36592 * configure.ac: Use bug-grub as the reporting address.
36593 Use GRUB instead of PUPA.
36594 Change the version number to 1.90.
36595
36596 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36597
36598 * genkernsyms.sh: Updated copyright information.
36599 * genmk.rb: Likewise.
36600 * genmodsrc.sh: Likewise.
36601 * gensymlist.sh: Likewise.
36602 * boot/i386/pc/boot.S: Likewise.
36603 * boot/i386/pc/diskboot.S: Likewise.
36604 * disk/i386/pc/biosdisk.c: Likewise.
36605 * disk/i386/pc/partition.c: Likewise.
36606 * font/manager.c: Likewise.
36607 * fs/ext2.c: Likewise.
36608 * fs/fat.c: Likewise.
36609 * include/pupa/boot.h: Likewise.
36610 * include/pupa/device.h: Likewise.
36611 * include/pupa/disk.h: Likewise.
36612 * include/pupa/dl.h: Likewise.
36613 * include/pupa/elf.h: Likewise.
36614 * include/pupa/err.h: Likewise.
36615 * include/pupa/file.h: Likewise.
36616 * include/pupa/font.h: Likewise.
36617 * include/pupa/fs.h: Likewise.
36618 * include/pupa/kernel.h: Likewise.
36619 * include/pupa/loader.h: Likewise.
36620 * include/pupa/misc.h: Likewise.
36621 * include/pupa/mm.h: Likewise.
36622 * include/pupa/net.h: Likewise.
36623 * include/pupa/normal.h: Likewise.
36624 * include/pupa/rescue.h: Likewise.
36625 * include/pupa/setjmp.h: Likewise.
36626 * include/pupa/symbol.h: Likewise.
36627 * include/pupa/term.h: Likewise.
36628 * include/pupa/types.h: Likewise.
36629 * include/pupa/i386/setjmp.h: Likewise.
36630 * include/pupa/i386/types.h: Likewise.
36631 * include/pupa/i386/pc/biosdisk.h: Likewise.
36632 * include/pupa/i386/pc/boot.h: Likewise.
36633 * include/pupa/i386/pc/console.h: Likewise.
36634 * include/pupa/i386/pc/init.h: Likewise.
36635 * include/pupa/i386/pc/kernel.h: Likewise.
36636 * include/pupa/i386/pc/linux.h: Likewise.
36637 * include/pupa/i386/pc/loader.h: Likewise.
36638 * include/pupa/i386/pc/memory.h: Likewise.
36639 * include/pupa/i386/pc/multiboot.h: Likewise.
36640 * include/pupa/i386/pc/partition.h: Likewise.
36641 * include/pupa/i386/pc/time.h: Likewise.
36642 * include/pupa/i386/pc/vga.h: Likewise.
36643 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
36644 * include/pupa/util/getroot.h: Likewise.
36645 * include/pupa/util/misc.h: Likewise.
36646 * include/pupa/util/resolve.h: Likewise.
36647 * kern/device.c: Likewise.
36648 * kern/disk.c: Likewise.
36649 * kern/dl.c: Likewise.
36650 * kern/err.c: Likewise.
36651 * kern/file.c: Likewise.
36652 * kern/fs.c: Likewise.
36653 * kern/loader.c: Likewise.
36654 * kern/main.c: Likewise.
36655 * kern/misc.c: Likewise.
36656 * kern/mm.c: Likewise.
36657 * kern/rescue.c: Likewise.
36658 * kern/term.c: Likewise.
36659 * kern/i386/dl.c: Likewise.
36660 * kern/i386/pc/init.c: Likewise.
36661 * kern/i386/pc/lzo1x.S: Likewise.
36662 * kern/i386/pc/startup.S: Likewise.
36663 * loader/i386/pc/chainloader.c: Likewise.
36664 * loader/i386/pc/linux.c: Likewise.
36665 * loader/i386/pc/multiboot.c: Likewise.
36666 * normal/cmdline.c: Likewise.
36667 * normal/command.c: Likewise.
36668 * normal/main.c: Likewise.
36669 * normal/menu.c: Likewise.
36670 * normal/i386/setjmp.S: Likewise.
36671 * term/i386/pc/console.c: Likewise.
36672 * term/i386/pc/vga.c: Likewise.
36673 * util/console.c: Likewise.
36674 * util/genmoddep.c: Likewise.
36675 * util/misc.c: Likewise.
36676 * util/pupa-emu.c: Likewise.
36677 * util/resolve.c: Likewise.
36678 * util/unifont2pff.rb: Likewise.
36679 * util/i386/pc/biosdisk.c: Likewise.
36680 * util/i386/pc/getroot.c: Likewise.
36681 * util/i386/pc/pupa-mkimage.c: Likewise.
36682 * util/i386/pc/pupa-setup.c: Likewise.
36683
36684 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
36685
36686 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
36687 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
36688 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
36689 reading and reset it after reading.
36690 (pupa_ext2_close): Return PUPA_ERR_NONE.
36691
36692 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
36693 Correct value.
36694 (struct linux_kernel_header): Add kernel_version and
36695 initrd_addr_max.
36696 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
36697 pupa_file_read succeeds.
36698 (pupa_rescue_cmd_initrd): Implement.
36699
36700 2003-12-03 Marco Gerards <metgerards@student.han.nl>
36701
36702 * fs/ext2.c (pupa_ext2_label): New function.
36703 (pupa_ext2_fs): Added label.
36704 * fs/fat.c (pupa_fat_label): New function.
36705 (pupa_fat_fs): Added label.
36706 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
36707
36708 * kern/misc.c (pupa_strndup): New function.
36709 * include/pupa/misc.h (pupa_strndup): New prototype.
36710
36711 * include/pupa/normal.h: Include <pupa/err.h>.
36712 (pupa_set_history): New prototype.
36713 (pupa_iterate_commands): New prototype.
36714 * normal/cmdline.c: Include <pupa/machine/partition.h>,
36715 <pupa/disk.h>, <pupa/file.h>.
36716 (hist_size): New variable.
36717 (hist_lines): Likewise.
36718 (hist_end): Likewise.
36719 (hist_used): Likewise.
36720 (pupa_set_history): New function.
36721 (pupa_history_get): Likewise.
36722 (pupa_history_add): Likewise.
36723 (pupa_history_replace): Likewise.
36724 (pupa_tab_complete): Likewise.
36725 (pupa_cmdline_run): Added tab completion and history buffer. Tab
36726 completion shows partitionnames while completing partitions, this
36727 feature was suggested by Jeff Bailey.
36728 * normal/command.c (pupa_iterate_commands): New function.
36729 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
36730 (pupa_normal_init): Initialize history buffer.
36731 (PUPA_MOD_INIT): Likewise.
36732 (pupa_normal_fini): Free the history buffer.
36733 (PUPA_MOD_FINI): Likewise.
36734
36735 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
36736 key.
36737
36738 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
36739 * configure.ac [i386]: Check for regparam bug.
36740 (NESTED_FUNC_ATTR) [! i386]: Defined.
36741
36742 2003-11-17 Marco Gerards <metgerards@student.han.nl>
36743
36744 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
36745 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
36746 (pupa_emu_SOURCES): New variable.
36747 (pupa_emu_LDFLAGS): Likewise.
36748 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
36749 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
36750 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
36751 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36752 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
36753 (pupa_jmp_buf): New typedef.
36754 (pupa_setjmp) [PUPA_UTIL]: New macro.
36755 (pupa_longjmp) [PUPA_UTIL]: Likewise.
36756 * include/pupa/term.h (struct pupa_term): New member `refresh'.
36757 (pupa_refresh): New prototype.
36758 * include/pupa/util/getroot.h: New file.
36759 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
36760 it.
36761 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
36762 (pupa_rescue_cmd_cat): Likewise.
36763 (pupa_rescue_cmd_ls): Likewise.
36764 (pupa_rescue_cmd_testload): Likewise.
36765 (pupa_rescue_cmd_lsmod): Likewise.
36766 * normal/cmdline.c (pupa_cmdline_get): Likewise.
36767 * normal/menu.c (run_menu): Likewise.
36768 * kern/term.c (pupa_cls): Likewise.
36769 (pupa_refresh): New function.
36770 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
36771 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36772 * util/console.c: New file.
36773
36774 * util/i386/pc/getroot.c: New file.
36775 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
36776 (pupa_putchar): New function.
36777 (pupa_refresh): Likewise.
36778 (xgetcwd): Function moved to ...
36779 (strip_extra_slashes): Likewise.
36780 (get_prefix): Likewise.
36781 * util/i386/pc/getroot.c: ... here.
36782 (find_root_device): Function moved and renamed to...
36783 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
36784 Changed all callers.
36785 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
36786 and renamed to...
36787 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
36788 Changed all callers.
36789 * util/misc.c (pupa_memalign): New function.
36790 (pupa_mm_init_region): Likewise.
36791 (pupa_register_exported_symbols): Likewise.
36792 (pupa_putchar): Function removed.
36793 * util/pupa-emu.c: New file.
36794
36795 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
36796
36797 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
36798 (_multiboot_mod_SOURCES): New variable.
36799 (_multiboot_mod_CFLAGS): Likewise.
36800 * loader/i386/pc/multiboot.c: New file.
36801 * include/pupa/i386/pc/multiboot.h: Likewise.
36802 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
36803 (pupa_multiboot_real_boot): New function.
36804 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
36805 (pupa_multiboot_real_boot): New prototype.
36806 (pupa_rescue_cmd_multiboot): Likewise
36807 (pupa_rescue_cmd_module): Likewise.
36808
36809 * kern/loader.c (pupa_loader_set): Continue when
36810 pupa_loader_unload_func() fails.
36811 (pupa_loader_unset): New function.
36812 * include/pupa/loader.h (pupa_loader_unset): New prototype.
36813
36814 * kern/misc.c (pupa_stpcpy): New function.
36815 * include/pupa/misc.h (pupa_stpcpy): New prototype.
36816
36817 2003-11-12 Marco Gerards <metgerards@student.han.nl>
36818
36819 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
36820 for available extensions.
36821
36822 * include/pupa/i386/pc/time.h: New file.
36823 * kern/disk.c: Include <pupa/machine/time.h>.
36824 (PUPA_CACHE_TIMEOUT): New macro.
36825 (pupa_last_time): New variable.
36826 (pupa_disk_open): Flush the cache when there was a timeout.
36827 (pupa_disk_close): Reset the timer.
36828 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
36829 pupa_currticks.
36830 * util/misc.c: Include <sys/times.h>
36831 (pupa_get_rtc): New function.
36832
36833 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36834
36835 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
36836 as blocks.
36837 (pupa_ext2_get_file_block): Use blocks member.
36838
36839 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
36840 first block. Return -1 instead of pupa_errno on error.
36841
36842 2003-10-27 Marco Gerards <metgerards@student.han.nl>
36843
36844 * README: In the pupa-mkimage example use _chain instead of chain
36845 and ext2 instead of fat.
36846 * TODO: Replace ext2fs with jfs as an example. Add an item for
36847 adding journal playback for ext2fs.
36848 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
36849 (pkgdata_MODULES): Added ext2.mod.
36850 (ext2_mod_SOURCES): New variable.
36851 (ext2_mod_CFLAGS): Likewise.
36852 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
36853 * include/pupa/misc.h (pupa_strncpy): New prototype.
36854 (pupa_strcat): Likewise.
36855 (pupa_strncmp): Likewise.
36856 * kern/misc.c (pupa_strcat): Enable function.
36857 (pupa_strncpy): New function.
36858 (pupa_strncmp): Likewise.
36859 * fs/ext2.c: New file.
36860
36861 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
36862 when the read failed before retrying.
36863 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
36864 (_FILE_OFFSET_BITS): Likewise.
36865 * configure.ac: Added AC_SYS_LARGEFILE.
36866
36867 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36868
36869 * genmk.rb (PModule#rule): Make sure to get only symbol names
36870 from the output of nm.
36871 Reported by Robert Millan <rmh.grub@aybabtu.com>.
36872
36873 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36874
36875 I forgot to check in these changes for a long time. This adds
36876 incomplete support for VGA console, and this is still very
36877 buggy. Also, a lot of consideration is required for I18N,
36878 UNICODE, and VGA font issues. Therefore, assume that this is
36879 such that "better than nothing".
36880
36881 * font/manager.c: New file.
36882 * include/pupa/font.h: Likewise.
36883 * include/pupa/i386/pc/vga.h: Likewise.
36884 * term/i386/pc/vga.c: Likewise.
36885 * util/unifont2pff.rb: Likewise.
36886
36887 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
36888 (pkgdata_MODULES): Added vga.mod and font.mod.
36889 (vga_mod_SOURCES): New variables.
36890 (vga_mod_CFLAGS): Likewise.
36891 (font_mod_SOURCES): Likewise.
36892 (font_mod_CFLAGS): Likewise.
36893
36894 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
36895
36896 * include/pupa/term.h: Include pupa/err.h.
36897 (struct pupa_term): Added init and fini.
36898 Changed the argument of putchar to pupa_uint32_t.
36899
36900 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
36901 (pupa_console_real_putchar): New prototype.
36902 (pupa_console_putchar): Removed.
36903 (pupa_console_checkkey): Exported.
36904 (pupa_console_getkey): Likewise.
36905
36906 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
36907 characters.
36908
36909 * kern/term.c (pupa_term_set_current): Rewritten.
36910 (pupa_putchar): Likewise.
36911 (pupa_putcode): New function.
36912
36913 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
36914 (pupa_console_real_putchar): ... this.
36915 (pupa_vga_set_mode): New function.
36916 (pupa_vga_get_font): Likewise.
36917
36918 * normal/command.c: Include pupa/term.h.
36919 (terminal_command): New function.
36920 (pupa_command_init): Register the command "terminal".
36921
36922 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
36923 (DISP_UP): Likewise.
36924 (DISP_RIGHT): Likewise.
36925 (DISP_DOWN): Likewise.
36926 (DISP_HLINE): Likewise.
36927 (DISP_VLINE): Likewise.
36928 (DISP_UL): Likewise.
36929 (DISP_UR): Likewise.
36930 (DISP_LL): Likewise.
36931 (DISP_LR): Likewise.
36932
36933 * term/i386/pc/console.c (pupa_console_putchar): New function.
36934
36935 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
36936
36937 * util/resolve.c (pupa_util_resolve_dependencies): BUG
36938 FIX. Reverse the path_list.
36939
36940 * include/pupa/normal.h: Export pupa_register_command and
36941 pupa_unregister_command.
36942
36943 * hello/hello.c (pupa_cmd_hello): New module.
36944 * conf/i386-pc.rmk: Added hello.mod.
36945
36946 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
36947
36948 * kern/i386/pc/lzo1x.S: New file.
36949
36950 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
36951 (compress_kernel): New variable.
36952 (generate_image): Heavily modified to support compressing a
36953 large part of the core image.
36954
36955 * util/misc.c (pupa_util_read_image): Fix a file descriptor
36956 leak.
36957 (pupa_util_load_image): New function.
36958
36959 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
36960 (pupa_compressed_size): New variable.
36961 (codestart): Enable Gate A20 here.
36962 Decompress the compressed part of the core image.
36963 Rearrange the code to put functions and variables which are
36964 required for initialization in the non-compressed part.
36965 Include lzo1x.S.
36966
36967 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
36968 here.
36969
36970 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
36971
36972 * include/pupa/i386/pc/kernel.h
36973 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
36974 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
36975 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
36976 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
36977 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
36978
36979 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
36980
36981 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
36982 (Utility#rule): Likewise.
36983
36984 * configure.ac: Check if LZO is available.
36985
36986 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
36987
36988 * include/pupa/normal.h: New file.
36989 * include/pupa/setjmp.h: Likewise.
36990 * include/pupa/i386/setjmp.h: Likewise.
36991 * normal/cmdline.c: Likewise.
36992 * normal/command.c: Likewise.
36993 * normal/main.c: Likewise.
36994 * normal/menu.c: Likewise.
36995 * normal/i386/setjmp.S: Likewise.
36996
36997 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
36998 (pupa_rescue_cmd_initrd): Likewise.
36999
37000 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
37001 Likewise.
37002
37003 * kern/i386/pc/startup.S (translation_table): New variable.
37004 (translate_keycode): New function.
37005 (pupa_console_getkey): Call translate_keycode.
37006
37007 * kern/rescue.c (attempt_normal_mode): New function.
37008 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
37009 it failed, print a message.
37010
37011 * kern/mm.c (pupa_real_malloc): Print more information when a
37012 free magic is broken.
37013 (pupa_free): If the first free header is not free actually, set
37014 it to P.
37015
37016 * kern/main.c (pupa_load_normal_mode): Just load the module
37017 "normal".
37018 (pupa_main): Don't print the message
37019 "Entering into rescue mode..." here.
37020
37021 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
37022 Declared.
37023 (pupa_rescue_cmd_initrd): Likewise.
37024 (pupa_rescue_cmd_initrd): Likewise.
37025
37026 * include/pupa/symbol.h (FUNCTION): Specify the type.
37027 (VARIABLE): Likewise.
37028
37029 * include/pupa/err.h (pupa_err_t): Added
37030 PUPA_ERR_UNKNOWN_COMMAND.
37031
37032 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
37033 (pupa_dl_get_prefix): Likewise.
37034
37035 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
37036 Added _chain.mod and _linux.mod instead of chain.mod and
37037 linux.mod.
37038 (chain_mod_SOURCES): Renamed to ...
37039 (_chain_mod_SOURCES): ... this.
37040 (chain_mod_CFLAGS): Renamed to ...
37041 (_chain_mod_CFLAGS): ... this.
37042 (linux_mod_SOURCES): Renamed to ...
37043 (_linux_mod_SOURCES): ... this.
37044 (linux_mod_CFLAGS): Renamed to ...
37045 (_linux_mod_CFLAGS): ... this.
37046 (normal_mod_SOURCES): New variable.
37047 (normal_mod_CFLAGS): Likewise.
37048 (normal_mod_ASFLAGS): Likewise.
37049
37050 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
37051
37052 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
37053 possible.
37054
37055 * kern/dl.c (pupa_dl_ref): Refer depending modules
37056 recursively.
37057 (pupa_dl_unref): Unrefer depending modules recursively.
37058 Don't call pupa_dl_unload implicitly, because PUPA can crash if
37059 a module is unloaded before one depending on that module is
37060 unloaded.
37061 (pupa_dl_unload): Unload depending modules explicitly,
37062 if possible.
37063
37064 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
37065
37066 * include/pupa/i386/pc/linux.h: New file.
37067 * loader/i386/pc/linux.c: Likewise.
37068
37069 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
37070 Removed.
37071 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
37072 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
37073 of PUPA_CHAINLOADER_BOOT_SECTOR.
37074
37075 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
37076 (pupa_linux_prot_size): New variable.
37077 (pupa_linux_tmp_addr): Likewise.
37078 (pupa_linux_real_addr): Likewise.
37079 (pupa_linux_boot_zimage): New function.
37080 (pupa_linux_boot_bzimage): Likewise.
37081
37082 * kern/i386/pc/init.c (struct mem_region): New structure.
37083 (MAX_REGIONS): New macro.
37084 (mem_regions): New variable.
37085 (num_regions): Likewise.
37086 (pupa_os_area_addr): Likewise.
37087 (pupa_os_area_size): Likewise.
37088 (pupa_lower_mem): Likewise.
37089 (pupa_upper_mem): Likewise.
37090 (add_mem_region): New function.
37091 (compact_mem_regions): Likewise.
37092 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
37093 the size of the conventional memory and that of so-called upper
37094 memory (before the first memory hole).
37095 Instead of adding each found region to free memory, use
37096 add_mem_region and add them after removing overlaps.
37097 Also, add only 1/4 of the upper memory to free memory. The rest
37098 is used for loading OS images. Maybe this is ad hoc, but this
37099 makes it much easier to relocate OS images when booting.
37100
37101 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
37102 (pupa_enter_rescue_mode): Don't register initrd and module.
37103
37104 * kern/mm.c: Include pupa/dl.h.
37105
37106 * kern/main.c: Include pupa/file.h and pupa/device.h.
37107
37108 * kern/loader.c (pupa_loader_load_module_func): Removed.
37109 (pupa_loader_load_module): Likewise.
37110
37111 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
37112 ``.o''.
37113
37114 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
37115 (pupa_linux_tmp_addr): Likewise.
37116 (pupa_linux_real_addr): Likewise.
37117 (pupa_linux_boot_zimage): Likewise.
37118 (pupa_linux_boot_bzimage): Likewise.
37119
37120 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
37121 (pupa_upper_mem): Likewise.
37122 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
37123 module is too dangerous.
37124
37125 * include/pupa/loader.h (pupa_os_area_addr): Declared.
37126 (pupa_os_area_size): Likewise.
37127 (pupa_loader_set): Remove the first argument. Loader doesn't
37128 manage modules or initrd any longer.
37129 (pupa_loader_load_module): Removed.
37130
37131 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
37132 (linux_mod_SOURCES): New variable.
37133 (linux_mod_CFLAGS): Likewise.
37134
37135 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
37136
37137 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
37138 the length of a blocklist correctly.
37139
37140 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
37141 Use ioctl only if the OS file is a block device.
37142 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
37143 not very useful for normal files.
37144
37145 * kern/main.c (pupa_set_root_dev): New function.
37146 (pupa_load_normal_mode): Likewise.
37147 (pupa_main): Call those above.
37148
37149 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
37150 pupa_uint16_t.
37151
37152 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
37153
37154 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37155
37156 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
37157 (setup): Configure the installed partition information and the
37158 dl prefix.
37159
37160 * loader/i386/pc/chainloader.c (my_mod): New variable.
37161 (pupa_chainloader_unload): New function.
37162 (pupa_rescue_cmd_chainloader): Refer itself.
37163 (PUPA_MOD_INIT): Save its own module in MY_MOD.
37164
37165 * kern/i386/pc/startup.S (install_partition): Removed.
37166 (version_string): Likewise.
37167 (config_file): Likewise.
37168 (pupa_install_dos_part): New variable.
37169 (pupa_install_bsd_part): Likewise.
37170 (pupa_prefix): Likewise.
37171 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
37172
37173 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
37174 and pupa/misc.h.
37175 (make_install_device): New function.
37176 (pupa_machine_init): Set the dl prefix.
37177
37178 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
37179 (buf): Renamed to ...
37180 (linebuf): ... this.
37181 (pupa_rescue_cmd_prefix): New function.
37182 (pupa_rescue_cmd_insmod): Likewise.
37183 (pupa_rescue_cmd_rmmod): Likewise.
37184 (pupa_rescue_cmd_lsmod): Likewise.
37185 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
37186 rmmod and lsmod.
37187
37188 * kern/mm.c (pupa_memalign): If failed even after invalidating
37189 disk caches, unload unneeded modules and retry.
37190
37191 * kern/misc.c (pupa_memmove): New function.
37192 (pupa_memcpy): Removed.
37193 (pupa_strcpy): New function.
37194 (pupa_itoa): Made static.
37195
37196 * kern/dl.c (pupa_dl_iterate): New function.
37197 (pupa_dl_ref): Likewise.
37198 (pupa_dl_unref): Likewise.
37199 (pupa_dl_unload): Return if succeeded or not.
37200 (pupa_dl_unload_unneeded): New function.
37201 (pupa_dl_unload_all): Likewise.
37202 (pupa_dl_init): Renamed to ...
37203 (pupa_dl_set_prefix): ... this.
37204 (pupa_dl_get_prefix): New function.
37205
37206 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
37207 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
37208 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37209 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37210 (pupa_install_dos_part): Declared.
37211 (pupa_install_bsd_part): Likewise.
37212 (pupa_prefix): Likewise.
37213 (pupa_boot_drive): Likewise.
37214
37215 * include/pupa/types.h: Fix a typo.
37216
37217 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
37218 pupa_memmove.
37219 (pupa_memmove): Declared.
37220 (pupa_strcpy): Likewise.
37221
37222 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
37223 pupa_mod_init takes one argument, its own module.
37224 (pupa_dl_unload_unneeded): Declared.
37225 (pupa_dl_unload_all): Likewise.
37226 (pupa_dl_ref): Likewise.
37227 (pupa_dl_unref): Likewise.
37228 (pupa_dl_iterate): Likewise.
37229 (pupa_dl_init): Renamed to ...
37230 (pupa_dl_set_prefix): ... this.
37231 (pupa_dl_get_prefix): Declared.
37232
37233 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
37234 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
37235 unloaded.
37236 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
37237 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
37238
37239 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
37240 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
37241
37242 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37243
37244 * util/i386/pc/pupa-setup.c (setup): Define the internal
37245 function find_first_partition_start at the top level, because GCC
37246 3.0.x cannot compile internal functions in deeper scopes
37247 correctly.
37248 (find_root_device): Use lstat instead of stat.
37249 Don't follow symbolic links.
37250 Fix the path-constructing code.
37251
37252 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
37253 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
37254 by a BLKGETSIZE ioctl first, because block devices don't fill
37255 the member st_mode of the structure stat on Linux.
37256 [__linux__] (linux_find_partition): Use a temporary buffer
37257 REAL_DEV for the working space. Copy it to DEV before returning.
37258 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
37259 buffer cache consistent.
37260 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
37261 strncmp. The previous value was merely wrong.
37262 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
37263
37264 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
37265 FAT size is 12. The previous value was merely wrong.
37266
37267 * kern/main.c (pupa_main): Don't split the starting message from
37268 newlines.
37269
37270 * kern/term.c (pupa_putchar): Put CR after LF instead of before
37271 LF, because BIOS goes crazy about character attributes in this
37272 case.
37273
37274 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37275
37276 * include/i386/pc/util/biosdisk.h: New file.
37277 * util/i386/pc/biosdisk.c: Likewise.
37278 * util/i386/pc/pupa-setup.c: Likewise.
37279
37280 * Makefile.in (INCLUDE_DISTFILES): Added
37281 include/pupa/i386/pc/util/biosdisk.h.
37282 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
37283 directory util/i386/pc.
37284 (install-local): Added a rule for sbin_UTILITIES.
37285 (uninstall): Likewise.
37286
37287 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
37288
37289 * util/misc.c (xrealloc): New function.
37290 (pupa_malloc): Likewise.
37291 (pupa_free): Likewise.
37292 (pupa_realloc): Likewise.
37293 (pupa_stop): Likewise.
37294 (pupa_putchar): Likewise.
37295
37296 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
37297
37298 * include/pupa/util/misc.h (xrealloc): Declared.
37299
37300 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
37301 macro.
37302 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
37303 (PUPA_BOOT_MACHINE_BPB_END): ... this.
37304
37305 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
37306 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37307
37308 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
37309 way should be implemented.
37310 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37311
37312 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
37313 the size of NAME for safety.
37314 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
37315 0x88.
37316
37317 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
37318 (pupa_setup_SOURCES): Likewise.
37319
37320 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
37321
37322 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37323
37324 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
37325 bunch of pushl's from pusha, because this destroys the return
37326 value.
37327
37328 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37329
37330 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
37331 This means that any missing prototypes could be fatal. Also, you
37332 must take care when writing assembly code. See the comments at
37333 the beginning of startup.S, for more details.
37334
37335 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
37336 compilation mechanism.
37337 (pupa_chainloader_real_boot): Likewise.
37338 (pupa_biosdisk_rw_int13_extensions): Likewise.
37339 (pupa_biosdisk_rw_standard): Likewise.
37340 (pupa_biosdisk_check_int13_extensions): Likewise.
37341 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
37342 (pupa_biosdisk_get_diskinfo_standard): Likewise.
37343 (pupa_get_memsize): Likewise.
37344 (pupa_get_mmap_entry): Likewise.
37345 (pupa_console_putchar): Likewise.
37346 (pupa_console_setcursor): Likewise.
37347 (pupa_getrtsecs): Use pushl instead of push.
37348
37349 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
37350 memory instead of the stack for a mmap entry, because some
37351 BIOSes may ignore the maximum size and overflow.
37352
37353 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37354
37355 * genmk.rb (PModule#rule): Compile automatically generated
37356 sources with module-specific CFLAGS as well as other sources.
37357
37358 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37359
37360 * configure.ac: Check ld.
37361 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37362 respectively, before checking endianness and sizes.
37363
37364 * Makefile.in (LD): New variable.
37365
37366 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37367
37368 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37369
37370 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37371
37372 * Changelog: New file.
37373